Skip to content

Install Support for Reinforcement Learning

RLBotics is a lightweight, GPU-accelerated PyTorch library for reinforcement learning. It supports multi-environment training across Gymnasium, mjlab and Isaac Lab, ONNX export, and deployment with NumPy alone.

It ships as its own package, telekinesis-rlbotics, open source under Apache 2.0 on GitHub. It is independent of the telekinesis-ai SDK, so it needs neither an API key nor the SDK — just its own environment and a PyTorch build.

Check the requirements

RequirementNotes
Python 3.10–3.12Isaac Lab needs exactly 3.11
PyTorchInstalled automatically. Install it first only to pin a specific CUDA toolkit
NVIDIA GPURequired for mjlab and Isaac Lab training, not for Gymnasium

To match a specific CUDA toolkit, install PyTorch before RLBotics:

bash
pip install torch --index-url https://download.pytorch.org/whl/cu128

Install RLBotics

bash
pip install telekinesis-rlbotics

That gives you the library itself: PPO, the runner, the models, logging, checkpointing and ONNX export — plus onnxruntime to run an exported policy, imageio for video and pyyaml for the configs, which are all base dependencies rather than extras. It is all you need to train against your own custom environment.

Add a simulator backend

A simulator comes from an extra, and more than one can be installed.

bash
# Gymnasium classic-control and MuJoCo tasks.
# Runs on macOS, Linux and Windows. No GPU required.
pip install "telekinesis-rlbotics[gym]"
bash
# mjlab tasks on MuJoCo Warp, thousands of parallel environments.
# Needs Linux or Windows with an NVIDIA GPU.
pip install "telekinesis-rlbotics[mjlab]"

# mjlab picks its physics backend through its own extras, so this is a second step.
# Match the CUDA version to your toolkit. On macOS use "mjlab[cpu]" (evaluation only).
pip install "mjlab[cu128]"
bash
# Isaac Lab tasks on Isaac Sim, the largest task library of the three.
# Needs Python 3.11, Linux (GLIBC 2.35+) or Windows, and an NVIDIA GPU.
# No macOS build of Isaac Sim exists.
#
# The Isaac Sim wheels are hosted by NVIDIA rather than PyPI, so this extra
# only resolves with their index.
pip install "telekinesis-rlbotics[isaaclab]" --extra-index-url https://pypi.nvidia.com
bash
# ruff, pylint and pytest, for working on RLBotics itself. Runs anywhere.
pip install "telekinesis-rlbotics[dev]"

Train from a configuration

A run is described by one YAML file, and one script trains any of them — the config's env.framework decides which simulator is used. Both the scripts and the configs live in the repository rather than in the wheel, so clone it:

bash
git clone https://github.com/telekinesis-ai/telekinesis-rlbotics.git
cd telekinesis-rlbotics
bash
# A pendulum swing-up, solved in about two minutes on CPU
python examples/training_example.py configs/gymnasium/Pendulum-v1.yaml

# Or a MuJoCo humanoid learning to walk, roughly 20 minutes
python examples/training_example.py configs/gymnasium/Humanoid-v5.yaml
bash
python examples/training_example.py configs/mjlab/Mjlab-Velocity-Flat-Unitree-G1.yaml
bash
python examples/training_example.py configs/isaaclab/Isaac-Velocity-Flat-Anymal-C-v0.yaml

Each run ends by exporting policy.onnx and acting with it, which exercises the whole path — training, checkpointing, export and deployment. Watch the curves with:

bash
tensorboard --logdir logs

More tasks are in configs/<framework>/, and configs/example.yaml is an annotated reference covering every field. See Configuration for the schema.

Train your first policy
Walk through a full Gymnasium training run: config, learning curves, checkpoints and export.
Train in Gymnasium →

Next Steps

Install BabyROS

Install the lightweight pub/sub and client/server middleware for distributed robotics communication.

Next →

Support