Gazebo Tutorial

Jump to: navigation , search

This tutorial describes how to use Sawyer with Gazebo the standard Physics Simulator for ROS.

Installation/Prerequisites

  • Make sure you have followed the Workstation Setup tutorial before beginning this section.
  • Ensure the following software packages are installed:


$ sudo apt-get install gazebo11 ros-noetic-gazebo-ros  ros-noetic-gazebo-ros-control 
ros-noetic-gazebo-ros-pkgs ros-noetic-ros-control ros-noetic-control-toolbox ros-noetic-realtime-tools 
ros-noetic-ros-controllers ros-noetic-xacro python3-wstool ros-noetic-tf-conversions ros-noetic-kdl-parser
$ sudo apt-get install gazebo9 ros-melodic-qt-build ros-melodic-gazebo-ros-control 
ros-melodic-gazebo-ros-pkgs ros-melodic-ros-control ros-melodic-control-toolbox ros-melodic-realtime-tools 
ros-melodic-ros-controllers ros-melodic-xacro python-wstool ros-melodic-tf-conversions ros-melodic-kdl-parser
$ sudo apt-get install gazebo7 ros-kinetic-qt-build ros-kinetic-gazebo-ros-control ros-kinetic-gazebo-ros-pkgs 
ros-kinetic-ros-control ros-kinetic-control-toolbox ros-kinetic-realtime-tools ros-kinetic-ros-controllers ros-kinetic-xacro 
python-wstool ros-kinetic-tf-conversions ros-kinetic-kdl-parser ros-kinetic-sns-ik-lib

Sawyer Simulator Installation

  • From your catkin workspace where the SDK resides, use wstool to install and update:

Install sawyer_simulator

$ mkdir -p ~/ros_ws/src
$ cd ~/ros_ws/src
$ git clone https://github.com/RethinkRobotics/sawyer_simulator.git -b noetic_devel
$ git clone https://github.com/RethinkRobotics-opensource/sns_ik.git -b melodic-devel
$ cd ~/ros_ws/src
$ wstool init .
$ wstool merge sawyer_simulator/sawyer_simulator.rosinstall
$ wstool update

IMPORTANT: Make sure all simulator repositories update to their proper branch.

Build Source

$ source /opt/ros/noetic/setup.bash
$ cd ~/ros_ws
$ catkin_make
  • From your catkin workspace where the SDK resides, use wstool to install and update:

Install sawyer_simulator

$ mkdir -p ~/ros_ws/src
$ cd ~/ros_ws/src
$ git clone https://github.com/RethinkRobotics/sawyer_simulator.git
$ git clone https://github.com/RethinkRobotics-opensource/sns_ik.git -b melodic-devel
$ cd ~/ros_ws/src
$ wstool init .
$ wstool merge sawyer_simulator/sawyer_simulator.rosinstall
$ wstool update

IMPORTANT: Make sure all simulator repositories update to their proper branch.

Build Source

$ source /opt/ros/melodic/setup.bash
$ cd ~/ros_ws
$ catkin_make
  • From your catkin workspace where the SDK resides, use wstool to install and update:

Install sawyer_simulator

$ mkdir -p ~/ros_ws/src
$ cd ~/ros_ws/src
$ git clone https://github.com/RethinkRobotics/sawyer_simulator.git
$ cd ~/ros_ws/src
$ wstool init .
$ wstool merge sawyer_simulator/sawyer_simulator.rosinstall
$ wstool update

IMPORTANT: Make sure all simulator repositories update to their proper branch.

Build Source

$ source /opt/ros/kinetic/setup.bash
$ cd ~/ros_ws
$ catkin_make

Simulation

  • The intera.sh shell has a special hook of *sim* for Simulation. Run the Intera shell script with sim specified:
$ ./intera.sh sim
  • Start simulation with controllers:
$ roslaunch sawyer_gazebo sawyer_world.launch

Smoke Test

Check if the simulator was installed and launched successfully by typing the following commands:

$ rosnode list

This should list the nodes as here.

$ rostopic list

This should list the topics as here.

$ rostopic echo /robot/state

By default, the following messages should be displayed at 100 HZ.

enabled: False
stopped: False
error: False
estop_button: 0
estop_source: 0
---

Run SDK Examples

  • Start Joint Torque Springs example:
$ ./intera.sh sim
$ roslaunch sawyer_gazebo sawyer_world.launch
*in a new terminal*
$ ./intera.sh sim
$ rosrun intera_examples joint_torque_springs.py
  • Or, Start Simulated Pick and Place example:
$ ./intera.sh sim
$ roslaunch sawyer_sim_examples sawyer_pick_and_place_demo.launch

For additional information on the interfaces that are implemented with this release, visit the Simulator API page.

Troubleshooting

  • Please refer to the troubleshooting page Gazebo Troubleshooting