ROS学习——移动机器人导航仿真(二)

二、通过Gmapping包实现SLAM

1、了解Gmapping(常用开源slam算法)

GMapping原理分析.

2、如何使用Gmapping包创建用于导航的二维地图

(1)、map_create.launch文件的编写

在launch文件下编写map_create.launch

<launch>
  <node name="slam_gmapping" pkg="gmapping" type="slam_gmapping" >
    <remap  from="scan" to="/scan"/>
    <param name="base_link" value="base_footprint"/>
  </node>

</launch>

(2)、运行

1、启动机器人模型gazebo显示文件

roslaunch slam_sim_demo gazebo.launch

ROS学习——移动机器人导航仿真(二)_第1张图片
2、启动rviz显示文件并添加观察属性

roslaunch slam_sim_demo view_robot.launch

ROS学习——移动机器人导航仿真(二)_第2张图片
3、启动Gmapping建图文件并订阅map话题

roslaunch slam_sim_demo map_creat.launch

ROS学习——移动机器人导航仿真(二)_第3张图片
4、启动键盘控制程序

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

通过i,j,l控制小车的前进和左转右转,k停止,q与z可调速
ROS学习——移动机器人导航仿真(二)_第4张图片
5、控制小车围着屋子走一圈得到二维地图ROS学习——移动机器人导航仿真(二)_第5张图片
6、保存地图

rosrun map_server map_saver -f map

3、查看tf树与节点关系图

rosrun tf view_frames

ROS学习——移动机器人导航仿真(二)_第6张图片

rosrun rqt_graph rqt_graph 

ROS学习——移动机器人导航仿真(二)_第7张图片

4、参考

【ROS】移动机器人导航仿真(2)——SLAM(gmapping)

你可能感兴趣的:(ROS)