Skip to content

A small MATLAB/iDynTree based library for rigid body systems kinematics, dynamics, simulation and control.

License

Notifications You must be signed in to change notification settings

gabrielenava/DynaSoRS

Repository files navigation

DynaSoRS

CI_DYNASORS

Dynamic SimulatOr of Rigid Systems

A small collection of MATLAB classes and functions that can be used to simulate rigid body systems kinematics, dynamics, and control.

Operating system

The code has been tested on Ubuntu 20.04.3 LTS.

Dependencies

  • MATLAB, tested up to R2022a.

  • DynaSoRS is based on the iDyntree library. To install iDyntree and its dependencies, refer to the iDyntree README. When compiling iDyntree, it is required to set the option IDYNTREE_USES_MATLAB to ON. In order to use the iDyntree bindings, and the iDyntree wrappers for MATLAB, add to the MATLAB path the path/where/the/iDyntree/generated/mex/file/is.

  • Some classes depend on casadi library. Download and install the MATLAB bindings from the website.

  • Optional: some examples depend on wbc, a MATLAB library for multi-body systems dynamics, kinematics and control available inside whole-body-controllers. To download the library, follow the instructions in the whole-body-controllers README.

  • Optional: the example on iRonCub-Mk1_1 depends on wbc library and on ironcub-mk1-software.

Installation and usage

On Ubuntu

Provided that the dependencies are met, git clone or download this repository. Then, run the following commands:

mkdir build & cd build
cmake .. -DCMAKE_INSTALL_PREFIX="/path/to/desired/install/dir"
make install

In order to use the library, add to the MATLAB path the path/where/the/installed/dynasors/package/is. A script called startupDynasors.m is generated automatically inside the build folder. Run the script once to permanently add the (installed) +dynasors package to the MATLAB path.

Tests

The main classes of the library are tested in the tests folder. This is also a good way to verify if the code has been installed correctly.

Examples

Examples of usage of the library are given in the examples folder:

  • simpleRobot: dynamics simulation and control of a simple fixed-base serial robot.
  • iRonCub-Mk1_1 dynamics simulation and QP control of a floating-base jet-powered humanoid robot.

Maintainer

Gabriele Nava (@gabrielenava).

About

A small MATLAB/iDynTree based library for rigid body systems kinematics, dynamics, simulation and control.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published