笔记-基于Lie群SE(3)的航天器姿轨一体化建模方法

航天器姿态和轨道运动一体化建模方法有:传统的姿轨独立建模方法、基于对偶四元数的建模方法、基于Lie群SE(3)的建模方法。这篇笔记主要针对Lie群SE(3)的航天器姿轨一体化建模方法。

什么是Lie群SO(3)和Lie群SE(3)

SO(3) = 特殊正交群 = { R ∈ R 3 × 3 ∣ R R T = I , det ⁡ ( R ) = 1 } \left \{ R \in \mathbb{R}^{3 \times 3} | RR^T = I, \det (R) = 1 \right \} {RR3×3RRT=I,det(R)=1}

SE(3) = 特殊欧氏群 = { T = [ R t 0 T 1 ] ∈ R 4 × 4 ∣ R ∈ SO ( 3 ) , t ∈ R 3 } \left \{ T = \begin{bmatrix} R & t \\ 0^T &1 \end{bmatrix} \in \mathbb{R}^{4 \times 4} | R \in \text{SO}(3), t \in \mathbb{R}^3 \right \} {T=[R0Tt1]R4×4RSO(3),tR3}

直观上来理解,SO(3)的元素是 3 × 3 3 \times 3 3×3的正交矩阵,与之对应的就是两个坐标系之间的欧拉转移矩阵,SE(3)的元素是 4 × 4 4 \times 4 4×4的矩阵,这个矩阵包含 3 × 3 3 \times 3 3×3的正交矩阵(旋转)和 3 × 1 3 \times 1 3×1的矢量(平移)。也就是说SO(3)用来描述旋转,SE(3)用来描述旋转加平移。

注释1:默认都是在实数域内,
S: Special
O: Orthogonal
E: Euclidean
3: 3-Dimensional
SO(3): 3维特殊正交群,3D Special Orthogonal Group
SE(3): 3维特殊欧氏群,3D Special Euclidean Group

注释2:一般来讲,矩阵用大写字母不加粗来表示,这里上下文给出的变量符号都比较乱。

注释3:SE(3)是三维实空间(表示位置的向量)与特殊正交空间(表示姿态的矩阵)的 半直积,即 SE ( 3 ) = R 3 ⋉ SE ( 3 ) \text{SE}(3) = \mathbb{R}^3 ⋉ \text{SE}(3) SE(3)=R3SE(3)

Lie群和Lie代数[2]

图1:李群和李代数

单航天器姿轨一体化模型[1]-[3]

