A repository of PyBullet utility functions for robotic motion planning, manipulation planning, and task and motion planning (TAMP). This repository was originally developed for the PDDLStream (previously named STRIPStream) approach to TAMP.
With the help of Yijiang Huang, a stable and documented fork of ss-pybullet named pybullet_planning is available through PyPI. However, new features will continue to be introduced first through ss-pybullet.
Caelan Reed Garrett. PyBullet Planning. https://pypi.org/project/pybullet-planning/. 2018.
Install PyBullet on OS X or Linux using:
$ pip install numpy pybullet
$ git clone --recurse-submodules https://github.com/caelan/ss-pybullet.git
$ cd ss-pybullet
$ git pull --recurse-submodules
We recommend using IKFast, an analytical inverse kinematics solver, instead of PyBullet's damped least squares method solver. IKFast bindings are included for the following robots. To create IKFast bindings for a new robot, following the instructions in ikfast_pybind.
$ cd ss-pybullet/pybullet_tools/ikfast/franka_panda
$ python setup.py build
$ cd ss-pybullet/pybullet_tools/ikfast/movo
$ python setup.py -a {left,right}
$ cd ss-pybullet/pybullet_tools/ikfast/pr2
$ python setup.py build
- Test pybullet -
python -c 'import pybullet'
Examples:
- Kuka IIWA pick planning -
$ python -m examples.test_kuka_pick
- PR2 motion planning -
$ python -m examples.test_pr2_motion
- PR2 teleoperation -
$ python -m examples.teleop_pr2
- PR2 visibility -
$ python -m examples.test_visibility
- PR2 copying -
$ python -m examples.test_clone
- TurtleBot collisions -
$ python -m examples.test_turtlebot
- Franka Panda workspace planning -
$ python -m examples.test_franka
- MOVO random workspace planning -
$ python -m examples.test_movo
- Dropping beads -
$ python -m examples.test_water
See the following examples: https://github.com/caelan/pddlstream/tree/master/examples/pybullet
- PDDLStream for TAMP - https://github.com/caelan/pddlstream
- Online TAMP - https://github.com/caelan/SS-Replan
- Automated Construction - https://github.com/caelan/pb-construction
- Learning + TAMP (LTAMP) - https://github.com/caelan/LTAMP
- PyPI - https://pypi.python.org/pypi/pybullet
- 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