仅用激光雷达数据跑GMapping算法
1.缘起
实体机器人是GMapping算法的必需品,必须要有里程计的输入数据。然而,ROS中提供了Laser_scan_matcher包可以被用于里程计估计器,因此可以比较好的胜任所需要的任务:使用激光数据构建一个里程计供GMapping使用。
2.软硬件条件
软件:Ubuntu 18.04,ROS Melodic
硬件:RPLidar A1.
3.如何实现?
3.1 laser_scan_matche 源码安装及测试
可能时本人菜,没有找到laser_scan_matche的ROS安装方式,只能采用源码安装方式。
cd catkin_ws/src
git clone https://github.com/ccny-ros-pkg/scan_tools.git
cd ..
catkin_make // 会发现 fail, 此时进入到scan_tools/ 目录下把除laser_scan_matcher 目录之外的所有文件(夹)都删掉。
catkin_make // 此时又报错,如:CMake Error at /usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:415
source devel/setup.bash
若是第9行报错,请参考“在编译laser_scan_matcher相关软件包,出现CMake Error at …” 解决。
安装完成后,输入下面的命令进行测试。
roslaunch laser_scan_matcher demo.launch
3.2 运行Demo
在~/turtlebot_ws/src/laser_scan_matcher/demo文件夹下,有launch文件demo_gmapping.launch,运行该launch文件,会出现用bag数据的GMapping运行结果,我们对其进行修改,用激光数据替代bag数据,代码如下(可以直接替换)。
<!--
Example launch file: uses laser_scan_matcher together with
slam_gmapping
-->
<launch>
#### set up data playback from bag #############################
<!-- 此处,用激光数据 替换掉bag数据 -->
<!-- <param name="/use_sim_time" value="true"/> -->
&l

博客介绍了在ROS中使用Laser_scan_matcher包进行里程计估计的方法。因实体机器人使用GMapping算法需里程计输入数据,该包可利用激光数据构建里程计。文中说明了软硬件条件,详细介绍了laser_scan_matcher源码安装、测试及运行Demo的过程,最后致谢同事。
最低0.47元/天 解锁文章

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



