Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cpp
docs
models
pybind11 @ 55dc131
rai @ 3e3c6b8
rai-robotModels @ a1108c9
retired/src/ry
test
.gitignore
.gitmodules
LICENSE
Makefile
README.md
config.mk
ry
setupPython.sh

README.md

python bindings to rai

This repo exposes some functionality of the RAI code in python bindings. See https://github.com/MarcToussaint/rai for a README of the RAI code.

The current focus of the development is to provide simpler interfaces to Logic-Geometric Programming. The repo https://github.com/MarcToussaint/18-RSS-PhysicalManipulation stores the original code for the experiments in the RSS'18 paper. Here the aim are clean user interfaces and tutorials (both, C++ and python).

If you're interested to contribute in development or testing, consider joining the "LGP code" mailing list https://groups.google.com/forum/#!forum/lgp-code.

Demo videos

https://ipvs.informatik.uni-stuttgart.de/mlr/lgp/

Quick Start

This assumes a standard Ubuntu 16.04 machine.

WE DIDN'T GET TO RUN THIS WITH ANACONDA PYTHON. I you have Anaconda installed, please remove it from the PATH in .bashrc. The setup below will install the standard Ubuntu python3 and jupyter notebook.

git clone git@github.com:MarcToussaint/rai-python.git
cd rai-python

# skip the following if you have ssh authorization to github
git config --file=.gitmodules submodule.rai.url https://github.com/MarcToussaint/rai.git
git config --file=.gitmodules submodule.rai-robotModels.url https://github.com/MarcToussaint/rai-robotModels.git

git submodule init
git submodule update

#see below how to enable bullet

make -j1 initUbuntuPackages  # calls sudo apt-get install; you can always interrupt
make -j4                     # builds libs and tests

source setupPython.sh

python3 -m pip install --upgrade pip
python3 -m pip install jupyter

jupyter-notebook docs/ #perhaps start with 6-KOMO-skeleton

Also test the cpp versions:

cd cpp/pickAndPlace
make
./x.exe

To enable bullet, before you compile rai-python, first install bullet locally following https://github.com/MarcToussaint/rai-maintenance/blob/master/help/localSourceInstalls.md Then, in 'rai-python/', call

echo "BULLET = 1" >> config.mk

Then compile.

Updating after a pulling a new version

git submodule update
make -C rai dependAll
make -j4

This avoids a full make clean -- but if that doesn't work, hopefully make clean && make -j4 will do.

Tutorials

Only a few of the tutorials exist yet. Please see the also docs/ path. The plan is:

  1. Basics: Configurations, Features & Jacobians
  2. Features: Learn about the language to define and query features and their Jacobians. Including querying collision features (whether and which objects are in collision).
  3. IK: The simplest use of KOMO is for inverse kinematics - learn how to add features to an optimization problem
  4. KOMO: Proper path optimization examples
  5. CGO: KOMO can also used in "dense" mode, where it optimize as constraint graph
  6. Skeletons: Instead of specifying features low-level, you can specify a skeleton and query a pre-defined bound for that skeleton (path, or sequence). This is kind of a higher level language to set objectives. (But not as general as low-level features. You can mix both.)
  7. Robot Models: Some info on which scene/robot models are available and how to convert from URDF
  8. LGP: The first full LGP demo - for now only for pickAndPlace

Cpp references

Check the cpp/ path

Older/messy docs

Just as a reference: https://github.com/MarcToussaint/rai-maintenance/tree/master/help

You can’t perform that action at this time.