Skip to main content

Autolife planning module

Project description

Autolife-Planning

A planning library for the Autolife robot. It integrates motion planning (VAMP), inverse kinematics (Cricket), and collision-aware planning (Foam) through a unified Python interface managed by pixi.

Prerequisites

  • Linux (x86_64)
  • pixi package manager

Quick Start

git clone --recursive https://github.com/H-tr/Autolife-Planning.git
cd Autolife-Planning
bash scripts/setup.sh

This will install pixi (if needed), set up the environment, build the C++ dependencies, and download assets.

Manual Installation

If you prefer to set things up step by step:

# Clone with submodules
git clone --recursive https://github.com/H-tr/Autolife-Planning.git
cd Autolife-Planning

# Install the pixi environment (Python, C++ toolchain, and all dependencies)
pixi install

# Build C++ third-party libraries
pixi run cricket-build
pixi run foam-build

# Download robot assets
bash scripts/download_assets.sh

Building the Robot Description

When the robot URDF changes, rebuild the full pipeline from URDF to FK code:

pixi run generate-fk

This runs the full chain automatically:

  1. foam-build — Build the foam collision library
  2. build-robot — Process raw URDF into planning-ready descriptions (simple, base, SRDF)
  3. spherize-robot — Generate spherized URDF for collision checking
  4. cricket-build — Build the cricket FK code generator
  5. generate-fk — Generate FK C++ code and install it into vamp

After generating, rebuild vamp to pick up the new FK:

pixi install

You can also run individual steps:

pixi run build-robot          # Steps 1-2 only
pixi run spherize-robot       # Steps 1-3
pixi run generate-fk          # Steps 5

Usage

Run examples inside the pixi environment:

pixi run python examples/ik_example.py
pixi run python examples/planning_example.py

# With PyBullet visualization (requires dev environment)
pixi run -e dev python examples/ik_example_vis.py
pixi run -e dev python examples/random_dance_around_table.py

Project Structure

autolife_planning/   # Core Python package
third_party/
  cricket/           # Inverse kinematics library
  foam/              # Collision-aware planning
  vamp/              # Motion planning (installed as editable PyPI dep)
scripts/             # Setup and utility scripts
examples/            # Example scripts
resources/           # Robot URDF and mesh files

Project details


Download files

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

Source Distribution

autolife_planning-0.1.0.tar.gz (82.1 kB view details)

Uploaded Source

Built Distribution

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

autolife_planning-0.1.0-cp312-cp312-manylinux_2_39_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

File details

Details for the file autolife_planning-0.1.0.tar.gz.

File metadata

  • Download URL: autolife_planning-0.1.0.tar.gz
  • Upload date:
  • Size: 82.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for autolife_planning-0.1.0.tar.gz
Algorithm Hash digest
SHA256 529e243a97b26668caa809282104f442e55a2896f440fb4a237444f274c19910
MD5 005be74e194af21fb4bdd4d67f306ff5
BLAKE2b-256 90a0af90333e59da3e587507d3c82407ad49bba666f9c52950e8c39db80a959e

See more details on using hashes here.

File details

Details for the file autolife_planning-0.1.0-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for autolife_planning-0.1.0-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 c5413ac3f3380977a90453e7baa51f788fd82ef7bab5c877d6bf3b90d307d350
MD5 9c74d01371712d2f0c4244e393df8076
BLAKE2b-256 f4915c1bb77a95acd7bfad3e0a74c24abc83e977096a686cce32515b4c908471

See more details on using hashes here.

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