在真实机器人上使用cartographer建立地图

         在slam(即时定位与建图)领域,通用建图包有一下几种:hector、gmapping、cartographer。hrector由于不需要使用里程计,所以在特征不太明显的区域容易出现长廊效应,gmapping中规中矩,室内建图效果也是蛮不错的。cartographer是谷歌2015年开源的建图功能包,其效果非常不错,对地图的修复效果很棒。

 本人最近在真实机器人上尝试了使用cartographer进行建图。大概步骤如下:第一步、下载安装cartographer;第二步、修改cartographer的launch文件为自己所用;第三步、写lua文件。

      首先是第一步,下载安装cartographer。这一步真的蛮难的,我们要根据cartographer官网的教程一步步去做。由于cartographer是谷歌的,所以你得学会翻墙。把翻墙软件开着,百度搜索cartographer ros,进入第一个网站。

        然后根据教程一步步做

            其中有一步是走不通的,走不通的原因是要去谷歌下载一个东西。走不通的是wstool merge -t src https........那一步。你可以用浏览器打开这个地址,里面包含了三个下载源地址

           可以看到第三个下载地址是需要去谷歌,但是我们不用怕,可以到github去下载,里面有。 

           然后继续跟着教程走,走到src/cartographer/scripts/install_proto3.sh这一步的时候,这个python脚步可能会出错,走不了。那么如果你的电脑执行这个脚步出错了的话,就把这个脚步打开,手动执行里面的命令。

           接下所有的教程都可以执行了,应该不会出现问题。如果有问题就是你电脑的问题。

           为了测试你下载安装的cartographer有没有问题,你需要下载一个demo跑一跑,如何下载,在第一步官方文档里教程。

           第二步、修改launch文件,需要把src/cartographer_ros/cartographer_ros/launch下的backpack_2d.launch进行修改,主要需要用到cartographer_node和cartographer_occupancy_grid_node这两个功能。

     

              第三步、写lua文件。如何写还是要参考官方教程,在cartographer官网搜索lua,里面对各个参数都有解释。你按照电脑里面下载安装的cartographer的lua文件按照自己的需求照着官方解释修改就好了。如果运行报错而且tf_tree连不上的话就是你的lua文件有问题。

               如果不会写lua文件,我上传了一个模板,可以照着改改机器人基座标就能用

猜你喜欢

转载自blog.csdn.net/dzhongjie/article/details/82591663