本节主要介绍KDL库中动力学部分

动力学类中包含正动力学类和逆动力学类,其中逆动力学类中还包括混合动力学(比方说双足机器人中双脚周期性与地面接触和分离的动力学)

动力学求解算法采用的是 迭代牛顿欧拉方程

在Roy的书籍中,给出了逆动力学的RNE算法的实现过程

简单来说就是两条链:

正向链:递推速度和加速度

逆向链:递推力

逆动力学ENE类,用语求解运动链的逆动力学,以下给出了成员变量与构造函数

以下给出了核心方法CartToJnt,实现了RNE算法

正动力学算法也是RNE算法,首先求解逆动力学,然后求解非惯性项,然后求解加速度

正动力学RNE的成员变量与构造函数

核心方法CartToJnt,实现了求解加速度,然后利用四阶Runge-Kutta算法求解期望位置和速度

接下来一部分主要介绍了惯性参数,科氏力参数,重力项的求解

以下是动力学参数类的成员变量与构造函数

以下是通过三个核心方法求解动力学参数

Reference

  1. orocos.org/wiki/Kinemat
  2.  blog.csdn.net/u01417006
  3. blog.csdn.net/gpeng832/
  4. 林沛群. 机器人学. 国立台湾大学
  5. Roy Feather著 《Rigid Body Dynamics Algorithm》