MuJoCo motion planning library.
Project description
mjpl
MuJoCo motion planning library.
[!Note] This project is under active development. APIs may change, and features are still a work in progress.
Features:
- Joint-space planning via bi-directional RRT, with support for constraints
- Cartesian-space planning
- Constraint interface, which allows for defining arbitrary constraints
- IK Solver interface, which can be used for planning to pose targets
- Trajectory generation via a Trajectory Generator interface
Limitations:
- This library is designed for manipulator models that are composed of hinge/slide joints, and will not work with models that have ball/free joints.
Installation
pip install mjpl
Development
For local development, clone the repository and install the developer dependencies:
pip install -e ".[dev]"
This project uses Ruff for linting and formatting. Unit tests are written via the unittest framework.
To run the linter, formatter, and tests locally:
# Check for linter errors
ruff check .
# Apply lint fixes
ruff check --fix .
# Check for format errors
ruff format --diff .
# Apply format fixes
ruff format .
# Run unit tests
python3 -m unittest -v
Pre-commit hooks are also available which run the linter, formatter, and unit tests. To trigger the hooks automatically on commit, install the pre-commit hooks:
pre-commit install
To trigger the hooks manually:
pre-commit run --all-files
To bypass installed pre-commit hooks on commit:
git commit --no-verify -m "your message"
Acknowledgements:
Thank you Sebastian Castro for the guidance and support that has been offered throughout the early stages of this project. If you find this library useful or interesting, consider checking out Sebastian's pyroboplan, which offers similar features via Pinocchio!
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 mjpl-0.0.0.tar.gz.
File metadata
- Download URL: mjpl-0.0.0.tar.gz
- Upload date:
- Size: 13.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b133e66e2cb41c1bd82c3ff1340f4d037ebcf860fc33704b50e9f030e510f642
|
|
| MD5 |
d611fdbdd76444684271d2b9875af4e1
|
|
| BLAKE2b-256 |
c358395bc88c2ef1fae2d006bafbc557aafb6dcd94ad87bbc121071b72a70ce0
|
File details
Details for the file mjpl-0.0.0-py3-none-any.whl.
File metadata
- Download URL: mjpl-0.0.0-py3-none-any.whl
- Upload date:
- Size: 26.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dba22020ecfe324a76ae4592058ff831e702bbda8df2e8e6be27df5b8e32cbe
|
|
| MD5 |
b6af7cbb47f9641a58d3f4c31c04b54d
|
|
| BLAKE2b-256 |
52d1ae83a977b6323c191ac1824219889d896579a2f95cce03a8560323ae90b3
|