在调试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)/

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

被折叠的 条评论
为什么被折叠?



