Difference between revisions of "Gazebo Tutorial"

Jump to: navigation , search
(Run SDK Examples)
(Simulation)
 
(17 intermediate revisions by the same user not shown)
Line 7: Line 7:
  
 
<div class="content-block">
 
<div class="content-block">
'''Note: This page describes an upcoming feature in Intera 5.2. Gazebo Simulation for Sawyer is not yet released.'''
 
  
 
[[File:gazebo_logo.png|Gazebo Logo|500px]]<br />
 
[[File:gazebo_logo.png|Gazebo Logo|500px]]<br />
  
'''[http://gazebosim.org/tutorials Please visit the Gazebo Tutorials homepage for more information]'''
+
'''[http://gazebosim.org/tutorials Please visit the Gazebo Tutorials homepage for more information about the Physics simulator]'''
  
 
</div>
 
</div>
Line 18: Line 17:
  
 
== Installation/Prerequisites ==
 
== Installation/Prerequisites ==
*Make sure you have followed the [[Workstation Setup]] tutorial before beginning this section
+
*Make sure you have followed the [[Workstation Setup]] tutorial before beginning this section. Sawyer Gazebo is '''only''' available for '''Ubuntu 16.04, ROS Kinetic, and Gazebo 7'''.
 
*Ensure the following software packages are installed:
 
*Ensure the following software packages are installed:
  
Line 25: Line 24:
 
<tab name="ROS Kinetic">
 
<tab name="ROS Kinetic">
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
$ 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
+
$ 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
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</tab>
 
</tab>
Line 36: Line 35:
 
==== Install sawyer_simulator ====
 
==== Install sawyer_simulator ====
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
 +
$ mkdir -p ~/ros_ws/src
 +
$ cd ~/ros_ws/src
 +
$ git clone https://github.com/RethinkRobotics/sawyer_simulator.git
 
$ cd ~/ros_ws/src
 
$ cd ~/ros_ws/src
 
$ wstool init .
 
$ wstool init .
$ wstool merge https://raw.githubusercontent.com/RethinkRobotics/sawyer_simulator/development/sawyer_simulator.rosinstall
+
$ wstool merge sawyer_simulator/sawyer_simulator.rosinstall
 
$ wstool update
 
$ wstool update
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 48: Line 50:
 
$ catkin_make
 
$ catkin_make
 
</syntaxhighlight>
 
</syntaxhighlight>
*Use intera.sh - it has a special hook for sim:
 
<syntaxhighlight lang="bash" enclose="div">
 
$ cp src/intera_sdk/intera.sh .
 
</syntaxhighlight>
 
* Edit the your_ip value in intera.sh
 
 
</tab>
 
</tab>
 
</tabs>
 
</tabs>
 
=== Simulation ===
 
=== Simulation ===
*Run the Intera shell script with sim specified:
+
*The intera.sh shell has a special hook of *sim* for Simulation. Run the Intera shell script with sim specified:
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
 
$ ./intera.sh sim
 
$ ./intera.sh sim
Line 63: Line 60:
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
 
$ roslaunch sawyer_gazebo sawyer_world.launch
 
$ roslaunch sawyer_gazebo sawyer_world.launch
</syntaxhighlight>
 
 
 
By default the robot will be in the enabled state. To enable, run the [[Enable_Robot_Tool|enable_robot]] script from the baxter_tools package. To start and switch the controllers, use the JointCommand topic as [[API_Reference#Arm_Joints_Control_2|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:
 
<syntaxhighlight lang="bash" enclose="div">
 
$ roslaunch baxter_sim_hardware baxter_sdk_position_rqt.launch
 
</syntaxhighlight>
 
or
 
<syntaxhighlight lang="bash" enclose="div">
 
$ roslaunch baxter_sim_hardware baxter_sdk_velocity_rqt.launch
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 100: Line 86:
  
 
== Run SDK Examples ==
 
== Run SDK Examples ==
*Start Wobbler example:
+
*Start Joint Torque Springs example:
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
 
$ ./intera.sh sim
 
$ ./intera.sh sim
$ rosrun intera_examples joint_velocity_wobbler.py
+
$ roslaunch sawyer_gazebo sawyer_world.launch
 +
*in a new terminal*
 +
$ ./intera.sh sim
 +
$ rosrun intera_examples joint_torque_springs.py
 
</syntaxhighlight>
 
</syntaxhighlight>
*Start keyboard joint position example:
+
 
 +
*Or, Start Simulated Pick and Place example:
 
<syntaxhighlight lang="bash" enclose="div">
 
<syntaxhighlight lang="bash" enclose="div">
 
$ ./intera.sh sim
 
$ ./intera.sh sim
$ rosrun intera_examples joint_position_keyboard.py
+
$ roslaunch sawyer_sim_examples sawyer_pick_and_place_demo.launch
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 
For additional information on the interfaces that are implemented with this release, visit the [[API_Reference#tab=Simulator_API|Simulator API]] page.
 
For additional information on the interfaces that are implemented with this release, visit the [[API_Reference#tab=Simulator_API|Simulator API]] page.
  
 
==Troubleshooting==
 
==Troubleshooting==
*'''Please refer to the troubleshooting page [[Gazebo Troubleshooting]] '''
+
*'''Please refer to the troubleshooting page Gazebo Troubleshooting '''
  
 
----
 
----

Latest revision as of 16:29, 14 March 2018

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. Sawyer Gazebo is only available for Ubuntu 16.04, ROS Kinetic, and Gazebo 7.
  • 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 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
$ 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