前段时间一直在学习SLAM 算法的相关内容,通过阅读相关文献,发现了所有论文必不可缺的一部分内容是SLAM算法的性能评估,诸多论文中大多数采用实地实验的仿真实验,其中仿真实验主要是利用算法来跑各类的数据集,其中使用最多的是kitti数据集,但是通过这段时间的学习,发现所有的相关教程文章都比较针对性的解决问题,而缺少了保姆级教学,为了方便大家以后更快入门。
1. KITTI数据集
这里提供的是KITTI数据集官网网站,不少同学刚入门时不太懂得论文中总是列举00 01 02序列都是什么意思,这里我也提供一个关系对应表。
00: 2011_10_03_drive_0027
01: 2011_10_03_drive_0042
02: 2011_10_03_drive_0034
03: 2011_09_26_drive_0067
04: 2011_09_30_drive_0016
05: 2011_09_30_drive_0018
06: 2011_09_30_drive_0020
07: 2011_09_30_drive_0027
08: 2011_09_30_drive_0028
09: 2011_09_30_drive_0033
10: 2011_09_30_drive_0034
每一个序列都是对应的相应的数据集,这里的11个数据集都是带有轨迹真值,所以知网中看到的所有论文都是大多数跑这11个数据集,方便算法的评估。
1.1 数据集下载
进入官网后找到raw_date
找到你想要的数据集
推荐使用情况见下面,但仅从轨迹结果考虑,没有结合环境、路况等等信息,在选择的时候还需多方考虑。【参考文章】
注:
1)若仅测试算法是否安装好,对轨迹无要求,建议选小一点的包,eg.04、17、20、03;
2)若测试算法性能,要求闭环,含有真值,但包不要太大,eg.07、06、09;
3)若测试算法性能,要求轨迹复杂,含有真值,电脑性能好,eg.05、08、00、02。
点击Downloads框内内容
1.2 数据包处理
首先先将下载好的三个文件移动到Ubuntu系统文件夹中,按照以下方式储存
1.3 KITTI数据转ros bag
首先需要下载下载kitti2bag.py,保存在主目录中。
运行
python kitti2bag/kitti2bag.py -t 2011_09_30 -r 0027 raw_synced
2.安装LIO-SAM
环境:
ubuntu18.04
(1)安装ros的依赖
sudo apt-get install -y ros-melodic-navigation
sudo apt-get install -y ros-melodic-robot-localization
sudo apt-get install -y ros-melodic-robot-state-publisher
如果出现无法定位到安装包等问题,大部分采用换源或者更改网络的方式基本可以解决
(2)安装gtstam
sudo add-apt-repository ppa:borglab/gtsam-release-4.0
sudo apt install libgtsam-dev libgtsam-unstable-dev
或者采用网站浏览器下载
https://github.com/borglab/gtsam/archive/4.0.2.zip
打开终端,对压缩包进行解压和安装,具体可以参考https://blog.csdn.net/u011519172/article/details/122322116
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.2/
mkdir build && cd build
cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
sudo make install -j8
(3)安装LIO-SAM
cd ~/slam_ws/src
git clone https://ghproxy.com/https://github.com/TixiaoShan/LIO-SAM.git
cd ..
catkin_make
(4)运行
cd slam_ws/
soure devel/setup.bash
roslaunch lio-sam run.launch
3.运行播放数据包
rosbag play ~/你的数据包地址
结语
以上就是算法的准备工作吗,大家可以尝试使用其他loam系列的算法来跑不同种类的数据集来进行仿真实验,下一节将重点介绍evo工具的安装和slam算法的评估