通过坐标平移实现非完整约束系统的反馈线性化

通过坐标平移实现非完整约束系统的反馈线性化

学习用,翻译自YAMAMOTO Y, YUN X, 1992. Coordinating locomotion and manipulation of a mobile manipulator[C/OL]//[1992] Proceedings of the 31st IEEE Conference on Decision and Control. 2643-2648 卷3. DOI:10.1109/CDC.1992.371337.的部分

非完整系统

系统方程

考虑m个双边约束下具有n个广义坐标q的机械系统,其动力学方程可以通过欧拉拉格朗日方程
M ( q ) q ¨ + V ( q , q ˙ ) = E ( q ) τ − A T ( q ) λ (1) M(q)\ddot{q}+V(q,\dot{q})=E(q)\tau-A^T(q)\lambda \tag{1} M(q)q¨+V(q,q˙)=E(q)τAT(q)λ(1)
确立,
其中 M ( q ) M(q) M(q) n × n n\times n n×n的惯性矩阵,
V ( q , q ˙ ) V(q,\dot{q}) V(q,q˙)是关于位置和速度的阻力向量,
E ( q ) E(q) E(q) n × r n\times r n×r的输入转换矩阵,
τ \tau τ r r r维输入向量,
A ( q ) A(q) A(q) m × n m\times n m×n的雅克比矩阵,
λ \lambda λ是约束力向量。
该机械系统的 m m m个约束方程可以写成
C ( q , q ˙ ) = 0. C(q,\dot{q})=0. C(q,q˙)=0.
如果其中的一个约束方程可以写成,
或者通过积分可以转化为 C i ( q ) = 0 C_i(q)=0 Ci(q)=0的形式,那么该约束是完整约束。
否则,该约束为动力学约束(非几何约束),一般称为非完整(nonholonomic)约束。

假设 k k k个完整的以及 m − k m-k mk个非完整的独立约束,他们都可以写成
A ( q ) q ˙ = 0 (3) A(q)\dot{q}=0 \tag{3} A(q)q˙=0(3)
的形式。

s q ( q ) , ⋯   , s n − m ( q ) s_q(q),\cdots,s_{n-m}(q) sq(q),,snm(q) A ( q ) A(q) A(q)的零空间中的光滑并且线性不相关的向量场,i.e.
A ( q ) s i ( q ) = 0 , i = 1 , … , n − m A(q)s_i(q)=0, \quad i=1,\dots, n-m A(q)si(q)=0,i=1,,nm
S ( q ) S(q) S(q)为由这些向量组成的满秩矩阵
S ( q ) = [ s 1 ( q )   ⋯   s n − m ( q ) ] S(q)=[s_1(q)\ \cdots\ s_{n-m}(q)] S(q)=[s1(q)  snm(q)]
Δ \Delta Δ为这些向量场张成的分布
Δ = s p a n { s 1 ( q ) , ⋯   , s n − m ( q ) } \Delta=span \{s_1(q), \cdots, s_{n-m}(q)\} Δ=span{s1(q),,snm(q)}
因此, q ˙ ∈ Δ \dot{q}\in\Delta q˙Δ
我们无法确定 Δ \Delta Δ是否对合(involutive)。
可以令 Δ ∗ \Delta^* Δ为包含 Δ \Delta Δ的最小的对合分布。
可知 d i m ( Δ ) ≤ d i m ( Δ ∗ ) = k dim(\Delta)\leq dim(\Delta^*)=k dim(Δ)dim(Δ)=k

G. Campion 1991发现共由三种情况

  1. k = m k=m k=m,所有的约束都是完整的, Δ \Delta Δ自身就是对合的
  2. k = 0 k=0 k=0,所有的约束都是非完整的, Δ ∗ \Delta* Δ为整个空间
  3. 0 < k < m 00<k<m k k k个约束是可积的,并且广义坐标的 k k k个分量可能可以被运动方程消去。这种情况下 d i m ( Δ ∗ ) = n − k dim(\Delta^*)=n-k dim(Δ)=nk

状态空间表达

