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

10/02/2020
by   Sebastian Echeandia, et al.
0

The growth of model-based control strategies for robotics platforms has led to the need for additional rigid-body-dynamics algorithms to support their operation. Toward addressing this need, this article summarizes efficient numerical methods to compute the Coriolis matrix and underlying Christoffel Symbols (of the first kind) for tree-structure rigid-body systems. The resulting algorithms can be executed purely numerically, without requiring any partial derivatives that would be required in symbolic techniques that do not scale. Properties of the presented algorithms share recursive structure in common with classical methods such as the Composite-Rigid-Body Algorithm. The algorithms presented are of the lowest possible order: O(Nd) for the Coriolis Matrix and O(Nd^2) for the Christoffel symbols, where N is the number of bodies and d is the depth of the kinematic tree. A method of order O(Nd) is also provided to compute the time derivative of the mass matrix. A numerical implementation of these algorithms in C/C++ is benchmarked showing computation times on the order of 10-20 μs for the computation of the Coriolis matrix and 40-120 μs for the computation of the Christoffel symbols for systems with 20 degrees of freedom. These results demonstrate feasibility for the adoption of these numerical methods within control loops that need to operate at 1kHz rates or higher, as is commonly required for model-based control applications.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset