A work-in-progress robotics tool-kit for optimisation, planning and estimation of robotics systems. Built upon the CasADi and Pinocchio C++ libraries.
The Damotion library was designed for personal use in robotics projects. It is built around the CasADi library, utilising the symbolic algebra capabilities to compute and evaluate complicated expressions associated with robotics research areas such as control, optimisation and estimation. To further aid these computations, we utilises Pinocchio, a mature rigid-body dynamics library for use in computing these expressions. This library combines these two libraries to offer utilities in optimisation, control and estimation with an emphasis on efficient computations for real-time application.
Damotion requires the following third-party libraries in order to be built and installed.
For testing purposes we have (this is later be a toggle-able option):
We also include interfaces to open-source solvers for numerical optimisation, we currently include:
NOTE: qpOASES must be built as a shared library. This may not be enabled by default, so check the options in their CMakeLists.txt!
- Clone the repo
git clone https://github.com/dazzmo/damotion
- Build the library
cd damotion mkdir build && cd build cmake .. make
- Installation of the library can then be performed by
make install
Distributed under the GNU GENERAL PUBLIC LICENSE V3.0 License. See LICENSE.txt for more information.
We use pre-commit to standardise code formatting. Please install prior to development.
Damian Abood - damian.abood@sydney.edu.au