#本系列文章为笔者自学非线性控制理论的学习记录,如有不正之处欢迎指正
#参考书籍《非线性控制》Hassan K. Khalil
1.非线性模型
系统的状态方程为:
式中,x为系统的状态变量,用来表示动态系统对于之前行为的一种记忆,u为输入变量。
系统的输出方程为:
式中,y为系统的输出变量,即可以物理测量到的信息或者用来刻画一些具体特征的变量。上述两式一起称为系统的状态空间模型。
对于线性系统而言,状态模型可以表述为:
若系统已经指定了输入,或采用了状态反馈
或
,则系统的状态方程将演变为下式所示的无控制系统的形式:
2.Lipschitz条件
对上述无控制系统的状态方程,通常要求在讨论的范围内是关于t分段连续的,而关于x是局部Lipschitz的。首先阐述要求函数f关于时间分段连续的原因:
依赖于输入量
,而它可能会随着时间阶跃型改变。下面具体阐述Lipschitz条件。
2.1Lipschitz条件定义
对于一个给定的,称
在点x0附近关于x是局部Lipschitz的,即存在x0的一个邻域N(x0,r)和正常数L,使得
对一切
和
均满足下面的Lipschitz条件:
其中,范数定义为2-范数。
称函数在其定义域
(D是开的连通的)上是局部Lipschitz的,意味着它在D上的任意一点x0是局部Lipschitz的。W是一个集合,若对于W上的任意两点x,y,均满足Lipschitz条件,且L与x,y的选择无关,那么称
在W上是Lipschitz的。在D上满足局部Lipschitz条件的函数可能不是Lipschitz的,因为L可能依赖于x。然而对于D中的一个紧子集,局部Lipschitz的函数必定是Lipschitz的。
如果一个函数在上的Lipschitz的,则称它是全局lipschitz的。
几何意义上,Lipschitz条件对函数的斜率进行了约束,任何一个在某点具有无穷大斜率的函数不可能在该点是Lipschitz的。然而如果在x0处是连续的,那么它在x0的邻域内是有界的,即存在常数k使得
,则函数
在x0的邻域内满足局部Lipschitz条件,且L可以取为k。
一般的结论如下:
如果对,
,
及其偏导数
都是连续的,则
在D上是局部Lipschitz的。
如果及其偏导数
在
上都是连续的,则
是全局Lipschitz的充要条件是:
是全局有界的,且存在一个不依赖于t,x的常数k,使得对于一切t,x,
。
2.2应用
的Lipschitz性质用来保证状态方程式的解的存在性和唯一性。
引理1:设关于t是分段连续的,并且对所有的
,
在x0处是局部Lipschitz的,那么存在
,使状态方程
的初值问题
在
上存在唯一解。
引理1只是一个局部的结论,它只保证了在区间上解的存在和唯一,这个区间可能小于给定的
。例如,对于一维系统
,其函数对所有的x都是局部Lipschitz的,但如果将初值取为
,则方程的解为
,当t趋于1时,解就不存在了。这里我们称这个解具有有限逃逸时间
。
下面两个引理将给出解全局存在和唯一的条件。
引理2:设关于t是分段连续的,并且对所有的
,
是全局Lipschitz的,那么状态方程
的初值问题
在
上存在唯一解。
例如,如下的线性系统满足全局Lipschitz条件:,其中,
对所有的
均成立。
对一般的非线性系统而言,引理2的全局Lipschitz条件限制过强,引理3可以不需要这个条件。
引理3:设关于t是分段连续的,并且对所有的
,在关于x的区域
上
是局部Lipschitz的。设W是D中的一个紧子集,
,并进一步设
,
的解在
时都在W内,那么这个解就是方程的唯一解。
应用引理3的技巧在于只要判断解是否都包含在一个紧集之内,而不必解出状态方程。
3.实例应用(判断局部或全局Lipschitz)
3.1单摆
选取状态变量,单摆系统的状态方程可写为如下形式:
式中的b,c为与系统参数相关的常数,u为输入量,设为连续函数。
对函数求偏导:
对于,函数f(x)及其偏导数都是连续的,且偏导数在
上是全局有界的,满足
,所以f(x)是全局Lipschitz的。
3.2单关节机械臂
一个具有单关节机械臂在忽略阻尼作用后可用下面的非线性动态方程组描述:
其中,q1和q2是转角,I和J是转动惯量,k是弹性系数,M是总质量,L是距离,u是输入的力矩。
设状态变量
状态方程表示为:
对于,函数f(x)是连续的。下面对f(x)求偏导:
显然偏导数也是连续的,且偏导数全局有界,所以f(x)是全局Lipschitz的。