Gazebo与ROS的连接


原文链接

实现ROS与Gazebo的连接,需要安装gazebo_ros_pkgs。

安装之前,首先需要注意的是版本的兼容问题。目前各个ROS版本推荐支持的Gazebo版本如下:
 ROS indigo:Gazebo 2.x
 ROS Jade:Gazebo 5.x
 ROS kinetic:Gazebo 7.x

如果在安装ROS的时候使用的是
 sudo apt-get install ros-$version-desktop-full

那么对应版本的gazebo也会被一起安装。可以使用以下命令查阅版本:
 gazebo -version

一、安装对应版本的gazebo_ros_pkgs
 ROS Kinetic:
 sudo apt-get install ros-indigo-gazebo-ros-pkgs ros-indigo-gazebo-ros-control

二、安装不对应版本的gazebo_ros_pkgs
如果你的系统中的Gazebo与ROS版本推荐的Gazebo不一致,那就需要从源码安装编译gazebo_ros_pkgs。

下面以在ROS Indigo上安装Gazebo 7.x为例子说明。
1.首先创建一个catkin workspace:
 mkdir -p ~/catkin_ws/src
 cd ~/catkin_ws/src
 catkin_init_workspace
 cd ~/catkin_ws
 catkin_make

echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc

2.确认已经安装git
 sudo apt-get install git

3.安装依赖项
 sudo apt-get install -y libgazebo7-dev

4.下载源代码
 cd ~/catkin_ws/src
 git clone https://github.com/ros-simulation/gazebo_ros_pkgs.git -b kinetic-devel

5.检查依赖项
 rosdep update
 rosdep check --from-paths . --ignore-src --rosdistro kinetic

6.自动安装丢失的依赖项
 rosdep install --from-paths . --ignore-src --rosdistro kinetic -y

7.编译生成 gazebo_ros_pkgs
 cd ~/catkin_ws/
 catkin_make

三、安装完成的检查测试
当所有安装完成之后,可以运行检查命令:
 roscore
 rosrun gazebo_ros gazebo

这时会出现Gazebo的工作界面,然后输入
 rostopic list

就会看到
 /gazebo/link_states
 /gazebo/model_states
 /gazebo/parameter_descriptions
 /gazebo/parameter_updates
 /gazebo/set_link_state
 /gazebo/set_model_state