基于对偶四元数的姿轨耦合动力学模型

基于对偶四元数的航天器姿轨耦合建模

对偶四元数能一体化描述空间刚体转动和平动,基于对偶四元数建立航天器相对运动的姿轨耦合动力学模型。对偶四元数表示的动力学模型形式简洁,具有明确的物理意义,与四元数描述的相对姿态动力学模型形式相似,继承了四元数不含三角运算、无奇异性的优点。

研究现状

传统的航天器六自由度建模多采用“独立-耦合”方法,即用不同的数学方法描述航天器姿态运动和轨道运动,然后考虑姿轨耦合因素,联立实现航天器姿轨一体化建模过程。由于所建立的姿轨模型中姿态和轨道参数描述不统一,模型求解过程比较困难,这不是真正的姿轨一体化模型。

传统的航天器六自由度相对运动模型实际上是一种“伪六自由度模型”,忽略了相对姿态运动和相对位置运动之间的耦合,本质上仍为两个三自由度分离模型。为了更加贴合航天器姿轨一体化控制任务的实际需求,六自由度运动描述方法建立姿轨耦合运动学和动力学模型。

对偶四元数不仅可以描述航天器相对姿态运动,还可以同时且协同地描述相对位置变化。基于误差对偶四元数建立的航天器姿态和轨道相对运动学和动力学模型与基于误差四元数的航天器相对姿态运动模型具有相同的形式。

在同一数学框架内建立航天器的姿态运动和轨道运动模型,才是实现姿轨一体化的正确方法。

邹晖:几何代数的方法。

坐标系定义

惯性坐标系OixiyiziO_{i}x_{i}y_{i}z_{i},原点为地心,简称I

追踪航天器本体坐标系ObxbybzbO_{b}x_{b}y_{b}z_{b},原点为追踪航天器质心ObO_{b},简称B系。

目标航天器本体坐标系OtxtytztO_{t}x_{t}y_{t}z_{t},原点为目标航天器质心OtO_{t},简称T系。

期望坐标系OdxdydzdO_dx_dy_dz_d,根据任务需求而定义,简称D系。交会对接任务中,D系与I系保持相对静止;绕飞和监视任务中,D系相对I系实时变化。D系的引入增加了控制目标设计的灵活性。

四元数

四元数的定义、运算法则和物理含义

四元数的基本定义:
q=q0+q1i+q2j+q3k=q0+q q = q_{0} + q_{1}\vec{i} + q_{2}\vec{j} + q_{3}\vec{k} = q_{0} + \vec{q}
其中,q0q_{0}是四元数的标量部分(Scalar Part),q\vec{q}是四元数的矢量部分(Vector Part)。也可以表示为列向量的形式q=(q0,q)q = (q_{0},\vec{q})

四元数乘法

q=η+ξ1i+ξ2j+ξ3k=[η,ξT]Tq = \eta + \xi_1 \vec i + \xi_2 \vec j + \xi_3 \vec k = [\eta, \vec{\xi}^T]^T,其中,ξ=[ξ1,ξ2,ξ3]T\vec{\xi} = [\xi_1, \xi_2, \xi_3]^T,那么q1=[η1,ξ1T]q_1 = [\eta_1, \vec{\xi}_1^T]q2=[η2,ξ2T]q_2 = [\eta_2, \vec{\xi}_2^T]。则其乘法运算法则为:
q1q2=[η1η2ξ1Tξ2,(η1ξ2+η2ξ1+ξ1×ξ2)]T=[q1]q2 q_1 \otimes q_2 = [\eta_1 \eta_2 - \vec{\xi}_1^T \vec{\xi}_2, (\eta_1 \vec{\xi}_2 + \eta_2 \vec{\xi}_1 + \vec{\xi}_1 \times \vec{\xi}_2)]^T = [q_1]_{\otimes}q_2
其中,[q1][q_1]_{\otimes}表示一个参数矩阵,定义为:
[q1]=[ηξ2ξηI3×3+S(ξ)] [q_1]_{\otimes} = \left[ \begin{matrix} \eta & -\vec{\xi}^2 \\ \vec{\xi} & \eta {\bf{I}}_{3 \times 3} + S(\vec{\xi}) \end{matrix} \right]
参数矩阵S()S(\cdot)表示对应三维向量的反对称矩阵,以ξ\vec \xi为例,其表达式为:
S(ξ)=[0ξ3ξ2ξ30ξ1ξ2ξ10] S(\vec \xi) = \left[ \begin{matrix} 0 & -\xi_3 & \xi_2 \\ \xi_3 & 0 & -\xi_1 \\ -\xi_2 & \xi_1 & 0 \end{matrix} \right]
欧拉转动定理指出,在三维空间中,一个刚体在位移时,若刚体上至少有某一点保持固定不动,则此位移等价于绕着通过这一固定点的某固定轴的旋转。记这一固定轴(欧拉旋转轴)的单位矢量方向为e\vec{e},并以θ\theta表示等价旋转运动的旋转角(欧拉角),则这一等价的旋转运动可由一个单位四元数q=[η,ξT]Tq = [\eta, \vec{\xi}^T]^T表示,且η\etaξ\vec{\xi}满足:
η=cos(θ2)ξ=esin(θ2) \eta = \cos(\frac{\theta}{2}) \\ \vec{\xi} = \vec{e} \sin(\frac{\theta}{2})
定性来讲,η\eta描述了欧拉角的大小,而ξ\vec{\xi}描述了欧拉旋转轴的方向,且为单位四元数。

