
Security News
New CVE Forecasting Tool Predicts 47,000 Disclosures in 2025
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.
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.
The pip package was compiled for python3.8 .. 3.12, and most of the dependencies statically linked. A few are still loaded dynamically, which requires installing on Ubuntu:
sudo apt install liblapack3 freeglut3-dev libglu1-mesa libfreetype6 fonts-ubuntu python3 python3-pip
#latest Ubuntu: libglut3.12 and '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
Tested in latest ubuntu docker (using a venv):
apt install --yes liblapack3 xorg freeglut3-dev libglu1-mesa libfreetype6 fonts-ubuntu python3 python3-pip python3-venv
cd /usr/lib/x86_64-linux-gnu/ && ln -s libglut.so.3.12 libglut.so.3
cd
python3 -m venv ~/venv
source ~/venv/bin/activate
pip install robotic numpy
ry-test
This assumes a standard Ubuntu 24.04 (or 22.04, 20.04) machine.
Install Ubuntu and python packages:
sudo apt install --yes \
g++ clang make gnupg cmake git wget libstdc++-14-dev \
liblapack-dev libf2c2-dev libqhull-dev libeigen3-dev \
libjsoncpp-dev libyaml-cpp-dev libhdf5-dev libpoco-dev libboost-system-dev portaudio19-dev libusb-1.0-0-dev \
libx11-dev libglu1-mesa-dev libglfw3-dev libglew-dev freeglut3-dev libpng-dev libassimp-dev \
python3-dev python3 python3-pip
python3 -m pip install --user numpy pybind11 pybind11-stubgen
Install some external libs by source. You can skip librealsense and libfranka if you disable below. (To speed up compilation, e.g., set
export MAKEFLAGS="-j $(command nproc --ignore 2)"
To standardize installations, I use a basic script:
wget https://github.com/MarcToussaint/rai/raw/refs/heads/marc/_make/install.sh; chmod a+x install.sh
./install.sh libccd
./install.sh fcl
./install.sh libann
./install.sh physx
./install.sh librealsense
./install.sh libfranka ## for OLD frankas instead: ./install.sh -v 0.7.1 libfranka
Clone, compile and install this repo (note the USE_REALSENSE and USE_LIBFRANKA options!):
cd $HOME/git
git clone --recursive https://github.com/MarcToussaint/robotic.git
cd robotic
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 -DPY_VERSION=$PY_VERSION -DUSE_REALSENSE=ON -DUSE_LIBFRANKA=ON . -B build
make -C build _robotic install
The following should also compile docstrings, but might fail as this is not yet robust across Ubuntu distributions:
make -C build _robotic docstrings install
This should install everything in .local/lib/python*/site-packages/robotic. Test:
cd $HOME
ry-info
python3 -c 'import robotic as ry; ry.test.RndScene()'
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.
_build_utils/build-docker.sh
local/_build_utils/build-wheels.sh
inside the docker -- see Makefile
)make wheels
python3.8 -m pip install --user dist/robotic-*cp38*.whl --force-reinstall
python3.10 -m pip install --user dist/robotic-*cp310*.whl --force-reinstall
# or
twine upload dist/*.whl --repository robotic
FAQs
Robotic Control Interface & Manipulation Planning Library
We found that robotic demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.