实现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也会被一起装上(indigo对应gazebo 2.x等等)。可以使用以下命令查阅版本:
gazebo -version
一、安装对应版本的gazebo_ros_pkgs
ROS Kinetic:
sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control
ROS Kinetic:
sudo apt-get install ros-jade-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
到此,安装成功。