【移动机器人技术】Cartographer离线建图与定位

本文介绍如何使用Cartographer算法进行智能轮椅的离线建图与定位,包括数据采集、快速与常规速度建图流程,以及离线定位的方法。通过编写launch文件和配置文件,实现不同场景下的建图与定位。

在调试cartographer算法代码及参数的时候,如果每次都连接真实的智能轮椅,会很麻烦,需要做很多准备工作,且有某个环节出现问题,都会影响到机器人的运行,最终导致算法不具备运行条件。
本文描述了事先从智能轮椅上采集好所需话题数据,然后利用cartographer离线建图和定位。

1数据采集

运行产生数据的节点

运行激光雷达节点

roslaunch urg_node urg_lidar.launch 

rosbag记录数据

记录全部话题

rosbag record -a

记录部分话题

rosbag record /scan /imu /odom

2 cartographer离线建图

2.1 快速建图

该方法有点是运行耗时很短,缺点是中间过程看的不清晰。
编写launch文件:offline_wheelchair_2d.launch
在实际应用中需要将#注释去掉。

<launch>
   # 是否启用rivz
  <arg name="no_rviz" default="false"/>
  # 是否启动仿真模式
  <param name="/use_sim_time" value="true" />

  <group unless="$(arg no_rviz)">
    <node name="rviz" pkg="rviz" type="rviz" required="true"
        args="-d $(find cartographer_ros)/configuration_files/demo_2d.rviz" />

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

 # 启动离线建图的节点
  <node name="cartographer_offline_node" pkg="cartographer_ros"
      required="$(arg no_rviz)"
      type="cartographer_offline_node" args="
          -configuration_directory $(find cartographer_ros)/configuration_files    # 配置文件路径
          -configuration_basenames my_backpack_2d.lua								# 配置文件名称
          -urdf_filenames $(find cartographer_ros)/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值