Karto_slam/cartographer/ROS试跑激光雷达数据集

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24894159/article/details/81175656

老规矩,先简单列下已经安装的配置


  • Ubuntu 16.04
  • ROS Kinetic
  • Opencv 3.4.1
  • Ceres-solver
  • *Eigen3
  • *G2O
  • *Python 2.7.12

    当然上述其中很多有许多依赖项,例如安装Ceres-solver,g2o等.都有不少的依赖项,在这就不列出来了.


之前有转载介绍了一篇ORBSLAM2的配置和运行TUM测试数据集的博客.由于我的任务要求,需要再跑一下激光SLAM的数据集.这里简单介绍下配置过程.

1. SLAM_karto

首先给了我这个让我用,但我发现,这个在跑给我的数据集的时候似乎没有用到,但还是先git clone下来了.
首先, 在昨天的目录中继续进行的,你需要一个在/home/yourusername/下创建catkin_ws/src目录,
之后

~$ cd src
~$ git clone https://github.com/ros-perception/slam_karto

克隆下来后再试不管了,你肯能注意到这是indigo版本的,但亲测在kinetic下没出现问题.


往下是参考博文这里

2 .Ceser-solver

需要说明的是我已经安装了Ceser,所以不再安装.但需要说明的的,不要把Cerser-solver放到catkin_ws/src下,否则一会儿catkin_make时极大概率报如下错误:

额,错误信息不见了,大概就是Ceres-solver doesn't have catkin_make file you should use catkin_make_isolated的意思.

3. Cartographer

同上,不要在catkin_ws/src下.

1.git clone https://github.com/hitcm/cartographer.git
2.cd cartographer/build
3.cmake .. -G Ninja
4.ninja
5.ninja test
6.sudo ninja install

如果幸运的化会成功,因为这个cartographerCMakeLists.txt被转载的博主改过,不容易出错,出错参照这里第2步.

4. Cartographer-ros

这个需要在catkin_ws/src下进行.

git clone https://github.com/hitcm/cartographer_ros.git

弄玩之后,在catkin_ws

catkin_make

如果你幸运的话应该会成功.

5. 雷达数据集

参考结束


6. 数据集结果

执行下面指令

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=YOUR_PATH_TO/cartographer_paper_deutsches_museum.bag

这里写图片描述

7. 关于SLAM_Karto

—2018.7.27修改
slam_karto 与 cartographer是两个不同的算法,对数据集的要求也不同,效果也各有好坏.本次只是记录了跑cartographer的结果,后续会介绍使用slam_kart的过程.

执行roslaunch slam_karto karto_slam.launch后继续执行rqt_graph查看节点间的关系,如下图所示:
这里写图片描述

可以看到,cartographer_nodeslam_karto之间只有/tf Topic联系,而且不启动slam_karto节点时,cartographer_node完全正常运行,

激光雷达2D数据集基本上就可以跑成功了,至于3D数据集,Emmm…..,8G….下载完我的宽带又得充钱了…..就当跑过且成功了吧.

溜啦溜啦.

猜你喜欢

转载自blog.csdn.net/qq_24894159/article/details/81175656