劉公緒,蔚保國,史凌峰,劉 洪,何 瑞,董亞軍
(1.衛星導航系統與裝備技術國家重點實驗室,河北 石家莊 050081;2.西安電子科技大學 電子工程學院,陜西 西安 710071)
用全姿態角來描述運載體在三維空間中任意位置的姿態,其概念普遍應用在導航、定位和制導等相關領域[1]。載體的姿態多用歐拉角表示,但歐拉角法具有奇異性,即當俯仰角為 ±90°時,會出現萬向節鎖,因而歐拉方程不能全姿態表示姿態角。學者們常借助歐拉角與四元數之間的轉化進行運載體的全姿態表示[2-3]。姿態四元數的表示問題通常包括姿態空間的描述問題,以及姿態角與四元數的映射問題,它們是姿態估計和控制算法的基石[4-7]。在用四元數表示運載體姿態時,雖然四元數可以有效避免姿態角的奇異問題,但四元數的狀態空間對姿態角空間是雙重覆蓋的,即對任意一組姿態角,都有兩組四元數與之對應,這會導致在姿態控制時出現姿態散開問題[8,9]。姿態散開是指四元數的二重覆蓋性會在兩組四元數向量的鄰域形成一個吸引域和一個排斥域,導致當初始條件接近平衡點時會忽然反方向繞開去,繞一整圈后再回到平衡點。為解決這一問題,筆者提出一種壓縮型全姿態角四元數的表示方法。其基本思想如下:運載體的實際姿態可分別惟一用姿態角空間和四元數空間進行描述,從這個角度講,姿態角空間和四元數空間都不應該是冗余的,應該是壓縮的,即包含且僅包含運載體的實際姿態信息。因此引入壓縮型姿態角空間和壓縮型四元數空間兩個概念,并通過方向余弦矩陣與四元數的轉化關系實現兩個壓縮空間的一一映射,并且兩個壓縮空間都與運載體的實際姿態一一對應。最后通過數值仿真實驗驗證了所提出方法的可行性。
這里采用東-北-天坐標系為導航坐標系(n系)。起初,載體坐標系(b系)與導航坐標系重合,運載體的右前上各自指向東-北-天方向。載體繞X,Y,Z軸旋轉分別得到俯仰角(θ),橫滾角(φ)和航向角(ψ),如圖1所示。關于姿態角的擴展在學術研究或工程應用中并沒有明確規定,原則上需要表示運載體在三維空間中的全姿態。在壓縮型姿態角空間中,對其中任意一個姿態角進行壓縮均可以實現對運載體實際姿態信息的唯一描述。考慮到在方向余弦矩陣中,決定俯仰角大小的只有一項,對其擴展會增加難度,而決定另外兩個姿態角大小的都各有兩項,對其擴展相對容易。因此采取對俯仰角壓縮,即不擴展,而對橫滾角和航向角進行擴展的處理方法為

(1)
為方便描述,將式(1)稱為壓縮型姿態角空間。
關于式(1)對運載體全姿態唯一描述的機理做如下說明。這里俯仰角的取值范圍是[-π/2, π/2],若只考察俯仰角,顯然其二、三象限與一、四象限是疊加在一起的,具有二義性,不能描述俯仰角的全姿態,關于坐標系象限的定義見圖2。若整體考察運載體的三個姿態角的取值,可以發現俯仰角在±π/2時,橫滾角和航向角也會發生180°的相位變化。因此,完全可以綜合考察三個姿態角的大小來惟一確定運載體在導航坐標系中的姿態。下面將介紹如何對傳統四元數空間進行約束,構造壓縮型四元數空間,消除四元數對姿態角的二重覆蓋性。

圖1 坐標系示意圖及姿態角的定義

圖2 坐標系的象限
在圖1中,繞坐標系X, Y, Z軸分別作基本旋轉,可得到相應的坐標變換矩陣,如式(2)~(4)所示[10]:
(2)
(3)
(4)

(5)
從載體坐標系到導航坐標系的姿態轉換矩陣:
(6)
rn=q?rb?q*,
(7)
其中,?表示四元數乘法。與姿態轉換矩陣類似,上式可轉化為
(8)
(9)
依次繞X, Y, Z軸做基本旋轉,得到四元數表示分別為
(10)
(11)
(12)

