ROS下:无里程计 仅有rplidar A2激光雷达+laser_scan_tools运行gmapping
写这篇文章主要是记录用到的实验与学习方法,以便以后自己查看,当然也欢迎其他ROS中slam学习研究者共同探讨。在这里借鉴了三位博主的方法,附上链接
(https://blog.youkuaiyun.com/vampirewolf/article/details/90042517)
https://blog.youkuaiyun.com/dzhongjie/article/details/84592376
https://blog.youkuaiyun.com/weixin_40641902/article/details/79082492
- 安装laser_scan_tools
- 修改demo_gmapping.launch文件
- 运行与结果
1. 安装laser_scan_tools
git clone https://github.com/ccny-ros-pkg/scan_tools.git
如果在编译过程中出现错误,无法找到csm功能包时,输入命令:sudo apt-get install ros-kinetic-csm 然后重新编译即可。其中kinetic是我的ROS版本,用到此命令时,请切换为你电脑上相应的ROS版本)。
详细请到第一个博主那里看前3步,在第四步时与其不相同,也是重点
2. 修改demo_gmapping.launch文件
需要到 src →laser_scan_matcher → demo 文件中修改demo_gmapping.launch文件。
文件(部分)原本如下:
修改后的demo_gmapping.launch文件`
<!--
Example launch file: uses laser_scan_matcher together with
slam_gmapping
-->
<launch>
#### set up data playback from bag #############################
<param name="/use_sim_time" value="flase"/><!-- 因为Gmapping 的simulation 时间是True, 改为false 网上查到的--->
#### rplidar_a2 ################################################
<!--激光雷达的启动文件-->
<node name="rplidarNode" pkg="rplidar_ros" type="rplidarNode" output="screen">
<param name="serial_port" type="string" value="/dev/ttyUSB0"/>
<param name="serial_baudrate" type="int" value="256000"/><!--A3 -->
<param name="frame_id" type="string" value="laser"/>
<param name="inverted" type="bool" value="false"/>
<param name="angle_compensate" type="bool"