Skip to main content

Robotic Control Interface & Manipulation Planning Library

A python library to operate a real or simulated robot, work with robot/world configurations, compute differentiable features, formulate and solve constrained optimization problems (for inverse kinematics, path optimization, and manipulation planning), and interfacing to various physical simulation engines.

These python bindings were developed for easier access to the uderlying C++ code base, esp. for teaching and students. This code base is how we (in the Learning & Intelligent Systems Lab) operate our robots.

Installation via pip (simulation only, no real Franka & realsense support)

  • The pip package was compiled for python3.10 .. 3.14, and most of the dependencies statically linked. A few are still loaded dynamically, which requires installing on Ubuntu:

    sudo apt install liblapack3 freeglut3 libglu1-mesa libxrandr2 libfreetype6 fonts-ubuntu python3 python3-pip
    #in latest Ubuntu also:
    cd /usr/lib/x86_64-linux-gnu/ && sudo ln -s libglut.so.3.12 libglut.so.3
    
  • Pip install:

     pip install robotic numpy
    
  • Tests:

    ry-info
    ry-test
    
  • Run all tutorial notebooks as a test and showcase:

    pip install jupyter nbconvert matplotlib ipympl
    git clone https://github.com/MarcToussaint/rai-tutorials.git
    cd rai-tutorials
    make run -j1
    make run_demos -j1
    
  • For reference and testing, this should work in a clean ubuntu:latest docker (starting with xhost +local:root && docker run -it --env="DISPLAY" --network host ubuntu:latest):

    apt update
    env DEBIAN_FRONTEND=noninteractive apt install --yes liblapack3 freeglut3-dev libglu1-mesa libxrandr2 libfreetype6 fonts-ubuntu python3 python3-venv
    #cd /usr/lib/x86_64-linux-gnu/ && ln -s libglut.so.3.12 libglut.so.3 #was necessary in older ubuntus
    python3 -m venv ~/.local/venv
    source ~/.local/venv/bin/activate
    pip install robotic numpy
    ry-info
    ry-test
    

Installation from source (basic local build)

  • Clone:

    cd $HOME/git
    git clone --recursive https://github.com/MarcToussaint/robotic.git
    cd robotic
    
  • Install dependencies:

    cp rai/_make/install.sh .
    source ./install.sh vars_only #defines the following dependency packages
    sudo apt install --yes ${ubuntu_rai} ${ubuntu_botop} ${ubuntu_python}
    python3 -m pip install numpy pybind11 pybind11-stubgen
    ./install.sh libccd
    ./install.sh fcl
    ./install.sh libann
    ./install.sh opencv
    ./install.sh physx
    
  • Compile robotic (also installs locally with pip install -e .):

    make local-install
    
  • Test:

    ry-info  #to test the installation
    

Installation from source (with real Franka & realsense support)

Essentially the same as above, but 2 more dependencies and according flags in cmake:

  • Additional dependencies:

    ./install.sh librealsense
    ./install.sh libfranka  ## for OLD frankas instead:   ./install.sh -v 0.8.0 libfranka (and you need to patch it...)
    ./install.sh basler #when installing Basler camera drivers
    
  • Instead of make local-install, we do it explicitly, setting the USE_REALSENSE and USE_LIBRFRANKA flags:

    cp _make/CMakeLists-ubuntu.txt CMakeLists.txt
    export PY_VERSION=`python3 -c "import sys; print(str(sys.version_info[0])+'.'+str(sys.version_info[1]))"`
    cmake . -B build -DPY_VERSION=$PY_VERSION -DUSE_REALSENSE=ON -DUSE_LIBFRANKA=ON -DUSE_BASLER=ON
    make -C build _robotic docstrings install
    python3 -m pip install -e .
    
  • For using Franka, recall that the user needs to be part of the realtime and dialout unix group:

    sudo usermod -a -G realtime <username>
    sudo usermod -a -G dialout <username>
    

    You need to log out and back in (or even reboot) for this to take effect. Check with groups in a terminal.

  • Now follow the Real Robot Operation Tutorial on the tutorials page to test and debug first steps with the real franka. In particular test ry-bot -real -up -home and debug as explained there.

Building the wheels within a manylinux docker

  • Build the docker
_make/build-docker.sh
  • Compile wheels (this runs local/_make/build-wheels.sh inside the docker -- see inside the Makefile)
