本文主要参考《Applied Nonlinear Control》(Slotine,Li等著)这本书。如有错误疏漏,烦请指出。如需转载,请联系笔者,Dr.shenyue@http://gmail.com。沈月:(2)Autonomous System的稳定性定义zhuanlan.zhihu.com
本文和另外一篇文章La Salle不变集原理与渐近稳定将讲述稳定性判断的一些定理,统称为Lyapunov直接法。之所以需要这些判定稳定性的定理,是因为就像Autonomous System的稳定性定义文中所讲:对于线性系统来说
,通常x(t)有解析解比如
,根据解析解,画出它的曲线,就可以看出系统稳定不稳定了。对于非线性系统或者时变系统,也就是
不是状态量x的线性方式,因为非线性微分方程求解非常非常难,通常得不到x(t)解析解,就不能通过画出它的曲线看出稳定性,这时候就需要借助一些稳定性判定的工具了。
一、正定和半正定函数
函数V(x),如果x取值在半径为Ro的球内,且满足V(x)是标量函数
V(x)是连续函数
x=0时, V(x)=0
x不等于0时,V(x)>0(或者V(x)<0)
那么我们称V(x)是局部正定(负定)的。如果Ro换成无穷大,以上两个条件依然满足,则称V(x)是全局正定(负定)的。如果以上前3个条件不变,第4个条件变成
(或者
),那么称V(x)是局部或全局半正定(半负定)的。
为什么要求V(x)具有这些性质呢?为了保证在V(x)在该区域内有唯一的最小值(unique minimum)。为什么不希望拥有两个或者多个最小值?多个最小值,就无法确定系统收敛到哪个最小值,无法确认收敛在哪里,就意味着无法控制系统到指定位置,这是谁都不喜欢也不想要的。
二、李雅普诺夫函数
V(x)在x取值为半径为Ro的球内,被认定是李雅普诺夫函数,必须满足以下6个条件V(x)正定的(不是半正定)
V(x)对x具有连续一阶偏导(不是对t)
是半负定的(不是负定)
三、平衡点的稳定性定义
平衡点x=0被认为是稳定的,如果任意给定R>0,总能找到一个r>0,只要x(0)起始于r的球内,经过时间t,x(t)是总在待在R球内。
平衡点x=0被认为是不稳定的,如果存在至少一个给定的R>0,永远无法找到r>0,使得只要x(0)起始于r的球内,经过时间t,x(t)是总在待在R球内。也就是无论你怎么找r,哪怕r无限接近于0,只要r>0,r不等于0,那么x(t)永远会跑出R球。
四、针对平衡点的局部稳定与全局稳定判定
通常一个Lyapunov定理有如下的形式:存在
满足某些条件,那么系统的trajectory,也就是x(t)会满足一些性质,比如收敛或者有界之类的性质。
局部稳定李雅普诺夫定理(Lyapunov Theorem for Local Stability):如果存在至少一个函数V(x)在x取值为半径为Ro的球内,满足 是局部正定的
具有局部对x的连续一阶偏导(注意不是对t)
是局部半负定的
那么称平衡点0(为什么这里是说平衡点0,不是平衡点1,或者任意初始状态x0?)是局部稳定的。如果
变成是负定,那么称平衡点0是局部渐近稳定的。关于函数和它的一阶导数的渐近特性:(1)微积分的一个最基本的结论之一:函数V(x)是有下界的(lower bounded),并且函数的一阶导数
是小于等于0,那么该函数一定收敛于一个值(具体哪个值,不知道);(2)函数的一阶导数
,推不出函数本身收敛。比如
,一阶导数收敛于0,但是函数本身一直在非常缓慢地正弦波动;(3)函数f收敛,推不出函数的一阶导数 。比如
,函数收敛,一阶导数却趋于无穷,函数在收敛的值上下快速波动。
Barbalat‘s Lemma:函数f可导,且随着
,函数f存在有限极限;如果进一步函数f的一阶导数
一致连续(比“连续”要求更高),那么函数的一阶导数
。
这里跑题唠叨一句:一致连续就是如果对连续函数f(x),任意选取x的某个宽度的
,总能找到某个长度的对应的
,使得宽为
、高为
的矩形窗口,如果沿着f(x)曲线上走,所有的f(x)都在该窗口内部。如果任意选取x的某个宽度的
,永远找不到对应高度的
也就是高度只能是无穷,那么连续函数f(x)就不是一致连续。
疑问:以上定理中稳定的结论是怎么得到的?基于微积分的一个最基本的结论之一:函数V(x)是有下界的(lower bounded),并且函数的一阶导数是小于等于0,那么该函数一定收敛于一个值。V(x)正定,保证了V(x)有下界0。加上V(x)的一阶导数是半负定的,就保证V(x)会收敛到一个值,所以稳定。如果V(x)的一阶导数是负定的,就保证V(x)一定收敛到它的下界0,又因为V(x)是正定的【意味着只有在x=0时,V(x)才等于0】,所以V(x)=0一定推出x=0,也就是系统状态收敛到0,所以系统渐近稳定。
全局稳定李雅普诺夫定理(Lyapunov Theorem for Global Stability):全局稳定只是简单地把局部稳定定义中的x的取值半径Ro扩大为无穷大吗?答案是NO!那么全局稳定还需要哪些额外条件呢?平衡点0被认为是全局稳定的,除了满足局部稳定的3个条件,把半径Ro扩大为无穷大,还必须满足的额外条件:x趋于无穷时,V(x)必须也趋于无穷(Radially unbounded)。(x是向量时,x中任意一个元素趋于无穷,V(x)必须趋于无穷。例如
就不满足x趋于无穷时V(x)为无穷,V(x)反而趋于0)
Remarks本文第四段基于李雅普诺夫函数下得出的稳定性结论只是充分条件,不是必要条件。
同一个系统,可能存在多个李雅普诺夫函数。假设V(x)是一个系统的李雅普诺夫函数,那么a*V(x)也是该系统的李雅普诺夫函数(要求a>0)。V(x)的b次方(要求b>1)也是该系统的李雅普诺夫函数。
有些选择的李雅普诺夫函数得出的稳定性结论,可能另外一些李雅普诺夫函数,可能得出渐近稳定的结论。即选择有些李雅普诺夫函数得出的稳定性结论可能会比其他的保守。
一个V(x)无法满足推出
负定或者半负定的要求,不代表该系统不稳定。它只是告诉你,这个V(x)选择不对,你可能需要尝试另外一个不同的V(x)。
系统的不变集其实不只是平衡点,只针对平衡点进行稳定性判定,结论太保守。
五、总结
局部稳定李雅普诺夫定理(Lyapunov Theorem for Local Stability)和全局稳定李雅普诺夫定理(Lyapunov Theorem for Global Stability)构成了Equilibrium Point Theorems,因为都是针对平衡点得出的稳定性结论!