4. 动力学建模(上):拉格朗日方程法、动能与势能计算、广义力与驱动力矩
各位工程师朋友,大家好。今天我们进入并联机构控制中最核心、也最“劝退”的一环——动力学建模。
说实话,我刚入行那会儿,看到拉格朗日方程也是一头雾水。心想:搞个机器人,直接给电机发指令不就行了?干嘛要折腾这些数学公式?直到有一次,我负责一台高速并联机械手,空载跑得挺好,一抓取工件就开始抖,甚至丢步。那时候我才明白——没有动力学模型,你的控制器就是个瞎子。
好,咱们不扯远了。今天先讲上半部分:拉格朗日方程法、动能与势能计算、广义力与驱动力矩。这些都是后续鲁棒控制的基础。
4.1 为什么选拉格朗日法?
并联机构的动力学建模,主流方法就两种:牛顿-欧拉法和拉格朗日法。
我个人习惯用拉格朗日法。为什么?
- 省心:不用处理内部约束力。牛顿-欧拉法需要你列出每个构件的力平衡方程,并联机构闭环多,约束力能把你算到崩溃。
- 结构化:拉格朗日法从能量角度出发,流程固定。你只要算动能、势能,然后套公式就行。
- 适合控制:最终得到的方程形式是
M(q)q̈ + C(q,q̇)q̇ + G(q) = τ,这正好是鲁棒控制的标准输入。
4.2 拉格朗日方程的标准形式
先看公式,别怕,就一行:
d/dt (∂L/∂q̇) - ∂L/∂q = τ
其中:
L = T - V,叫拉格朗日函数。T是系统总动能,V是总势能。q是广义坐标。对于并联机构,通常选主动关节的转角或位移。q̇是广义速度。τ是广义力,对应驱动力矩或力。
说白了,这个方程就是在告诉你:系统的运动,是动能和势能相互转化的结果。你只要把T和V算清楚,剩下的交给公式。
4.3 动能计算——别小看转动惯量
动能分两部分:平动动能和转动动能。
对于第i个构件:
T_i = 0.5 * m_i * v_i^T * v_i + 0.5 * ω_i^T * I_i * ω_i
其中:
m_i是质量v_i是质心速度ω_i是角速度I_i是惯性张量
系统总动能:
T = Σ T_i
这里有个坑——速度雅可比矩阵。因为并联机构的运动是耦合的,每个构件的速度都要用广义速度表示:
v_i = J_v_i(q) * q̇
ω_i = J_ω_i(q) * q̇
代入后,动能可以写成:
T = 0.5 * q̇^T * M(q) * q̇
这个 M(q) 就是质量矩阵。它跟位置有关,不是常数。这也是并联机构控制难的原因之一——惯性在变。
4.4 势能计算——重力是主要来源
对于大多数并联机构,势能主要来自重力:
V_i = m_i * g * h_i
其中 h_i 是质心高度。系统总势能:
V = Σ V_i
注意:如果机构中有弹簧(比如一些柔顺并联机构),还要加上弹性势能 0.5 * k * x^2。
势能计算相对简单,但容易出错的地方是参考零点的选择。我建议统一选在基座坐标系的原点高度。这样所有构件的高度都是相对于同一个基准,不容易乱。
4.5 广义力与驱动力矩
广义力 τ 对应的是广义坐标上的驱动力或力矩。对于旋转关节,广义力就是驱动力矩;对于移动关节,就是驱动力。
但这里有个关键点:广义力不一定是电机输出力矩。因为并联机构通常有传动机构(比如连杆、减速器、同步带),你需要考虑传动比和效率。
举个例子:
- 如果电机经过减速比为
n的减速器驱动关节,那么τ_joint = n * τ_motor(忽略摩擦)。 - 如果还有平行四边形机构,力的传递关系会更复杂。
我在实际项目中,通常把传动模型单独拎出来,写成:
τ_joint = T * τ_motor - τ_friction
其中 T 是传动矩阵,τ_friction 是摩擦力矩。这样模块化,调试起来方便。
4.6 知识体系总览
下面这张图,是我自己总结的动力学建模流程。每次做新项目,我都按这个步骤走,基本不会漏东西。
这张图把整个流程串起来了。你按这个顺序做,每一步都有明确的目标。我建议你在做具体机构时,把这张图打印出来贴在工位上,对照着一步步算。
4.7 一个简单的例子:平面五杆机构
光讲理论太干,咱们看个具体例子。平面五杆机构是典型的并联机构,两个主动臂,一个末端点。
建模步骤:
- 选广义坐标:两个主动关节角 q1, q2。自由度是2。
- 算位置和速度:用几何关系求出每个杆的质心位置,然后对时间求导得到速度。
- 算动能:每个杆的平动动能 + 转动动能,加起来。
- 算势能:每个杆的重力势能,参考零点选在基座高度。
- 代入拉格朗日方程:得到两个方程,写成矩阵形式。
最终结果长这样:
M(q) * q̈ + C(q,q̇) * q̇ + G(q) = τ
其中:
M(q)是 2x2 的质量矩阵C(q,q̇)是科里奥利力和离心力矩阵G(q)是重力项τ是两个主动关节的驱动力矩
4.8 本章小结
好了,今天的内容就到这里。咱们捋一下重点:
- 拉格朗日法从能量角度建模,不用管内部约束力,适合并联机构。
- 动能计算要小心雅可比矩阵,势能主要考虑重力。
- 广义力不直接等于电机力矩,要考虑传动比和效率。
- 最终模型形式是
M(q)q̈ + C(q,q̇)q̇ + G(q) = τ,这是后续控制的基础。
下一章我们继续讲动力学建模的下半部分——如何用虚功原理处理约束力,以及如何把模型写成适合实时计算的形式。到时候我会分享一个我在Delta机器人上实际用过的代码框架。
各位先消化一下今天的内容。有条件的,找个简单的并联机构(比如平面五杆),自己动手算一遍。纸上得来终觉浅,绝知此事要躬行。
公众号:蓝海资料掘金营,微信deep3321