鞏浩然 武 迪 龔勝平 李俊峰
?(清華大學(xué)航天航空學(xué)院,北京100084)
?(北京航空航天大學(xué)宇航學(xué)院,北京100191)
1775年,Euler[1]使用球面幾何方法首次證明了任意有限剛體旋轉(zhuǎn)運(yùn)動(dòng)都可以等價(jià)為一次繞某固定轉(zhuǎn)軸的定軸轉(zhuǎn)動(dòng)。同時(shí)歐拉創(chuàng)造性地提出了歐拉角的概念,即剛體的任意姿態(tài)運(yùn)動(dòng),都可以分解為3次繞固連系坐標(biāo)軸的定軸旋轉(zhuǎn)之疊加(連續(xù)兩次的轉(zhuǎn)軸不可相同),經(jīng)典的分解順序包括依次繞z-x-z軸旋轉(zhuǎn)的進(jìn)動(dòng)、章動(dòng)、自轉(zhuǎn),和依次繞z-y-x軸旋轉(zhuǎn)的偏航、俯仰、滾轉(zhuǎn)等。這種分解方法清晰易懂、方便可視化,尤其為工程應(yīng)用帶來(lái)了諸多便利。1973年,NASA研究人員Davenport[2]在歐拉角正交分解的基礎(chǔ)上,研究了將剛體轉(zhuǎn)動(dòng)分解為幾次繞非正交軸旋轉(zhuǎn)的可行性及分解方法。2003年,Wittenburg等[3]進(jìn)一步將問(wèn)題拓展到一般的螺旋位移運(yùn)動(dòng)分解。
這幾種姿態(tài)運(yùn)動(dòng)的分解雖有不同,但基本出發(fā)點(diǎn)一致:已知?jiǎng)傮w某有限轉(zhuǎn)動(dòng)并給定幾根轉(zhuǎn)動(dòng)軸(正交或非正交的),將該有限轉(zhuǎn)動(dòng)分解為繞這幾根給定軸的轉(zhuǎn)動(dòng)之疊加。與上述研究的問(wèn)題不同,本文研究的問(wèn)題則是:已知?jiǎng)傮w某有限轉(zhuǎn)動(dòng),給定旋轉(zhuǎn)角度大小,問(wèn)該轉(zhuǎn)動(dòng)是否可以分解為一系列轉(zhuǎn)角為給定角度的定軸運(yùn)動(dòng)(轉(zhuǎn)軸的方向自由選取)之疊加。為了使問(wèn)題闡述得更清楚形象,用三維歐式空間中的質(zhì)點(diǎn)位移做個(gè)類比。上述已有的研究類似于已知質(zhì)點(diǎn)某有限位移,給定幾個(gè)空間方向(正交或非正交),將該有限位移分解為沿這幾個(gè)給定方向的位移之和。而本文的研究問(wèn)題則類似于,已知質(zhì)點(diǎn)某有限位移,給定單步運(yùn)動(dòng)步長(zhǎng),是否可以將該有限位移分解為一系列步長(zhǎng)為給定步長(zhǎng)的位移運(yùn)動(dòng)之疊加。
舉例來(lái)說(shuō),假設(shè)剛體需要繞z軸轉(zhuǎn)動(dòng)10°,如限定單次轉(zhuǎn)角只能為5°,則可以拆分為2次繞z軸的旋轉(zhuǎn)之和,如限定單次轉(zhuǎn)角只能為2°,則可以拆分為5次繞z軸的旋轉(zhuǎn)之和,如限定單次轉(zhuǎn)角為3°,那么幾次繞z軸的轉(zhuǎn)動(dòng)就無(wú)法實(shí)現(xiàn)需求,這時(shí)還需要去尋找z軸之外的其他轉(zhuǎn)軸,將目標(biāo)轉(zhuǎn)動(dòng)拆分為幾次轉(zhuǎn)角為3°的轉(zhuǎn)動(dòng)之和。
本問(wèn)題屬于較為經(jīng)典的姿態(tài)運(yùn)動(dòng)學(xué)問(wèn)題,既有其力學(xué)理論價(jià)值,也有工程實(shí)踐意義。例如在依靠步進(jìn)電機(jī)旋轉(zhuǎn)的機(jī)構(gòu)中,步進(jìn)電機(jī)的轉(zhuǎn)軸方向可以任意變化,但步進(jìn)電機(jī)的最小步長(zhǎng)有限制,對(duì)于某些微型步進(jìn)電機(jī),最小單步步長(zhǎng)可以達(dá)到18°,此時(shí)依靠步進(jìn)電機(jī)的姿態(tài)運(yùn)動(dòng)就不得不考慮本文研究的問(wèn)題。此外,本文作者也在做空間多體系統(tǒng)通過(guò)關(guān)節(jié)運(yùn)動(dòng)實(shí)現(xiàn)姿態(tài)機(jī)動(dòng)的研究,在這類問(wèn)題中,有些情形下多體系統(tǒng)姿態(tài)運(yùn)動(dòng)的轉(zhuǎn)角是一定的,而轉(zhuǎn)軸方向的選取則有較大自由,本文所研究的問(wèn)題也與之密切相關(guān)。
如圖1所示的多體結(jié)構(gòu)太陽(yáng)帆,其姿態(tài)固連系建立在中心十字架上,1和3號(hào)帆可以繞x軸同步旋轉(zhuǎn),2和4號(hào)帆可以繞y軸同步旋轉(zhuǎn)。整個(gè)帆可以看做一個(gè)由中心十字支架、1和3號(hào)帆、2和4號(hào)帆組成的3剛體系統(tǒng),通過(guò)帆面的旋轉(zhuǎn),可以實(shí)現(xiàn)中心十字支撐(即姿態(tài)固連系)的姿態(tài)變化。當(dāng)1和3號(hào)帆位于Oxy平面上時(shí),2和4號(hào)帆的旋轉(zhuǎn)會(huì)引起整星姿態(tài)(即固連在中心十字支撐上的固連系姿態(tài))繞y軸反轉(zhuǎn),而當(dāng)1和3號(hào)帆與Oxy平面形成一個(gè)夾角θ1時(shí),2和4號(hào)帆的旋轉(zhuǎn)也會(huì)引起整星姿態(tài)變化,但由于失去了對(duì)稱性,此時(shí)整星轉(zhuǎn)軸不再是y軸,而是偏離y軸的α軸。考慮如下一組轉(zhuǎn)動(dòng):初始時(shí)刻4片帆面全部位于Oxy平面內(nèi),首先,1和3號(hào)帆旋轉(zhuǎn)θ1后保持不動(dòng),接著,2和4號(hào)帆旋轉(zhuǎn)nπ后保持不動(dòng)(此時(shí)2和4號(hào)帆仍位于Oxy平面內(nèi)),最后1和3號(hào)帆反轉(zhuǎn)θ1回歸原位。經(jīng)歷了這樣一組轉(zhuǎn)動(dòng)后,太陽(yáng)帆的構(gòu)型與初始時(shí)一致,但整星姿態(tài)發(fā)生了變化,其姿態(tài)變化四元數(shù)可以由3次轉(zhuǎn)動(dòng)疊加得到
圖1 由4片直角三角形帆面及相應(yīng)支撐桿構(gòu)成的太陽(yáng)帆
其中,°表示四元數(shù)相乘運(yùn)算。a是第一次轉(zhuǎn)動(dòng)后,整星繞x軸反轉(zhuǎn)的角度,與θ1成正比,b是第二次轉(zhuǎn)動(dòng)后,整星繞α軸轉(zhuǎn)動(dòng)的角度,與nπ成正比,c是α軸抬離Oxy平面的角度,也是θ1的函數(shù)。固定b,而令a變化,式(1)顯示,整星姿態(tài)變化的轉(zhuǎn)角是一定的,而轉(zhuǎn)軸的方向可以是Oyz平面內(nèi)的任意方向(通過(guò)選取恰當(dāng)?shù)腶)。試圖通過(guò)一系列這樣的3步組合轉(zhuǎn)動(dòng)實(shí)現(xiàn)太陽(yáng)帆的任意姿態(tài)機(jī)動(dòng),這就不可避免地要回答一個(gè)問(wèn)題:在多步姿態(tài)轉(zhuǎn)動(dòng)中,轉(zhuǎn)角固定,而轉(zhuǎn)動(dòng)方向可在一定范圍內(nèi)選取,能否拼出任意想要的姿態(tài)變換?在這個(gè)太陽(yáng)帆的問(wèn)題中,轉(zhuǎn)軸的方向被限定在了Oyz平面內(nèi),使得問(wèn)題更加復(fù)雜,這里先來(lái)看看轉(zhuǎn)軸方向可以任意選取時(shí)的情況。
在下一節(jié)中,使用姿態(tài)四元數(shù)作為主要工具,通過(guò)構(gòu)造性的證明方式,證明上述分解的可行性,并給出分解方法。
對(duì)于某一轉(zhuǎn)軸方向?yàn)閑,轉(zhuǎn)角為m的給定剛體定軸轉(zhuǎn)動(dòng)(用姿態(tài)四元數(shù)描述)
是否可以通過(guò)一系列轉(zhuǎn)角n i給定,轉(zhuǎn)軸方向e(i)任意的定軸轉(zhuǎn)動(dòng)
拼湊而成?即是否可以通過(guò)恰當(dāng)選取每次轉(zhuǎn)動(dòng)的轉(zhuǎn)軸e(i)使得q=q(1)°q(2)°...°q(k)?
首先,上述問(wèn)題的答案是肯定的,通過(guò)有限次轉(zhuǎn)角依次為n1,n2,···n k的定軸轉(zhuǎn)動(dòng),一定可以拼接出某一轉(zhuǎn)軸方向?yàn)閑,轉(zhuǎn)角大小為m的定軸轉(zhuǎn)動(dòng),且一定可以在k次內(nèi)完成,這里k表示滿足的最小整數(shù)。具體分解方法如下:
(1)當(dāng)m≥n1+n2時(shí),取轉(zhuǎn)軸方向e(1)=e,靠近目標(biāo)姿態(tài),設(shè)在第i?1步后,距離目標(biāo)姿態(tài)的一次轉(zhuǎn)動(dòng)轉(zhuǎn)角為m i-1,如m i-1≥n i+n i+1,繼續(xù)取轉(zhuǎn)軸方向e(i)=e;如m i-1 (2)當(dāng)m 不失一般性地,可以假設(shè)目標(biāo)轉(zhuǎn)動(dòng)q的轉(zhuǎn)軸e=[0,0,1]T,因?yàn)閷?duì)于任意轉(zhuǎn)動(dòng),總能找到一個(gè)旋轉(zhuǎn)坐標(biāo)系,使得在該坐標(biāo)系下,轉(zhuǎn)軸方向?yàn)閇0,0,1]T。令兩次轉(zhuǎn)動(dòng)之疊加等于目標(biāo)轉(zhuǎn)動(dòng) 注意,這里e1,e2并非在同一坐標(biāo)系下的兩個(gè)方向,e1是在空間慣性坐標(biāo)系下的方向投影,e2則是基于e1轉(zhuǎn)動(dòng)之后的剛體固連系上的方向投影。方程(4)可展開(kāi)為 因?yàn)閱挝凰脑獢?shù)模為1的天然約束,如式(5)所示的4個(gè)標(biāo)量方程中,只有3個(gè)獨(dú)立方程,而獨(dú)立未知量則有4個(gè)(每個(gè)轉(zhuǎn)軸方向含2個(gè)獨(dú)立未知量),故方程(4)的解并不唯一。設(shè) 代入方程(5)整理可得四個(gè)解 上述4個(gè)未知量的解只有3個(gè)是獨(dú)立的,方便起見(jiàn),取式(7)~式(9)為一組解,觀察該解,式(8)和式(9)說(shuō)明e1,e2在z方向的分量可以確定,式(7)說(shuō)明e1,e2兩方向的夾角可以確定,滿足式(7)~式(9)均為可行解。解存在的條件為 與情況(2)的條件相符。 設(shè)目標(biāo)剛體姿態(tài)運(yùn)動(dòng)為繞初始z軸旋轉(zhuǎn)2π/3,依靠步進(jìn)電機(jī)實(shí)現(xiàn)該運(yùn)動(dòng),假設(shè)該步進(jìn)電機(jī)的轉(zhuǎn)軸方向可以任意取定,最小單步轉(zhuǎn)角為π/5。根據(jù)上一節(jié)的討論,由于2π/3>π/5+π/5,首先令步進(jìn)電機(jī)轉(zhuǎn)軸方向取為z軸,經(jīng)1次轉(zhuǎn)動(dòng)后距離目標(biāo)姿態(tài)2π/3?π/5=7π/15,因?yàn)?π/15>π/5+π/5,繼續(xù)令步進(jìn)電機(jī)轉(zhuǎn)軸方向?yàn)閦軸,經(jīng)第2次轉(zhuǎn)動(dòng)后距離目標(biāo)姿態(tài)7π/15?π/5=4π/15。此時(shí)因4π/15<π/5+π/5,將m=4π/15,n i=π/5代入方程(7)~方程(9)可得 滿足式(12)的解均為可行解,不妨取兩次轉(zhuǎn)動(dòng)的四元數(shù)為 綜上,步進(jìn)電機(jī)的4次定步長(zhǎng)轉(zhuǎn)動(dòng),即可實(shí)現(xiàn)目標(biāo)姿態(tài)運(yùn)動(dòng),圖2為第3和第4兩步旋轉(zhuǎn)分解的示意圖。初始姿態(tài)固連坐標(biāo)系(經(jīng)過(guò)前2步轉(zhuǎn)動(dòng)后的剛體固連坐標(biāo)系)Ox0y0z0,目標(biāo)姿態(tài)固連坐標(biāo)系Oxfyfzf,經(jīng)過(guò)前3次旋轉(zhuǎn)后的剛體固連坐標(biāo)系Ox1y1z1。為了展示清晰,除坐標(biāo)系外,還畫(huà)出了一個(gè)假想的手機(jī)狀剛體。圖中e1,e2為第3和第4兩次旋轉(zhuǎn)的旋轉(zhuǎn)軸(均已轉(zhuǎn)換到第2次旋轉(zhuǎn)后的剛體固連坐標(biāo)系下)。 圖2 實(shí)驗(yàn)案例中的旋轉(zhuǎn)分解示意圖 關(guān)于姿態(tài)運(yùn)動(dòng)分解的過(guò)往研究,多集中于給定“基方向”,如何選擇適當(dāng)?shù)霓D(zhuǎn)角以實(shí)現(xiàn)任意姿態(tài)變換;本文則是給定旋轉(zhuǎn)步長(zhǎng),自行尋找適合的“方向”以實(shí)現(xiàn)任意姿態(tài)變換。本文通過(guò)四元數(shù)運(yùn)算證明,通過(guò)有限次旋轉(zhuǎn)步長(zhǎng)給定、旋轉(zhuǎn)軸方向任選的定軸旋轉(zhuǎn),可以實(shí)現(xiàn)任意的剛體空間旋轉(zhuǎn)。這種分解的可行性將為姿態(tài)運(yùn)動(dòng)學(xué)的理論分析和實(shí)踐運(yùn)用帶來(lái)一些新思路。2 例子
3 結(jié)論