RPLIDAR A2测评(四)----用RPLIDAR搭建gmapping
以我自己的小车mrobot为例。
1. 硬件环境:
mrobot小车(采用turtlebotcreate协议,可以用turtlebot)。
rplidar激光雷达。
2. rplidar包下载
建立catkin包,编译。
3. USB端口权限配置
mrobot小车默认串口是ttyUSB0,rplidar默认串口也是ttyUSB0。需要修改USB的权限和端口号。
为了方便,先插上mrobot,识别为ttyUSB0,。再插上rplidar,识别为ttyUSB1。故到rplidar_ros里面,修改rplidar.launch文件。
将: [mw_shl_code=xml,true] <param name="serial_port" type="string" value="/dev/ttyUSB0"/>[/mw_shl_code]
改为: [mw_shl_code=xml,true]<param name="serial_port" type="string" value="/dev/ttyUSB1"/>[/mw_shl_code]
4. Mrobot底盘代码修改
4.1 在mrobot的TF上添加rplidar
mrobot的launch文件中添加以下内容:
<nodename="base2laser" pkg="tf"type="static_transform_publisher" args="0 0 0 0 0 0 1 /base_link/laser 50"/>
其中args前三个0 0 0,代表mrobot置于baselink的中心坐标上。可以根据rplidar位置改动坐标。
4.2 修改 topic数据接口
mrobot和turtlebot的gmapping数据接口是/odom/scan,不需要修改。
若不一致,添加 <remap from="scan"to="$(arg scan_topic)"/>。将scan映射到scan_topic。
5. 运行
运行mrobot底盘:roslaunchmrobot_bringup mrobot.launch
运行rplidar雷达:roslaunchrplidar_ros rplidar.launch
运行gmapping:roslaunchmrobot_nav gmapping_demo.launch
然后启动rviz: rosrun rviz rviz -d `rospack findmrobot_nav`/gmapping.rviz,可以看到地图信息,如下图所示。
启动键盘或摇杆,建立完整的地图。
建地图的过程:
建好的完整地图:
键盘和摇杆关闭后,点2D Nav Goal可以进行导航:
最后配一个mrobot小车的图
Steven.Zhang
|