English

Numerical Methods to Compute the Coriolis Matrix and Christoffel Symbols for Rigid-Body Systems

Robotics 2022-06-06 v3

Abstract

This article presents methods to efficiently compute the Coriolis matrix and underlying Christoffel symbols (of the first kind) for tree-structure rigid-body systems. The algorithms can be executed purely numerically, without requiring partial derivatives as in unscalable symbolic techniques. The computations share a recursive structure in common with classical methods such as the Composite-Rigid-Body Algorithm and are of the lowest possible order: O(Nd)O(Nd) for the Coriolis matrix and O(Nd2)O(Nd^2) for the Christoffel symbols, where NN is the number of bodies and dd is the depth of the kinematic tree. Implementation in C/C++ shows computation times on the order of 10-20 μ\mus for the Coriolis matrix and 40-120 μ\mus for the Christoffel symbols on systems with 20 degrees of freedom. The results demonstrate feasibility for the adoption of these algorithms within high-rate (>>1kHz) loops for model-based control applications.

Keywords

Cite

@article{arxiv.2010.01033,
  title  = {Numerical Methods to Compute the Coriolis Matrix and Christoffel Symbols for Rigid-Body Systems},
  author = {Sebastian Echeandia and Patrick M. Wensing},
  journal= {arXiv preprint arXiv:2010.01033},
  year   = {2022}
}

Comments

Author version of paper in the ASME Journal of Computational and Nonlinear Dynamics. Includes two footnotes added post-publication