PyBullet Robot
This package provides:
- [
BulletRobot]: A general Python interface class for robot simulations using PyBullet. Python API class to control and monitor the robot in the simulation. - [
PybulletIKInterface] class: A constraint-based inverse kinematics (IK) "solver" interface. Instead of solving IK analytically, it attaches PyBullet constraints that pull the requested end-effector/link frames towards their target poses, forward-simulates the physics until they settle, and reads back the resulting joint configuration as the IK solution. It supports tracking several frames at once (full 6-DOF pose targets and position-only targets), and floating-base robots (where the base pose is solved together with the joint angles).
Installation
From PyPI
pip install pybullet_robot
From source
pip install git+https://github.com/justagist/pyrcf
Development
Install in editable mode with the development extras (test + lint + build tooling):
git clone -b main https://github.com/justagist/pybullet_robot
cd pybullet_robot
pip install -e ".[dev]"
A dev container is provided for a reproducible environment in VS Code ("Reopen in Container").
Usage
See examples/ for runnable demos covering different robots and capabilities. Robot
models are downloaded automatically on first run via robot_descriptions:
cd examples
python demo_task_space_control.py
Examples
Joint position control
Loading a robot, inspecting it, position control, and reading state.
(demo_joint_position_control.py)
Task-space control
Example using a custom cartesian impedance / torque control for task-space control.
(demo_task_space_control.py)
Headless IK + separate-sim control
Run the provided PybulletIKInterface headless as a pure solver and apply its solution to a robot controlled via position control.
(demo_ik_headless_control.py)
Whole-body / multi-end-effector IK
Floating-base IK tracking the body pose and all four feet simultaneously.
(demo_quadruped_ik.py)
Interactive inverse kinematics (KUKA iiwa14)
Interactive IK: drag GUI sliders to set an end-effector target and the constraint-based solver
reaches it. (demo_ik_interface.py) Visually similar to the
headless IK demo above, so it has no separate clip; run it to try it interactively.
Metadata
Release files for pybullet-robot 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pybullet_robot-1.0.1.tar.gz | 23.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pybullet_robot-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.8 kB
Release files / pybullet_robot-1.0.1.tar.gz
| Download URL | pybullet_robot-1.0.1.tar.gz |
|---|---|
| Size | 23.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1279ecdcedbed8fbf9873a5799453a8c0d801dd3e947539814e768d57b987d5b
|
|
BLAKE2b-256 checksum How to use checksums |
346fe4491e53dbe8af454f3880f5dd2d20e8f603c56a3a61765e51fbcd2c163e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.
Transparency logRelease files / pybullet_robot-1.0.1-py3-none-any.whl
| Download URL | pybullet_robot-1.0.1-py3-none-any.whl |
|---|---|
| Size | 21.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eae2dd443a19ff6a4a1c287c303cdcc50c80a69d7cfc6436c2d805e56fd33aee
|
|
BLAKE2b-256 checksum How to use checksums |
c239dd7980caa4e717e0024e1790880b3bf9c690972ed0ecd339fd4e6fca5d94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.
Transparency log