# Effiecient computation of coriollis matrix

I want to perform kinodynamic motion planning on a 6DoF hybrid manipulator. I calculated mass matrix, coriollis matrix etc using the lagrangian method. The coriollis matirx was calculated symbolically from the mass matirx using christoffel symbols. But this calculation takes too much time for me. I was wondering if there is any way by which the coriollis matrix may be calculated in a more faster and efficient way?

## 2 Answers

You can try to do some optimization of your computations. Things you can try

• Simplify the expression in your symbolic computation program. In matlab for example this is done with the 'simplify' command.

• If you do not need a super high precision then change the variable type to a lower precision. For example change the double type to float, it will go from 64 bits precision to 32 bits precision.

• Usually this computations include a lot of sines and cosines computations but most of them are just repeated computations of them. You can do all the sines and cosines computations prior to compute the coriolis matrix. Then your coriolis computation will only be a set of sums and multiplications. I could reduce to almost half the computation time by doing this trick of computing this values first and later just insert them in the matrix.

The Robotics Toolbox for MATLAB has a CodeGenerator class which takes a serial-link robot model SerialLink expressed in terms of Denavit-Hartenberg parameters and generates efficient C code for all the dynamic terms: mass matrix, Coriolis/centripetal and gravity. It uses recursive Newton-Euler and the method of Orin and Walker, the equations are computed symbolically, simplified and then converted to C code.