学习用,翻译自
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 m−k个非完整的独立约束,他们都可以写成
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),⋯,sn−m(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,…,n−m
令 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) ⋯ sn−m(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),⋯,sn−m(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)(3)定义与约束的系统,
由于受约束的速度总是在 A ( q ) A(q) A(q)的零空间中,
可以定义 n − m n-m n−m个速度 v ( t ) = [ v 1 v 2 ⋯ v n − m ] v(t)=[v_1\ v_2\ \cdots \ v_{n-m}] v(t)=[v1 v2 ⋯ vn−m]使得
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˙v−STV)。
假设执行器的输入数量大于或等于机械系统的自由度( t ≥ n − m t\geq n-m t≥n−m)
并且 ( S T M S ) − 1 S T E (S^T M S)^{-1} S^T E (STMS)−1STE的秩为 n − m n-m n−m,
我们可能可以应用非线性反馈
τ = ( ( 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)+(u−f2)
其中上标 + + +表示矩阵的广义逆。
于是状态方程可以简化为
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)存在至少一个约束是非完整的,那么它不是可以通过状态反馈可以输入状态可线性化的
证明:系统如果输入状态可线性化,需要满足两个条件,可以发现对合条件并不满足。
定义一组分布
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{Lfig∣i=0,1,…,j−1},j=1,2,…
对合性要求 D 1 , D 2 , … , D 2 n − m D_1,D_2,\dots,D_{2n-m} D1,D2,…,D2n−m都是对合的。
注意系统的状态数为 2 n − m 2n-m 2n−m。
由于 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]=∂x∂gf−∂x∂fg=−[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 n−m,我们可能至多有 n − m n-m n−m个独立的位置输出方程。
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) ⋯ hn−m(q)](11)
可以输入输出线性化的充要条件为解耦矩阵满秩 ref20。
使用(11)的输出方程,系统的解耦矩阵 Φ ( x ) \Phi(x) Φ(x)是 ( n − m ) × ( n − m ) (n-m)\times (n-m) (n−m)×(n−m)的矩阵
Φ ( 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=∂q∂h是一个 ( n − m ) × n (n-m)\times n (n−m)×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=∂q∂hq˙=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稳定的但是不是渐近稳定。