姚文龍,劉 毅,邵 巍,孫玉潔
(青島科技大學(xué) 自動(dòng)化與電子工程學(xué)院,青島 266100)
借助小天體探測(cè)器獲取的天體序列圖像是準(zhǔn)確了解小天體三維形貌等信息最有效的方法,同時(shí)也是實(shí)現(xiàn)探測(cè)器著陸過程導(dǎo)航制導(dǎo)[1]、順利著陸的前提。由于小天體地表特征復(fù)雜多樣[2]、環(huán)境攝動(dòng)干擾多[3],目標(biāo)暗弱不規(guī)則[4],探測(cè)器在著陸段導(dǎo)航制導(dǎo)過程中受多種噪聲、環(huán)境攝動(dòng)、不規(guī)則弱引力場(chǎng)等復(fù)雜擾動(dòng)影響,使得探測(cè)器姿態(tài)設(shè)計(jì)難以保證,獲取的著陸圖像無序、效率低,因此探測(cè)器設(shè)計(jì)應(yīng)具備先進(jìn)的精確控制和影像處理系統(tǒng)。復(fù)雜的深空環(huán)境及探測(cè)器設(shè)計(jì)制造的高要求性,極大地增加了實(shí)驗(yàn)成本,使得探測(cè)器著陸探測(cè)任務(wù)難以開展實(shí)施。
考慮到深空環(huán)境的不可預(yù)知性及著陸探測(cè)的復(fù)雜性,小天體著陸段光學(xué)圖像導(dǎo)航與序列圖像獲取是一項(xiàng)復(fù)雜程度高且難以保證的過程,因此對(duì)其進(jìn)行大量綜合模擬是保證任務(wù)成功完成的前提。針對(duì)復(fù)雜環(huán)境實(shí)驗(yàn)中所存在的諸多問題,為提高實(shí)驗(yàn)準(zhǔn)確性及快速性,虛擬現(xiàn)實(shí)技術(shù)被廣泛應(yīng)用[5],取得了良好的實(shí)驗(yàn)效果。文獻(xiàn)[6]搭建彗星接近段導(dǎo)航圖像仿真虛擬實(shí)驗(yàn)平臺(tái),通過OSG仿真軟件模擬彗星探測(cè)接近過程,建立虛擬相機(jī)模型,實(shí)現(xiàn)了對(duì)彗星接近過程圖像序列仿真。文獻(xiàn)[7]在“虛幻引擎4”軟件中構(gòu)造火星地形地貌模擬火星仿真環(huán)境,構(gòu)建火星車模型,實(shí)現(xiàn)火星場(chǎng)景漫游,完成了任務(wù)點(diǎn)到目標(biāo)點(diǎn)的火星探測(cè)任務(wù)視景仿真。文獻(xiàn)[8]利用OpenGL圖形庫搭建三維場(chǎng)景,基于Cg著色語言的GPU編程實(shí)現(xiàn)小行星成像仿真,產(chǎn)生了真實(shí)感較強(qiáng)的小行星模擬圖像。虛擬現(xiàn)實(shí)技術(shù)在模擬火星表面探測(cè)、彗星接近段動(dòng)態(tài)模擬等方面取得良好的效果,成功模擬出火星車在火星表面的視景仿真過程和彗星接近段導(dǎo)航圖像的動(dòng)態(tài)獲取過程?,F(xiàn)有的深空探測(cè)虛擬視景仿真系統(tǒng)是以行星作為目標(biāo)天體進(jìn)行設(shè)計(jì)的,如近地空間環(huán)境綜合仿真演示平臺(tái)Space Eye 2005[9]、基于Vega Prime的月球軟著陸視景仿真系統(tǒng)[10]等,對(duì)于具有質(zhì)量小、目標(biāo)暗弱不規(guī)則、表面特征多樣特性的百m級(jí)、km級(jí)以及10 km級(jí)的小天體,采用現(xiàn)有的虛擬視景仿真系統(tǒng)效果不理想,獲取影像精度不夠,難以滿足小天體探測(cè)器著陸段光學(xué)圖像導(dǎo)航驗(yàn)證需求。
針對(duì)這一現(xiàn)象,為了研究復(fù)雜深空環(huán)境下探測(cè)器著陸段運(yùn)行及序列圖像獲取過程,研發(fā)了一套小天體地形動(dòng)態(tài)模擬與著陸視景仿真系統(tǒng)。該系統(tǒng)具備完善的模型優(yōu)化及探測(cè)器姿態(tài)仿真算法。首先,運(yùn)用三維建模技術(shù)對(duì)目標(biāo)天體模型進(jìn)行調(diào)整,采用加權(quán)最小二乘法對(duì)模型三角網(wǎng)格進(jìn)行光順,利用線性插值法提高貼圖質(zhì)量,并合理選擇紋理貼圖方式,實(shí)現(xiàn)模型渲染優(yōu)化。其次,采用Unity3D引擎,結(jié)合三維交互技術(shù)、碰撞檢測(cè)技術(shù)開發(fā)虛擬仿真系統(tǒng),并通過旋轉(zhuǎn)矩陣法實(shí)現(xiàn)探測(cè)器姿態(tài)設(shè)計(jì),然后借助編程語言完成探測(cè)器運(yùn)動(dòng)及圖像存儲(chǔ)。最后,通過與某研究所制導(dǎo)、導(dǎo)航和控制(Guidance,Navigation and Control,GNC)系統(tǒng)的對(duì)接,實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)傳輸與讀取,構(gòu)建出半實(shí)物仿真系統(tǒng)。在仿真系統(tǒng)設(shè)計(jì)時(shí),充分利用了Unity3D引擎多平臺(tái)發(fā)布的特點(diǎn),使其能在多個(gè)主流平臺(tái)上運(yùn)行,極大地降低了硬件設(shè)備成本。系統(tǒng)軟件克服了復(fù)雜深空環(huán)境對(duì)探測(cè)器的限制,能夠很好地模擬探測(cè)器著陸過程,為小天體著陸段導(dǎo)航制導(dǎo)、光學(xué)圖像導(dǎo)航、柔性附著等研究提供了前提。
運(yùn)用虛擬現(xiàn)實(shí)技術(shù),結(jié)合小天體立體模型,借助三維建模軟件對(duì)模型進(jìn)行調(diào)整,開發(fā)視景仿真系統(tǒng),實(shí)現(xiàn)了小天體在虛擬深空環(huán)境中的模擬實(shí)驗(yàn)。以小行星25 143 Itokawa作為目標(biāo)天體進(jìn)行實(shí)驗(yàn)驗(yàn)證,系統(tǒng)設(shè)計(jì)分為以下幾步:
1)利用建模軟件3D s Max對(duì)Itokawa三維模型進(jìn)行調(diào)整,并進(jìn)一步實(shí)現(xiàn)對(duì)模型三角網(wǎng)格的光順,提高了模型真實(shí)感;
2)紋理貼圖進(jìn)行插值處理,提高了圖像質(zhì)量,采用插值后的貼圖進(jìn)行紋理映射和渲染,豐富了目標(biāo)模型表面形貌特征;
3)運(yùn)用Unity3D虛擬引擎構(gòu)建視景仿真系統(tǒng),包含深空仿真環(huán)境搭建、基于旋轉(zhuǎn)矩陣法的探測(cè)器姿態(tài)實(shí)現(xiàn)、輔助功能設(shè)計(jì),實(shí)現(xiàn)了虛擬相機(jī)圖像存儲(chǔ)、碰撞檢測(cè)等功能;
4)實(shí)現(xiàn)Unity3D與GNC系統(tǒng)的通訊,GNC系統(tǒng)作為仿真數(shù)據(jù)來源,輸出太陽光入射方向、探測(cè)器位置及歐拉角信息,本系統(tǒng)以給出的信息作為實(shí)驗(yàn)輸入進(jìn)行仿真,成功模擬出小天體探測(cè)器著陸段的動(dòng)態(tài)運(yùn)行。
結(jié)合承擔(dān)的航天某所項(xiàng)目提供的小天體模型數(shù)據(jù)信息,在大量實(shí)驗(yàn)基礎(chǔ)上進(jìn)行三維模型仿真,得到小天體Itokawa仿真模型如圖1所示,觀察到小天體的三維形貌特征,其中通過細(xì)化模型數(shù)據(jù)信息可以進(jìn)一步提高模型的準(zhǔn)確性。
圖1 Itokawa仿真模型Fig.1 Itokawa simulation model
觀察小天體三維形貌特征,按照小天體實(shí)際尺寸大小,利用3dsMax中的可編輯多邊形、拉伸、FFD修改器等指令對(duì)模型進(jìn)行調(diào)整[11],得到Itokawa基礎(chǔ)三維模型,基礎(chǔ)模型由三角面片網(wǎng)格組成。進(jìn)一步通過加權(quán)最小二乘法對(duì)網(wǎng)格模型進(jìn)行光順處理,實(shí)現(xiàn)模型表面光滑,減少噪聲影響。
基于最小二乘的光順?biāo)惴╗12]可以描述為:假設(shè)某一含噪聲的三角網(wǎng)格模型為T={V,E,F},其中V={vi|i=0,1,···,t-1}為模型所有頂點(diǎn)的集合,E為模型T所有邊的集合,F(xiàn)為模型T所有三角面片的集合,求得與T具有相同鄰接關(guān)系的新三角網(wǎng)格T′={V′,E,F},其中T′要確保光滑且與T保持相似,還要保持T的尖銳特性,在數(shù)學(xué)上可將保特征網(wǎng)格光順表示為求新網(wǎng)格頂點(diǎn),使能量函數(shù)
其中:S為對(duì)角線上元素為si的對(duì)角陣;V′與V分別為光順后網(wǎng)格頂點(diǎn)和原網(wǎng)格頂點(diǎn)構(gòu)成的向量;L表示n階Laplacian矩陣,表述為
圖2 Itokawa三維網(wǎng)格模型Fig.2 Itokawa 3D mesh model
仿真軟件開發(fā)中,模型坐標(biāo)軸的選擇影響著物體運(yùn)動(dòng)軌跡,因此需對(duì)模型坐標(biāo)軸的位置和角度進(jìn)行調(diào)整來匹配功能需求。系統(tǒng)建模流程如圖3所示,當(dāng)模型放縮、導(dǎo)出后,其軸向發(fā)生偏離時(shí),需在3DsMax中進(jìn)行軸向與軸心的重置變化,將調(diào)整完的Itokawa模型以“.FBX”格式成組導(dǎo)出,并導(dǎo)入U(xiǎn)nity3D中形成模型庫,隨時(shí)選用。
圖3 系統(tǒng)建模流程Fig.3 System modeling process
通過對(duì)小天體模型尺寸調(diào)整,得到目標(biāo)天體基本輪廓,后續(xù)對(duì)模型三角網(wǎng)格光順處理,增強(qiáng)了模型表面光滑度,但基礎(chǔ)模型與實(shí)際天體表面特征環(huán)境相差較大。為使模型更加逼真,需對(duì)模型進(jìn)一步優(yōu)化,對(duì)模型修改器中參數(shù)進(jìn)行調(diào)試,使得模型表面隕石坑、地表凹凸更加明顯,小天體三維模型模如圖4中所示,更加接近圖1Itokawa仿真模型。
圖4 Itokawa三維模型Fig.4 Itokawa 3D model
為進(jìn)一步豐富模型表面特征信息,利用紋理貼圖在不增加模型復(fù)雜程度基礎(chǔ)上來突出表現(xiàn)對(duì)象細(xì)節(jié),并且可以創(chuàng)建出反射、凹凸等多種效果,來完善模型的外觀形貌,使構(gòu)建的模型更加真實(shí)。紋理貼圖的本質(zhì)是二維紋理圖像映射到三維模型表面[14],紋理映射的關(guān)鍵是確定物體空間和紋理空間的映射M,M可由式(4)表示
其中:(u,v)和(x,y,z)分別表示紋理空間和物體空間中點(diǎn)的坐標(biāo)。由于目標(biāo)天體形狀近似橢球形,采用球面紋理映射方式
采用此紋理映射方法會(huì)在模型的兩端處產(chǎn)生明顯的紋理形變,因此,需借助立體投影映射來進(jìn)一步處理模型產(chǎn)生的紋理形變,立體投影映射定義為
其中:p=tanφcosφ;q=tanφsinφ。φ 為經(jīng)度、φ 為緯度。
紋理貼圖的圖像質(zhì)量和大小決定著最終的顯示效果,對(duì)原圖像采用雙線性插值[15]進(jìn)行改善,分別通過對(duì)x軸和y軸進(jìn)行一階線性插值實(shí)現(xiàn),結(jié)果如圖5所示。已知Q11=(x1,y1),Q12=(x1,y2),Q21=(x2,y1),Q22=(x2,y2),首先對(duì)x軸方向線性插值,插入R1、R2像素。
圖5 雙線性插值算法圖示Fig.5 Bilinear interpolation algorithm diagram
再進(jìn)一步對(duì)y軸方向進(jìn)行插值,并根據(jù)R1、R2像素,線性插值計(jì)算P點(diǎn)處像素,實(shí)現(xiàn)圖像插值。
對(duì)線性插值所得圖像裁剪為紋理有效區(qū)域并更新紋理坐標(biāo),其中在紋理更新過程中,新紋理(u′,v′)坐標(biāo)為
其中:umin、vmin分別為原紋理u、v方向上最小值為原紋理u、v方向上長度。
結(jié)合線性插值得到的新圖像,采用球面映射和立體投影映射相結(jié)合的方式,并通過調(diào)整UV坐標(biāo)及U、V、W平鋪參數(shù),實(shí)現(xiàn)了將二維平面貼圖準(zhǔn)確貼附在三維復(fù)雜模型上。避免出現(xiàn)紋理拉伸、像素模糊化等現(xiàn)象,Itokawa貼圖優(yōu)化后的效果圖如圖6所示。
圖6 Itokawa優(yōu)化模型Fig.6 Itokawa optimization model
設(shè)計(jì)視景仿真系統(tǒng)需要對(duì)系統(tǒng)場(chǎng)景規(guī)范建模,主要分為以下幾步:
1)優(yōu)化后的立體模型成組導(dǎo)出為“.FBX”格式,并導(dǎo)入到虛擬引擎資源文件夾,借助樹狀資源列表合理規(guī)劃場(chǎng)景資源,實(shí)現(xiàn)資源規(guī)范化;
2)小天體模型載入U(xiǎn)nity3D虛擬中,對(duì)模型進(jìn)行旋轉(zhuǎn)、平移等調(diào)整以及設(shè)置模型物理屬性,引入虛擬相機(jī)等場(chǎng)景模型,構(gòu)建物體碰撞檢測(cè)關(guān)系;
3)合理構(gòu)建場(chǎng)景天空盒并設(shè)計(jì)場(chǎng)景光照系統(tǒng),搭建出虛擬深空仿真環(huán)境;
4)探測(cè)器姿態(tài)描述方法的設(shè)計(jì)與驗(yàn)證,通過匯編語言進(jìn)行小天體探測(cè)器輔助功能的實(shí)現(xiàn);
5)場(chǎng)景環(huán)境的優(yōu)化,通過光照動(dòng)態(tài)渲染與靜態(tài)渲染的結(jié)合,實(shí)現(xiàn)場(chǎng)景渲染優(yōu)化;
6)實(shí)現(xiàn)與GNC系統(tǒng)的數(shù)據(jù)傳遞,其中GNC系統(tǒng)輸出仿真數(shù)據(jù),本系統(tǒng)軟件對(duì)數(shù)據(jù)進(jìn)行讀取。
為使Unity3D平臺(tái)中的場(chǎng)景更加真實(shí),創(chuàng)建天空盒模擬真實(shí)深空環(huán)境,其中深空環(huán)境中光源是仿真系統(tǒng)的重要組成部分,場(chǎng)景中的光源決定了場(chǎng)景呈現(xiàn)出來的氛圍。在Unity3D中光源對(duì)象[16]主要有4種:區(qū)域光、點(diǎn)光源、方向光、聚光燈,本系統(tǒng)選用方向光模擬太陽光照,Unity3D中方向光強(qiáng)度不隨光源位置的遠(yuǎn)近而發(fā)生衰減,首先調(diào)整光源方向并調(diào)整光照強(qiáng)度,其次為模擬復(fù)雜光照條件,光源模式設(shè)為混合模式,再次將光源陰影效果設(shè)置為軟陰影模式,使場(chǎng)景物體陰影更加顯著,最后對(duì)場(chǎng)景光照渲染優(yōu)化,構(gòu)建的仿真運(yùn)行場(chǎng)景如圖7所示。
圖7 仿真場(chǎng)景搭建Fig.7 Simulation scene construction
小天體的動(dòng)態(tài)仿真需要對(duì)天體不同姿態(tài)進(jìn)行相應(yīng)模擬,因此仿真系統(tǒng)需建立強(qiáng)大的邏輯動(dòng)作庫,命令與動(dòng)作相互聯(lián)系。小天體的運(yùn)動(dòng)特性對(duì)探測(cè)器能否順利仿真具有重要影響,故小天體運(yùn)動(dòng)功能設(shè)計(jì)是本仿真系統(tǒng)不可缺少的環(huán)節(jié),借助運(yùn)動(dòng)函數(shù)實(shí)現(xiàn)模型動(dòng)作,并按照天體實(shí)際數(shù)據(jù)設(shè)計(jì)其運(yùn)動(dòng)參數(shù),Itokawa參數(shù)信息[17]如表1所示。
表1 Itokawa基本參數(shù)Table 1 Itokawa basic number of participants
探測(cè)器運(yùn)動(dòng)仿真是本系統(tǒng)設(shè)計(jì)的重要部分,是探測(cè)器能否實(shí)現(xiàn)對(duì)小天體地形動(dòng)態(tài)觀察的前提,通過腳本控制探測(cè)器的具體運(yùn)動(dòng)從而實(shí)現(xiàn)實(shí)時(shí)動(dòng)作。系統(tǒng)運(yùn)動(dòng)模塊使用的部分腳本API如表2所示。
表2 關(guān)鍵腳本API Table 2 Key script API
在深空探測(cè)任務(wù)中,探測(cè)器姿態(tài)軌跡設(shè)計(jì)影響著整個(gè)探測(cè)任務(wù)的結(jié)果,姿態(tài)設(shè)計(jì)是探測(cè)器軌道設(shè)計(jì)的前提,通過對(duì)姿態(tài)的描述能夠直觀觀察探測(cè)器實(shí)際運(yùn)行狀態(tài),確保小天體探測(cè)任務(wù)的順利進(jìn)行。
本系統(tǒng)模擬探測(cè)器位于著陸段不同位置和姿態(tài)處對(duì)小天體地形的動(dòng)態(tài)觀察以及高分辨率著陸圖像的獲取。探測(cè)器姿態(tài)設(shè)計(jì)決定著探測(cè)任務(wù)中小天體成像與探測(cè)器的精確著陸,根據(jù)任務(wù)實(shí)際需求,通過旋轉(zhuǎn)矩陣法[18-20]實(shí)現(xiàn)探測(cè)器姿態(tài)設(shè)計(jì)。
小天體著陸段的模擬成像、探測(cè)器的姿態(tài)設(shè)計(jì)是在世界參考坐標(biāo)系下描述的,真實(shí)空間下的三維立體坐標(biāo)系,不會(huì)出現(xiàn)平移與旋轉(zhuǎn)變化,在Unity3D中,選取初始時(shí)刻的慣性坐標(biāo)系作為空間坐標(biāo)系。小天體的固連坐標(biāo)系定義在小天體上,原點(diǎn)在小天體中心處,z軸與目標(biāo)小天體最大轉(zhuǎn)動(dòng)慣量軸方向一致,x軸指向目標(biāo)小天體的最小轉(zhuǎn)動(dòng)慣量軸,選擇構(gòu)成左手坐標(biāo)系y,模型導(dǎo)入到虛擬引擎中定義小天體固連坐標(biāo)系三軸與世界坐標(biāo)系軸向一致且平行。
為得到探測(cè)器在特定旋轉(zhuǎn)順序下的目標(biāo)姿態(tài),將抽象的空間旋轉(zhuǎn)割裂為3次繞不同旋轉(zhuǎn)軸依次進(jìn)行的旋轉(zhuǎn)變化。在不同的旋轉(zhuǎn)順序下,存在多種表示相對(duì)姿態(tài)的旋轉(zhuǎn)矩陣,其中Unity3D中坐標(biāo)系為左手坐標(biāo)系,遵循左手法則,探測(cè)器姿態(tài)旋轉(zhuǎn)順序?yàn)閦-y-x可通過繞z軸旋轉(zhuǎn)γ 角、繞y軸旋轉(zhuǎn)β 角、繞x軸旋轉(zhuǎn)α 角得到探測(cè)器的預(yù)期姿態(tài),歐拉角旋轉(zhuǎn)變換如圖8所示。
圖8 z-y-x歐拉角轉(zhuǎn)動(dòng)Fig.8 z-y-x Euler angular rotation
根據(jù)坐標(biāo)轉(zhuǎn)換矩陣基本原理,利用歐拉角分別求取繞不同旋轉(zhuǎn)軸的旋轉(zhuǎn)矩陣,根據(jù)期望旋轉(zhuǎn)順序,得出z-y-x旋轉(zhuǎn)下的姿態(tài)矩陣為
Unity3D中的旋轉(zhuǎn)函數(shù)以z-x-y為默認(rèn)順規(guī),需對(duì)姿態(tài)矩陣進(jìn)行等價(jià)轉(zhuǎn)換,假設(shè)此旋轉(zhuǎn)順序下小天體探測(cè)器繞坐標(biāo)系x軸旋轉(zhuǎn)α1角,繞y軸旋轉(zhuǎn)β1角,繞z軸旋轉(zhuǎn)γ1角,可得新姿態(tài)矩陣為Dzxy(γ1,α1,β1)。對(duì)已知?dú)W拉角(α,β,γ)進(jìn)行角度轉(zhuǎn)換,給出一個(gè)旋轉(zhuǎn)矩陣N=其滿足以下等價(jià)關(guān)系
利用公式等價(jià)原理求得轉(zhuǎn)化后的歐拉角為(α1,β1,γ1),并將轉(zhuǎn)化后各軸的旋轉(zhuǎn)歐拉角代入新姿態(tài)矩陣Dzxy(γ1,α1,β1)中。
假設(shè)P為探測(cè)器上的一點(diǎn),其坐標(biāo)為(X,Y,Z),P1為探測(cè)器經(jīng)過旋轉(zhuǎn)變換后得到,變換后坐標(biāo)為(X1,Y1,Z1),小天體探測(cè)器的姿態(tài)變換求取公式為P1=PDzxy(γ1,α1,β1)。
對(duì)上述姿態(tài)變化矩陣進(jìn)行化簡,可得探測(cè)器姿態(tài)描述為
利用旋轉(zhuǎn)矩陣設(shè)置探測(cè)器姿態(tài),旋轉(zhuǎn)軸的選擇可以為任意向量,避免直接使用歐拉角旋轉(zhuǎn)時(shí)出現(xiàn)的萬向節(jié)死鎖現(xiàn)象。通過旋轉(zhuǎn)矩陣法實(shí)現(xiàn)了對(duì)探測(cè)器姿態(tài)的設(shè)計(jì),直觀地模擬出了探測(cè)器著陸過程中的三維姿態(tài)軌跡,實(shí)現(xiàn)了探測(cè)器對(duì)小天體地形觀測(cè)過程中的姿態(tài)變化。
Unity 3D 平臺(tái)具有可視化的樹狀資源列表(Hierarchy),可以列出項(xiàng)目中的場(chǎng)景及文件,通過直接拖拽對(duì)象來建立對(duì)象間父子關(guān)系。在父子關(guān)系中,對(duì)父物體的運(yùn)動(dòng)或操作,會(huì)使其子物體發(fā)生相同動(dòng)作,使得大量對(duì)象屬性更改更加簡便。本系統(tǒng)所建立的目標(biāo)小天體模型導(dǎo)出時(shí),進(jìn)行重置變換及坐標(biāo)軸轉(zhuǎn)換等處理,小天體模型導(dǎo)入U(xiǎn)nity3D后,模型比例、尺寸未發(fā)生變化,避免了因模型比例問題引起的子物體形變或位置顯示錯(cuò)誤。
碰撞檢測(cè)技術(shù)是探測(cè)器在虛擬場(chǎng)景中運(yùn)動(dòng),接觸到天體表面時(shí)做出的反應(yīng)。探測(cè)器在實(shí)際著陸運(yùn)行過程中不會(huì)穿越天體表面,若場(chǎng)景中未設(shè)計(jì)碰撞檢測(cè),則探測(cè)器在運(yùn)行中可能會(huì)出現(xiàn)穿越小天體現(xiàn)象,場(chǎng)景也就失去了逼真性,交互的體驗(yàn)感也會(huì)下降,因此需對(duì)場(chǎng)景中模型進(jìn)行碰撞檢測(cè)設(shè)計(jì)。虛擬引擎中提供了多種碰撞器,其中包含Box collider、Sphere Collider、Mesh Collider等。碰撞器組建的作用就是使用一個(gè)規(guī)則的多邊形逼近該物體,檢測(cè)不同物體之間的碰撞器是否相交[21]。在添加相對(duì)應(yīng)碰撞檢測(cè)組件后,綁定包含碰撞檢測(cè)函數(shù)的腳本,通過調(diào)用事件響應(yīng)函數(shù)和事件監(jiān)聽函數(shù)實(shí)時(shí)監(jiān)聽場(chǎng)景,實(shí)現(xiàn)碰撞檢測(cè)并控制碰撞后行為。
深空探測(cè)器GNC系統(tǒng)通過收集和處理傳感器的測(cè)量數(shù)據(jù)來實(shí)現(xiàn)導(dǎo)航與控制功能[22],執(zhí)行姿態(tài)確定、姿態(tài)控制、軌道確定等導(dǎo)航與控制算法的運(yùn)行。GNC系統(tǒng)分為3部分:姿態(tài)控制系統(tǒng)、自主導(dǎo)航系統(tǒng)、軌道制動(dòng)系統(tǒng)。GNC系統(tǒng)軟件包含多種函數(shù)分別輸出相應(yīng)數(shù)據(jù)信息,在執(zhí)行對(duì)日捕獲/定向時(shí),通過太陽敏感器給出太陽方向矢量信息。在探測(cè)器接近目標(biāo)天體光學(xué)導(dǎo)航過程中,探測(cè)器通過星敏感器與陀螺聯(lián)合定資,得到探測(cè)器相對(duì)慣性空間的姿態(tài)信息,此信息傳送給軌道確定系統(tǒng),軌道確定系統(tǒng)利用導(dǎo)航相機(jī)拍攝天體光心信息和加速度計(jì)測(cè)得探測(cè)器上控制加速度,確定探測(cè)器相對(duì)目標(biāo)小天體的位置信息。
系統(tǒng)軟件通過接口協(xié)議與GNC 系統(tǒng)相連接,GNC系統(tǒng)給出探測(cè)器著陸過程中太陽光照矢量信息、探測(cè)器位置信息和姿態(tài)信息數(shù)據(jù)文本,實(shí)現(xiàn)了Unity3D直接讀取GNC系統(tǒng)給定數(shù)據(jù)信息,確保系統(tǒng)數(shù)據(jù)的準(zhǔn)確性,避免因數(shù)據(jù)傳遞引起的系統(tǒng)仿真誤差,本文部分仿真數(shù)據(jù)如表3所示。
表3 仿真數(shù)據(jù)Table 3 Simulation data
通過讀取GNC系統(tǒng)所給實(shí)時(shí)仿真數(shù)據(jù),結(jié)合本文中小天體探測(cè)器三維姿態(tài)算法,成功模擬出的探測(cè)器運(yùn)行軌跡如圖9所示,探測(cè)器姿態(tài)描述如圖10所示。
圖9 探測(cè)器運(yùn)行軌跡Fig.9 Detector trajectory
圖10 探測(cè)器姿態(tài)描述Fig.10 Detector attitude description
模擬的探測(cè)器著陸段部分運(yùn)行軌跡如圖圖9所示,z-y-x探測(cè)器運(yùn)行路線從a點(diǎn)運(yùn)行到b點(diǎn),逐步逼近目標(biāo)天體,表3仿真數(shù)據(jù)對(duì)應(yīng)的探測(cè)器姿態(tài)及運(yùn)行終點(diǎn)處探測(cè)器的姿態(tài)描述如圖10所示,仿真運(yùn)行時(shí)能夠清楚地觀察到小天體著陸段探測(cè)器姿態(tài)變化及著陸運(yùn)行軌跡。
在Unity3D中,以世界坐標(biāo)系為參考坐標(biāo)系,小天體固連坐標(biāo)系軸向與世界坐標(biāo)系軸向一致且平行,軟件運(yùn)行得到探測(cè)器姿態(tài)軌跡虛擬仿真,其中Unity3D世界坐標(biāo)系中紅色軸代表X軸,綠色軸代表Y軸,藍(lán)色軸代表Z軸,Z軸垂直于X軸和Y軸,構(gòu)成左手坐標(biāo)系,模擬探測(cè)器部分著陸段運(yùn)行軌跡如圖11所示,運(yùn)行軌跡自下向上運(yùn)行,逐漸逼近目標(biāo)小天體,探測(cè)器的姿態(tài)虛擬仿真結(jié)果如圖12所示,其中(a)為小天體固連坐標(biāo)系,(b)為終點(diǎn)位置處探測(cè)器姿態(tài)描述。基于旋轉(zhuǎn)矩陣設(shè)計(jì)的姿態(tài)算法,能夠使得探測(cè)器虛擬相機(jī)視角指向目標(biāo)小天體,更加快速地、直觀地實(shí)現(xiàn)了對(duì)小天體表面特征的動(dòng)態(tài)觀測(cè)。
圖11 探測(cè)器軌跡虛擬仿真Fig.11 Virtual simulation of detector trajectory
圖12 探測(cè)器姿態(tài)虛擬仿真Fig.12 Virtual simulation of detector attitude
系統(tǒng)軟件實(shí)現(xiàn)了探測(cè)器對(duì)Itokawa地形形貌的觀測(cè),對(duì)探測(cè)器虛擬相機(jī)設(shè)計(jì)圖像獲取功能,可按實(shí)際任務(wù)需求設(shè)置獲取圖像的分辨率、圖像數(shù)量、張角角度及獲取時(shí)間,仿真圖像分辨率高、圖像有序、具有較強(qiáng)真實(shí)感,小天體探測(cè)器圖像獲取流程如圖13所示。視景仿真系統(tǒng)中包含了虛擬視景搭建與渲染優(yōu)化,探測(cè)器姿態(tài)設(shè)計(jì)及場(chǎng)景物體輔助功能設(shè)計(jì),軟件具有界面操作簡潔、實(shí)時(shí)響應(yīng)速度快和系統(tǒng)穩(wěn)定性較高等特點(diǎn),在探測(cè)器著陸段運(yùn)行過程中,系統(tǒng)能夠快速響應(yīng),探測(cè)器可以按照預(yù)期位置、姿態(tài)運(yùn)行,虛擬相機(jī)能夠?qū)崟r(shí)觀測(cè)到天體地形特征并存儲(chǔ)。
圖13 探測(cè)器圖像獲取Fig.13 Detector image acquisition
軟件運(yùn)行得到了探測(cè)器位于不同位置和姿態(tài)處的Itokawa小天體著陸序列圖像,探測(cè)器獲取的部分著陸圖像如圖14所示。通過探測(cè)器虛擬相機(jī)所得高分辨率圖像可以實(shí)現(xiàn)對(duì)小天體地形特征的觀察,模擬了小天體探測(cè)器著陸段的動(dòng)態(tài)運(yùn)行過程,為后續(xù)小天體著陸段相關(guān)算法仿真驗(yàn)證提供了實(shí)驗(yàn)基礎(chǔ)。
圖14 部分序列圖像Fig.14 Partial sequence image
惡劣深空環(huán)境及著陸探測(cè)過程的復(fù)雜性,使得深空探測(cè)器對(duì)目標(biāo)天體著陸段動(dòng)態(tài)觀察與地形圖像獲取成為一項(xiàng)艱巨的任務(wù)。為降低探測(cè)任務(wù)運(yùn)行成本、提高任務(wù)成功率,本文設(shè)計(jì)了基于虛擬現(xiàn)實(shí)技術(shù)的小天體地形動(dòng)態(tài)模擬與著陸視景仿真軟件。該系統(tǒng)軟件通過對(duì)三維建模軟件的運(yùn)用,并結(jié)合加權(quán)最小二乘法及圖像紋理插值算法,最終實(shí)現(xiàn)了目標(biāo)天體模型的建模及優(yōu)化。借助Unity3D成功開發(fā)了小天體著陸段動(dòng)態(tài)虛擬仿真系統(tǒng),并在GNC仿真系統(tǒng)數(shù)據(jù)研究的基礎(chǔ)上,合理規(guī)劃設(shè)計(jì)了模型對(duì)象間的父子關(guān)系及場(chǎng)景碰撞檢測(cè)等功能,實(shí)現(xiàn)了探測(cè)器動(dòng)作及序列圖像獲取。本文采用的姿態(tài)描述方法,避免了探測(cè)器姿態(tài)設(shè)計(jì)過程中出現(xiàn)的角度誤差及歐拉角轉(zhuǎn)換誤差,提高了系統(tǒng)精確度與穩(wěn)定性。在準(zhǔn)確讀取仿真數(shù)據(jù)基礎(chǔ)上實(shí)現(xiàn)了小天體探測(cè)器對(duì)著陸段序列圖像的獲取,獲取圖像真實(shí)、紋理豐富、重疊率小,為探測(cè)器著陸段光學(xué)圖像導(dǎo)航制導(dǎo)、小天體柔性附著及著陸段圖像特征快速提取等著陸算法的研究提供了仿真實(shí)驗(yàn)平臺(tái)。