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
Note
On Windows, you may need to install Microsoft Visual C++ 14.0.
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
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
- Github - https://github.com/bulletphysics/bullet3
- Quickstart - https://docs.google.com/document/d/10sXEhzFRSnvFcl3XxNGhnD4N2SedqwdAvK3dsihxVUA/
- Forum - https://pybullet.org/Bullet/phpBB3/
- Wordpress - https://pybullet.org/wordpress/
- Examples - https://github.com/bulletphysics/bullet3/tree/master/examples/pybullet/examples
- Bindings - https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/pybullet.c
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.1
Added - Added current_conf to as the single-node ladder in the ladder graph Cartesian planning plan_cartesian_motion_lg
Changed - Changed Attachment.from_data to construct parent and child bodies from body name data - Changed EdgeBuilder from using upper_tm and joint_vel_limits to directly using jump_threshold
0.5.0
Changed
- Changed doc theme to sphinx-rtd-theme, doc hosted on readthedocs
- Changed motion_planners to keep updated with https://github.com/caelan/motion-planners
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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size pybullet_planning-0.5.1.tar.gz (8.2 MB) | File type Source | Python version None | Upload date | Hashes View |