Skip to main content

A pythonic motion planning library

Project description

Pythonic Motion Planning (pymp)

PyPI version Open In Colab

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.

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

motion_planning-0.1.5.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

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

motion_planning-0.1.5-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file motion_planning-0.1.5.tar.gz.

File metadata

  • Download URL: motion_planning-0.1.5.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for motion_planning-0.1.5.tar.gz
Algorithm Hash digest
SHA256 67b2de860d419b36197745c1f9b14f91251caa0e83fdd1c262eb370a2c52d460
MD5 4891e80ced78d43b4be68a00f454a31f
BLAKE2b-256 7eb6ae89dd3b07d059d6a94abc9a588185c96957f7c8ecb95740e2c16f6f4475

See more details on using hashes here.

File details

Details for the file motion_planning-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for motion_planning-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 cd6961c9e7d6adfa79c1e6be55ae2382e9e10cbd9dfebcd3406615b8827adf4c
MD5 5a12204ac77ea5ed8b110696c3688879
BLAKE2b-256 3485d884ccc3883fd19bfcd1c3a44465d6597162aade12569c5b2d5d4e50bd25

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