wiki:Plugins/openrave
Last modified 3 years ago Last modified on 25.11.2015 13:24:03

OpenRAVE Plugin

This plugin provides easy access to the basic motion planning capabilities of OpenRAVE.

Requires

Plugins

Provides

BlackBoard Interfaces

  • OpenRaveInterface::OpenRAVE

Aspects

  • OpenRaveAspect

OpenRAVE

This plugin requires OpenRAVE in order to compile.

Cylinder-Cylinder collisions

(NOTE: This step is not required on Fedora 21 and later, where it is already patched in the rpm!)

The default collision-checker used by OpenRAVE is ODE. Cylinder-cylinder collisions are however not supported by default (see supported collisions).
You will probably have to compile ODE from source. On Linux systems, you need to add --enable-libccd for generating makefiles:

./configure --enable-libccd

In case you want to install an rpm, fetch the SPEC file from Fedora servers and add --enable-libccd to the %configure steps.
Check ODE's readme file for further installation instructions.

Installation

Check the official guide to install OpenRAVE.
If you use Fedora, you can try our unofficial Fedora packages, see Fedora.
Otherwise, we recommend using the latest version of the master branch from the git repository.

Short instructions to install from source:

  1. Checkout the master branch of the git repository:
    git clone https://github.com/rdiankov/openrave.git
    
  1. Apply patches that are not upstream yet:
    1. Fix RRT tree-extension bug (important):
      patch -p1 < openrave.spatialtree.patch
      

The patches are attached to this page.
In case any of the patches can't be applied, it is probably due to updates in the upstream branch. Please check and update the patches, it is usually an easy task.

  1. Generate makefiles in a new build directory, running the CMake GUI:
    mkdir build
    cd build
    ccmake ..
    
    Press 'c' to run cmake configuration, then (after fixing potential problems) press 'c' again.
    Finally press 'g' to generate the makefiles.

You can run CMake without the GUI if you prefer:

cmake ..

3.1 Local installation (optional)

In case you have no root privileges, or want to install OpenRAVE in a local directory, you need to modify the INSTALL_PREFIX during step 3. You might need to adapt the path in some other variables as well, which don't adapt to the changed install-prefix automatically.
Don't forget to add the local paths to the environment variables:

# .bashrc

# lets say you set INSTALL_PREFIX=/home/your_username/install
export PATH=$PATH:$HOME/install/bin
export CPATH=$CPATH:$HOME/install/include
export PKG_CONFIG_PATH=$HOME/install/lib/pkgconfig:$HOME/install/lib64/pkgconfig
export LD_LIBRARY_PATH=$HOME/install/lib:$HOME/install/lib64
  1. Compile and install OpenRAVE:
    cd build
    make
    sudo make install
    
    Use the "-j" compilation flags when possible.

Alternative installation on Fedora

There are multiple possibilities to install OpenRAVE under Fedora:

  1. We currently maintain a COPR for OpenRAVE, which includes build for all currently maintained Fedora versions.
  2. There is also a pending review request to include OpenRAVE in the official Fedora repository.
  3. Finally, you can build OpenRAVE yourself using our Spec File.

Environment paths & auto-completion

You can easily add all installed OpenRAVE paths by adding this line to your .bashrc/.bash_profile :

source `openrave-config --share-dir`/openrave.bash

This updates the LD_LIBRARY_PATH, PYTHONPATH and OCTAVE_PATH variables, and executes

source `openrave-config --share-dir`/openrave_completion.bash

to add auto-completion.

OpenRAVE uses OPENRAVE_DATA to search for 3D models. You should add Fawkes' openrave directories, and your personal model directories to this path as well:

export OPENRAVE_DATA=$OPENRAVE_DATA:$HOME/fawkes/res/openrave:$HOME/fawkes/src/plugins/openrave/manipulators

Attachments