Autolife-Planning
A planning library for the Autolife robot. It provides inverse kinematics (TRAC-IK and Pink), motion planning (VAMP), and collision-aware planning through a unified Python interface.
Features
- Inverse Kinematics — TRAC-IK (unconstrained) and Pink (QP-based constrained) solvers with CoM stability, camera stabilization, and self-collision avoidance
- Motion Planning — VAMP-based planner with collision checking, path validation, and subgroup planning
- Time Parameterization — TOPP-RA by default, with legacy TOTG available, converts planned paths into executable trajectories with velocity/acceleration limits
- Collision Geometry — Spherized URDF representations for efficient collision detection, pointcloud obstacle support
Quick Start
Platform: Linux, Python 3.11+ (see pixi.toml).
For inference — running the planners and IK solvers — just pip install:
git clone --recursive https://github.com/AdaCompNUS/Autolife-Planning.git
cd Autolife-Planning
pip install -e .
If you are using Python 3.8, install the robotics Pink package from conda-forge first:
conda install -n autolife -c conda-forge pink --solver=libmamba -y
For development — rebuilding URDFs, regenerating FK headers, running the C++ toolchain end-to-end — use the setup script, which also installs pixi and the conda-forge deps (pinocchio, orocos-kdl, eigen, boost, ...):
bash scripts/setup.sh
See the Getting Started guide for detailed installation options.
Usage
# Inverse kinematics
pixi run python examples/ik/basic.py
pixi run -e dev python examples/ik/basic_vis.py # PyBullet visualization
pixi run -e dev python examples/ik/constrained_vis.py # Pink QP with CoM stability
# Motion planning
pixi run python examples/planning/motion.py
pixi run python examples/planning/subgroup.py
pixi run -e dev python examples/planning/constrained/plane.py
pixi run -e dev python examples/planning/cost/orientation_lock.py
# Time parameterization
pixi run python examples/planning/time_parameterization.py
# End-to-end pick-and-place demo (the video above)
pixi run -e dev python examples/demos/rls_pick_place.py
# Tests
pixi run -e dev test
Project Structure
autolife_planning/ # Core Python package
kinematics/ # TRAC-IK + Pink IK, FK, collision checking
planning/ # VAMP motion planning, cost + constrained planners
envs/ # Simulation environments (PyBullet)
types/ # Shared dataclasses (Pose, JointState, ...)
resources/ # Packaged URDFs and asset loaders
third_party/
cricket/ # FK code generator
foam/ # Collision geometry processing
vamp/ # Motion planning (installed as editable PyPI dep)
examples/
ik/ # TRAC-IK + Pink examples
planning/ # Motion, subgroup, cost, constrained planning demos
demos/ # End-to-end scenarios (rls_pick_place, ...)
tests/ # Pytest suite (CI)
scripts/
render_videos/ # Docs/demo video pipeline
... # Setup, build, spherize, FK codegen
resources/ # Robot URDF and mesh files
assets/ # Scene pointclouds and env meshes
docs/ # MkDocs site sources (GitHub Pages)
Acknowledgements
This project builds on several outstanding open-source libraries:
- VAMP — SIMD-accelerated motion planning and collision checking (Kavrakilab, Rice University).
- OMPL — The Open Motion Planning Library (Kavrakilab, Rice University).
- TOPP-RA — Reachability-analysis-based time-optimal path parameterization, used as the default timing backend.
- MoveIt 2 — The vendored TOTG (Time-Optimal Trajectory Generation) implementation in
ext/time_parameterization/is adapted from MoveIt 2'strajectory_processingmodule, originally by Tobias Kunz and Mike Stilman (Georgia Tech). Seeext/time_parameterization/LICENSE.TOTGfor the full BSD license. - TRAC-IK — Inverse kinematics solver (TRACLabs).
Metadata
Release files for autolife-planning 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 146.9 MB
Release files / autolife_planning-1.0.0-cp314-cp314-manylinux_2_34_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp314-cp314-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 10.6 MB |
| Tags | CPython 3.14 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
38fde91fe644451dbc05ba06631dcbaf99d933a2d32534b55c111aee3570a503
|
|
BLAKE2b-256 checksum How to use checksums |
93c40c6cbd99fef7ccc24480d84fdfeaa04cd452d1962ad4ddb308a1a9250d88
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e5bc264198380e36f065778683b390b64d3b4e564f9209387f7515c6c2a8e0f8
|
|
BLAKE2b-256 checksum How to use checksums |
d12ac67870472920b8e1e1baf025b4ee10fd3b157d3d7b37cadddf9b4443a6f0
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp313-cp313-manylinux_2_34_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp313-cp313-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 10.6 MB |
| Tags | CPython 3.13 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
470b051c366d19ecacdc54d5495ee702ef24892367da88a30ee2da2800374b77
|
|
BLAKE2b-256 checksum How to use checksums |
1cc43b8e9ca71a9728b098654a7d047e3ff531b90f1d0b596a0b616806e3d96b
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7c2d9663b5941a9095b6bdbefee2d3ccf00fd7309c5f25345d2e975b2c8a41ca
|
|
BLAKE2b-256 checksum How to use checksums |
60f3015335e4c171f600894a424eee8d99d7967e59852c94d291cccc99afa9fd
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 10.6 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
c7ee1c1a6d58fd43020070d774b3ef1c403635b57a667d3b57989efaee056fca
|
|
BLAKE2b-256 checksum How to use checksums |
74450c4c848028574de9d945c1525585ea8303b8f31aa208cbf62d68741ece16
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
33f688e8811b3075b234c7ca5f76b20832c807ca2cbbed356f97d112758954c2
|
|
BLAKE2b-256 checksum How to use checksums |
6117e913c904974dafb68d275a6060fae469c4ae73946f1d6461e6755419f09b
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp311-cp311-manylinux_2_34_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp311-cp311-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 10.6 MB |
| Tags | CPython 3.11 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
5e52883f04ac1fb19d0efc88dd4550164f979609546c3142a13279a7a5932ae2
|
|
BLAKE2b-256 checksum How to use checksums |
8101f31edf97d31c92f197dd426cd069e9d4020456f65df75ba0026612a65e83
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
efbe43d8f02bf832f0f74f45642dd81b61caf90877d1e66ec63114c5fe8f8193
|
|
BLAKE2b-256 checksum How to use checksums |
1b55a7f2a5bdc43e8a2b2e865a0a9937e1ca9e4f249a2174ded2b3a6234c9bbc
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp310-cp310-manylinux_2_34_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp310-cp310-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 10.6 MB |
| Tags | CPython 3.10 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
248d128c1a8522d88c3e7bbf4b6f52f9c2c4986646931f557aa5ec193490a132
|
|
BLAKE2b-256 checksum How to use checksums |
e1210451213172d538fa21b7fefe637a4f9ca751779db18ec200cd70663b2834
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d59f8bbb312e578c4fc119dcdbea42fc7c03997cc60ec45d8679c36721863667
|
|
BLAKE2b-256 checksum How to use checksums |
7cc49dde53184a06b9601ee9aa4e55315b04cf3906454c9edd321c218aaa66d1
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp39-cp39-manylinux_2_34_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp39-cp39-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 10.5 MB |
| Tags | CPython 3.9 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
1f2fe98895ec9e23f08c99a75b6a72099cb687a0aa80808bc7055094ca79a0f3
|
|
BLAKE2b-256 checksum How to use checksums |
aecf7c096ab3e209f89ecd7029998f7a0e12bf1ed11433e6b20bc7e76b853dbd
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
732ab8cc967af4247ea6199750200d1856e3f652dffb73f2bb94f6db4dcc4bb7
|
|
BLAKE2b-256 checksum How to use checksums |
e49656f7b3ad51ef03e36aa06f9188ff4f6ecd34c13af6accb15939367b407d5
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp38-cp38-manylinux_2_34_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp38-cp38-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 10.5 MB |
| Tags | CPython 3.8 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
f07720ac4df4c19c4fecf68a712399b6a46fdc7788f9575c755a31dea553e4f3
|
|
BLAKE2b-256 checksum How to use checksums |
bcc281f0d610ca6e3a5f5dc6e9dde1224604109e69a6c834f60f74be007a36df
|
| 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 Sep 20, 2026.
Transparency logRelease files / autolife_planning-1.0.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | autolife_planning-1.0.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.8 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c351e7e6a99069f51750d419ed731cb71d4ac632ed458f1a27f920d1767a19a1
|
|
BLAKE2b-256 checksum How to use checksums |
f2b40a92c30ba06499de1618d42e529c3ccbf760e61f9602958775b6cc2cf979
|
| 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 Sep 20, 2026.
Transparency log