Skip to content

🎯 🐍 Python bindings for the Dynamic Animation and Robotics Toolkit

License

Notifications You must be signed in to change notification settings

jslee02/dartpy-1

 
 

Repository files navigation

dartpy Build Status

⚠️ Warning: dartpy is under heavy development. See the open issues on dartpy and Chimera for insight into the current state of the project. Please report any issues you encounter on the appropriate repository. This repo will be mreged into the main repository of DART once becomes stable.

Python bindings for DART, the Dynamic Animation and Robotics Toolkit.

Installation

On Ubuntu 14.04 / 16.04 / 18.04

You can install dartpy using apt-get as:

14.04

$ sudo add-apt-repository ppa:libccd-debs/ppa
$ sudo add-apt-repository ppa:fcl-debs/ppa
$ sudo add-apt-repository ppa:dartsim/ppa
$ sudo add-apt-repository ppa:personalrobotics/ppa
$ sudo apt-get update

$ sudo apt-get install python-dartpy  # for Python 2
$ sudo apt-get install python3-dartpy # for Python 3
$ sudo apt-get install qt4-default

$ git clone https://github.com/personalrobotics/dartpy
$ cd dartpy
$ git checkout dart-6.5
$ pip3 install -e .

16.04 / 18.04

$ sudo add-apt-repository ppa:dartsim/ppa
$ sudo add-apt-repository ppa:personalrobotics/ppa
$ sudo apt-get update

$ sudo apt-get install python-dartpy  # for Python 2
$ sudo apt-get install python3-dartpy # for Python 3

$ git clone https://github.com/personalrobotics/dartpy
$ cd dartpy
$ git checkout dart-6.5
$ pip3 install -e .

All set! Import dartpy in Python and enjoy! Please see Usage section for more information.

If you want to build dartpy from source, please see this wiki page.

On macOS

$ brew install personalrobotics/tap/dartpy

Usage

Once dartpy is installed, you should be able to open a Python terminal and import dartpy. Since dartpy is mostly auto-generated using Chimera, the DART Python API mostly matches the DART C++ API.

There are a few exceptions:

Template Functions

Template functions take the template parameters as regular arguments, e.g. the C++ code:

auto joint = bodynode.moveTo<dart::dynamics::FreeJoint>(newParent);

becomes the Python code

joint = bodynode.moveTo(dartpy.dynamics.FreeJoint, newParent)

Due to limitations of C++, this functionality requires the template arguments to be registered with dartpy. Follow the instructions to register your custom types for use as template arguments.

License

dartpy is licensed under the BSD-2-Clause license. See LICENSE for more information.

Authors

dartpy is developed by the Personal Robotics Lab in the Robotics Institute at Carnegie Mellon University by Michael Koval (@mkoval) and Pras Velagapudi (@psigen).

About

🎯 🐍 Python bindings for the Dynamic Animation and Robotics Toolkit

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 51.1%
  • C++ 39.6%
  • CMake 7.2%
  • Shell 2.1%