考虑由(1)(3)定义与约束的系统,
由于受约束的速度总是在 A ( q ) A(q) A(q)的零空间中,
可以定义 n − m n-m nm个速度 v ( t ) = [ v 1   v 2   ⋯   v n − m ] v(t)=[v_1\ v_2\ \cdots \ v_{n-m}] v(t)=[v1 v2  vnm]使得
q ˙ = S ( q ) v ( t ) (5) \dot{q}=S(q)v(t) \tag{5} q˙=S(q)v(t)(5)
这些速度需要是不可积的。
对(5)微分,并代入(1)中的 q ¨ \ddot{q} q¨,同时前乘 S T S^T ST
S T ( M S v ˙ ( t ) + M S ˙ v ( t ) + V ) = S T E τ S^T (MS \dot{v}(t)+M\dot{S}v(t)+V)=S^T E \tau ST(MSv˙(t)+MS˙v(t)+V)=STEτ

选取状态量 x = [ q T   v T ] T x=[q^T\ v^T]^T x=[qT vT]T,可得
x ˙ = [ S v f 2 ] + [ 0 ( S T M S ) − 1 S T E ] τ \dot{x}=\begin{bmatrix} Sv \\ f_2 \end{bmatrix} +\begin{bmatrix} 0 \\ (S^T M S)^{-1} S^T E \end{bmatrix}\tau x˙=[Svf2]+[0(STMS)1STE]τ
其中, f 2 = ( S T M S ) − 1 ( − S T M S ˙ v − S T V ) f_2=(S^T M S)^{-1} (-S^T M \dot{S} v-S^T V) f2=(STMS)1(STMS˙vSTV)
假设执行器的输入数量大于或等于机械系统的自由度( t ≥ n − m t\geq n-m tnm)
并且 ( S T M S ) − 1 S T E (S^T M S)^{-1} S^T E (STMS)1STE的秩为 n − m n-m nm
我们可能可以应用非线性反馈
τ = ( ( S T M S ) − 1 S T E ) + ( u − f 2 ) \tau=\left((S^T M S)^{-1} S^T E\right)^+(u-f_2) τ=((STMS)1STE)+(uf2)
其中上标 + + +表示矩阵的广义逆。
于是状态方程可以简化为
x ˙ = f ( x ) + g ( x ) u , f ( x ) = [ S ( q ) v 0 ] , g ( x ) = [ 0 I ] , \dot{x}=f(x)+g(x)u,f(x) =\begin{bmatrix}S(q)v\\0\end{bmatrix}, g(x)=\begin{bmatrix}0\\I\end{bmatrix}, x˙=f(x)+g(x)u,f(x)=[S(q)v0],g(x)=[0I],

控制属性

定理1: 非完整系统(10)是可控的

定理2:非完整系统的平衡点 x = 0 x=0 x=0,通过一个光滑的状态反馈控制,可以使其拉格朗日稳定,
但是无法使其渐近稳定。

余下的部分,我们考虑公式(3)同时包含完整约束以及非完整约束的情况。

定理3:如果系统(10)存在至少一个约束是非完整的,那么它不是可以通过状态反馈可以输入状态可线性化的

证明:系统如果输入状态可线性化,需要满足两个条件,可以发现对合条件并不满足。

  1. the strong accessibility condition
  2. the involutivity condition

定义一组分布
D j = s p a n { L f i g ∣ i = 0 , 1 , … , j − 1 } , j = 1 , 2 , … D_j = span \{ L^i_f g | i=0,1,\dots,j-1\}, j=1,2,\dots Dj=span{Lfigi=0,1,,j1},j=1,2,
对合性要求 D 1 , D 2 , … , D 2 n − m D_1,D_2,\dots,D_{2n-m} D1,D2,,D2nm都是对合的。
注意系统的状态数为 2 n − m 2n-m 2nm
由于 g g g是常数,所以 D 1 = s p a n { g } D_1=span\{g\} D1=span{g}是对合的。
下面计算
L f g = [ f , g ] = ∂ g ∂ x f − ∂ f ∂ x g = − [ S ( q ) 0 ] L_fg=[f,g]= \frac{\partial g}{\partial x}f -\frac{\partial f}{\partial x}g =-\begin{bmatrix}S(q)\\0\end{bmatrix} Lfg=[f,g]=xgfxfg=[S(q)0]
由于由 S ( q ) S(q) S(q)的列张成的分布 Δ \Delta Δ不是对合的,
分布 D 2 = s p a n { g , L f g } D_2=span\{g,L_fg\} D2=span{g,Lfg}不是对合的。
因此,系统不是输入-状态可线性化的。
■ \blacksquare

