Skip to main content

a suite of utility functions to facilitate robotic planning related research on the pybullet physics simulation engine.

Project description

pybullet_planning is a suite of utility functions to facilitate robotic planning related research on the pybullet physics simulation engine. Planning research made easy.

Main features

  • easy-to-use functions to connect with pybullet, tailored for task and motion planning research

  • built-in implementations of standard motion planners, including PRM, RRT, biRRT, A* etc.

Getting Started

pybullet_planning can be installed using pip:

pip install pybullet_planning

Once the installation is completed, you can verify your setup. Start Python from the command prompt and run the following:

>>> import pybullet_planning

First Steps

Contributing

We love contributions!

Check the Contributor’s Guide for more details.

Releasing this project

Ready to release a new version of pybullet_planning? Here’s how to do it:

  • We use semver, i.e. we bump versions as follows:

    • patch: bugfixes.

    • minor: backwards-compatible features added.

    • major: backwards-incompatible changes.

  • Update the CHANGELOG.rst with all novelty!

  • Ready? Release everything in one command:

invoke release [patch|minor|major]
# with -b to bump version
  • Celebrate! 💃

PyBullet Resources

Credits

Caelan Reed Garrett. PyBullet Planning. https://pypi.org/project/pybullet-planning/. 2020.

This package was initiated and maintained by Caelan Garrett @caelan and other contributors.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

0.5.0

Changed

Added

  • Added SE3 floating body motion planning

  • Added ladder graph cartesian planner

Removed

  • Removed requirments.txt, moved dependencies into setup.py

0.1.1

Fixed

  • Fixed Windows OS “Display not in os.environ” issue in connect

0.1.0

Added

  • diagnosis collision checking function to help visualizing the collision bodies’ information

  • add workspace_bodies to the get_collision_fn to check collisions with the obstacles specified in a URDF file.

  • move ik_interface module from application side to this repo, since it’s “universal” for fixed-end robot. Might need to add a separete one for robots with moving base later.

  • enable travis ci unit test, collision_fn well tested

  • get_floating_body_collision_fn to check a body without joints’s collision. Associated test added.

  • Added snap_sols to kinematics.ik_utils

Changed

  • add extra_disabled_collisions parameter to get_collision_fn, plan_joint_motion

  • Changed get_name to return name without index if name is not ‘’

Removed

  • get_collision_diagnosis_fn removed, integrated into the get_collision_fn

Fixed

  • utils.numeric_sample.randomize: random.shuffle cannot operate on a range in py 3.x. Enforced conversion to list to fix it.

  • Fixed get_collision_fn to ignore checking between bodies both specified in attachment and obstacles (prioritize its role as attachment)

Deprecated

TODO

  • add body name for bodies from create_obj

Requested features

  • clone_body work for bodies from create_obj

0.0.1

Added

  • Initial version

  • Divide the original utils.py file into separate modules

  • Modules cycle dependency resolved.

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

pybullet_planning-0.5.0.tar.gz (8.2 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page