make wheels
  • Install these wheels locally with pip or push wheels to pypi -- see inside the Makefile
make wheels-install
make wheels-upload

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

robotic-0.4.1-cp314-cp314-manylinux2014_x86_64.whl (23.1 MB view details)

Uploaded CPython 3.14

robotic-0.4.1-cp313-cp313-manylinux2014_x86_64.whl (23.1 MB view details)

Uploaded CPython 3.13

robotic-0.4.1-cp312-cp312-manylinux2014_x86_64.whl (23.1 MB view details)

Uploaded CPython 3.12

robotic-0.4.1-cp311-cp311-manylinux2014_x86_64.whl (23.1 MB view details)

Uploaded CPython 3.11

robotic-0.4.1-cp310-cp310-manylinux2014_x86_64.whl (23.1 MB view details)

Uploaded CPython 3.10

File details

Details for the file robotic-0.4.1-cp314-cp314-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for robotic-0.4.1-cp314-cp314-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d7f30234a5e968d80fdc07b57290fc2256f674bc0b5c52ec33fddc71f0b1bdd
MD5 6cba397840744cef105aa9a2494ef9fa
BLAKE2b-256 7104e751546490785320c799d99ab0ce7e1a226a7d59002fef856b9d240f91c1

See more details on using hashes here.

File details

Details for the file robotic-0.4.1-cp313-cp313-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for robotic-0.4.1-cp313-cp313-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd267cf48223515cada40853534844275b6bbcf595efd63465d5c2832cfd4e45
MD5 b9b358f5665f5ff64c1454d0d087abbd
BLAKE2b-256 b27e85006ef95a38d2c025cabbfebde38f9889cca1f01ee026e1f98bc83a5249

See more details on using hashes here.

File details

Details for the file robotic-0.4.1-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for robotic-0.4.1-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a22798515497cd12cfc28bc34f3bec608eff0d9a36eb4e41bb8323a369820b20
MD5 753829e20fb067ea68db042d3fcb36a5
BLAKE2b-256 7377d270b57f074116ac4bc503474c62c133d4e9993b80b37c23dd980f197bda

See more details on using hashes here.

File details

Details for the file robotic-0.4.1-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for robotic-0.4.1-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81079380acd6fa6a347a188289a9c421fcf14e00444c6c2e2d0625a7fc160dee
MD5 343e8c6f1c7cd10431fa4989729493f6
BLAKE2b-256 bd55f6972fdc2a8a30ae47bef7852437dc0b434ef9419d2c859bc82b6b213e1d

See more details on using hashes here.

File details

Details for the file robotic-0.4.1-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for robotic-0.4.1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 61a5281fd7277752df9fb705087b65acff406f54d59659f541706cd0d80e8c5a
MD5 a63c44d32eaffa1d7929cacb38ccb147
BLAKE2b-256 7f63fd10b48e12a1691b83a506b58e6a1cb70c86ee7c4d94910aeac22b032e36

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.1 This release

5 files

0.4.0

5 files

0.3.9

5 files

0.3.8

5 files

0.3.7

5 files

0.3.6

5 files

0.3.5

5 files

0.3.4

5 files

0.3.3

5 files

0.3.2

5 files

0.3.1

5 files

0.3.0

5 files

0.2.9

5 files

0.2.7

5 files

0.2.6

5 files

0.2.4

5 files

0.2.3

5 files

0.2.2

5 files

0.2.1

5 files

0.2.0

5 files

0.1.10

5 files

0.1.9

6 files

0.1.8

6 files

0.1.7

6 files

0.1.6

6 files

0.1.5

6 files

0.1.4

6 files

0.1.3

6 files

0.1.2

6 files

0.1.1

6 files

0.1.0

6 files

0.0.27

6 files

0.0.26

6 files

0.0.25

6 files

0.0.24

5 files

0.0.23

5 files

0.0.22

5 files

0.0.21

5 files

0.0.20

5 files

0.0.19

5 files

0.0.18

5 files

0.0.17

5 files

0.0.16

5 files

0.0.15

5 files

0.0.14

5 files

0.0.13

5 files

0.0.12

5 files

0.0.11

5 files

0.0.10

5 files

0.0.9

5 files

0.0.8

5 files

0.0.7

5 files

0.0.6

5 files

0.0.5

5 files

0.0.4

5 files

0.0.3

5 files

0.0.1

5 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page