尽管带有非完整约束的系统不是输入-状态可线性化的,
如果选取合适的输出方程,他是可以输入-输出线性化的。
考察系统的位置控制,也就是说输入方程只关于位置量 q q q
既然系统的自由度数为 n − m n-m nm,我们可能至多有 n − m n-m nm个独立的位置输出方程。
y = h ( q ) = [ h 1 ( q )   ⋯   h n − m ( q ) ] (11) y=h(q)=[h_1(q)\ \cdots \ h_{n-m}(q)] \tag{11} y=h(q)=[h1(q)  hnm(q)](11)
可以输入输出线性化的充要条件为解耦矩阵满秩 ref20。
使用(11)的输出方程,系统的解耦矩阵 Φ ( x ) \Phi(x) Φ(x) ( n − m ) × ( n − m ) (n-m)\times (n-m) (nm)×(nm)的矩阵
Φ ( q ) = J h ( q ) S ( q ) \Phi(q)=J_h(q)S(q) Φ(q)=Jh(q)S(q)
其中 J h = ∂ h ∂ q J_h=\frac{\partial h}{\partial q} Jh=qh是一个 ( n − m ) × n (n-m)\times n (nm)×n的Jacobian矩阵。
J h J_h Jh的行与 A ( q ) A(q) A(q)独立的时候,\Phi(x)$ 是非奇异的

为了刻画零动态并且实现输入-输出线性化,引入新的状态变量 z z z,于是

z = T ( x ) = [ z 1 z 2 z 3 ] = [ h ( q ) L f h ( q ) h ~ ( q ) ] = [ h ( q ) Φ ( q ) v h ~ ( q ) ] z=T(x)=\begin{bmatrix}z_1\\ z_2\\ z_3\end{bmatrix} =\begin{bmatrix}h(q)\\ L_f h(q)\\\tilde{h}(q)\end{bmatrix} =\begin{bmatrix}h(q)\\\Phi(q) v\\\tilde{h}(q)\end{bmatrix} z=T(x)= z1z2z3 = h(q)Lfh(q)h~(q) = h(q)Φ(q)vh~(q)

其中 h ~ ( q ) \tilde{h}(q) h~(q)是可以使 [ J h T , J h ~ T ] [J_h^T,J_{\tilde{h}}^T] [JhT,Jh~T]满秩的m维函数。
可以验证 T ( x ) T(x) T(x)是微分同胚并且是一个合理的状态变换。
新的状态 z z z下的系统为:

z ˙ 1 = ∂ h ∂ q q ˙ = z 2 \dot{z}_1=\frac{\partial h}{\partial q} \dot{q}=z_2 z˙1=qhq˙=z2

z ˙ 2 = Φ ˙ ( q ) v + Φ ( q ) u \dot{z}_2=\dot{\Phi}(q) v + \Phi(q) u z˙2=Φ˙(q)v+Φ(q)u

z ˙ 3 = J h ~ S v = J h ~ S ( J h S ) − 1 z 2 \dot{z}_3=J_{\tilde{h}}S v = J_{\tilde{h}}S(J_h S)^{-1} z_2 z˙3=Jh~Sv=Jh~S(JhS)1z2

使用如下的状态反馈

u = Φ − 1 ( q ) ( v − Φ ˙ ( q ) v ) u=\Phi^{-1}(q)(v-\dot{\Phi}(q)v) u=Φ1(q)(vΦ˙(q)v)

我们实现了输入-输出线性化,同时实现了输入-输出解耦。
系统的可观测部分为

z ˙ 1 = z 2 , z ˙ 2 = v y = z 1 \dot{z}_1=z_2,\quad \dot{z}_2=v \quad y=z_1 z˙1=z2,z˙2=vy=z1

系统的不可观测部分为:(代入 z 1 = 0 z_1=0 z1=0 z 2 = 0 z_2=0 z2=0

z ˙ 3 = 0 \dot{z}_3=0 z˙3=0

这个系统显然是Lagrange稳定的但是不是渐近稳定。

你可能感兴趣的:(控制,算法,机器人,汽车)