(13)
根據導航坐標系與載體坐標系的轉換關系,可以得到從載體坐標系到導航坐標系的四元數變換矩陣:
(14)
對式(14)展開,得到由姿態角轉化到四元數的方程組如下:
(15)
結合式(6)和式(9),可以得到由四元數轉化為姿態角的方程組[12]:
(16)
聯合壓縮型姿態角空間式(1),式(15)和四元數模值約束條件,可得出四元數空間取值為
(17)
事實上,約束后的四元數空間式(17)仍不能完全消除二重覆蓋性,因此,對四元數空間進一步壓縮,得到壓縮型四元數空間為
(18)
顯然壓縮的形式有多種,這里不再一一列出。
至此,已經闡明了壓縮型姿態角空間和壓縮型四元數空間。下面即進行數值仿真實驗,驗證所提出方法的可行性。
當俯仰角為±π/2時會出現奇異問題,這里對姿態角奇異性測試的方法如下。使俯仰角在-π/2與π/2之間交替變化,使橫滾角和航向角在(-π,π]內隨機變化,用來模擬當俯仰角為±π/2時,任意橫滾角和任意航向角下姿態角的奇異情況。若所提的方法具有奇異性,則解算的四元數是無窮多組解中的一組,可以通過四元數與姿態角之間的轉換關系反解算四元數得姿態角,然后對比前后姿態角的誤差。若出現奇異問題,則意味著在反解算時,作為輸入的是無窮多組解中的一組解,得到的姿態角與生成的姿態角完全相等的概率幾乎為零,則反解算前后姿態角誤差勢必較大,否則誤差很小。因此可以通過生成姿態角與反解算姿態角的前后誤差來判斷是否出現奇異性問題。測試結果如圖3所示,可見誤差在10-11量級,誤差主要來源是弧度與角度之間轉換時導致的誤差,以及四元數歸一化時導致的截斷誤差。該實驗驗證了壓縮型四元數空間繼承了四元數表示姿態角的非奇異性優點。

圖3 姿態角奇異性測試
為了驗證壓縮型姿態角空間與壓縮型四元數空間的一一映射關系,開展了以下實驗,如圖4和圖5所示。首先隨機生成壓縮型姿態角空間,然后根據式(15)將姿態角映射到壓縮型四元數空間,再根據式(16),將映射的四元數反映射到壓縮型姿態角空間,將得到的姿態角與生成的姿態角做差,即得到誤差。由圖4可見誤差在10-11量級,誤差主要來源是弧度與角度之間轉換時導致的誤差,以及四元數歸一化時導致的截斷誤差。接著隨機生成壓縮型四元數空間,根據式(16)將四元數映射到壓縮型姿態角空間內,再根據式(15),將得到的姿態角反映射到壓縮型四元數空間內,最后將得到的四元數與生成的四元數做差,即得到誤差。由圖5可見誤差在10-15量級,誤差主要來源同上述分析。

圖4 壓縮型姿態角空間與壓縮型四元數空間的一一映射關系驗證

圖5 壓縮型姿態角空間與壓縮型四元數空間的一一映射關系驗證
針對傳統姿態角空間與四元數空間的非一一映射關系而引起的姿態散開等問題,首先引入壓縮型姿態角空間和壓縮型四元數空間兩個概念,提出一種新穎的壓縮型全姿態角四元數的表示方法。基于壓縮型姿態角空間的概念,分析了姿態角的壓縮過程及壓縮姿態角空間對運載體全姿態唯一描述的機理;基于壓縮型四元數空間的概念,通過增加四元數空間的約束條件,消除四元數的二重覆蓋性;并通過方向余弦矩陣與四元數的相互轉化關系實現兩個壓縮空間的一一映射。然后通過數值仿真實驗驗證了所提出方法的可行性。測試結果表明該方法可以唯一表示運載體在三維空間中的全姿態信息,無奇異性問題,無姿態散開問題,可以普遍應用在導航、制導等領域,具有一定的科學研究價值和工程實踐意義。文中所述的姿態描述方法消除了四元數對姿態角的二重覆蓋性,但四元數的二重覆蓋性在某些算法中有一定作用,如基于旋轉矢量的姿態估計方法,它利用四元數的二重覆蓋性,減少了剛體旋轉的不可交換誤差。因此在實際應用中,應根據筆者提出的壓縮映射思想,選擇合適的坐標系進行姿態描述,然后利用相關的姿態解算和控制算法達到預期目的。