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)$ 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. Implementation in C/C++ shows computation times on the order of 10-20 $\mu$s for the Coriolis matrix and 40-120 $\mu$s 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.
翻译:本条介绍了有效计算树结构硬体系统Coriolis矩阵和基底Christoffel符号(第一种类型)的方法。算法可以纯粹以数字方式执行,而不必像无法缩放的符号技术那样要求部分衍生物。计算方法与Complite-Rigid-Body Algorithm等古典方法相同,具有共通性,并处于最低的顺序:Coriolis矩阵为$O(Nd)美元,Christoffel符号为$O(Nd)2美元,其中单位为美元是体数,美元是运动树的深度。C/C++/C显示Coriolis矩阵的计算时间为10-20美元,在具有20度自由度的系统中的Christoffel符号为40-120美元。结果显示在高率($>1kHz)环中采用这些算法的可行性,用于模型控制应用。