项目作者: caelan

项目描述 :
PyBullet Planning
高级语言: C++
项目地址: git://github.com/caelan/pybullet-planning.git
创建时间: 2018-03-12T14:38:50Z
项目社区:https://github.com/caelan/pybullet-planning

开源协议:MIT License

下载


pybullet-planning (previously ss-pybullet)

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 pybullet-planning named pybullet_planning is available through PyPI.
However, new features will continue to be introduced first through pybullet-planning.

Citation

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

Installation

Install for macOS or Linux using:

  1. $ git clone --recurse-submodules https://github.com/caelan/pybullet-planning.git
  2. $ cd pybullet-planning
  3. pybullet-planning$ pip install -r requirements.txt

pybullet-planning is intended to have ongoing support for both python2.7 and python3.*

Make sure to recursively update pybullet-planning‘s submodules when pulling new commits.

  1. pybullet-planning$ git pull --recurse-submodules

IKFast Compilation

We recommend using IKFast, an analytical inverse kinematics solver, instead of PyBullet’s damped least squares solver.
IKFast bindings are included for the following robots:

  • Franka Panda - pybullet-planning$ (cd pybullet_tools/ikfast/franka_panda; python setup.py)
  • MOVO - pybullet-planning$ (cd pybullet_tools/ikfast/movo; python setup.py)
  • PR2 - pybullet-planning$ (cd pybullet_tools/ikfast/pr2; python setup.py)

To create IKFast bindings for a new robot, following the instructions in ikfast_pybind.

Tests

1) Test PyBullet - pybullet-planning$ python -c 'import pybullet'

Tutorial

test_turtlebot - $ python -m examples.test_turtlebot


Heavily annotated simple example that demonstrates:

  • Creating a PyBullet simulation
  • Waiting for user input (useful on macOS)
  • Programmatically creating objects
  • Getting/setting object base poses
  • Loading a robot URDF
  • Getting/setting robot joint positions
  • Looking up named robot links and joints
  • Computing an object’s current Axis-Aligned Bounding Box (AABB)
  • Drawing coordinate frames and bounding boxes
  • Checking collisions between two objects
  • Temporarily disabling rendering for efficiency purposes

Planning Examples



Debug Examples



PDDLStream Examples

See the following examples: https://github.com/caelan/pddlstream/tree/master/examples/pybullet


Forks

PyBullet Resources

Bullet Resources