单位四元数既可以描述两坐标系的相对位姿关系,也可以表达某一向量在不同坐标系中的投影映射关系。

基于四元数的航天器姿态运动学模型

见“基于误差四元数的相对姿态运动学模型”。

基于四元数的航天器姿态动力学学模型

见“基于误差四元数的相对姿态动力学模型”。

基于误差四元数的相对姿态运动学模型

追踪器的姿态运动学方程为:
q˙BI=12qBIωBIB=12ωBIIqBI \dot{q}_{BI} = \frac{1}{2} q_{BI} \otimes \vec{\omega}_{BI}^B = \frac{1}{2} \vec{\omega}_{BI}^I \otimes q_{BI}
目标器的姿态运动学方程为:
q˙TI=12qTIωTIB=12ωTIIqTI \dot{q}_{TI} = \frac{1}{2} q_{TI} \otimes \vec{\omega}_{TI}^B = \frac{1}{2} \vec{\omega}_{TI}^I \otimes q_{TI}
其中,ωBIB\vec{\omega}_{BI}^B表示追踪器相对于I系的姿态角速度在B系下的分量,ωTIT\vec{\omega}_{TI}^T表示目标相对于I系的姿态角速度在T系下的分量。

定义误差四元数为:
qBT=qTIqBI q_{BT} = q_{TI}^* \otimes q_{BI}
则相对姿态运动学方程为:
q˙BT=12qBTωBTT=12ωBTTqBT \dot{q}_{BT} = \frac{1}{2} q_{BT} \otimes \vec{\omega}_{BT}^T = \frac{1}{2} \vec{\omega}_{BT}^T \otimes q_{BT}
其中,相对角速度在B系和T系下的分量分别为:
ωBTB=ωBIBωTIBωBTT=ωBITωTIT \vec{\omega}_{BT}^B = \vec{\omega}_{BI}^B - \vec{\omega}_{TI}^B \\ \vec{\omega}_{BT}^T = \vec{\omega}_{BI}^T - \vec{\omega}_{TI}^T

基于误差四元数的相对姿态动力学模型

追踪器姿态动力学方程:
Jˉω˙BIB+ωBIB×(JˉωBIB)=TB \bar{J} \dot{\vec{\omega}}_{BI}^{B} + \vec{\omega}_{BI}^{B} \times (\bar{J} \vec{\omega}_{BI}^{B}) = T^{B}
目标器姿态动力学方程在追踪器本体坐标系B系下的表达式为(我猜):
Jˉω˙TIB+ωTIB×(JˉωTIB)=TB \bar{J} \dot{\vec{\omega}}_{TI}^{B} + \vec{\omega}_{TI}^{B} \times (\bar{J} \vec{\omega}_{TI}^{B}) = T^{B}
其中,Jˉ\bar{J}表示本体系下追踪器or目标转动惯量矩阵,TBT^{B}表示作用于追踪器或目标的总力矩。

