机械臂笔记(五)机械臂的动力学模型(欧拉-拉格朗日方程)
通过机器人的(逆)运动学可以将机械臂运动到给定的位姿,但是仅适合轻载、低速、无接触的工况,因为无法判断力矩是否合理、是否会激发振动、是否与系统惯量匹配。而通过引入动力学,则可以让机械臂按照需要的加速度运动,实现运动地稳、准、快、省、柔。
一维欧拉-拉格朗日方程推导
假设有以下粒子,受管道约束只能上下移动,并且约束力满足虚功原理。

根据牛顿第二定律,该质点的运动方程为:
将式右边先对时间求导、再对速度 求偏导,可得:
其中 表示质点的动能,接下来表示质点的重力势能:
其中 表示质点的重力势能。
之后我们定义拉格朗日算子,表示动能与势能之差:
并且有:
联立式,初始的质点运动学方程可以化为:
联立式,,进一步得到:
方程 被称为欧拉-拉格朗日方程。推广到 个自由度的系统,可得:
上面方程中:
- 表示第 个广义坐标,在机器人中可以表示转角或直线位移
- 表示拉格朗日量,包含动能和势能
- 表示与 对应的广义动量
- 表示惯性项,对加速度的反抗
- 表示保守力项,构型变化对能量的影响
- 表示第 个广义力(矩)
由虚功原理:
将其对应机械臂的各个关节旧容易理解一些了:

高维推广
在高维情况下,我们通过一组广义坐标来表示系统的动能和势能。
动能表示
刚体的动能是平移动能和旋转动能之和:
其中 表示物体的惯性张量,是一个 的矩阵。, 是附体坐标系(随刚体运动)与惯性坐标系(世界坐标系)之间的姿态变换。 是附体坐标系中的惯性张量,仅取决于物体的形状和质量分布,与物体的运动无关。
展开 的计算
其中,各元素的计算如下:
连杆上任意一点的线速度和角速度可以通过雅可比矩阵和关节速度表示:
表示第 个连杆的线(角)速度雅可比矩阵,依赖于构型。映射是线性的。
则某一关机的动能可以表示为如下()是常数:
于是,机械臂的总动能可以表示为:
可以用 表示机器人的惯性矩阵:
则式可以化简为如下形式:
机器人惯性矩阵 具有以下特点:
- 只与机械臂/机器人的构型有关
- 对称且正定
- 动能总是非负的
势能表示
假设物体质量集中在质心,计算第个连杆的势能:
其中:
- 表示重力加速度向量,
- 表示第 个连杆质心在惯性(世界)坐标系中的位置向量。
则系统的总势能为:
在 是常数的情况下,机器人势能只与 有关。
运动方程
由式,系统的动能是关于广义速度(坐标微分)的二次函数:
是矩阵的第个元素。
结合势能方程 可以得到欧拉-拉格朗日算子:
第 个关节的欧拉-拉格朗日方程为:
其中:
因此,对于每一个,欧拉-拉格朗日方程可以写为:
定义Christoffel symbol:
定义广义重力:
最终得到欧拉-拉格朗日方程:
方程可简写为:
其中,方程中各项的意义分别是:
- :n×n惯性矩阵
- :科氏力和离心力矩阵
- :重力项
- :关节力矩向量
实际应用
单摆
对于长度为、质量为的单摆,角度为:
- 动能:
- 势能:
- 欧拉-拉格朗日算子:
应用欧拉-拉格朗日方程得到:
如果所受外力为0 的情况下有:
两边同时除以,可以得到单摆的非线性运动方程:
如果需要 按照某条轨迹走,则根据式,需要施加外力:
力 应该以逆时针为正方向。
推导平面2关节机械臂动力学模型
现有2 关节机械臂如下图所示:

| 参数 | 长度 | 质量 | 角度 |
|---|
| 连杆1 | | | |
| 连杆2 | | | |
首先求连杆质心的位置:
线速度的雅可比矩阵定义:
其中,,是一个关于 的函数,而,是一组关于时间 的函数。
根据链式法则:
可得线速度的雅可比矩阵为:
其中雅可比矩阵:
其线速度对应的动能为:
下面考虑转动部分动能:
其中,表示方向向量。
因为与每个关节坐标系的 轴对齐,所以旋转动能可以简单的表示为:,其中 是转动惯量,它的轴线穿过连杆的质心且平行于轴。因此,对于广义坐标系,整个系统的旋转功能为:
结合式 可得,惯性矩阵:
与相关的惯性耦合耦合与相关的惯性结合式 可得:
结合式 可得:
接下来计算势能,机械臂的势能等于两个连杆的势能之和:
之前的广义重力 可变为:
结合式,最后可以写出系统的动力学方程:
结合式在这种情况下,原方程矩阵 由下式给出:
虚功原理的几何意义不过是说约束力,与运动轨迹垂直。
参考资料
- 从理论力学到机器人动力学(二):虚功原理与雅可比矩阵
- 基于欧拉-拉格朗日方程的机器人动力学模型
- 虛功原理及歐拉-拉格朗日方程式 | 数学播客 2021年12月 45卷4期