Pythonic Motion Planning (pymp)
Motion planning is a computational problem to find a sequence of valid configurations that moves the object from the source to destination.
This library is designed for robotic applications, especially sampling-based algorithms for high-dimension configuration spaces(e.g., robot arm).
- pythonic: easy to debug, customize and extend
- standalone collision checker (hpp-fcl): without relying on any physical simulator (e.g., mujoco, pybullet, sapien) to check collision
- out-of-box: common motion planning algorithms (e.g., RRT-Connect) are implemented for robotic manipulation
Installation
Dependencies
This library (pymp) depends on pinocchio to handle URDF and robot kinematics, hpp-fcl to check collision, toppra to do time parameterization.
Install pymp
From pip:
pip install motion-planning
From source:
git clone https://github.com/Jiayuan-Gu/pymp.git
pip install -e .
From Github directly:
pip install --upgrade git+https://github.com/Jiayuan-Gu/pymp.git
Usage
See example.py for basic usage. Note that pymp depends on SRDF associated with URDF to remove self-collision.
Logging
The logging level can be specified by the environment variable PYMP_LOG.
# Set the logging level to DEBUG for pymp
export PYMP_LOG=DEBUG
Base pose
pymp supports specifying the pose of the base link during the initialization of the planner. We support many formats of pose (e.g., [x, y, z] for position, [w, i, j, k] for quaternion, [x, y, z, w, i, j, k] for SE(3), or a 4x4 rigid transformation matrix)
from pymp import Planner
planner = Planner(
...
base_pose=[0, 0, 0],
)
Troubleshooting
ImportError: libboost_python38.so: try to force reinstall pinocchio, e.g.,pip install pin --no-cache-dir --force-reinstall --upgrade.
Metadata
Release files for motion-planning 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| motion_planning-0.1.5.tar.gz | 17.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| motion_planning-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.3 kB
Release files / motion_planning-0.1.5.tar.gz
| Download URL | motion_planning-0.1.5.tar.gz |
|---|---|
| Size | 17.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67b2de860d419b36197745c1f9b14f91251caa0e83fdd1c262eb370a2c52d460
|
|
BLAKE2b-256 checksum How to use checksums |
7eb6ae89dd3b07d059d6a94abc9a588185c96957f7c8ecb95740e2c16f6f4475
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / motion_planning-0.1.5-py3-none-any.whl
| Download URL | motion_planning-0.1.5-py3-none-any.whl |
|---|---|
| Size | 20.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cd6961c9e7d6adfa79c1e6be55ae2382e9e10cbd9dfebcd3406615b8827adf4c
|
|
BLAKE2b-256 checksum How to use checksums |
3485d884ccc3883fd19bfcd1c3a44465d6597162aade12569c5b2d5d4e50bd25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|