ω˙BIB=ω˙BTB+ω˙TIB\dot{\vec{\omega}}_{BI}^B = \dot{\vec{\omega}}_{BT}^B + \dot{\vec{\omega}}_{TI}^B代入到​追踪器姿态动力学方程中,可得相对姿态动力学方程为:
ω˙BTB=J1(TB(ωBTB+ωTIB)×(J(ωBTB+ωTIB)))qBT×ω˙TIT×qBTωTIB×ωBTB \dot{\vec{\omega}}_{BT}^B = J^{-1}(T^B - (\vec{\omega}_{BT}^B + \vec{\omega}_{TI}^B) \times (J(\vec{\omega}_{BT}^B + \vec{\omega}_{TI}^B))) - q_{BT}^* \times \dot{\vec{\omega}}_{TI}^T \times q_{BT} - \vec{\omega}_{TI}^B \times \vec{\omega}_{BT}^B
JJJˉ\bar{J}的形式如下:
J=[101×303×1Jˉ],Jˉ=[J11J12J13J21J22J23J31J32J33] J = \left[ \begin{matrix} 1 & 0_{1 \times 3} \\ 0_{3 \times 1} & \bar J \end{matrix} \right], \bar{J} = \left[ \begin{matrix} J_{11} & J_{12} & J_{13} \\ J_{21} & J_{22} & J_{23} \\ J_{31} & J_{32} & J_{33} \\ \end{matrix} \right]

对偶数和对偶四元数

对偶数的定义和运算法则

对偶数(Dual Number)的定义:
z^=z+ϵz \hat{z} = z + \epsilon z'
其中,zzzz'是实数,zz称作对偶数的实部,zz'称为对偶数的对偶部,ϵ\epsilon称为对偶单位,可以理解为ϵ=[00x0]\epsilon = \left[ \begin{matrix} 0 & 0 \\ x & 0 \end{matrix} \right],有ϵ2=0{\epsilon}^2 = 0ϵ0\epsilon \neq 0成立。

如果对偶数的实部和对偶部都是向量,即v^=v+ϵv\hat{\vec{v}} = \vec{v} + \epsilon \vec{v}',则该对偶数称为对偶向量,可以理解为实部和对偶部都是向量的的对偶数,也可以理解为元素为对偶数的向量。类似的,对偶矩阵和对偶四元数都可以这么理解。

如果对偶向量实部v\vec{v}是定位矢量,即与参考点的选择无关,对偶部v\vec{v}'为自由矢量,这样的对偶向量称为“旋量”,后面航天器动力学中的对偶速度矢量、对偶力矢量都可以看做旋量。

对偶四元数的定义和物理含义

对偶四元数的定义和运算法则

对偶四元数(Dual Quaternions)是对偶数和四元数在多维空间相结合的产物,可以理解为元素为四元数的对偶数,也可以理解为元素为对偶数的四元数。四元数只能表示3D旋转,对偶数只能表示平移,对偶四元数集成了两者的共同特性,从而能统一的表示旋转和平移。形式如下:
q^=[η^,ξ^]=[η+ϵη,ξ+ϵξ]=qr+ϵqd  =η+ξ1i+ξ2j+ξ3k+ϵ(η+ξ1i+ξ2j+ξ3k)=[η+ϵη,ξ1+ϵξ1,ξ2+ϵξ2,ξ3+ϵξ3]              \hat{q} = [\hat{{\eta}}, \hat{\vec{\xi}}] = [\eta + \epsilon {\eta}', \vec{\xi} + \epsilon \vec{\xi}'] = q_r + \epsilon q_d \\ \ \ \, = {\eta} + {\xi}_1 \vec{i} + {\xi}_2 \vec{j} + {\xi}_3 \vec{k} + \epsilon ({\eta'} + {\xi'}_1 \vec{i} + {\xi'}_2 \vec{j} + {\xi'}_3 \vec{k}) \\ = [\eta + \epsilon {\eta}', \xi_1 + \epsilon {\xi_1}', \xi_2 + \epsilon {\xi_2}', \xi_3 + \epsilon {\xi_3}'] \ \ \ \ \ \ \ \ \ \ \ \ \
其中,η^\hat{\vec{\eta}}ξ^\hat{\vec{\xi}}为对偶数和对偶向量,qrq_rqdq_d是普通的四元数,分别称为对偶四元数的实部和对偶部。

