机器人动力学分析
机器人动力学分析方法包括牛顿欧拉法、拉格朗日法、高斯法、凯恩方法等。
Matlab 提供的逆动力学采用的是牛顿欧拉法(RNE——Recursive Newton-Euler)。该方法需要三个参数:给定最终的角度、速度、角加速度,返回各个关节所需要的力矩。可选参数有重力加速度和负载 fext。
牛顿欧拉法
我们的目标是给定机器人的关节位置 q、速度 qd 和加速度 qdd,计算出为了产生这个运动状态,每个关节需要施加多大的驱动力矩。
注意区分静力学与动力学。"力域雅可比"解决的是静力学或外力映射问题,目的是将作用在机器人末端执行器上的外力/力矩映射到对应的关节空间力矩。
区别在于:一个是给定运动状态,计算每个关节为了达到这个运动状态需要多大力;另一个则是给定末端的力,计算这个力分配在各个关节上是多大。
牛顿欧拉法的精髓在于正推和逆推:
- 正向递推(Forward Recursion):从基座到末端,计算每个连杆的速度、加速度。
- 反向递推(Backward Recursion):从末端到基座,计算每个关节需要提供的力和力矩。
动力学的核心是构建一个**'运动状态 - 力学参数'**的方程。已知各个关节的关节空间的速度、角速度、加速度,通过正推构建线速度、线加速度、角速度、角加速度以及质心和端点的速度关系。最难理解的是对 Zi 轴的求导,需拆成先微分再对时间求导。
构建运动状态和力的关系的等式如下:
牛顿方程:
用于解决刚体平移的动力学刻画,沟通力与线加速度的关系。
欧拉方程:
用于解决刚体旋转的动力学刻画,沟通力矩与角速度、角加速度的关系。
其中,



