首先先安利一个很好的博客
Cartographer安装教程及踩坑实录
其实比较大的坑就是在Cartographer配置的最后一步编译功能包,因为在这里会出现一个编译错误就是
因为在安装ROS的时候已经自带安装了protoc2.6但是cartographer的更新速度是很快的,所以到目前为止,Cartographer需要依赖于protoc3以上了,正是这样的版本不兼容问题导致一直报错,如何解决就是看我上面那个推荐的博客。
还有一点注意的就是如果使用sudo apt-get remove libprotobuf-dev
这句代码去卸载旧的protoc但是它也会顺带删掉很多安装ROS所一起安装的库,这时候只要rosdep-install-full
即可装回来。
后面还有一个问题就是在你上面编译问题都解决了之后后面你要启动一个自己的一个ROS机器人和场景然后建图算法用的是Cartographer,这时候很重要的是要修改你的lua文件,lua文件在功能包底下的config文件下面,因为现在Cartographer的更新很快,所以一些配置文件里面的格式也有小改动。
这就是在运行的时候会遇到的错误,具体是因为你的lua文件格式不对,在官方里有提供一份revo_lds.lua文件,参考这份文件修改一下你自己的lua文件,刚刚上面的错误就是因为有个库叫
SPARSE_POSE_GRAPH变成了POSE_GRAPH所以还是坑很多的