- News! (06/AUG/2016)
- PyDART is upgraded to PyDART2. Please visit the repository and the documentation pages.
- PyDART is updated for DART 5.0.
====== PyDART is an open source python binding of DART(5.0), an open source physics simulator. All APIs are designed to provide a concise and powerful control on DART physics worlds. Further, a user can write simulations with a numerous python scientific libraries, such as NumPy(linear algebra), SciPy(optimization), [scikit-learn] (http://scikit-learn.org/stable/) (machine learning), PyBrain(machine learning), and so on.
- DART(5.0)
sudo apt-get install swig python-pip libatlas-base-dev gfortran
sudo pip install numpy scipy PyOpenGL PyOpenGL_accelerate
- Checkout the project
git clone https://github.com/sehoonha/pydart.git
cd pydart
- Compile the API
mkdir build
cd build
cmake ..
make
make install
- Setup the python package for development
cd ..
sudo python setup.py develop
- Run the first application
python apps/helloPyDART/main.py
- Modifying a skeleton pose using dof names (q is still a numerical vector)
q = skel.q
q["j_pelvis_rot_y"] = -0.2
q["j_thigh_left_z", "j_shin_left", "j_heel_left_1"] = 0.15, -0.4, 0.25
q["j_thigh_right_z", "j_shin_right", "j_heel_right_1"] = 0.15, -0.4, 0.25
q["j_abdomen_2"] = 0.0
skel.set_positions(q)
- Add damping forces to the rigid chain
class DampingController:
""" Add damping force to the skeleton """
def __init__(self, skel):
self.skel = skel
def compute(self):
damping = -0.01 * self.skel.qdot
for i in range(1, self.skel.ndofs, 3):
damping[i] *= 0.1
return damping