写在前面
通过反馈和坐标变化来消除系统非线性的控制方法,称为反馈线性化。
反馈线性化(feedback linearization)是用来设计非线性系统(nonlinear systems)控制器的主要方法之一。本文由具有柔性关节的单连杆操纵臂控制实例出发,介绍反馈线性化的基本概念。通过选取不同的系统输出,具有柔性关节的单连杆操纵臂可以是一个相对阶为4没有内部动力学的系统,也可以是相对阶为2的最小相位系统。一个实例足以覆盖本文全部讲解内容,这也是我选择这个实例的原因。一些术语的中文翻译不一定准确,我将必要的英文原文写在后面,实际翻译以专业的参考书为准。
本文并不涉及模型不确定性(model uncertainty)的处理方法,以及不可反馈线性化(not feedback linearizable)的非线性系统控制方法。前者通常以自适应(adaptive)的方法处理,后者可以使用反步法(backstepping),这两块如果我以后有空会在后续文章里详细讲解。
机械臂模型
考虑竖直平面上的具有柔性关节的单连杆操纵臂(the single-link manipulator with flexible joint),其拥有2个自由度,即关节角α和电机角θ。假设连杆末端固定有重物,且连杆本身质量相对重物可以忽略不计,重力零点位于连杆最低点。
图1. 竖直平面上的具有柔性关节的单连杆操纵臂
用拉格朗日方程求解数学模型,系统的势能(重力Vg和弹性Vs)和动能(hubKh和linkKl)为
VgVsKhKl=mgl(1−cosα),=21Ks(α−θ)2,=21Jhθ˙2,=21Joα˙2+21m(lα˙)2,
其中Jh、Jo分别为hub和重物关于各自重心的转动惯量。为了简化变量,定义Jl=Jo+ml2作为link的转动惯量,这也是我们熟悉的平行轴定理。
由L=K−V,得到拉格朗日运动方程(Lagrange function of motion)为
dtd∂α˙∂L−∂α∂Ldtd∂θ˙∂L−∂θ∂L=0,=τ。
经过运算得到数学模型
Jlα¨+mglsinα+Ks(α−θ)Jhθ¨−Ks(α−θ)=0,=τ。
令x1=α,x2=α˙,x3=θ,x4=θ˙。则有状态空间(state-space)模型
⎣⎢⎢⎡x˙1x˙2x˙3x˙4⎦⎥⎥⎤=⎣⎢⎢⎡x2−Jlmglsinx1−JlKs(x1−x3)x4JhKs(x1−x3)⎦⎥⎥⎤+⎣⎢⎢⎡000Jh1⎦⎥⎥⎤τ。(1)
输入-状态反馈线性化
形如式(1)的非线性系统称为仿射非线性系统(affine nonlinear system),其一般形式为
x˙=f(x)+g(x)u。
仿射非线性系统最有可能通过状态变换(state transformations)转化为可反馈线性化系统,因为控制量u显式出现在动力学中。下面我们针对仿射非线性系统进行分析。
坐标变换和微分同胚
对于非线性系统,定义坐标变换z=T(x),其中T:Rn→Rn是微分同胚(diffeomorphism)。也就是说T光滑(smooth),即连续可微,同时T−1存在且光滑。
对于线性系统,微分同胚等价于T为可逆矩阵,而且该性质是全局(global)的,即在全部Rn空间成立。而对于非线性系统,全局微分同胚的证明不容易,大多数情况只能证明局部(local)微分同胚,即在一个范围(region)Ω∈Rn成立。我们可以通过隐函数定理(implicit function theorem)证明局部微分同胚的存在性。
引理1:令T(x)为范围Ω∈Rn上的一个光滑函数。若雅可比矩阵∇T=∂x∂T在点x0∈Ω处非奇异(nonsingular),则T(x)在Ω的子范围是一个局部微分同胚。
输入-状态可反馈线性化的条件
非线性系统x˙=f(x)+g(x)u被称为输入-状态可反馈线性化(input-state feedback linearizable),如果存在一个微分同胚z=T(x),T(0)=0,使得
z˙=Az+Bβ−1(z)[u−α(z)],
其中(A,B)可控,且β(z)是可逆矩阵对所有z∈Ω⊂Rn都成立。上式称为z-动力学(z-dynamics),即非线性系统经过反馈线性化后的正规形式(normal form)。
机械臂实例1
考虑机械臂模型和微分同胚z=T(x)
z1z2z3z4=x1,=x2,=−Jlmglsinx1−JlKs(x1−x3),=−Jlmglx2cosx1−JlKs(x2−x4)。
系统在z-坐标下的动力学为
z˙1z˙2z˙3z˙4=z2,=z3,=z4,=−z3(Jlmglcosz1+JlKs+JhKs)+Jlmgl(z22−JhKs)sinz1+JlJhKsτ。(2)
因此,如果我们选择控制器
τ=KsJlJh[v+z3(Jlmglcosz1+JlKs+JhKs)−Jlmgl(z22−JhKs)sinz1],
则可以得到线性系统
z˙1z˙2z˙3z˙4=z2,=z3,=z4,=v。
输入-输出反馈线性化
有时候我们没必要或者无法将非线性系统(1)的全部状态反馈线性化,可以只关心部分状态的组合作为系统的输出,于是有输入-输出反馈线性化(input-output linearization)的概念。
相对阶和李导数
考虑单输入单输出(SISO)非线性系统
x˙y=f(x)+g(x)u,=h(x),(3)
其中u∈R,y∈R,x∈Rn,且f,g,h在域(domain)D⊂Rn上充分光滑(sufficiently smooth)。
注意:这里之所以说充分光滑,是因为没有必要C∞。若相对阶为r,保证Cr即可。
求得y关于时间的导数为
y˙=∂x∂h(x)f(x)+∂x∂h(x)g(x)u。
如果∂x∂h(x)g(x)=0对任意x∈D0成立,那么该非线性系统被称为在域D0上相对阶(relative degree)为1。也就是说,u显式出现(explicitly appear)在y˙中,而当u显式出现在y中时,我们称该非线性系统相对阶为0。如果∂x∂h(x)g(x)=0,那么我们继续求导,直到u第一次显式出现。
为了方便重复求导,我们定义李导数(Lie derivative)。函数h关于(with respect to)f的李导数记作
Lfh(x)=∂x∂h(x)f(x)。
基于李导数,我们有
Lfkh(x)LgLfkh(x)=LfLfk−1h(x)=∂x∂(Lfk−1h(x))f(x),=∂x∂(Lfkh(x))g(x)。
如果Lgh(x)=0,即相对阶大于1,那么继续求导直到LgLfr−1h(x)=0在r时第一次成立,即u显式出现在y的r阶导数y(r)中,此时称该非线性系统的相对阶为r。
输入-输出可反馈线性化的条件
如果非线性系统相对阶为r,那么LgLfih(x)=0,∀i=1,2,⋯,r−2,同时y(r)=Lfrh(x)+LgLfr−1h(x)u。此时y系统输入-输出可反馈线性化(input-output linearizable),相应的状态反馈控制器为
u=LgLfr−1h(x)1[v−Lfrh(x)]。
除非r=n,该非线性系统仍有部分状态不受u控制,剩下的(n−r)个状态定义了该非线性系统的零动力学(zero dynamics)。对于一个相对阶为r的系统,存在微分同胚z=T(x)使得非线性系统(3)转化为输入-输出可反馈线性化标准型(input-output linearizable canonical form)
η˙ζ˙y=ϕ(η,ζ),=A0ζ+B0β0−1(η,ζ)[u−α0(η,ζ)],=C0ζ,
其中z=[ηT,ζT]T,η∈Rn−r,ζ∈Rr,且(A0,B0,C0)是标准型
A0=⎣⎢⎢⎢⎢⎢⎡00⋮0010001⋯⋱⋯00⋮10⎦⎥⎥⎥⎥⎥⎤,B0=⎣⎢⎢⎢⎢⎢⎡00⋮01⎦⎥⎥⎥⎥⎥⎤,C0=[10⋯00]。
由此可见非线性系统的正规形式被分解为(decomposed in)两部分,即能够被反馈线性化的ζ-动力学,以及表征(characterize)内部动力学(internal dynamics)的η变量(variables)。ζ-动力学对应的反馈控制器为
u=α0(η,ζ)+β0(η,ζ)v,(4)
其中
α0(η,ζ)=LgLfr−1h(x)Lfrh(x)∣∣∣∣∣x=T−1(η,ζ),β0(η,ζ)=LgLfr−1h(x)1∣∣∣∣∣x=T−1(η,ζ)
零动力学通过在η-动力学中设置ζ=0得到:η˙=ϕ(η,0),其不可观也无法被u控制,需要其自身具有一定的稳定属性(不一定非要渐进稳定)。
非线性系统(3)被称为最小相位(minimum phase),如果零动力学在域D上有一个渐近稳定的平衡点(asymptotically stable equilibrium)。
注意:1. 线性系统也可能有相对阶,即r=n,但是其零动力学也是线性的;2. 非线性系统的相对阶可能不明确(undefined),尤其当LgLfih(x)=0对某些x取值成立(即奇异点),此时该非线性系统不可转化为输入-输出可反馈线性化标准型。
跟踪控制器设计
假设控制目标(control objective)是让y(t)跟踪一个期望信号yd(t)。令e(t)=y(t)−yd(t)是跟踪误差。设计反馈控制器(4),其中v选择如下:
v=yd(r)−kr−1e(r−1)−⋯−k1e˙−k0e=yd(r)−j=0∑r−1kj(Lfjh(x)−yd(j))。
注意:为什么没有LgLfj−1h(x)?因为LgLfih(x)=0,∀i=1,2,⋯,r−2。
代入该反馈控制器,得到线性误差动力学
e(r)+kr−1e(r−1)+⋯+k1e˙+k0e=0。
通过合理选择参数(coefficients){k0,k1,⋯,kr−1},特征方程(characteristic equation)
s(r)+kr−1s(r−1)+⋯+k1s+k0=0
的根(root)可以任意分配(assign)。这意味着跟踪误差可以以指数速率(expoentially fast)渐进收敛于0。
下面考虑内部动力学η˙=ϕ(η,ζ)。令
yˉd(t)=[yd(t)y˙d(t)⋯ydr−1(t)]T。
假设yˉd(t)对所有t≥0有界(bounded),且η˙=ϕ(η,yˉd(t))的解意义明确(well defined)、有界,且一致(uniformly)渐进稳定,那么该反馈控制器保证全部状态有界,且跟踪误差指数收敛于0。
机械臂实例2
考虑与上节相同的机械臂模型。首先考虑输出y=x1,该情况下相对阶为4,与状态变换后的非线性系统(2)阶数相同,因此没有内部动力学。
下面考虑输出y=x3。对y求导数,
y˙y¨=x4,=JhKs(x1−x3)+Jl1τ。
因此,该情况下相对阶为2。设计反馈控制器为
u=Jl(y¨d−JhKs(x1−x3)−λ1(y−yd)−λ2(y˙−y˙d)),
其中λ1,λ2>0。零动力学为
x˙1x˙2=x2,=J1mglsinx1+JlKsx1,
即Jlα¨+mglsinα+Ksα=0,显然渐进稳定于原点。