Institut des Systèmes Intelligents
et de Robotique

Partenariats

Sorbonne Universite

CNRS

INSERM

Tremplin CARNOT Interfaces

Labex SMART

Rechercher

Arboris-python

salini Joseph
Title : Associate Researcher
No longer in the unit

Requirements

Arboris-python works on Python2.7 (Seems to work with Python3.2, but cannot provide guarantees due to lack of tests).

 

It requires (they me be contained in the installation files) :

  • numpy to compute and simulate models,
  • h5py to save simulation data as pickle,
  • matplotlib to plot results as Matlab,
  • and pycollada to write collada files.
  • The visualization is done with pydaenim (in a web browser based on webgl) or with daenim (based on OpenSceneGraph).

 

Download Arboris-python

For Windows

Choose the corresponding installer; They contain all the required modules and you can choose what you want to install.

 

For Ubuntu

For Ubuntu distributions, required packages are available in apt: apt:arboris-python-dep.

Then you have to install pycollada, pydaenim & arboris.

This script does it for you.

 

For Macintosh (Still in development)

Quite similar to Ubuntu. You have to install the required packages, download arboris-python from github and install with the following command:

For Macintosh, many modules are available in macports.  I recommand Macport to install the required package. Here is a script to perform this installation.

To execute this script, run:

bash install_arboris_python_mac.sh

Then you have to install pycollada, pydaenim & arboris manually (I hope it works...)

 

Python Integrated Development Environment (IDE)

Getting a good python IDE may not be easy, that is why I give you my recommendations:

  • A well-known cross-platform IDE is Spyder.
  • On Windows, I strongly recommand PyScripter
  • On Ubuntu, if gedit with the programmation plugin is not sufficient, I propose Eric4 (available on repository).
  • On mac, IEP seems to do the work.

 



That's all. Enjoy!

 

Problems

For any other problem, contact me at email address above.

 



About Arboris

Arboris is a rigid body dynamics and contacts simulator written in python.

Arboris includes a generic and easily extensible set of joints (singularity-free multi-dof joints, non-honolomic joints, etc.) which are used to model open rigid mechanisms with a minimal set of state variables.

The dynamics of these systems are computed in a form similar to the Boltzmann-Hamel equations. Using time-stepping and a semi-implicit Euler integration scheme, a first-order approximation of the model is also computed. This allows for additional constraints such as contacts and kinematic loops to be solved using a Gauss-Seidel algorithm.

Arboris is mostly useful for robotic applications and human motion studies. The python language makes it particularly suited for fast-paced development (prototyping) and education.

Background

In 2005, Alain Micaelli, a researcher from CEA LIST, wrote a first version of the simulator in the matlab language. It was an implementation (and often an extension) of the algorithms described in [Park2005], [Murray1994] and [Liu2003].

He was later joined by Sébastien Barthélemy, from ISIR/UPMC, who reorganized the code to take advantage of the early object-oriented features of matlab. It eventually became clear that the language was ill-designed, and that a full rewrite was necessary. With the help of Joseph Salini, also from ISIR/UPMC, Arboris-python was born. The resulting framework is now quite similar to what
is presented in [Duindam2006]. The matlab version of the simulator is now deprecated.


.. [Murray1994]
    Richard M. Murray, Zexiang Li and S. Shankar Sastry, "A  Mathematical Introduction to Robotic Manipulation", CRC Press, 1994.

.. [Park2005]
    Jonghoon Park, "Principle of Dynamical Balance for Multibody Systems", Multibody System Dynamics, vol. 14, number 3-4, pp. 269-299, 2005.

.. [Liu2003]
    T. Liu and M. Y. Wang, "Computation of three dimensional rigid body dynamics of multiple contacts using time-stepping and Gauss-Seidel method", IEEE Transaction on Automation Science and Engineering, submitted, November 2003.

.. [Duindam2006]
    V. Duindam, "Port-Based Modelling and Control for Efficent Bipedal Walking Robots", University of Twente, 2006.