Skip to main content

Motion planning for single and dual robot arms.

Reason this release was yanked:

License incompatibilities

Project description

airo-planner

Python package for single and dual robot arm motion planning.

Key motivation:

  • 🔗 Provide unified interfaces for different motion planners and collision checkers, such as OMPL's powerful (but robot-agnostic) sampling-based planners and Drake's collision checking for robots.
  • 🦾 Standardize and add other features taylored to robotic arm motion planning such as joint limits and planning to TCP poses.

Overview 🧾

Features: this packages provides two main things:

  • 🤝 Interfaces: specify interfaces for robot arm motion planning
    • SingleArmPlanner
    • DualArmPlanner
  • 🔌 Implementations: reliable and well-tested implementations of these interfaces.
    • OMPL for single and dual arm planning to joint configurations or TCP poses
    • cuRobo for single arm planning to joint configurations or TCP poses

Design goals:

  • Robustness and stability: provide an off-the-shelf motion planner that supports research by reliably covering most (not all) use cases at our labs, prioritizing dependability over niche, cutting-edge features.

  • 🧩 Modularity and flexibility in the core components:

    • 🧭 Motion planning algorithms
    • 💥 Collision checker
    • 🔙 Inverse kinematics
  • 🐛 Debuggability and transparency: many things can go wrong in motion planning, so we log generously and store debugging information (IK solutions, alternative paths) to troubleshoot issues.

  • 🧪 Enable experimentation: Facilitate the benchmarking and exploration of experimental planning algorithms.

Planned features:

  • Drake optimization-based planning

Getting started 🚀

See the getting started notebooks, where we set up:

  • 🎲 OMPL for sampling-based motion planning
  • 🐉 Drake for collision checking
  • 🧮 ur-analytic-ik for inverse kinematics of a UR5e
  • 🟢 cuRobo for GPU-accelerated motion planning

Which planner should I use?

If you have mostly static scenes, use OMPL. It’s well tested, fast, and runs on your CPU. If you have dynamic scenes that change often and have access to a CUDA-supporting GPU, use cuRobo.

Installation 🔧

Dependencies

If you want to use cuRobo with airo-planner, you first need to install it according to these instructions. Note that you will need a CUDA-enabled GPU.

Installing airo-planner

airo-planner is available on PyPI and installable with pip:

pip install airo-planner

For visualization of cuRobo worlds (see notebooks/06_curobo.ipynb), you can use the optional rerun dependency.

pip install airo-planner[rerun]

Developer guide 🛠️

See the airo-mono developer guide. A very similar process and tools are used for this package.

Releasing 🏷️

See airo-models, releasing airo-planner works the same way.

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

airo_planner-0.0.5.tar.gz (48.8 kB view details)

Uploaded Source

Built Distribution

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

airo_planner-0.0.5-py3-none-any.whl (64.9 kB view details)

Uploaded Python 3

File details

Details for the file airo_planner-0.0.5.tar.gz.

File metadata

  • Download URL: airo_planner-0.0.5.tar.gz
  • Upload date:
  • Size: 48.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for airo_planner-0.0.5.tar.gz
Algorithm Hash digest
SHA256 df095844b1498102ad803673ab0a911fbd622cd1f02f40c3ee1cafa654c00dfc
MD5 1ae3fa2f354f5d67243fb577bc7bd05e
BLAKE2b-256 90c522d04a3a0b9e0246610069d753bae5317bbfdd2f03c8b04cbbc709106cbd

See more details on using hashes here.

File details

Details for the file airo_planner-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: airo_planner-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 64.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for airo_planner-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c54c9dd4351c999497c7198d0658e5809648519d942cd951c41e951b486ecf4a
MD5 1f6b4b23c80ca97921cf9cdc2b23d097
BLAKE2b-256 164def68c3a2d89c272e8b7d67791ca1dd2fdb9c0878448870159f03f7bdae30

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