Skip to main content

Autolife planning module

Project description

Autolife-Planning

PyPI Python Documentation Build Docs CI

Documentation | API Reference

rls_pick_place demo

↑ 5× sped-up preview — click for full-quality MP4

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's trajectory_processing module, originally by Tobias Kunz and Mike Stilman (Georgia Tech). See ext/time_parameterization/LICENSE.TOTG for the full BSD license.
  • TRAC-IK — Inverse kinematics solver (TRACLabs).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

autolife_planning-0.3.2-cp313-cp313-manylinux_2_34_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

autolife_planning-0.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

autolife_planning-0.3.2-cp312-cp312-manylinux_2_34_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

autolife_planning-0.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

autolife_planning-0.3.2-cp311-cp311-manylinux_2_34_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

autolife_planning-0.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

autolife_planning-0.3.2-cp310-cp310-manylinux_2_34_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

autolife_planning-0.3.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

autolife_planning-0.3.2-cp39-cp39-manylinux_2_34_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

autolife_planning-0.3.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

autolife_planning-0.3.2-cp38-cp38-manylinux_2_34_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.34+ x86-64

autolife_planning-0.3.2-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file autolife_planning-0.3.2-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 21f169b9035e2a2fe124bf5154f40a82de8e27ebf6feefadeb5a030eef4873ee
MD5 f026287529f3a79b06b381d8747f8bcf
BLAKE2b-256 653c704d2cf43e70c0b2e5b3de4842aa15972bad23bd1048d828199472e22401

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp313-cp313-manylinux_2_34_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolife_planning-0.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46b4ee7361c1182a0a4e3e21392753f88346a3181383c5fee53b3fc2097dc2ee
MD5 e1d9faf089ad633e565e037a771a03d7
BLAKE2b-256 cb9a161cf2b292c2da8f453aade0d602ecae62ee7b7a08995e997720d0b55633

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolife_planning-0.3.2-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2da2e8b503d157c87b0f7cf4804f2f6c979c21831e697a60cfe6ed7cadda3381
MD5 f1169d0a08a913d3bbcce6a2c62be35e
BLAKE2b-256 72164290610b376e36581b68cfa92bbd8a995d20c5dc2351272afdc9f3cc0560

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolife_planning-0.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b922c9c958d34ae523430bb33572ea917ee21bb4546082a29867b168f579183d
MD5 f059266b53ff07ae5473a52611c26652
BLAKE2b-256 7b4cb1b1abf9f30d52bb691aeb4ff4e72d35caf78515fd878f33851d139dd1c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolife_planning-0.3.2-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e54fc0f8587cb8f513771921682928524c1c9e7a9fc84ec5d77f54e0680cf8b9
MD5 856b9d465f466b1c9e63ab0f33260974
BLAKE2b-256 e5bc75c682bbbcf1a4a02f5a2d302f81498824e8c753014570508fc121cfa8c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolife_planning-0.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1f7e1459ee58bc7e1ddebc1a1e8a0684846e1e548c3073950c3c37600c358deb
MD5 3212336b88d22c4c3e5f7deec124eee9
BLAKE2b-256 f355e19684954b2f1a13b04362ea40848b619f32be3633efe4de6f4bf9e506eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolife_planning-0.3.2-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 53c50cd2b48c0d832810f58c25bc1b1c7924d8190e497bdcdb06c22257f0cfe5
MD5 c46ad97e213b7e1d760afda8222e66a7
BLAKE2b-256 2244fbea5053dea0e2e7e85bea3e68090930253f8bdc5355ab36e09ef544e5a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolife_planning-0.3.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1f512ce31e11024a9dcc20723d7a615d9b822d1e591ed9e5a844ad468d7bd32f
MD5 c58c024b5e93927ae4e515f236548f59
BLAKE2b-256 e7a7f7cc7e9a80b88c7bf5635797de1da46962968242fafae29fde3c0cfd4ca3

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolife_planning-0.3.2-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 122806eb64185aa1ae9bf244858c7452153fc15c74c99266c92959288361fa14
MD5 ad61c379ab6853f80db6d01aea060d4a
BLAKE2b-256 144e389dd93483753a8b863329eaf2ff98396fcd62b0f16e52be46dd2aae31fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp39-cp39-manylinux_2_34_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolife_planning-0.3.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 08a0b5f8f1aa5a06ec8b6a5bd0fc64387168c7c2eb945df5e0d39f001fbdc331
MD5 3b542bc0606757fd0248b738c385a1bb
BLAKE2b-256 74d258a287c913102949b83956ae0ea16b4f80b622a129383ae31c0bab5d5fd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolife_planning-0.3.2-cp38-cp38-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3f4669a5e6f560faa5f6b78757d109ea4fd542fce094745b0db2855b95119a69
MD5 0f38319206343c31e0039028fee6a373
BLAKE2b-256 f90ecd0124156413446ad3d2157c725ac04f373cb14b70c1c32613d7b67ad86b

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp38-cp38-manylinux_2_34_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file autolife_planning-0.3.2-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.2-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09cda7f5c73eb14aa9fc64a3d67da0642ed13b65cf527a0c44f71329c65c26c7
MD5 904dadaeea3a68fa889dab1b081f74c3
BLAKE2b-256 12c2ed5ca02be7c5b52998c1b2d5cd3294da2b34f8166e67db1261ad417c383d

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.2-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on AdaCompNUS/Autolife-Planning

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page