多传感器融合定位 第一章 概述

本记录深蓝学院多传感器定位融合第四期学习笔记,官方推荐使用docker进行开发,为了方便之后移植部署,故本次在次在本地环境进行开发。

代码下载 : https://github.com/kahowang/sensor-fusion-for-localization-and-mapping

环境安装

1. Ubuntu 18.04

  • 包括VScode VIM cmake 等常用工具

2. Ros Melodic

  • rosdep init 及 rosdep update 不成功的 可参考网址

  • https://blog.csdn.net/leida_wt/article/details/115120940?utm_source=app&app_version=4.5.8

. g2o

// 从github上下载源码
$ https://github.com/RainerKuemmerle/g2o/tree/20170730_git// 安装依赖
$ sudo apt-get install cmake libeigen3-dev libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-dev// 编译
$ cd g2o
$ mkdir build
$ cd build
$ sudo ldconfig
$ cmake ..
$ make -j4//安装
$ sudo make install

注: 一定要在编译前进入build,进行sudo ldconfig

4. Ceres

// 需要自己下载源码
下载地址: https://github.com/ceres-solver/ceres-solver/releases// 修改 sources.list
$ sudo gedit /etc/apt/sources.list
// 将此地址添加到source.list上
$ deb http://cz.archive.ubuntu.com/ubuntu trusty main universe // 更新源
$ sudo apt-get update// 安装依赖
$ sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev// 解压并进入文件夹
$ cd ceres-solver-1.14.0// 编译及安装
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install

5. Geographic

// 需要自己下载源码
下载地址: https://sourceforge.net/projects/geographiclib/// 解压并进入文件夹
$ cd GeographicLib-1.52// 编译及安装
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install

6. gflags

// 克隆源码
$ git clone https://github.com/gflags/gflags// 解压并进入文件夹
$ cd gflags// 编译及安装
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install

7. glog

// 克隆源码
$ git clone https://github.com/boboxxd/glog.git// 解压并进入文件夹
$ cd glog// 安装依赖
$ sudo apt-get install autoconf automake libtool// 配置
$ ./autogen.sh
$ ./configure// 编译及安装
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install

注意: 出现如下问题时,是glog缺少gflag的依赖

logging.cc:(.text+0x6961):对‘google::FlagRegisterer::FlagRegisterer<bool>(char const*, char const*, char const*, bool*, bool*)’未定义的引用

解决办法: 打开glog.cmake , 末尾改为

list(APPEND ALL_TARGET_LIBRARIES ${GLOG_LIBRARIES} libgflags.a libglog.a)

8. Sophus

// 克隆源码
$ git clone https://github.com/strasdat/Sophus.git// 解压并进入文件夹
$ cd Sophus
$ git checkout a621ff// 编译及安装
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install

注: make编译时如果有报错

解决方式如下:

$ cd Sophus/sophus/
$ sudo geidt so2.cpp

9. GTSAM

// 克隆源码&自行下载
$ https://github.com/borglab/gtsam/archive/4.0.2.zip// 解压并进入文件夹
$ unzip gtsam-4.0.2.zip
$ cd gtsam-4.0.2// 编译及安装
$ mkdir build
$ cd build
$ cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
$ sudo make install

10. Protobuf

// 克隆源码&自行下载 - V3.13
$ https://github.com/protocolbuffers/protobuf/tree/3.13.x// 解压并进入文件夹
$ unzip protobuf-3.13.x.zip
$ cd protobuf-3.13.x// 编译及安装
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

代码编译、运行

1.编译

lidar_localization 拷贝到catkin_ws 中,进行 catkin_make -j8 编译

2.数据集下载

数据集百度网盘链接:
链接:https://pan.baidu.com/s/1gpO2Ssa12GoQTbYAseSFNA
提取码:cau9
微云文件分享:kitti_lidar_only_2011_10_03_drive_0027_synced.zip
下载地址:https://share.weiyun.com/QacEDADm
文件大小:4.8G

3.运行代码,播放数据集

roslaunch lidar_localization hello_kitti.launch
rosbag  play kitti_lidar_only_2011_10_03_drive_0027_synced.bag

​ edited by kaho 2021.8.11

