Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 2.21 KB

README.md

File metadata and controls

75 lines (53 loc) · 2.21 KB

COMA

The comprehensive motion algebra (COMA) library is a header-only c++ implementation of the Comprehensive Motion Transformation Matrix (CMTM) along the needed lie algebra tools.

Table of contents

  1. Installation
  2. Performance
  3. Reference

Installation

Currently, you can only download it from github. As a header-only library, one way to use the lib is to copy-paste the include directory. Otherwise, you can proceed as follow.

Dependencies

To compile you need the following tools:

For benchmarks:

Building

git clone --recursive https://github.com/vsamy/coma
cd coma
mkdir build
cd build
cmake [options] ..
make -j8 && make install

CMake options

You can set BUILD_TESTING to ON/OFF to enable/disable test building. You can set BUILD_EXAMPLE to ON/OFF to enable/disable example building. You can set BUILD_BENCH to ON/OFF to enable/disable benchmark building.

Performance

Here are some benchmarks made with google benchmarks and a [email protected]. GCC and Clang tests have been made under WSL2.

The next graph is a multiplication between two CMTM. Static corresponds to CMTM<double, 6, order> and dynamic to CMTM<double, 6, coma::Dynamic>.

CMTM multiplication

The next graph is a multiplication between two CMTM that also consider the construction of the two CMTM matrices and the deconstruction of the result. Static corresponds to CMTM<double, 6, order> and dynamic to CMTM<double, 6, coma::Dynamic>.

CMTM multiplication cd

Reference

Related paper can be found here

Citation

@inproceedings{samy2021generalized,
  title={Generalized Comprehensive Motion Theory for High-Order Differential Dynamics},
  author={Samy, Vincent and Ayusawa, Ko and Yoshida, Eiichi},
  journal={Robotics: Science and Systems XVII},
  year={2021}
}