This tutorial describes how to use Sawyer with Gazebo the standard Physics Simulator for ROS.
Contents
Installation/Prerequisites
- Make sure you have followed the Workstation Setup tutorial before beginning this section.
- Ensure the following software packages are installed:
ROS Noetic | $ 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 |
ROS Melodic | $ 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 |
ROS Kinetic | $ 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
ROS Noetic | $ 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 |
ROS Melodic | $ 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 |
ROS Kinetic | $ 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
ROS Noetic | $ source /opt/ros/noetic/setup.bash
$ cd ~/ros_ws
$ catkin_make |
ROS Melodic | $ source /opt/ros/melodic/setup.bash
$ cd ~/ros_ws
$ catkin_make |
ROS Kinetic | $ 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.
$ rostopic list
This should list the topics.
$ 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.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article