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 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.12+.
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 .
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 -e dev 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
trajectory/ # TOPP-RA time parameterization
envs/ # Simulation environments (PyBullet)
types/ # Shared dataclasses (SE3Pose, PlannerConfig, PlanningResult, ...)
resources/ # Packaged URDFs, meshes and point clouds
ext/
ompl_vamp/ # OMPL + VAMP planner extension, generated FK header
time_parameterization/ # Vendored TOPP-RA C++ core (nanobind)
trac_ik/ # Vendored TRAC-IK C++ (pybind11)
third_party/
cricket/ # FK code generator
foam/ # Collision geometry processing (editable PyPI dep, robot env)
ompl/ # OMPL, built from source into _ompl_vamp
vamp/ # VAMP collision checking (header-only, compiled into _ompl_vamp)
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 (MIT, © Hung Pham). Its C++ core is vendored unmodified under
ext/time_parameterization/toppra/. - TRAC-IK — Inverse kinematics solver (TRACLabs).
Metadata
Release files for autolife-planning 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 59.5 MB
Release files / autolife_planning-1.2.1-cp314-cp314-manylinux_2_34_x86_64.whl
| Download URL | autolife_planning-1.2.1-cp314-cp314-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 10.0 MB |
| Tags | CPython 3.14 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
7dce6ee5d21b0b6e039a23c2ae871819cd6dfd74a5dccc0b18e001d3e703aa1c
|
|
BLAKE2b-256 checksum How to use checksums |
5539a2f2cdfffb4ad569dcebfb6bf7affe2b697a9047824d629e148047862a63
|
| 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 Oct 19, 2026.
Transparency logRelease files / autolife_planning-1.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | autolife_planning-1.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 9.9 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1ad20a865dc2610a49efc7d73c9b837a3e2911f978f53fc79d81843d89d6dc83
|
|
BLAKE2b-256 checksum How to use checksums |
0d3c4060eabe58374bb991769d21d7b7b2d38e748a0b898ea6962ff7acb4c029
|
| 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 Oct 19, 2026.
Transparency logRelease files / autolife_planning-1.2.1-cp313-cp313-manylinux_2_34_x86_64.whl
| Download URL | autolife_planning-1.2.1-cp313-cp313-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 10.0 MB |
| Tags | CPython 3.13 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
4888d37857568773d8cc241c5e7e182612bc24fb685b1ed21e5f077b8ce34274
|
|
BLAKE2b-256 checksum How to use checksums |
4f7375ff1606acbbfc9853ae8979be73728505f1ce74b4a6741a4f4ae700b99a
|
| 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 Oct 19, 2026.
Transparency logRelease files / autolife_planning-1.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | autolife_planning-1.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 9.9 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c2e3fefb0e2451ccdeb416f7edd46f6d0f02325434bcbe7dc34cf179f2806cd3
|
|
BLAKE2b-256 checksum How to use checksums |
71c2b48d74f06fa749274fa3841e2a7ef7b4408762636e0ac7cf71f266237902
|
| 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 Oct 19, 2026.
Transparency logRelease files / autolife_planning-1.2.1-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | autolife_planning-1.2.1-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 10.0 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
f99b08ccefe319ca9ba7bbe3588dc0f09fd978bba4ffae0f63c70f222e7788cb
|
|
BLAKE2b-256 checksum How to use checksums |
abe68b6c8f87461885a61a43e78c6cde6d30615700284e00d3d4b9f82c4ee976
|
| 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 Oct 19, 2026.
Transparency logRelease files / autolife_planning-1.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | autolife_planning-1.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 9.9 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
674617ef5981b5eb0c75a4eb36c306d0a8087059e8c7c80c5c513e8538773f49
|
|
BLAKE2b-256 checksum How to use checksums |
72b8ec1a13b1de61cb58964be06a5f00b6940c7f59a580989e8989de4ff4a8a6
|
| 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 Oct 19, 2026.
Transparency logSecurity for autolife-planning 1.2.1
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.
Full provenance
All 6 files in this release have been uploaded with provenance metadata.
Attestation for autolife_planning-1.2.1-cp314-cp314-manylinux_2_34_x86_64.whl
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 Oct 19, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.