ros下gazebo与rviz进行交互

一、 环境:Ubuntu 16.04,linux操作系统平台,Ros Kinetic Kame。
二、 用到工具:gazebo、rviz、ROS gmaping 工具、turtlebot。
三、 使用过程:

  1. 下载gmaping工具包:sudo apt-get install ros-indigo-slam-gmapping

  2. 通常默认indigo-desktop-full安装会自动安装好Gazebo,无需过多考虑:sudo apt-get install ros- kinetic -desktop-full

  3. 更新gazebo到7.1X版本:

    1. sudo sh -c ‘echo “deb http://packages.osrfoundation.org/gazebo/ubuntu-stable lsb_release -cs main” > /etc/apt/sources.list.d/gazebo-stable.list’
    2. wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add –
    3. sudo apt-get update
    4. sudo apt-get install gazebo7 gazebo7-common
    5. sudo apt-get install libignition-math2-dev
  4. 安装rviz:

    1. 下载:sudo apt-get install ros-kinetic-rviz
    2. 环境检测,安装:rosdep install rviz,rosmake rviz
  5. 安装一些ROS-Gazebo组件:sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control

  6. 下载gazebo模型包:
    ros下gazebo与rviz进行交互

  7. 安装turtlebot相关包:sudo apt-get install ros-kinetic-turtlebot-*
    常见错误:1.Filed to patch.解决方法:更新uhuntu的软件源,从china到main。

  8. 启动ros主节点:roscore

  9. 开始基础仿真演示(注意gazebo与rviz之间进行交互):

    1. 启动Gazebo并加载机器人、环境模型:roslaunch turtlebot_gazebo turtlebot_world.launch
      常见错误:1.启动gazebo闪退,在虚拟机中的linux上运行Gazebo的时候, Gazebo窗口闪退,。解决方法:关闭硬件加速(亲测可用)
      echo " export SVGA_VGPU10=0" >> ~/.bashrc
      source ~/.bashrc

    关闭虚拟机的3D图形加速(备选)
    export LIBGL_ ALWAYS_SOFTWARE=0

    1. 启动键盘遥控节点:roslaunch turtlebot_teleop keyboard_teleop.launch
      ros下gazebo与rviz进行交互
    2. 此时,选中该命令窗口,按照提示,使用键盘上的u、i等键就可以看见机器人的Gazebo窗口中运动。
    3. 运行gmapping:roslaunch turtlebot_gazebo gmapping_demo.launch
    4. 开启rviz观察建图过程:roslaunch turtlebot_rviz_launchers view_navigation.launch

四、 参考附录:
a) https://blog.****.net/lingchen2348/article/details/79503970:在gazebo中运行turtlebot机器人模拟gmapping的slam过程。
b) https://blog.****.net/qq_39989653/article/details/78472097: gazebo问题修复。
c) https://blog.****.net/tap880507/article/details/79673460:ROS 学习系列 – RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM)。
d) https://www.cnblogs.com/hiram-zhang/p/10398534.html:熟练使用rviz。
e) https://www.cnblogs.com/yytlmm/p/11083143.html:gazebo 7.0 升级到7.15。
f) https://www.cnblogs.com/huangjianxin/p/6347416.html:创建一个Ros工作空间。
g) https://www.cnblogs.com/qiangzi0221/p/7941896.html: ROS机器人导航仿真(kinetic版本)。
h) https://blog.****.net/Robot_Starscream/article/details/89430473:「Linux 调试错误」Invalid tag: environment variable ‘TURTLEBOT_GAZEBO_WORLD_FILE’ is not set.