ROS之Turtlebot 构图,导航仿真

  • Post author:
  • Post category:其他


1.安装TurtleBot相关的功能包

    sudo apt-get install ros-kinetic-turtlebot-*

这个作为rospackge中提供的功能包,全部安装测试。里面包含Turtlebot真机与仿真的功能。

2.启动gazebo仿真模型,并加载Turtlebot机器人

 export TURTLEBOT_GAZEBO_WORLD_FILE="/opt/ros/kinetic/share/turtlebot_gazebo/worlds/playground.world"
 roslaunch turtlebot_gazebo turtlebot_world.launch

第一行给环境变量TURTLEBOT_GAZEBO_WORLD_FILE,加载仿真地图。

这里写图片描述

3.slam建图

a. turtlebot_gazebo功能包里有使用gmapping实现slam建图的功能。里面需要适当的修改。

      roscd turtlebot_gazebo/launch/
      sudo gedit gmapping_demo.launch

这里写图片描述

主要是将gmapping.launch.xml的文件夹路径加进来。

b.使用gmapping

  export TURTLEBOT_GAZEBO_WORLD_FILE="/opt/ros/kinetic/share/turtlebot_gazebo/worlds/playground.world"
  roslaunch turtlebot_gazebo gmapping_demo.launch

c.打开RVIZ,实时查看构图进程

export TURTLEBOT_GAZEBO_WORLD_FILE="/opt/ros/kinetic/share/turtlebot_gazebo/worlds/playground.world"
roslaunch turtlebot_rviz_launchers view_navigation.launch

d.通过键盘控制turtlebot在仿真环境移动,实现构图。

  export TURTLEBOT_GAZEBO_WORLD_FILE="/opt/ros/kinetic/share/turtlebot_gazebo/worlds/playground.world"
  roslaunch turtlebot_teleop keyboard_teleop.launch

这里写图片描述

注意:在构图中,turtlebot2不要碰到物体,碰到物体可能影响轮转计的精度.

e.slam结束后,保存地图。命名turtlebot_test_map

rosrun map_server map_saver -f turtlebot_test_map

默认保存在HOME文件夹里。有turtlebot_test_map地图和turtlebot_test_map.yaml参数文件。地图如下:

这里写图片描述

4.开始导航

turtlebot_gazebo里同样提供了实现导航的功能包,但需要稍微的修改。

a. 修改amcl.demo.launch

 roscd turtlebot_gazebo/launch/
 sudo gedit amcl.demo.launch

这里写图片描述

主要是将amcl.launch.xml前的文件夹路径添加进去。

b.关闭除仿真环境(gazebo)以外的其他节点和rviz。我们开启gezebo时,不止开启了模型环境,还有roscore,imu,move_bsae等一些导航需要的功能,所以不能关闭。关闭其他节点和rviz后,

export TURTLEBOT_GAZEBO_WORLD_FILE="/opt/ros/kinetic/share/turtlebot_gazebo/worlds/playground.world"
roslaunch turtlebot_gazebo amcl_demo.launch

先配置环境,再加载导航功能。

export TURTLEBOT_GAZEBO_WORLD_FILE="/opt/ros/kinetic/share/turtlebot_gazebo/worlds/playground.world"
roslaunch turtlebot_rviz_launchers view_navigation.launch

使用rviz选择导航点。

这里写图片描述

点击2D Nav Goal即可选择目标点。

主要参考:古月居,创客智造,ROS_Robot_Programming.



版权声明:本文为m0_37433067原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。