2、稳定性基础概念:稳定性的数学定义、李雅普诺夫稳定性、输入输出稳定性
聊到力控系统,稳定性是绕不开的坎儿。
我刚开始做力控那会儿,总觉得只要PID参数调好了,系统就能稳稳当当。结果有一次在打磨机器人项目上,力控一上电就开始抖,工件表面全是波纹。查了三天,最后发现是稳定性边界没算清楚。嗯,从那以后,我对稳定性这三个字,是打心底里敬畏。
这一节,咱们就把稳定性的几个核心概念掰开揉碎。说白了,就是搞清楚一个问题:系统到底会不会失控?
2.1 稳定性的数学定义
先问个问题:什么叫稳定?
你推一下桌子上的水杯,它晃两下就停住了——这叫稳定。你推一下倒立的铅笔,它直接倒下——这叫不稳定。数学上,我们把这个直觉翻译成了严谨的语言。
经典定义(李雅普诺夫意义下的稳定性):
对于一个系统,如果初始状态离平衡点足够近,那么之后所有时刻的状态都能保持在平衡点附近,我们就说这个系统是稳定的。
用公式表达更清楚:
对于任意 ε > 0,存在 δ > 0,
使得当 ||x(0) - x_eq|| < δ 时,
对所有 t ≥ 0,都有 ||x(t) - x_eq|| < ε
你想想看,这个定义其实很直观。ε 是你允许的误差范围,δ 是初始偏差的容忍度。只要初始偏差足够小,系统就不会跑偏太远。
核心要点:稳定性不是「永远不动」,而是「受扰动后能回来,或者至少不跑远」。
我在项目中遇到过一种情况:力控系统在空载时很稳定,一加上负载就开始震荡。这就是典型的「初始条件依赖」——空载时初始偏差小,稳定;负载时等效刚度变了,稳定边界也跟着变了。
2.2 李雅普诺夫稳定性
李雅普诺夫老爷子在1892年提出了一个方法,至今仍是稳定性分析的基石。我个人习惯用他的第二法,因为不需要求解微分方程,直接看能量变化就行。
核心思想:
如果一个系统有「能量」,并且这个能量一直在减少,那系统最终一定会停下来。就像你推一个秋千,如果不继续推,它总会慢慢停住。
数学上,我们需要找到一个函数 V(x),满足:
- V(x) > 0,当 x ≠ 0(能量为正)
- V(0) = 0(平衡点能量为零)
- dV/dt < 0,沿系统轨迹(能量一直在减少)
如果找到这样的 V(x),系统就是稳定的。
实战技巧:对于力控系统,我经常用「动能 + 势能」作为候选李雅普诺夫函数。比如一个弹簧-质量系统,V = ½mv² + ½kx²,它的导数就是阻尼消耗的功率。如果阻尼为正,系统必然稳定。
我曾经踩过一个坑:在非线性力控中,用线性化的方法判断稳定性,结果实际系统却震荡了。为什么?因为线性化忽略了高阶项。后来改用李雅普诺夫直接法,才真正把稳定性边界算清楚。
三种稳定性等级:
| 类型 | 含义 | 力控中的例子 |
|---|---|---|
| 李雅普诺夫稳定 | 受扰后不跑远 | 力控输出有静差,但不发散 |
| 渐近稳定 | 受扰后回到平衡点 | 力控误差逐渐归零 |
| 大范围渐近稳定 | 任意初始状态都能回到平衡点 | 无论初始接触力多大,最终都能稳定 |
注意:实际力控系统很少能做到大范围渐近稳定。因为摩擦力、饱和、间隙等非线性因素,会限制稳定域的大小。我一般只要求「在期望工作点附近渐近稳定」就够了。
2.3 输入输出稳定性
李雅普诺夫稳定性关注的是「状态」,而输入输出稳定性关注的是「输入和输出的关系」。说白了就是:输入有界,输出是否也有界?
这个定义在工程中特别实用。你想想看,我们给力控系统发一个指令(输入),系统响应(输出)会不会失控?
BIBO稳定性定义:
对于任意有界输入 |u(t)| ≤ M_u,
输出满足 |y(t)| ≤ M_y,其中 M_y 为某个有限值
对于线性系统,BIBO稳定性等价于传递函数的所有极点都在左半平面。但对于非线性系统,情况就复杂多了。
我记得有一次做力控焊接,焊缝跟踪信号突然跳变(输入有界但变化剧烈),结果力控输出直接饱和,焊枪差点撞到工件。这就是典型的「输入有界但输出失控」——系统不是BIBO稳定的。
小增益定理:
在力控系统中,我们经常把系统拆成两个部分:控制器和被控对象。如果两者的增益乘积小于1,那么整个闭环系统就是输入输出稳定的。
实用公式:||G₁|| · ||G₂|| < 1,其中 G₁ 是控制器增益,G₂ 是被控对象增益。
这个定理我几乎每个项目都会用。比如调力控参数时,先估算一下被控对象的刚度范围,再反推控制器的增益上限,就能避免盲目试凑。
2.4 三种稳定性的关系
这三种稳定性不是孤立的,它们之间有联系,也有区别。
从图中可以看出:
- BIBO稳定是最弱的条件,只要求输入输出有界
- 李雅普诺夫稳定要求状态不跑远,但可能不收敛
- 渐近稳定是最强的,要求状态最终回到平衡点
实际工程中,我一般这样用:
- 做力控仿真时,先检查BIBO稳定性——确保不会发散
- 调参数时,用李雅普诺夫方法找稳定边界
- 最终验收时,验证渐近稳定性——看稳态误差是否为零
我的经验:对于大多数力控应用,BIBO稳定是底线,渐近稳定是目标。如果系统只能做到李雅普诺夫稳定(有静差),那就加个积分项,把它变成渐近稳定。
好了,这一节的内容就这些。稳定性概念虽然抽象,但说白了就是「系统会不会失控」的问题。搞清楚了数学定义、李雅普诺夫方法和BIBO稳定性,你就能在工程中快速判断一个力控系统靠不靠谱。
公众号:蓝海资料掘金营,微信deep3321