多传感器融合定位 第一章 概述
多传感器融合定位 第一章 概述
本记录深蓝学院多传感器定位融合第四期学习笔记,官方推荐使用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
多传感器融合定位 第一章 概述相关推荐
- 深蓝学院-多传感器融合定位课程-第2章-3D激光里程计I
专栏文章: 深蓝学院-多传感器融合定位课程-第1章-概述_goldqiu的博客-CSDN博客 github保存了相关代码和学习笔记: Shenlan-Course-Multi-Sensor-Fusio ...
- 多传感器融合定位 第四章 点云地图构建及基于点云地图定位
多传感器融合定位 第四章 点云地图构建及基于点云地图定位 代码下载 https://github.com/kahowang/sensor-fusion-for-localization-and-map ...
- 深蓝学院-多传感器融合定位课程-第5章-惯性导航原理及误差分析
专栏文章: 深蓝学院-多传感器融合定位课程-第1章-概述_goldqiu的博客-CSDN博客 深蓝学院-多传感器融合定位课程-第2章-3D激光里程计I_goldqiu的博客-CSDN博客 深蓝学院-多 ...
- 多传感器融合定位 第六章 惯性导航结算及误差模型
多传感器融合定位 第六章 惯性导航结算及误差模型 参考博客:深蓝学院-多传感器融合定位-第6章作业 代码下载:https://github.com/kahowang/sensor-fusion-for ...
- 深蓝学院-多传感器融合定位-第7章作业
深蓝学院-多传感器融合定位-第7章作业 1. 及格题 2. 良好题 Parameter - verison 1 Parameter - verison 2 Parameter - verison 3 ...
- 多传感器融合定位 课程概述
多传感器融合定位(1)1-课程概述
- 多传感器融合定位六-惯性导航原理及误差分析
多传感器融合定位六-惯性导航原理及误差分析 1. 惯性技术简介 1.1 惯性技术发展历史 1.2 惯性器件 1.2.1 机械陀螺(几乎没人用了) 1.2.2 激光陀螺 1.2.3 光纤陀螺 1.2.4 ...
- 【多传感器融合定位SLAM专栏】前端里程计、IMU预积分、滤波、图优化推导与应用(3)
本专栏基于深蓝学院<多传感器融合定位>课程基础上进行拓展,对多传感器融合SLAM的学习过程进行记录 文章目录 第三章 惯性导航原理及误差分析 惯性器件 1. 机械陀螺 2. 激光陀螺 ME ...
- 基于卡尔曼滤波器的融合IMU与雷达/深蓝多传感器融合第七章作业
1.卡尔曼滤波介绍 参考 详解卡尔曼滤波原理_清风莞尔的博客-CSDN博客_卡尔曼滤波原理 1.运动方程与观测方程 其中 代表位置和速度 Vk代表输入输入,Wk代表噪声 运动方程表示已知k-1时刻的状 ...
最新文章
- C++的STL 堆 实现获取数组堆第K大的数
- 网络地址转换(PAT)
- linux命令see的用法,Linux一些基本命令与用法
- 在程序中进行make以后出现的一些错误以及解决方法
- ngrok-外网访问内网工具NGROK的使用
- 语言怎么得到直流电压并采样_交流电AC如何转换成直流电DC?
- IAudioEndpointVolume
- MySQL中整型和字符串类型指定长度的含义
- 14. Django基础:关系映射
- ios中webview的高级用法(二)
- jsp中点击验证码刷新验证码
- 【毫米波雷达】LFMCW测距/测速原理
- 关于股票的经典书籍有哪些推荐?
- 【BZOJ】【P1406】【AHOI2007】【密码箱】【题解】【数论】
- 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
- 闲鱼服务端架构演进历程
- 第一款个人应用——《不做手机控》——终于上线啦!
- 怎么批量生成100多条短视频素材
- 2017科协青少年科技中心--中央电教馆(与科技相关的比赛)
- Skywalking系列博客6-手把手教你编写 Skywalking 插件
热门文章
- java常用英文单词发音_java常用英语单词(带音标)
- java tts开源,程序员罗杰-开源的TTS软件Flite从安装到使用
- android html 文件怎么打开,Android可以用Html查看器打开txt文件
- 基于C++如何使用EGE做一个简单的坦克大战游戏
- NG-ALAIN 边学边记1
- ZigBee XBee:什么区别?终极解释
- 深度学习:生成式对抗网络,让机器在博弈中实现“自我成长”
- java全栈系列之JavaSE-面向对象(super详解)036
- 如何把mac照片导入u盘_macbook air里的相片要怎么放到u盘里?
- PostCSS received undefined instead of CSS string