cartographer经典版本快速安装
入门激光slam算法必读的经典代码
1.简要介绍
2016年10月5日,谷歌宣布开放一个名为cartographer的即时定位与地图建模库,开发人员可以使用该库实现机器人在二维或三维条件下的定位及建图功能。cartograhper的设计目的是在计算资源有限的情况下,实时获取相对较高精度的2D地图。考虑到基于模拟策略的粒子滤波方法在较大环境下对内存和计算资源的需求较高,cartographer采用基于图网络的优化方法。目前cartographer主要基于激光雷达来实现SLAM,谷歌希望通过后续的开发及社区的贡献支持更多的传感器和机器人平台,同时不断增加新的功能。
2.说在前面
2.1 安装说明
谷歌自己提供了安装方法,但是安装比较繁琐...,这里安装方法比较简单,但是要严格按照文章说明进行安装。
这里一共需要安装3个软件包,ceres solver、cartographer和cartographer_ros。
声明:很多同学之前应该安装过ceres solver,但要确保和这里的版本一致,否侧会因版本不匹配导致最终安装后算法无法使用。
2.2 系统环境
Ubuntu 16.04 + ROS Kinetic
3.安装 cartographer源码
首先,将公众号分享的源码cartographer解压到home文件夹下
3.1 安装依赖项
在终端执行以下命令,对应系统
sudo apt-get install -y google-mock libboost-all-dev libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libprotobuf-dev libsuitesparse-dev libwebp-dev ninja-build protobuf-compiler python-sphinx ros-kinetic-tf2-eigen libatlas-base-dev libsuitesparse-dev liblapack-dev
3.2 安装 ceres solver
进入cartographer的文件夹
cd cartographer
编译 ceres solver,在终端执行以下命令
cd ceres-solver/build
cmake ..
make
安装ceres solver,在终端执行以下命令
sudo make install
3.3 安装 cartographer
进入cartographer的文件夹,
cd cartographer
编译 cartographer,在终端执行以下命令
cd cartographer/build
cmake ..
make
安装 cartographer,在终端执行以下命令
sudo make install
3.4 安装 cartographer_ros
进入cartographer 文件夹下,将cartographer_ros移动到自己的ros工作空间的src目录下的文件夹,在终端执行以下命令
cd cartographer
mv cartographer_ros/ ~/catkin_ws/src/ -f #不同的话自行更改
编译 cartographer_ros,在终端执行以下命令
cd catkin_ws
catkin_make
等待编译成功,刷新功能包路径
rospack profile
4.测试 cartographer算法
打开终端执行以下命令
roslaunch cartographer_ros demo_revo_lds.launch
再打开一个新的终端执行以下命令
cd ~/catkin_ws/src/cartographer_ros/bag/
rosbag play --clock slam2d_data.bag
之后打开rviz即可查看地图了,关于3d的数据可以到cartographer的下载,自行测试即可。
恭喜你的源码之旅开始了。
5.源码获取
在公众号小白学移动机器人发送:cartographer源码,即可获得。
6.参考链接
<1> https://blog.csdn.net/weixin_44827364/article/details/104235564
<2> https://www.cnblogs.com/hitcm/p/5939507.html
- END -