Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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 (simulation only, no real Franka & realsense support)

  • Clone:

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

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  • 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}
    ./install.sh libccd
    ./install.sh fcl
    ./install.sh libann
    ./install.sh opencv
    ./install.sh physx
    uv pip install numpy pybind11 pybind11-stubgen
    
  • Compile and install (look into Makefile to debug):

    make install
    
  • Test:

    ry-info
    

Installation from source with real Franka & realsense & trossen_arm & basler support

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

  • Additional dependencies: CHOOSE THE LIBFRANKA VERSION

    ./install.sh librealsense
    ./install.sh -v 0.13.3 libfranka  
    ./install.sh -v 0.8.0 libfranka  
    ./install.sh -v 1.10.0 trossen_arm
    ./install.sh basler
    
  • Compile and install (look into Makefile to debug):

    make install-with-hardware
    

Testing the Franka

  • 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 franka.16 -real -up -home and debug as explained there.

  • Trouble shooting: Perhaps the github build script helps?

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
    

Metadata

Release files for robotic 0.4.2a4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for robotic 0.4.2a4
File
robotic-0.4.2a4-cp314-cp314-manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
robotic-0.4.2a4-cp313-cp313-manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
robotic-0.4.2a4-cp312-cp312-manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
robotic-0.4.2a4-cp311-cp311-manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
robotic-0.4.2a4-cp310-cp310-manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details

Total release size: 115.3 MB

Release files / robotic-0.4.2a4-cp314-cp314-manylinux2014_x86_64.whl

Download URL robotic-0.4.2a4-cp314-cp314-manylinux2014_x86_64.whl
Size 23.1 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1a4d38d78139d3aa3e251e609d05e0624c7657e797fed9b9fdc1d6e8e37141ee
BLAKE2b-256 checksum
How to use checksums
ec6a440fbf79f089415853c65eb33d9f17d9cf2d339ab20f610fc6e260cf363b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / robotic-0.4.2a4-cp313-cp313-manylinux2014_x86_64.whl

Download URL robotic-0.4.2a4-cp313-cp313-manylinux2014_x86_64.whl
Size 23.1 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c0e52ecef5cb3f27805e8890ef6c7bc4c41539c90b79cafcd4c628c18c2cb24b
BLAKE2b-256 checksum
How to use checksums
6ea36ede191e7c20452e4f8cd8a20581fc62d60d7b26902c32bd4bffaf9d56c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / robotic-0.4.2a4-cp312-cp312-manylinux2014_x86_64.whl

Download URL robotic-0.4.2a4-cp312-cp312-manylinux2014_x86_64.whl
Size 23.1 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
07147a0697a1f538afc43f94c2ca5682da7dfc4a532ce2faa14b1a650e903eca
BLAKE2b-256 checksum
How to use checksums
45538ed312ba10bb4d3cf362296684ae00aff7cad14e57adb202318e1a9bdc60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / robotic-0.4.2a4-cp311-cp311-manylinux2014_x86_64.whl

Download URL robotic-0.4.2a4-cp311-cp311-manylinux2014_x86_64.whl
Size 23.1 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2f1ecd15b8166517e2099e74fdae4ccd3857ee2978f6eb796f3ef7d97a456839
BLAKE2b-256 checksum
How to use checksums
795b86b5968bfdd9e8430127f984256800c5642d76e84f5b79f135c574415dad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / robotic-0.4.2a4-cp310-cp310-manylinux2014_x86_64.whl

Download URL robotic-0.4.2a4-cp310-cp310-manylinux2014_x86_64.whl
Size 23.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4dd128ea94436fea696d21cff19c22c5421baf45290f6ba57fffc11f3d38c7b8
BLAKE2b-256 checksum
How to use checksums
4ed6d2d41bdd988eb483c2c150b6482a1d6c3f2462ac01dfff86de7a47415300
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

0.4.2

5 release files

This release

0.4.2a4 This release

5 release files

0.4.1

5 release files

0.4.0

5 release files

0.3.9

5 release files

0.3.8

5 release files

0.3.7

5 release files

0.3.6

5 release files

0.3.5

5 release files

0.3.4

5 release files

0.3.3

5 release files

0.3.2

5 release files

0.3.1

5 release files

0.3.0

5 release files

0.2.9

5 release files

0.2.7

5 release files

0.2.6

5 release files

0.2.4

5 release files

0.2.3

5 release files

0.2.2

5 release files

0.2.1

5 release files

0.2.0

5 release files

0.1.10

5 release files

0.1.9

6 release files

0.1.8

6 release files

0.1.7

6 release files

0.1.6

6 release files

0.1.5

6 release files

0.1.4

6 release files

0.1.3

6 release files

0.1.2

6 release files

0.1.1

6 release files

0.1.0

6 release files

0.0.27

6 release files

0.0.26

6 release files

0.0.25

6 release files

0.0.24

5 release files

0.0.23

5 release files

0.0.20

5 release files

0.0.19

5 release files

0.0.18

5 release files

0.0.16

5 release files

0.0.15

5 release files

0.0.13

5 release files

0.0.12

5 release files

0.0.11

5 release files

0.0.9

5 release files

0.0.8

5 release files

0.0.7

5 release files

0.0.6

5 release files

0.0.5

5 release files

0.0.4

5 release files

0.0.3

5 release files

0.0.1

5 release 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