对偶四元数的乘法运算法则:
q^1q^2=[η^1η^2ξ^1Tξ^2,(η^1ξ^2+η^2ξ^1+ξ^1×ξ^2)T]T=(q1rq2r)+ϵ(q1rq2d+q1dq2r)=[q1]q2 \hat q_1 \otimes \hat q_2 = [\hat\eta_1 \hat\eta_2 - \hat{\vec{\xi}}_1^T \hat{\vec{\xi}}_2, (\hat \eta_1 \hat{\vec{\xi}}_2 + \hat\eta_2 \hat{\vec{\xi}}_1 + \hat{\vec{\xi}}_1 \times \hat{\vec{\xi}}_2)^T]^T = (q_{1r} \otimes q_{2r}) + \epsilon (q_{1r} \otimes q_{2d} + q_{1d} \otimes q_{2r}) \\ = [q_1]_{\otimes} q_2

对偶四元数的物理解释

Chasles定理:任何一般性刚体运动都可以通过绕某个轴的旋转和沿相同轴的平移实现。这种旋转和平移的组合很像是一种螺旋式的运动。

两坐标系之间的螺旋运动变换如下图所示,n^\hat{\vec{n}}ddθ\theta分别为螺旋轴、螺距和转角。类似于单位四元数可以描述姿态运动,单位对偶四元数可以用来同时描述坐标系的平动和转动。单位四元数qBIq_{BI}的几何意义为一个大圆弧矢量,类似的,单位对偶四元数q^BI\hat{q}_{BI}的几何意义是一个螺旋弧矢量,可以看做是四元数和大圆法线矢量的合成。q^BI\hat{q}_{BI}可以写为如下形式:
q^BI=[cos(θ^2),sin(θ^2)n^],θ^=θ+ϵd \hat{q}_{BI} = [\cos{(\frac{\hat{\theta}}{2})}, \sin{(\frac{\hat{\theta}}{2})} \hat{\vec{n}}], \hat{\theta} = \theta + \epsilon d
基于对偶四元数的姿轨耦合动力学模型
坐标系I到坐标系B的运动可以先转动qBIq_{BI}再平动rBIBr_{BI}^{B}得到,也可以先平动rBIBr_{BI}^{B}再转动qBIq_{BI}得到。空间暜吕克直线在两坐标系中的表达分别为l^I=lI+ϵmI\hat{\vec{l}}^I = \vec{l}^I + \epsilon \vec{m}^Il^B=lB+ϵmB\hat{\vec{l}}^B = \vec{l}^B + \epsilon \vec{m}^B,可知lB=qBIlIqBI{\vec{l}}^B = q_{BI}^* \otimes {\vec{l}}^I \otimes q_{BI}。其中lI\vec{l}^I等矢量与四元数运算时标量部分按0的矢量四元数来处理。那么可以得到如下空间暜吕克直线的旋转公式,可以理解为同一对偶矢量在不同坐标系下的表示,也可以理解为同一坐标系中对偶矢量l^I\hat{\vec{l}}^I进过六自由度运动到l^B\hat{\vec{l}}^B
l^B=q^BIl^Iq^BI \hat{\vec{l}}^B = \hat q_{BI}^* \otimes \hat{\vec{l}}^I \otimes \hat q_{BI}
其中,q^BI=qBI+ϵqd\hat{q}_{BI} = q_{BI} + \epsilon q_d,且qd=12qBIrBIBq_d = \frac{1}{2} q_{BI} \otimes \vec{r}_{BI}^B

基于对偶四元数的航天器运动学模型

对于单航天器,轨道运动学和轨道动力学+姿态运动学和姿态动力学。轨道运动学和轨道动力学都是将航天器当成质点来研究的,因此不对动力学和运动学进行区分,统称为轨道动力学。

运动学是从几何的角度(不涉及物体本身的物理性质和加在物体上的力)描述和研究物体位置随时间的变化规律的力学分支。

动力学主要研究作用于物体上的力与物体运动的关系。动力学普遍定理包括动量定理、动量矩定理、动能定理,以及由这三个基本定理推导出的其他定理。

因此简单来讲,二体问题的运动方程即为单航天器轨道运动学模型,加上控制力后即为单航天器轨道动力学模型。而航天器相对轨道运动学模型也可以理解为无控制力(控制加速度)的C-W方程(T-H方程等),航天器相对轨道动力学模型即为有控制力(控制加速度)的C-W方程(T-H方程等)。

