Stack Summary
Contains packages to run a Gazebo simulation of the DARPA ARM robot.
More information: http://www.thearmrobot.com
- Author: DARPA ARM GFE Team
- License: GPL,GLPv3,GPLv3,private,mixed,GPLv(3 or greater)
- Repository:
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.