自动驾驶与机器人的slam技术

发布时间 2023-12-09 03:48:25作者: MKT-porter

 

https://github.com/gaoxiang12/slam_in_autonomous_driving

 

  • 第1章,概述
  • 第2章,数学基础知识回顾,几何学、运动学、KF滤波器理论,矩阵李群
  • 第3章,误差状态卡尔曼滤波器,惯性导航、卫星导航、组合导航
  • 第4章,预积分,图优化,基于预积分的组合导航
  • 第5章,点云基础处理,各种最近邻结构,点云线性拟合
  • 第6章,2D激光建图,scan matching, 似然场,子地图,2D回环检测,pose graph
  • 第7章,3D激光建图,ICP,变种ICP,NDT,NDT LO, Loam-like LO,LIO松耦合
  • 第8章,紧耦合LIO,IESKF,预积分紧耦合LIO
  • 第9章,离线建图,前端,后端,批量回环检测,地图优化,切片导出
  • 第10章,融合定位,激光定位,初始化搜索,切片地图加载,EKF融合

 

编译

  • 本书推荐的编译环境是Ubuntu 20.04。更老的Ubuntu版本需要适配gcc编译器,主要是C++17标准。更新的Ubuntu则需要您自己安装对应的ROS版本。
  • 在编译本书代码之前,请先安装以下库(如果您机器上没有安装的话)
    sudo apt install -y ros-noetic-pcl-ros ros-noetic-velodyne-msgs libopencv-dev libgoogle-glog-dev libeigen3-dev libsuitesparse-dev libpcl-dev libyaml-cpp-dev libbtbb-dev libgmock-dev
     
  • 之后,使用通常的cmake, make方式就可以编译本书所有内容了。例如
mkdir build
cd build
cmake ..
make -j8


报错1

 

因为装了aconda 所以默认制定的是aconda的python3 需要切换会系统自带的python3,从而对于对应


编译制定python

cmake .. -DPYTHON_EXECUTABLE=/usr/bin/python3

 

报错2

pangolin版本不匹配,按如下方式卸载安装新版即可。

因为openvslam安装了0.6版本的

 git clone https://github.com/stevenlovegrove/Pangolin.git

 

 cmake-gui

默热路径

 

 指定安装位置

 

 

 

sudo make -j8

 

sudo make install  

 

 看到安装好的库和头文件

 

 

 

 

 cmake指定库路径

 

在当前工程文件下打开CMakeLists.txt
在find_package(Pangolin REQUIRED)前边添加
set(Pangolin_DIR /xxx/xxx/Pangolin/build/src)
其中xxx/xxx为缺少文件的路径。

 

set(Pangolin_DIR "/home/r9000k/v2_project/v3_SLAM/激光雷达slam/Pangolin/install")
find_package(Pangolin REQUIRED)
include_directories(${Pangolin_INCLUDE_DIRS})