Skip to main content

PyBullet Robot

PyPI version CI

This package provides:

  1. [BulletRobot]: A general Python interface class for robot simulations using PyBullet. Python API class to control and monitor the robot in the simulation.
  2. [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)

Joint position control demo

Task-space control

Example using a custom cartesian impedance / torque control for task-space control. (demo_task_space_control.py)

Task-space control demo

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)

Headless IK control demo

Whole-body / multi-end-effector IK

Floating-base IK tracking the body pose and all four feet simultaneously. (demo_quadruped_ik.py)

Quadruped whole-body IK demo

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)

Source distribution for pybullet-robot 1.0.1
File Size Uploaded
pybullet_robot-1.0.1.tar.gz 23.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pybullet-robot 1.0.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 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