多传感器融合定位 第一章 概述相关推荐

  1. 深蓝学院-多传感器融合定位课程-第2章-3D激光里程计I

    专栏文章: 深蓝学院-多传感器融合定位课程-第1章-概述_goldqiu的博客-CSDN博客 github保存了相关代码和学习笔记: Shenlan-Course-Multi-Sensor-Fusio ...

  2. 多传感器融合定位 第四章 点云地图构建及基于点云地图定位

    多传感器融合定位 第四章 点云地图构建及基于点云地图定位 代码下载 https://github.com/kahowang/sensor-fusion-for-localization-and-map ...

  3. 深蓝学院-多传感器融合定位课程-第5章-惯性导航原理及误差分析

    专栏文章: 深蓝学院-多传感器融合定位课程-第1章-概述_goldqiu的博客-CSDN博客 深蓝学院-多传感器融合定位课程-第2章-3D激光里程计I_goldqiu的博客-CSDN博客 深蓝学院-多 ...

  4. 多传感器融合定位 第六章 惯性导航结算及误差模型

    多传感器融合定位 第六章 惯性导航结算及误差模型 参考博客:深蓝学院-多传感器融合定位-第6章作业 代码下载:https://github.com/kahowang/sensor-fusion-for ...

  5. 深蓝学院-多传感器融合定位-第7章作业

    深蓝学院-多传感器融合定位-第7章作业 1. 及格题 2. 良好题 Parameter - verison 1 Parameter - verison 2 Parameter - verison 3 ...

  6. 多传感器融合定位 课程概述

    多传感器融合定位(1)1-课程概述

  7. 多传感器融合定位六-惯性导航原理及误差分析

    多传感器融合定位六-惯性导航原理及误差分析 1. 惯性技术简介 1.1 惯性技术发展历史 1.2 惯性器件 1.2.1 机械陀螺(几乎没人用了) 1.2.2 激光陀螺 1.2.3 光纤陀螺 1.2.4 ...

  8. 【多传感器融合定位SLAM专栏】前端里程计、IMU预积分、滤波、图优化推导与应用(3)

    本专栏基于深蓝学院<多传感器融合定位>课程基础上进行拓展,对多传感器融合SLAM的学习过程进行记录 文章目录 第三章 惯性导航原理及误差分析 惯性器件 1. 机械陀螺 2. 激光陀螺 ME ...

  9. 基于卡尔曼滤波器的融合IMU与雷达/深蓝多传感器融合第七章作业

    1.卡尔曼滤波介绍 参考 详解卡尔曼滤波原理_清风莞尔的博客-CSDN博客_卡尔曼滤波原理 1.运动方程与观测方程 其中 代表位置和速度 Vk代表输入输入,Wk代表噪声 运动方程表示已知k-1时刻的状 ...

最新文章

  1. C++的STL 堆 实现获取数组堆第K大的数
  2. 网络地址转换(PAT)
  3. linux命令see的用法,Linux一些基本命令与用法
  4. 在程序中进行make以后出现的一些错误以及解决方法
  5. ngrok-外网访问内网工具NGROK的使用
  6. 语言怎么得到直流电压并采样_交流电AC如何转换成直流电DC?
  7. IAudioEndpointVolume
  8. MySQL中整型和字符串类型指定长度的含义
  9. 14. Django基础:关系映射
  10. ios中webview的高级用法(二)
  11. jsp中点击验证码刷新验证码
  12. 【毫米波雷达】LFMCW测距/测速原理
  13. 关于股票的经典书籍有哪些推荐?
  14. 【BZOJ】【P1406】【AHOI2007】【密码箱】【题解】【数论】
  15. 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
  16. 闲鱼服务端架构演进历程
  17. 第一款个人应用——《不做手机控》——终于上线啦!
  18. 怎么批量生成100多条短视频素材
  19. 2017科协青少年科技中心--中央电教馆(与科技相关的比赛)
  20. Skywalking系列博客6-手把手教你编写 Skywalking 插件

热门文章

  1. java常用英文单词发音_java常用英语单词(带音标)
  2. java tts开源,程序员罗杰-开源的TTS软件Flite从安装到使用
  3. android html 文件怎么打开,Android可以用Html查看器打开txt文件
  4. 基于C++如何使用EGE做一个简单的坦克大战游戏
  5. NG-ALAIN 边学边记1
  6. ZigBee XBee:什么区别?终极解释
  7. 深度学习:生成式对抗网络,让机器在博弈中实现“自我成长”
  8. java全栈系列之JavaSE-面向对象(super详解)036
  9. 如何把mac照片导入u盘_macbook air里的相片要怎么放到u盘里?
  10. PostCSS received undefined instead of CSS string