melodic下基于turtlebot3的cartographer安装和仿真使用

1 仿真使用

1.1 我的虚拟机配置

虚拟机软件:VMware
Ubuntu版本:18.04
ROS版本:melodic
仿真软件:gazebo

1.2 安装turtlebot3仿真

这一步就不详细介绍了,网上的资料已经够了,不想搜索的点turtlebot3仿真学习

1.3 安装cartographer

这里我是参考的cartographer安装
这篇博文里面,博主提到需要用pcl1.7版本的,不要用1.9。但是查看了一下,我的环境是1.8版本,嫌麻烦不想重装,直接按着文章的步骤做了,成功编译安装,没有问题。

1.4 cartographer仿真使用

1.4.1 仿真准备

修改turtlebot3_cartographer.launch文件,参考在仿真环境下使用Turtlebot3跑Cartographer算法

1.4.2 仿真问题

重点来了,cartographer安装成败,就看仿真的结果了。
一般情况下,按着上面的文章一路弄下来,应该是可以用了,但也许会出现以下情况。

1.4.2.1 建图打开rviz后,地图一片黑,而且机器人模型呈白色

这时候,先运行gmapping建图算法,如果成功运行,证明turtlebot3仿真是安装成功了,那么就说明cartographer安装失败。请重新再安装一边cartographer。
如果gmapping同样出现问题,那么turtlebot3安装失败。当时我安装cartographer失败,想着换pcl1.7,倒腾环境把gmapping也搞不行了,一气之下,直接重开,所有环境重装。

1.4.2.2 rviz中机器人模型正常,也有激光雷达数据,但地图一片黑

环境重装之后,终于正常一点了,gmapping可以用。试了一下cartographer,模型也没有变白,可以看见绿色的激光雷达扫描结果,但是无法建图。查看rviz左边栏,在全局设置中发现错误提示,无法从map转换到其他tf变换。使用rqt_tf_tree查看tf树,发现根本就没有map,再一查看终端的输出信息,负责发布map信息的cartography节点在建图launch运行一开始就死亡了,根本就没有map信息输出,后边的tf变换都是根据map来的,怎么可能建图。
网上资料查了半天,发现根本没有相关资料,我只好一直盯着终端的输出信息看,突然看见一个错误:

map_by_time.h:43] Check failed: data.time > std::prev(trajectory.end())->first

带着唯一的线索,在网上又开始查询,这一次终于有了眉目。
在cartographer_ros的github代码仓里面,有人向作者提了一个一样的问题—问题issue。老哥的解决方案是,修改.lua文件里的odometry_sampling_ratio,将其改为0.1。然后,我终于跑起了cartographer。

2 实机使用

2.1 我的实机配置

实机:某款工控机
Ubuntu版本:18.04
ROS版本:melodic

2.2 安装cartographer

安装步骤和仿真一样。

2.3 cartographer实机使用

参考cartographer 用自己的机器人建图、保存地图

网络上的资源很丰富,但是却如碎片般凌乱,写这篇博文整理一下相关文章,感谢以上参考文章的作者!!!

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值