基于rplidar || hokuyo的cartographer建图

基于rplidar || hokuyo的cartographer建图

进行slam定位和建图的过程中,如果只是为了看建图效果或者没有实时要求,那么使用bag包和激光雷达没有区别。但是不能一直依赖仿真或录制bag包,需要根据实际环境情况进行建图实时建图时,就必须驱动激光雷达进行实时建图。本篇博客介绍基于常见的激光雷达rplidar和 hokuyo的cartographer建图,需要说明的是:这两种激光雷达在进行建图时的话题相同,实测配置文件也相同。

只使用激光雷达建图需要修改的文件:launch和lua文件。本篇只介绍使用激光雷达的经验方法,下篇会介绍加入imu的建图方法。

1. launch文件修改方法

cartographer的launch文件有很多,选在demo_revo_lds.launch的基础上进行修改。
首先,是否运用仿真时钟,

<param name="/use_sim_time" value="true" />

在没有使用imu的情况下,true和false没有区别。

然后,启动cartographer节点也不用多说,注意配置的lua文件名称要一致和需要修改为下面的映射:

<remap from="scan" to="scan" />

然后,启动cartographer_occupancy_grid_node节点,这个节点很重要,因为此节点有submap的订阅器,这就决定了是否有map话题发布出来。有的博客中介绍的方法把此节点注释掉了,如果对cartographer的原理架构不太清楚,在建图时看不到map就会懵圈。

<node name="cartographer_occupancy_grid_node" pkg="cartographer_ros"
      type="cartographer_occupancy_grid_node" args="-resolution 0.05" />

这里的分辨率可以调整,如果场景较大,可以调整到0.14; 反之不需要调整。

最后就是启动rviz,这里不需要任何修改,使用的是demo_2d.rviz.

2. lua文件修改方法

此处修改的lua文件必须和launch文件中加载的lua文件路径和名字相同。
修改revo_lds.lua文件时,不要看别的博客说的改很多东西,因为cartographer版本不同,需要的参数也不一样,参数最后不要进行删减或者增加,改完之后很可能跑不起来。本人只修改了两条语句:

tracking_frame = "laser",
published_frame = "laser",

3. 试验结果

查看节点图:

rqt_graph

在这里插入图片描述tf树比较简单,map->odom->laser, 不再赘述。

每次修改需要运行:

catkin_make_isolated --install –use-ninja
source install_isolated/setup.bash

然后启动雷达和cartographer建图。

roslaunch cartographer_ros  ***.launch

实际场景建图结果:

 走的速度较快,效果不够好,可以参考走的速度较快,效果不够好,可以参考。下篇会加入imu,前进速度更快,效果也较好。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值