传统单航天器轨道和姿态运动模型,在航天器本体坐标系中表示:
{ C ˙ B I = C B I ( ω B ) × R ˙ I = C B I v B J ω ˙ B + ( ω B ) × J ω B = τ c + τ d m v ˙ B + m ( ω B ) × v B = − ( m μ ∣ ∣ R I ∣ ∣ 3 ) R b + u c + u d \left \{ \begin{aligned} \dot{\boldsymbol{C}}_B^I &= \boldsymbol{C}_B^I (\boldsymbol{\omega}^B)^{\times} \\ \dot{\boldsymbol{R}}^I &= \boldsymbol{C}_B^I \boldsymbol{v}^B \\ \boldsymbol{J} \dot{\boldsymbol{\omega}}^B + (\boldsymbol{\omega}^B)^{\times} \boldsymbol{J} \boldsymbol{\omega}^B &= \boldsymbol{\tau}_c + \boldsymbol{\tau}_d \\ m \dot{\boldsymbol{v}}^B + m (\boldsymbol{\omega}^B)^{\times} \boldsymbol{v}^B &= - \left( \frac{m \mu}{||\boldsymbol{R}^I||^3} \right) \boldsymbol{R}_b + \boldsymbol{u}_c + \boldsymbol{u}_d \end{aligned} \right. C˙BIR˙IJω˙B+(ωB)×JωBmv˙B+m(ωB)×vB=CBI(ωB)×=CBIvB=τc+τd=(RI3mμ)Rb+uc+ud

引入Lie群SE(3),将上述航天器轨道运动学和动力学方程、姿态运动学和动力学方程进行一体化描述。

用方向余弦矩阵来描述航天器的姿态运动,姿态矩阵 C \boldsymbol{C} C满足:
C T C = I 3 × 3 , det ⁡ ( C ) = 1 \boldsymbol{C}^T \boldsymbol{C} = \boldsymbol{I}_{3 \times 3}, \quad \det (\boldsymbol{C}) = 1 CTC=I3×3,det(C)=1

所有满足上式约束的矩阵构成一个特殊正交集合,称为Lie群SO(3),表示为:
SO ( 3 ) = { C ∈ R 3 × 3 : C T C = I 3 × 3 , det ⁡ ( C ) = 1 } \text{SO}(3) = \left \{ \boldsymbol{C} \in \mathbb{R}^{3 \times 3}: \boldsymbol{C}^T \boldsymbol{C} = \boldsymbol{I}_{3 \times 3}, \det (\boldsymbol{C}) = 1 \right \} SO(3)={CR3×3:CTC=I3×3,det(C)=1}

航天器的构型通过 ( R I , C B I ) (\boldsymbol{R}^I, \boldsymbol{C}_B^I) (RI,CBI)来描述,Lie群SE(3)的定义:

SE ( 3 ) = { ( R I , C B I ) : R I ∈ R 3 , C B I ∈ R 3 × 3 , C B I ∈ SE ( 3 ) } = R 3 ⋉ SE ( 3 ) \text{SE}(3) = \left \{ (\boldsymbol{R}^I, \boldsymbol{C}_B^I): \boldsymbol{R}^I \in \mathbb{R}^3, \boldsymbol{C}_B^I \in \mathbb{R}^{3 \times 3}, \boldsymbol{C}_B^I \in \text{SE}(3) \right \} = \mathbb{R}^3 ⋉ \text{SE}(3) SE(3)={(RI,CBI):RIR3,CBIR3×3,CBISE(3)}=R3SE(3)

基于 SE ( 3 ) \text{SE}(3) SE(3)的齐次形式来表示航天器的位姿构型:
g = [ C B I R I 0 1 × 3 1 ] ∈ SE ( 3 ) ∈ R 4 × 4 \boldsymbol{g} = \begin{bmatrix} \boldsymbol{C}_B^I & \boldsymbol{R}^I \\ \boldsymbol{0}_{1 \times 3} & 1 \end{bmatrix} \in \text{SE}(3) \in \mathbb{R}^{4 \times 4} g=[CBI01×3RI1]SE(3)R4×4

ξ = [ ( ω B ) T , ( v B ) T ] T ∈ R 6 \boldsymbol{\xi} = \begin{bmatrix} (\boldsymbol{\omega}^B)^T, (\boldsymbol{v}^B)^T \end{bmatrix} ^T \in \mathbb{R}^6 ξ=[(ωB)T,(vB)T]TR6,相应的李代数为 ξ ∨ = ( ( ω B ) × , ( v B ) ) ∈ so ( 3 ) × R 3 \boldsymbol{\xi}^{\vee} = ((\boldsymbol{\omega}^B)^{\times}, (\boldsymbol{v}^B)) \in \text{so}(3) \times \mathbb{R}^3 ξ=((ωB)×,(vB))so(3)×R3,齐次形式表达式为:
ξ ∨ = [ ( ω B ) × v B 0 1 × 3 1 ] ∈ se ( 3 ) ∈ R 4 × 4 \boldsymbol{\xi}^{\vee} = \begin{bmatrix} (\boldsymbol{\omega}^B)^{\times} & \boldsymbol{v}^B \\ \boldsymbol{0}_{1 \times 3} & 1 \end{bmatrix} \in \text{se}(3) \in \mathbb{R}^{4 \times 4} ξ=[(ωB)×01×3vB1]se(3)R4×4

因此,基于SE(3)的航天器姿轨耦合运动学方程:
g ˙ = g ξ ∨ (1) \dot{\boldsymbol{g}} = \boldsymbol{g} \boldsymbol{\xi}^{\vee} \tag{1} g˙=gξ(1)

Lie群 SE ( 3 ) \text{SE}(3) SE(3)的两个伴随映射定义为:
Ad g = [ C B I 0 3 × 3 ( R I ) × C B I R I ] ad ξ = [ ( ω B ) × 0 3 × 3 ( v B ) × ( ω B ) × ] (2) \begin{aligned} \text{Ad}_g &= \begin{bmatrix} \boldsymbol{C}_B^I & \boldsymbol{0}_{3 \times 3} \\ (\boldsymbol{R}^I)^{\times} \boldsymbol{C}_B^I & \boldsymbol{R}^I \end{bmatrix} \\ \text{ad}_{\boldsymbol{\xi}} &= \begin{bmatrix} (\boldsymbol{\omega}^B)^{\times} & \boldsymbol{0}_{3 \times 3} \\ (\boldsymbol{v}^B)^{\times} & (\boldsymbol{\omega}^B)^{\times} \end{bmatrix} \end{aligned} \tag{2} Adgadξ=[CBI(RI)×CBI03×3RI]=[(ωB)×(vB)×03×3(ωB)×](2)

上式定义的伴随算子 ad \text{ad} ad代表了李代数 se ( 3 ) \text{se}(3) se(3)与李群 SE ( 3 ) \text{SE}(3) SE(3)之间的线性运算,其反伴随算子可以通过李代数的对偶运算得到:
ad ξ ∗ = ad ξ T = [ − ( ω B ) × − ( v B ) × 0 3 × 3 − ( ω B ) × ] \text{ad}_{\boldsymbol{\xi}}^* = \text{ad}_{\boldsymbol{\xi}}^T = \begin{bmatrix} -(\boldsymbol{\omega}^B)^{\times} & -(\boldsymbol{v}^B)^{\times} \\ \boldsymbol{0}_{3 \times 3} & -(\boldsymbol{\omega}^B)^{\times} \end{bmatrix} adξ=adξT=[(ωB)×03×3(vB)×(ωB)×]

则基于SE(3)的航天器姿轨耦合动力学方程:
Ξ ξ ˙ = ad ξ ∗ Ξ ξ + f ( Ξ ) + Γ c + Γ d (3) \boldsymbol{\Xi} \boldsymbol{\dot{\xi}} = \text{ad}_{\boldsymbol{\xi}}^* \boldsymbol{\Xi} \boldsymbol{\xi} + \boldsymbol{f}(\boldsymbol{\Xi}) + \boldsymbol{\Gamma}_c + \boldsymbol{\Gamma}_d \tag{3} Ξξ˙=adξΞξ+f(Ξ)+Γc+Γd(3)

其中,

Ξ = diag ( J , m I 3 ) ∈ R 6 × 6 \boldsymbol{\Xi} = \text{diag} (\boldsymbol{J}, m \boldsymbol{I}_3) \in \mathbb{R}^{6 \times 6} Ξ=diag(J,mI3)R6×6为航天器质量与转动惯量构成的矩阵;

f ( Ξ ) = [ M g T , ( f g − m μ ∣ ∣ R I ∣ ∣ 3 R b ) T ] T \boldsymbol{f}(\boldsymbol{\Xi}) = \left [ \boldsymbol{M}_g^{\rm{T}}, (\boldsymbol{f}_g - \frac{m \mu}{||\boldsymbol{R}^I||^3} \boldsymbol{R}_b)^{\rm{T}} \right ] ^{\rm{T}} f(Ξ)=[MgT,(fgRI3mμRb)T]T为航天器所受的重力梯度力矩和重力 (存疑)

Γ c = [ τ c T , u c T ] T ∈ R 6 \boldsymbol{\Gamma}_c = \left[ \boldsymbol{\tau}_c^{\rm{T}}, \boldsymbol{u}_c^{\rm{T}} \right]^{\rm{T}} \in \mathbb{R}^6 Γc=[τcT,ucT]TR6为航天器的控制输入;

Γ d = [ Δ d τ T , Δ d f T ] T ∈ R 6 \boldsymbol{\Gamma}_d = \left[ \Delta \boldsymbol{d}_\tau^{\rm{T}}, \Delta \boldsymbol{d}_f^{\rm{T}} \right]^{\rm{T}} \in \mathbb{R}^6 Γd=[ΔdτT,ΔdfT]TR6为航天器所受的外部总干扰。

注释3:手写公式还是挺麻烦的。一般而言,转置符号 ( ⋅ ) T (\cdot)^{\rm{T}} ()T应该是正体,变量应该都是斜体,标量不加粗,矢量加粗,矩阵用大写,空间或域用空心体,下标、上标等符号一般用正体,函数名称或其他单词缩写简写都是正体。

注释4:文献[3]中的公式基本是正确的,小部分地方有瑕疵。

航天器相对姿轨一体化模型

航天器姿轨一体化相对动力学模型来描述航天器轨迹跟踪问题。设目标轨迹的期望位姿构型为 g d \boldsymbol{g}_d gd,跟踪航天器的实际位姿构型为 g a \boldsymbol{g}_a ga,则航天器的位置和姿态跟踪误差可以表示为:
g e = g d − 1 g a = [ C e R e 0 1 × 3 1 ] \boldsymbol{g}_e = \boldsymbol{g}_d^{-1} \boldsymbol{g}_a = \begin{bmatrix} \boldsymbol{C}_e & \boldsymbol{R}_e \\ \boldsymbol{0}_{1\times 3} & 1 \end{bmatrix} ge=gd1ga=[Ce01×3Re1]

其中, C e = ( C B I ) d T C B I \boldsymbol{C}_e = (\boldsymbol{C}_B^I)_d^T \boldsymbol{C}_B^I Ce=(CBI)dTCBI R e = ( C B I ) d T ( R I − R d I ) \boldsymbol{R}_e = (\boldsymbol{C}_B^I)_d^T (\boldsymbol{R}^I - \boldsymbol{R}_d^I) Re=(CBI)dT(RIRdI),下角标 d d d表示目标轨迹的位姿参数。该跟踪误差用 SE ( 3 ) \text{SE}(3) SE(3)上的指数坐标来一体化描述:
η = [ Φ φ ] = [ log ⁡ SE ( 3 ) g e ] − 1 ∈ R 6 \boldsymbol{\eta} = \begin{bmatrix} \boldsymbol{\Phi} \\ \boldsymbol{\varphi} \end{bmatrix} = \begin{bmatrix} \log_{\text{SE}(3)} \boldsymbol{g}_e \end{bmatrix} ^{-1} \in \mathbb{R}^6 η=[Φφ]=[logSE(3)ge]1R6

其中, [ ⋅ ] − 1 [\cdot]^{-1} []1 ( ⋅ ) ∨ (\cdot)^{\vee} ()的逆映射, log ⁡ SE ( 3 ) \log_{\text{SE}(3)} logSE(3) SE ( 3 ) \text{SE}(3) SE(3)上的对数映射,可以表示为:
log ⁡ SE ( 3 ) = [ Φ × φ 0 0 ] \log_{\text{SE}(3)} = \begin{bmatrix} \boldsymbol{\Phi}^{\times} & \boldsymbol{\varphi} \\ \boldsymbol{0} & 0 \end{bmatrix} logSE(3)=[Φ×0φ0]

式中,跟踪误差 η \boldsymbol{\eta} η由两部分组成, Φ ∈ R 3 \boldsymbol{\Phi} \in \mathbb{R}^3 ΦR3表示姿态部分的跟踪误差,由 SO ( 3 ) \text{SO}(3) SO(3)上的指数坐标计算得到, φ ∈ R 3 \boldsymbol{\varphi} \in \mathbb{R}^3 φR3表示位置跟踪误差,两者的具体表达式为:
Φ × = { 0 3 × 3 θ = 0 θ 2 sin ⁡ θ ( C e − C e T ) θ ∈ ( − π , π ) , θ ≠ 0 \boldsymbol{\Phi}^{\times} = \left \{ \begin{array}{ll} \boldsymbol{0}_{3 \times 3} & \quad \theta = 0 \\ \frac{\theta}{2 \sin \theta} (\boldsymbol{C}_e - \boldsymbol{C}_e^T) & \quad \theta \in (- \pi, \pi), \theta \neq 0 \end{array} \right. Φ×={03×32sinθθ(CeCeT)θ=0θ(π,π),θ=0


{ φ = S − 1 ( Φ ) R e S ( Φ ) = I 3 × 3 + 1 − cos ⁡ θ θ 2 Φ × + θ − sin ⁡ θ θ 3 ( Φ × ) 2 \left \{ \begin{aligned} \boldsymbol{\varphi} &= \boldsymbol{S}^{-1}(\boldsymbol{\Phi}) \boldsymbol{R}_e \\ \boldsymbol{S}(\Phi) &= \boldsymbol{I}_{3 \times 3} + \frac{1 - \cos \theta}{\theta ^2} \boldsymbol{\Phi}^{\times} + \frac{\theta - \sin \theta}{\theta ^3} (\boldsymbol{\Phi}^{\times})^2 \end{aligned} \right. φS(Φ)=S1(Φ)Re=I3×3+θ21cosθΦ×+θ3θsinθ(Φ×)2

其中, θ \theta θ为欧拉旋转角。

。。。。。。

速度跟踪误差可表示为:
ξ ~ = [ Δ ω T , Δ v T ] T = ξ − Ad g e − 1 ξ d \tilde{\boldsymbol{\xi}} = \begin{bmatrix} \Delta \boldsymbol{\omega}^T, \Delta \boldsymbol{v}^T \end{bmatrix} ^T = \boldsymbol{\xi} - \text{Ad}_{\boldsymbol{g}_e^{-1}} \boldsymbol{\xi}_d ξ~=[ΔωT,ΔvT]T=ξAdge1ξd

其中, ξ d \boldsymbol{\xi}_d ξd为目标轨迹的速度。

基于Lie群 SE ( 3 ) \text{SE}(3) SE(3)指数坐标 η \boldsymbol{\eta} η描述航天器位姿跟踪误差,则误差运动学方程可以表示为:
η ˙ = G ( η ) ξ ~ (4) \dot{\boldsymbol{\eta}} = \boldsymbol{G}(\boldsymbol{\eta}) \tilde{\boldsymbol{\xi}} \tag{4} η˙=G(η)ξ~(4)

其中,
G ( η ) = [ A ( Φ ) 0 T ( Φ , φ ) A ( Φ ) ] \boldsymbol{G}(\boldsymbol{\eta}) = \begin{bmatrix} \boldsymbol{A}(\boldsymbol{\Phi}) & \boldsymbol{0} \\ \boldsymbol{T}(\boldsymbol{\Phi}, \boldsymbol{\varphi}) & \boldsymbol{A}(\boldsymbol{\Phi}) \end{bmatrix} G(η)=[A(Φ)T(Φ,φ)0A(Φ)]

A ( Φ ) = I + 1 2 Φ × + ( 1 θ 2 − 1 + cos ⁡ θ 2 θ sin ⁡ ( θ ) ) ( Φ × ) 2 \boldsymbol{A}(\boldsymbol{\Phi}) = \boldsymbol{I} + \frac{1}{2} \boldsymbol{\Phi}^{\times} + \left( \frac{1}{\theta^2} - \frac{1 + \cos \theta}{2 \theta \sin (\theta)} \right) (\boldsymbol{\Phi}^{\times})^2 A(Φ)=I+21Φ×+(θ212θsin(θ)1+cosθ)(Φ×)2

T ( Φ , φ ) = 1 2 ( S ( Φ ) φ ) × A ( Φ ) + ( 1 θ 2 − 1 + cos ⁡ θ 2 θ sin ⁡ ( θ ) ) ( Φ φ T + Φ T φ A ( Φ ) ) \boldsymbol{T}(\boldsymbol{\Phi}, \boldsymbol{\varphi}) = \frac{1}{2} (\boldsymbol{S}(\boldsymbol{\Phi}) \boldsymbol{\varphi})^{\times} \boldsymbol{A}(\boldsymbol{\Phi}) + \left( \frac{1}{\theta^2} - \frac{1 + \cos \theta}{2 \theta \sin (\theta)} \right) \left( \boldsymbol{\Phi} \boldsymbol{\varphi}^T + \boldsymbol{\Phi} ^T \boldsymbol{\varphi} \boldsymbol{A}(\boldsymbol{\Phi}) \right) T(Φ,φ)=21(S(Φ)φ)×A(Φ)+(θ212θsin(θ)1+cosθ)(ΦφT+ΦTφA(Φ))

。。。。。。

航天器相对姿轨一体化动力学方程:
Ξ ξ ~ ˙ = ad ξ ∗ Ξ ξ + f ( Ξ ) + Γ c + Γ d + Ξ ( ad ξ ~ Ad g e − 1 ξ d − Ad g e − 1 ξ ˙ d ) (5) \boldsymbol{\Xi} \dot{\tilde{\boldsymbol{\xi}}} = \text{ad}_{\boldsymbol{\xi}}^* \boldsymbol{\Xi} \boldsymbol{\xi} + \boldsymbol{f}(\boldsymbol{\Xi}) + \boldsymbol{\Gamma}_c + \boldsymbol{\Gamma}_d + \boldsymbol{\Xi} \left(\text{ad}_{\tilde{\boldsymbol{\xi}}} \text{Ad}_{\boldsymbol{g}_e^{-1}} \boldsymbol{\xi}_d - \text{Ad}_{\boldsymbol{g}_e^{-1}} \dot{\boldsymbol{\xi}}_d \right) \tag{5} Ξξ~˙=adξΞξ+f(Ξ)+Γc+Γd+Ξ(adξ~Adge1ξdAdge1ξ˙d)(5)

当考虑模型不确定性时,实际的惯量和质量矩阵可以表示为 Ξ 1 = Ξ + Δ Ξ \boldsymbol{\Xi}_1 = \boldsymbol{\Xi} + \Delta \boldsymbol{\Xi} Ξ1=Ξ+ΔΞ,其中 Δ Ξ \Delta \boldsymbol{\Xi} ΔΞ即为模型不确定性部分。此时相对动力学方程可以表示为:
ξ ~ ˙ = H + Δ d + Ξ − 1 Γ c + Ξ − 1 f ( Ξ ) (6) \dot{\tilde{\boldsymbol{\xi}}} = \boldsymbol{H} + \Delta \boldsymbol{d} + \boldsymbol{\Xi}^{-1} \boldsymbol{\Gamma}_c + \boldsymbol{\Xi}^{-1} \boldsymbol{f}(\boldsymbol{\Xi}) \tag{6} ξ~˙=H+Δd+Ξ1Γc+Ξ1f(Ξ)(6)

其中,
H = . . . \boldsymbol{H} = ... H=...

Δ d = . . . \Delta \boldsymbol{d} = ... Δd=...

Δ d \Delta \boldsymbol{d} Δd为外部干扰和模型不确定性部分产生的系统总干扰。在进行控制器设计时,有如下假设: Δ d \Delta \boldsymbol{d} Δd有界,即 ∣ ∣ Δ d ∣ ∣ ≤ δ 1 ||\Delta \boldsymbol{d}|| \leq \delta_1 Δdδ1,其中 δ 1 \delta_1 δ1为一个正常数。

航天器姿轨一体化轨迹跟踪控制器设计

  • 变量是哪些? 轨迹跟踪误差 η \boldsymbol{\eta} η和速度跟踪误差 ξ ~ \tilde{\boldsymbol{\xi}} ξ~
  • 方程是哪个? 方程 ( 3 ) (3) (3)和方程 ( 6 ) (6) (6)
  • 目的是什么? 使变量 η \boldsymbol{\eta} η ξ ~ \tilde{\boldsymbol{\xi}} ξ~都收敛到0;
  • 控制方法是哪种? 快速终端滑模控制;
  • 约束条件有哪些? 外部干扰、模型不确定性。

文献[2]的3.3节采用的是快速终端滑模控制,第四章加入执行器输入饱和的约束条件,采用基于扩展状态观测器的事件驱动自适应滑模控制方法

快速终端滑模控制方法

快速终端滑模面:
S = ξ ~ + ϑ 1 η + ϑ 2 sig α ( η ) \boldsymbol{S} = \tilde{\boldsymbol{\xi}} + \boldsymbol{\vartheta}_1 \boldsymbol{\eta} + \boldsymbol{\vartheta}_2 \text{sig}^{\alpha} (\boldsymbol{\eta}) S=ξ~+ϑ1η+ϑ2sigα(η)


S ˙ = ξ ~ ˙ + ϑ 1 η ˙ + α ϑ 2 Λ α − 1 ( η ) η ˙ \dot{\boldsymbol{S}} = \dot{\tilde{\boldsymbol{\xi}}} + \boldsymbol{\vartheta}_1 \dot{\boldsymbol{\eta}} + \alpha \boldsymbol{\vartheta}_2 \boldsymbol{\Lambda}^{\alpha - 1} (\boldsymbol{\eta}) \dot{\boldsymbol{\eta}} S˙=ξ~˙+ϑ1η˙+αϑ2Λα1(η)η˙

滑模控制器:
Γ c = − Ξ ( ϑ 1 G ( η ) ξ ~ + α ϑ 2 Λ α − 1 ( η ) G ( η ) ξ ~ ) − f ( Ξ ) − Ξ H − K 1 sgn ( S ) + K 2 S (7) \begin{aligned} \boldsymbol{\Gamma}_c &= - \boldsymbol{\Xi} \left( \boldsymbol{\vartheta}_1 \boldsymbol{G}(\boldsymbol{\eta}) \tilde{\boldsymbol{\xi}} + \alpha \boldsymbol{\vartheta}_2 \boldsymbol{\Lambda}^{\alpha - 1}(\boldsymbol{\eta}) \boldsymbol{G}(\boldsymbol{\eta}) \tilde{\boldsymbol{\xi}} \right) \\ &- \boldsymbol{f}(\boldsymbol{\Xi}) - \boldsymbol{\Xi} \boldsymbol{H} - \boldsymbol{K}_1 \text{sgn}(\boldsymbol{S}) + \boldsymbol{K}_2 \boldsymbol{S} \end{aligned} \tag{7} Γc=Ξ(ϑ1G(η)ξ~+αϑ2Λα1(η)G(η)ξ~)f(Ξ)ΞHK1sgn(S)+K2S(7)

其中, ϑ 1 = diag ( ϑ 11 I 3 , ϑ 12 I 3 ) ∈ R 6 × 6 > 0 \boldsymbol{\vartheta}_1 = \text{diag} (\vartheta_{11} \boldsymbol{I}_3, \vartheta_{12} \boldsymbol{I}_3) \in \mathbb{R}^{6 \times 6} > 0 ϑ1=diag(ϑ11I3,ϑ12I3)R6×6>0 ϑ 2 = diag ( ϑ 21 I 3 , ϑ 22 I 3 ) ∈ R 6 × 6 > 0 \boldsymbol{\vartheta}_2 = \text{diag} (\vartheta_{21} \boldsymbol{I}_3, \vartheta_{22} \boldsymbol{I}_3) \in \mathbb{R}^{6 \times 6} > 0 ϑ2=diag(ϑ21I3,ϑ22I3)R6×6>0 K 1 = diag ( k 11 , ⋯   , k 16 ) \boldsymbol{K}_1 = \text{diag}(k_{11}, \cdots, k_{16}) K1=diag(k11,,k16) K 2 = diag ( k 21 , ⋯   , k 26 ) \boldsymbol{K}_2 = \text{diag}(k_{21}, \cdots, k_{26}) K2=diag(k21,,k26)均为正定对角阵,且 K 1 \boldsymbol{K}_1 K1满足:
λ min ⁡ ( K 1 ) > c 1 = ∣ ∣ Ξ Δ d ∣ ∣ \lambda_{\min} (\boldsymbol{K}_1) > c_1 = ||\boldsymbol{\Xi} \Delta \boldsymbol{d}|| λmin(K1)>c1=ΞΔd

α Λ α − 1 ( η ) \alpha \boldsymbol{\Lambda}^{\alpha-1}(\boldsymbol{\eta}) αΛα1(η)代表什么?应该是 sig α ( η ) \text{sig}^\alpha(\boldsymbol{\eta}) sigα(η)的导数。

证明过程和传统滑模方法一样分两个阶段:趋近模态阶段和滑动模态阶段。趋近阶段选取的Lyapunov函数为:
V 1 = 1 2 S T Ξ S V_1 = \frac{1}{2} \boldsymbol{S}^T \boldsymbol{\Xi} \boldsymbol{S} V1=21STΞS

滑动模态阶段选取的Lyapunov函数为:
V 2 = 1 2 η T η V_2 = \frac{1}{2} \boldsymbol{\eta}^T \boldsymbol{\eta} V2=21ηTη

对于滑模控制器 ( 7 ) (7) (7),由两部分组成,前半部分为等效控制,用来保证系统状态到达滑模面 S = 0 \boldsymbol{S} = 0 S=0,后半部分 − K 1 sgn ( S ) + K 2 S - \boldsymbol{K}_1 \text{sgn}(\boldsymbol{S}) + \boldsymbol{K}_2 \boldsymbol{S} K1sgn(S)+K2S为切换控制,用于保证系统对模型不确定性和外部扰动的鲁棒性。针对滑模控制方法固有的抖振问题,可以选用饱和函数 K 1 sat ( S , ρ ) \boldsymbol{K}_1 \text{sat}(\boldsymbol{S}, \rho) K1sat(S,ρ)代替符号函数 K 1 sgn ( S ) \boldsymbol{K}_1 \text{sgn}(\boldsymbol{S}) K1sgn(S),也可以设计一种自适应控制器,用自适应项代替符号函数:
K 1 sgn ( S ) ⇒ diag ( K 1 j ∣ S j ∣ + ε K 3 j 2 ) S \boldsymbol{K}_1 \text{sgn}(\boldsymbol{S}) \Rightarrow \text{diag} \left( \frac{{K}_{1j}}{|{S}_j| + \varepsilon {K}_{3j}^2} \right) \boldsymbol{S} K1sgn(S)diag(Sj+εK3j2K1j)S

其中, ε \varepsilon ε为一个小的正数, K 3 ∈ R 6 × 1 \boldsymbol{K}_3 \in \mathbb{R}^{6 \times 1} K3R6×1,并且 K 3 j > 0 , j = 1 , ⋯   , 6 {K}_{3j} > 0, j = 1, \cdots, 6 K3j>0,j=1,,6,且满足如下自适应律:
K ˙ 3 j = − λ ε K 1 j ∣ S j ∣ K 3 j ∣ S j ∣ + ε K 3 j 2 \dot{K}_{3j} = - \lambda \frac{\varepsilon {K}_{1j} |{S}_j| {K}_{3j}}{|{S}_j| + \varepsilon {K}_{3j}^2} K˙3j=λSj+εK3j2εK1jSjK3j

证明过程所选的Lyapunov函数为:
V 3 = 1 2 S T Ξ S + 1 2 λ ∑ j = 1 6 K 3 j 2 V_3 = \frac{1}{2} \boldsymbol{S}^T \boldsymbol{\Xi} \boldsymbol{S} + \frac{1}{2 \lambda} \sum_{j=1}^6 K_{3j}^2 V3=21STΞS+2λ1j=16K3j2

注释:文献[2]中关于 S j S_j Sj K 1 j K_{1j} K1j K 3 j K_{3j} K3j的符号都不应该加粗,这些是标量。文章中的小错误不少,但大错误没有。该文献所对比的方法为线性滑模方法(LSM)、终端滑模方法(TSM)和快速终端滑模方法(FTSM):
LSM: S = x ˙ + ϑ 1 x TSM: S = x ˙ + ϑ 2 sig α ( x ) LSM: S = x ˙ + ϑ 1 x + ϑ 2 sig α ( x ) \begin{aligned} \text{LSM:} & \boldsymbol{S} = \dot{\boldsymbol{x}} + \boldsymbol{\vartheta}_1 \boldsymbol{x} \\ \text{TSM:} & \boldsymbol{S} = \dot{\boldsymbol{x}} + \boldsymbol{\vartheta}_2 \text{sig}^{\alpha} (\boldsymbol{x}) \\ \text{LSM:} & \boldsymbol{S} = \dot{\boldsymbol{x}} + \boldsymbol{\vartheta}_1 \boldsymbol{x} + \boldsymbol{\vartheta}_2 \text{sig}^{\alpha} (\boldsymbol{x}) \end{aligned} LSMTSMLSMS=x˙+ϑ1xS=x˙+ϑ2sigα(x)S=x˙+ϑ1x+ϑ2sigα(x)

注释:几个定义:
sig α ( x ) = [ ∣ x 1 ∣ α sgn ( x 1 ) , ⋯   , ∣ x n ∣ α sgn ( x n ) ] T ∈ R n \text{sig}^{\alpha}(\boldsymbol{x}) = \begin{bmatrix} |x_1|^\alpha \text{sgn}(x_1), \cdots, |x_n|^\alpha \text{sgn}(x_n)\end{bmatrix}^T \in \mathbb{R}^n sigα(x)=[x1αsgn(x1),,xnαsgn(xn)]TRn

Λ α ( x ) = diag ( [ ∣ x 1 ∣ α , ⋯   , ∣ x n ∣ α ] ) \boldsymbol{\Lambda}^{\alpha}(\boldsymbol{x}) = \text{diag} \left( \begin{bmatrix} |x_1|^\alpha, \cdots, |x_n|^\alpha \end{bmatrix} \right) Λα(x)=diag([x1α,,xnα])

其中, sgn ( ⋅ ) \text{sgn}(\cdot) sgn()为符号函数, diag ( ⋅ ) \text{diag}(\cdot) diag()为对角矩阵。

仿真分析

初始参数设置:
目标航天器轨道参数、追踪航天器轨道参数
期望相对姿态和轨道参数
追踪航天器质量和转动惯量的标称部分+不确定性部分
追踪航天器所受的干扰力和干扰力矩
执行机构输出上限

控制器参数设置、对比仿真。

参考文献

  1. 段玉瑞, 廖瑛, 王勇,等. 基于SE(3)的航天器姿轨一体化建模与控制[C]. 第二十届中国系统仿真技术及其应用学术年会, 2019.
  2. 张剑桥. 航天器姿轨一体化建模与控制方法研究[D]. 哈尔滨工业大学, 2020.
  3. 张剑桥, 叶东, 孙兆伟. SE(3)上姿轨耦合航天器高精度快速终端滑模控制[J]. 宇航学报, 2017, 38(2): 176-184.
  4. 知乎:旋转之十 - SO(3) 与 so(3)
  5. 知乎:旋转之十一 - SE(3) 和 se(3)
  6. CSDN:学习IMU预积分(1)李群
  7. CSDN:机器人运动学中李代数se(3)与李群SE(3)的基本概念与联系
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leweslyh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值