前言
launch文件启动Hector_Mapping的建图功能
在上一篇文章(以上链接)通过launch文件启动了Hector_Mapping建图功能,这一篇文章将在launch文件里给Hector_Mapping设置参数
一、Hector_Mapping有哪些参数
1、浏览器搜索并进入 ROS index
2、搜索hector_mapping
3、选择noetic版本
4、进入它的Wiki界面
5、找到3.1.4 Parameters参数这一栏
6、这里每一个波浪线标示出来的,就是可以设置的参数名
7、括号里的第一项表示的是参数的类型
8、括号里第二项表示的是参数的默认值
9、下面的一句话是参数的说明
二、先来关注下面几个参数
1、map_update_distance_thresh(地图更新的距离长度阈值),表示为两次地图刷新之间机器人的移动距离阈值,每次地图更新后,机器人移动必须超过这个阈值,才会再次更新地图。也就是说在相同的机器人移动速度下,这个参数的值越小,地图更新的频率越快
2、map_update_angle_thresh (地图更新角度阈值),机器人必须转动超过这个角度阈值,并移动超过距离阈值,地图才会更新
3、map_pub_period(地图发布的时间周期),默认值是2秒,也就是说不管地图更新的是快还是慢,地图发布的时间间隔还是取决于这个参数,所以如果想要及时的查看到地图更新的情况,就需要把这个值调小。
三、开始操作
1、打开终端输入cd catkin_ws1/src进入工作空间下的src目录
2、输入code .打开VScode
3、打开上一篇文章编写的launch文件(文章在开头链接)
4、对这里进行修改,增加参数
5、修改后的launch文件如下
<launch>
<!-- 载入 机器人 和 SLAM 的仿真场景 -->
<include file="$(find wpr_simulation)/launch/wpb_stage_slam.launch"/>
<!-- Hector SLAM -->
<node pkg="hector_mapping" type="hector_mapping" name="hector_mapping" output="screen">
<param name="map_update_distance_thresh" value="0.1"/>
<param name="map_update_angle_thresh" value="0.1"/>
<param name="map_pub_period" value="0.1"/>
</node>
<!-- Rviz 显示 -->
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find slam_pkg)/rviz/slam.rviz"/>
<!-- 运动控制 -->
<node pkg="rqt_robot_steering" type="rqt_robot_steering" name="rqt_robot_steering"/>
</launch>