Stack Summary

Contains packages to run a Gazebo simulation of the DARPA ARM robot.
More information: http://www.thearmrobot.com


Documentation

Official wiki for the ARM Simulator: http://www.thearmrobot.com/trac/wiki

Forum: http://forum.thearmrobot.com


Installation

Start with a fresh install of Ubuntu 10.04.4 LTS (Lucid Lynx) and ROS C Turtle.

The simulator was designed for C Turtle and will not easily install on newer releases of ROS.
If you want to run the simulator on Electric or Fuerte, then you are on your own. Some ROS packages are deprecated, and you will have problems with external dependencies.

Follow the install guide:
http://www.thearmrobot.com/trac/wiki/ARMSimulatorInstallation
and if you get any error messages, read the documentation below...


When you run:

$ rosinstall --delete-changed-uris ./ ./external-re2darmSim.rosinstall

you get an error:

ERROR in config: Managed Element paths overlap: 
{'svn': {'local-name': 'stacks/darpa_arm_sim_servers', 
'uri': 'http://svn.thearmrobot.com/darpa_arm_sim_servers'}}, 
{'svn': {'local-name': 'stacks/darpa_arm_sim_servers/re2logger', 
'uri': 'http://svn.thearmrobot.com/re2logger'}}

This may be related to a 2012 change in rosinstall.
ROS doesn't allow you to install a 2nd stack inside an existing stack, because if the underlying stack is updated, it might delete the other one.

You need to edit the "external-re2darmSim.rosinstall" file and change the install location for the re2logger stack.
Make it something like stacks/re2logger


Next, you may get an error running the final rosmake command in the arm_simulator directory:

[rosstack] couldn't find dependency [darpa_arm_clients] 
of [darpa_arm_sim_servers]
[rosstack] missing dependency

but rosmake continues, and you can just ignore this error.


However, there is another error with rosmake.
Gazebo doesn't build automatically:
(Note, the stack uses a separate version of the Gazebo simulator package)

mkdir -p bin
cd build && cmake -Wdev -DCMAKE_TOOLCHAIN_FILE=`rospack find rosbuild`/rostoolchain.cmake ..
[rosbuild] Building package gazebo
[rosbuild] Including /opt/ros/cturtle/ros/core/roscpp/cmake/roscpp.cmake
[rosbuild] Including /opt/ros/cturtle/ros/core/rospy/cmake/rospy.cmake
[rosbuild] Including /opt/ros/cturtle/ros/core/roslisp/cmake/roslisp.cmake
make[1]: Entering directory `/home/dbworth/arm_simulator/stacks/simulator_gazebo/gazebo'
svn --non-interactive co -r 8967 https://playerstage.svn.sourceforge.net/svnroot/playerstage/code/gazebo/branches/wg build/gazebo-svn
svn: '/svnroot/playerstage/!svn/bc/9097/code/gazebo/branches/wg' path not found
make[1]: Leaving directory `/home/dbworth/arm_simulator/stacks/simulator_gazebo/gazebo'
make[1]: *** [build/gazebo-svn] Error 1
CMake Error at CMakeLists.txt:16 (message):
Build of Gazebo failed
    
-- Configuring incomplete, errors occurred!

The error is about "path not found", because svn is defaulting to download the current (9097) release, and that path no longer exists in that release.
However, the installer actually wants to download the older 8967 release, but the svn command line switch "-r" doesn't work anymore, so it ignores "-r 8967" and just tries to grab the current release instead.

The correct command to download the required source from the 8967 release into the 'build/gazebo-svn' directory is:

$ svn co https://playerstage.svn.sourceforge.net/svnroot/playerstage/code/gazebo/branches/wg@8967 build/gazebo-svn

So that Gazebo builds automatically, you need to edit the appropriate Makefile.
Change into the Gazebo directory:

$ cd ~/arm_simulator/simulator_gazebo/gazebo

Backup the old makefile:

$ cp Makefile.gazebo.svn old-Makefile.gazebo.svn

Edit the makefile:

$ pico Makefile.gazebo.svn

Edit these two lines as follows:

SVN_URL = https://playerstage.svn.sourceforge.net/svnroot/playerstage/code/gazebo/branches/wg@8967
SVN_REVISION =

Save the file and go back to the stack directory:

$ cd ~/arm_simulator/stacks/darpa_arm_sim_servers

Try to build everything again:

$ rosmake

If you want to make sure some particular stacks are being built, you can try to make them separately. eg:

$ cd ~/arm_simulator/stacks
$ rosmake simulator_gazebo


Now follow the "Running Simulator" guide from the ARM Simulator wiki:
http://www.thearmrobot.com/trac/wiki

When running the simulator, you may still get some warnings and some errors, but as of writing this tutorial, the Barrett arms can be commanded using joint commands, and tele-op can be used with an XBox USB joystick.

If the simulator crashes with an Ogre exception, make sure you are running Gazebo on 3D graphics capable hardware.


Wiki: darpa_arm_sim_servers (last edited 2012-09-25 09:54:26 by DavidButterworth)