Skip to content
/ coma Public

This is a header-only Comprehensive Motion Algebra library which provides an implementation of N-CMTM.

License

Notifications You must be signed in to change notification settings

vsamy/coma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 i7-7700HQ@2.80GHz. 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}
}

About

This is a header-only Comprehensive Motion Algebra library which provides an implementation of N-CMTM.

Resources

License

Stars

Watchers

Forks

Packages

No packages published