机器人动力学分析概述
机器人动力学分析主要包含牛顿欧拉法、拉格朗日法、高斯法及凯恩方法等。其中,MATLAB 提供的逆动力学算法(RNE)采用的是Recursive Newton-Euler(递归牛顿欧拉法)。
该方法需要三个输入参数:最终关节角度、速度及角加速度,返回各关节所需的力矩。可选参数包括重力加速度和外部负载。
目标与定义
我们的目标是:给定机器人的关节位置 q、速度 qd 和加速度 qdd,计算出为了产生这个运动状态,每个关节需要施加多大的驱动力矩。
初学者常将此处与'力域雅可比'混淆。力域雅可比解决的是静力学或外力映射问题,旨在将作用在末端执行器上的外力/力矩映射到对应的关节空间力矩。
两者的区别在于:一个是给定运动状态计算所需力;另一个则是给定末端的力,计算分配在各关节上的大小。
核心逻辑:正推与逆推
牛顿欧拉法的精髓在于正向递推与反向递推的结合:
- 正向递推(Forward Recursion):从基座到末端,计算每个连杆的速度、加速度。
- 反向递推(Backward Recursion):从末端到基座,计算每个关节需要提供的力和力矩。
动力学的核心是构建一个'运动状态 - 力学参数'的方程。我们需要知道各个关节的'真实速度',并将前一个坐标系的运动参数传递给下一个坐标系。这涉及线速度、线加速度、角速度、角加速度以及质心和端点的速度关系。
构建运动状态和力的关系的等式如下:
牛顿方程:
用于解决刚体平移的动力学刻画,沟通力与线加速度的关系。
欧拉方程:
用于解决刚体旋转的动力学刻画,沟通力矩与角速度、角加速度的关系。
其中, 是刚体在 {C} 中的惯性张量。要得到连杆质心的力和力矩,必须先求得线加速度、角速度及角加速度。
