而航天器姿态运动学模型和姿态动力学模型就不能简单理解为有无控制力矩的问题(也可以这么理解?)。

坐标系I到坐标系B的运动可以先转动qBIq_{BI}再平动rBIBr_{BI}^{B}得到,也可以先平动rBIBr_{BI}^{B}再转动qBIq_{BI}得到。空间暜吕克直线在两坐标系中的表达分别为l^I=lI+ϵmI\hat{\vec{l}}^I = \vec{l}^I + \epsilon \vec{m}^Il^B=lB+ϵmB\hat{\vec{l}}^B = \vec{l}^B + \epsilon \vec{m}^B,可知lB=qBIlIqBI\vec{l}^B = q_{BI}^* \circ \vec{l}^I \circ q_{BI}。其中lI\vec{l}^I等矢量与四元数运算时标量部分按0的矢量四元数来处理。

单位对偶四元数的八个量中独立变量只有六个,正好对应着刚体空间运动六自由度。对偶四元数的实部代表航天器姿态运动,对偶部代表航天器轨道运动。

基于对偶四元数的刚体空间运动学方程为:
q^˙BI=12q^BIω^BIB=12ω^BIIq^BI \dot{\hat{q}}_{BI} = \frac{1}{2} \hat{q}_{BI} \otimes \hat {\vec{\omega}}_{BI}^B = \frac{1}{2} \hat {\vec{\omega}}_{BI}^I \otimes \hat{q}_{BI}
从上式可以发现对偶四元数描述的刚体六自由度运动与四元数描述的刚体旋转运动由相似的表达式。

基于对偶四元数的航天器动力学模型

对偶四元数在描述旋量时,表示描述方向的实部不因参考点的选择而变化,而对偶部则与参考点的选择有关。

对偶形式的动力学方程为:
M^ω^˙BIB=ω^BIB+F^B \hat{M} \dot{\hat{\vec\omega}}_{BI}^{B} = -\hat{\vec{\omega}}_{BI}^{B} + \hat{F}^B
其中,M^=mddϵI4×4+ϵJ\hat{M} = m \frac{d}{d \epsilon} {\bf{I}}_{4 \times 4} + \epsilon J是追踪器对偶惯量阵,F^B=FB+ϵTB=F^a+F^g+F^d\hat{F}^B = F^B + \epsilon T^B = \hat{F}_a + \hat{F}_g + \hat{F}_d是对偶力在B系下的分量,接下来的叙述省略上标BBF^a\hat{F}_a实部为控制力,对偶部为控制力矩;F^g\hat{F}_g实部为引力,对偶部为重力梯度力矩;对偶干扰力F^d\hat{F}_d在仿真时给出。

基于误差对偶四元数的相对姿轨耦合运动学模型

传统的航天器六自由度相对运动模型实际上式一种“伪六自由度模型”,忽略了相对姿态运动和相对位置运动之间的耦合,本质上仍为两个三自由度分离模型。为了更加贴合航天器姿轨一体化控制任务的实际需求,六自由度运动描述方法建立姿轨耦合运动学和动力学模型。对偶四元数可以同时且协同地描述相对位置变化。

坐标系B相对于坐标系T误差对偶四元数定义为:
q^BT=q^TIq^BI \hat{q}_{BT} = \hat{q}_{TI}^* \otimes \hat{q}_{BI}
显然,误差对偶四元数也是一个单位对偶四元数。q^BT\hat{q}_{BT}满足如下表达式:
q^BT=qBT+ϵ12qBTrBTB=qBT+ϵ12rBTTqBT=qBT+ϵqBTd \hat{q}_{BT} = q_{BT} + \epsilon \frac{1}{2} q_{BT} \otimes r_{BT}^B \\ = q_{BT} + \epsilon \frac{1}{2} r_{BT}^T \otimes q_{BT} = q_{BT} + \epsilon q_{BTd}
其中,rBTBr_{BT}^BrBTTr_{BT}^T分别为追踪器与目标的相对位置矢量在B系与T系的分量。

