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 — Time-optimal trajectory generation (TOTG) 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).
  • 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.1-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.1-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.1-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.1-cp310-cp310-manylinux_2_34_x86_64.whl (10.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

File details

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

File metadata

File hashes

Hashes for autolife_planning-0.3.1-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 41515bb16f6fc92aed686929c7002d72324e6ea5dc00bb9f5ff36d4cc60f1937
MD5 7453f9c4ecd532b22587ca8786a23b86
BLAKE2b-256 2db4429a56ce7b8617a0999655fe2c89043638ea5e189441e86e186a1d46c1f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.1-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.1-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.1-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0e74a3794604a69864ac406e6649be542b58ece4990cf8c599713c0ef987c954
MD5 0ea6d4d5bcbc2cc1369ad53196ef4ace
BLAKE2b-256 1e80d16afc4d9c2763d154d8173d7813d0f697e5cb7bbf57449b42ccf9a5ef9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.1-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.1-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.1-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9584ce6129d3b1828c728c20bf39c92c8d73e97b586b9f148845678e0703877d
MD5 65366c9874a0869a2c47c3272d99f96b
BLAKE2b-256 aa97176e0f15314451dd3abf824b8217aec927969983f4b0d9111f262315776f

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.1-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.1-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.3.1-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 24aef0941323fa8ee179aa342a86c2894df3fb7490aea629019e66d78fba049c
MD5 de1eed18ca9aa73dc6e4c35c562e7761
BLAKE2b-256 5289c6ef97a6613b2864e48de8e8907023d5c141944cdc795ec4793d8c046efd

See more details on using hashes here.

Provenance

The following attestation bundles were made for autolife_planning-0.3.1-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.

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