This tutorial describes how to use Sawyer with Gazebo the standard Physics Simulator for ROS.
Note: This page describes an upcoming feature in Intera 5.2. Gazebo Simulation for Sawyer is not yet released.
- Make sure you have followed the Workstation Setup tutorial before beginning this section
- Ensure the following software packages are installed:
$ 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
Sawyer Simulator Installation
- From your catkin workspace where the SDK resides, use wstool to install and update:
$ cd ~/ros_ws/src $ wstool init . $ wstool merge https://raw.githubusercontent.com/RethinkRobotics/sawyer_simulator/development/sawyer_simulator.rosinstall $ wstool update
IMPORTANT: Make sure all simulator repositories update to their proper branch.
$ source /opt/ros/kinetic/setup.bash $ cd ~/ros_ws $ catkin_make
- Use intera.sh - it has a special hook for sim:
$ cp src/intera_sdk/intera.sh .
- Edit the your_ip value in intera.sh
- Run the Intera shell script with sim specified:
$ ./intera.sh sim
- Start simulation with controllers:
$ roslaunch sawyer_gazebo sawyer_world.launch
By default the robot will be in the enabled state. To enable, run the enable_robot script from the baxter_tools package. To start and switch the controllers, use the JointCommand topic as documented in the Baxter SDK.
- Optional: Test/tune the velocity controllers or position controllers using a RQT dashboard GUI. Make sure you are in the right joint command mode when using these:
$ roslaunch baxter_sim_hardware baxter_sdk_position_rqt.launch
$ roslaunch baxter_sim_hardware baxter_sdk_velocity_rqt.launch
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 Wobbler example:
$ ./baxter.sh sim $ rosrun baxter_examples joint_velocity_wobbler.py
- Start keyboard joint position example:
$ ./baxter.sh sim $ rosrun baxter_examples joint_position_keyboard.py
For additional information on the interfaces that are implemented with this release, visit the Simulator API page.
- Please refer to the troubleshooting page Gazebo Troubleshooting