基于误差对偶四元数的姿轨耦合相对运动方程
q^˙BT=12q^BTω^BTB \dot{\hat q}_{BT} = \frac{1}{2} \hat{q}_{BT} \otimes \hat{\vec{\omega}}_{BT}^B
其中ω^BTB\hat{\vec{\omega}}_{BT}^B为相对速度旋量在B系中的表达式。ω^BTB\hat{\vec{\omega}}_{BT}^B也可以写为如下形式:
ω^BTB=ωBTB+ϵ(r˙BTB+ωBTB×rBTB) \hat{\vec{\omega}}_{BT}^B = \vec{\omega}_{BT}^B + \epsilon(\dot{r}_{BT}^B + \vec{\omega}_{BT}^B \times r_{BT}^B)

基于误差对偶四元数的相对姿轨耦合动力学模型

追踪航天器相对于目标航天器的姿轨耦合动力学方程为
ω^˙BTB=M^1(K^ω^BTB+L^+F^) \dot{\hat{\vec{\omega}}}_{BT}^B = \hat{M}^{-1} (\hat{K} {\hat{\vec{\omega}}}_{BT}^B + \hat L + \hat F)
其中:
K^=K1ddϵ+ϵK2K1=m(ωBTB+2ωTIB)×K2=(J(ωBTB+ωTIB))×(ωTIB)×JJ(ωTIB)×L^=L1+ϵL2L1=mqBTv˙TITqBTm(qBTω˙TITqBT)×rBTBmωTIB×(vTIB+ωTIB×rBTB)L2=J(qBTω˙TITqBT)ωTIBJωTIB \hat{K} = K_1 \frac{d}{d \epsilon} + \epsilon K_2 \\ K_1 = -m(\vec{\omega}_{BT}^B + 2 \vec{\omega}_{TI}^B)^{\times} \\ K_2 = (J(\vec{\omega}_{BT}^B + \vec{\omega}_{TI}^B))^{\times} - (\vec{\omega}_{TI}^B)^{\times}J - J (\vec{\omega}_{TI}^B)^{\times} \\ \hat L = L_1 + \epsilon L_2 \\ L_1 = -m q_{BT}^* \otimes \dot{v}_{TI}^T \otimes q_{BT} - m (q_{BT}^* \otimes \dot{\vec{\omega}}_{TI}^T \otimes q_{BT}) \times \vec{r}_{BT}^B - m \vec{\omega}_{TI}^B \times (v_{TI}^B + \vec{\omega}_{TI}^B \times \vec{r}_{BT}^B) \\ L_2 = -J(q_{BT}^* \otimes \dot{\vec{\omega}}_{TI}^T \otimes q_{BT}) - \vec{\omega}_{TI}^B \otimes J \vec{\omega}_{TI}^B
为方便控制器设计,可以将上式进一步展开。可以看出,轨道部分包含姿态参数,即表明轨道相对运动受到姿态相对运动的影响,耦合项是由动量在动坐标系中求导和航天器受力在不同坐标系中的表达带来的。同时,相对姿态运动方程中的TgT_gTdT_d与相对位置有关,但相对卫星轨道高度来说,相对位置是小量,可以忽略不计。

航天器相对运动控制中的问题

  1. 质量与惯量不确定性问题。

    燃料消耗、载荷安装偏移、结构改变等因素将引起在轨航天器质量与惯量参数的变化。

  2. 线速度和角速度不可测问题。

  3. 运动约束问题。

    由于受制于敏感元件、执行机构或其他载荷的各种限制,以及处于飞行安全和完成某些特殊任务的考虑,在轨航天器经常需要满足各类运动约束。

  4. 执行机构存在故障时的容错控制问题。

数值仿真

如何实现基于对偶四元数的航天器相对姿轨耦合运动学方程,需要搞懂每一个变量和系数的物理含义。

参考文献

  1. 杨嘉庚. 航天器相对运动姿轨耦合跟踪控制[D]. 2016. 哈尔滨工业大学.
  2. 吴锦杰. 航天器相对运动姿轨一体化动力学建模与控制技术研究[D]. 2013. 国防科技大学.
  3. 机器人学代数基础——对偶四元数与速度旋量(或运动螺旋)之间的转换.
  4. 董宏洋. 基于对偶四元数的航天器位姿一体化控制方法研究[D]. 2017. 哈尔滨工业大学.
  5. 孙俊. 在轨服务航天器位姿一体化规划与控制[D]. 2017. 哈尔滨工业大学.