Motion planning for single and dual robot arms.
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
SingleArmPlannerDualArmPlanner
- 🔌 Implementations: reliable and well-tested implementations of these interfaces.
- OMPL for single and dual 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
- Nvidia cuRobo-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
Installation 🔧
airo-planner is available on PyPI and installable with pip:
pip install airo-planner
We add underlying motion planning libraries as optional dependencies. For example, to install OMPL alongside airo-planner:
pip install airo-planner[ompl]
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file airo_planner-0.0.4.tar.gz.
File metadata
- Download URL: airo_planner-0.0.4.tar.gz
- Upload date:
- Size: 37.4 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb4aa303dbe54f2ea843617229c153133093077bb14520720069483cecab5a15
|
|
| MD5 |
b85861eed9d01bb50883ad2d39d65510
|
|
| BLAKE2b-256 |
391b4ce6e7c6b21aa6fcd227b4a3d00c2b7748e52da82cece006af8173e0e4f6
|
File details
Details for the file airo_planner-0.0.4-py3-none-any.whl.
File metadata
- Download URL: airo_planner-0.0.4-py3-none-any.whl
- Upload date:
- Size: 49.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ddf047afd5311087c1d6efe30d6f0d338665b4599d8bec882674afe3f9eea09
|
|
| MD5 |
b12d8ca52edc00ea968988ec68128f87
|
|
| BLAKE2b-256 |
919efb7a4b6a7f0463153154f728e2fb87b071edd45b734daf325fa8edc9549b
|