This tutorial explains the many options for launching DRCSim.
If you have no prior experience with ROS launch files, you can learn more on the ROS Wiki.
We assume that you've already installed DRCSim 4.2 or higher via the installation instructions. If you have not installed a version of DRCSim greater than or equal to 4.2, you must upgrade before you can complete this tutorial.
If you haven't done so, add the environment setup.sh files to your .bashrc.
echo 'source /usr/share/drcsim/setup.sh' >> ~/.bashrc source ~/.bashrc
DRCSim supports 4 possible Atlas models, 3 supported hand models, and over 23 different worlds. The many possible combinations are all accessible via launch file arguments.
Boston Dynamics has released four versions of the Atlas robot: version 1, version 3, version 4, and version 5.
Version 1: This is the first version of Atlas associated with the DRC program. This version was used by teams competing in the Virtual Robotics Challenge in June of 2013.
Version 3: Atlas v3 represents the hardware teams received following completion of the Virtual Robotics Challenge. This is also the version that teams used during the DRC Trials competition in December of 2013.
Version 4: Atlas v4 is completely untethered. This entailed a backpack redesign. DRC teams received this version of Atlas in late 2014. Take note of the two different versions of this model listed below.
Version 4.0: The URDF file (
atlas_v4.urdf) for this robot includes two joints (
r_arm_wry2) that do not exist on the real robot. These two joints are included to make the model compatible with BDI's libAtlasSimInterface.
roslaunch drcsim_gazebo atlas.launch model_args:="_v4"
Version 4.1: The URDF file (
atlas_v4_no_wry2.urdf) excludes the wry2 joints. It is not possible to use BDI's libAtlasSimInterface library with this version.
roslaunch drcsim_gazebo atlas.launch model_args:="_v4_no_wry2"
Version 5: The final version of Atlas was made available to teams in early 2015. This version is the same as version 4, except that the forearms are electric.
The VRC Final Task worlds were used in the VRC (Virtual Robotics Challenge) to help determine which teams would receive an Atlas robot to compete in the DRC Finals. These worlds are accessible in DRCSim under the following world names:
The DRC Practice Task worlds reflect the tasks planned for the DRC Finals as outlined in this document provided by DARPA. Their world names in Gazebo/DRCSim are:
For most drcsim launch files, you can specify the model version number using the
model_args argument and the hand type using the
atlas.launch launches DRCSim with Atlas in an empty world:
roslaunch drcsim_gazebo atlas.launch model_args:="_v<model number>" hand_suffix:="_<sandia,irobot,robotiq>_hands"
To launch a VRC final world, the launch file name is the same as the world file name speified above:
roslaunch drcsim_gazebo vrc_final_task<task number>.launch model_args:="_v<model number>" hand_suffix:="_<sandia,irobot,robotiq>_hands"
Similarly for the DRC practice worlds:
roslaunch drcsim_gazebo drc_practice_task_<task number>.launch model_args:="_v<model number>" hand_suffix:="_<sandia,irobot,robotiq>_hands"
If you want to launch Atlas with no hands, simply leave out
hand_suffix or pass an empty string. In most cases, if you leave out
model_args, the default Atlas model will be v3 or v1.
extra_gazebo_args: Use this argument to add extra options to Gazebo, such as
--verbose. For a full list of Gazebo options, type
gazebo --help into a terminal.
gzworld: Load a different world file. You can use this with
atlas.launch to place Atlas into any Gazebo world.
gzname: Specify the executable used to invoke Gazebo. Common options include
gzserver. If the Gazebo graphical window does not start, but no errors are printed to the terminal, try setting
gzname is set to
gzserver by default for the
vrc_final worlds, which means the graphical client window will not start unless
gzclient is launched separately.
Try launching Atlas v4 with RobotiQ hands in the world for DRC task 4:
roslaunch drcsim_gazebo drc_practice_task_4.launch model_args:="_v4" hand_suffix:="_robotiq_hands"