======
PyDART is an open source python binding of [DART](https://github.com/dartsim/dart)(4.3.4), an open source physics simulator.
All APIs are designed to provide a concise and powerful control on [DART](https://github.com/dartsim/dart) physics worlds.
Further, a user can write simulations with a numerous python scientific libraries,
such as [NumPy](http://www.numpy.org/)(linear algebra),
[SciPy](http://www.scipy.org/)(optimization),
[scikit-learn] (http://scikit-learn.org/stable/) (machine learning),
[PyBrain](http://pybrain.org/)(machine learning),
and so on.
sudo aptitude install swig
sudo aptitude install python-numpy python-scipy
sudo apt-get install python-pip
sudo pip install PyOpenGL PyOpenGL_accelerate
git clone https://github.com/sehoonha/pydart.git
cd pydart
- Setup the python package for development
sudo python setup.py develop
mkdir build
cd build
cmake ..
make
make install
- 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