安 明,劉玉慶,晁建剛
(中國航天員科研訓練中心人因工程重點實驗室,北京 100094)
·基礎研究·
虛擬航天員多層次運動仿真模型研究與實現(xiàn)
安 明,劉玉慶,晁建剛
(中國航天員科研訓練中心人因工程重點實驗室,北京 100094)
為解決虛擬現(xiàn)實訓練中航天員模型實時交互控制和失重運動仿真等問題,提出了一種多層次運動仿真模型,在運動控制層實現(xiàn)運動跟蹤,并構建標準化人體運動模型;物理控制層采用物理引擎建立人體多剛體動力學模型;規(guī)則控制層為不同的運動方式制定相應規(guī)則,顯示層使用骨骼蒙皮技術提升顯示效果。通過各層次組合的方式,共同實現(xiàn)了虛擬航天員的交互運動仿真。通過兩個應用實例,證明了該層次化組合模型實現(xiàn)的虛擬航天員運動,可同時實現(xiàn)實時交互控制、失重運動仿真、交互操作仿真、太空行走仿真以及較好的顯示效果,并適用于多種任務場景的航天員訓練。
航天員訓練;運動仿真;多層次模型;虛擬現(xiàn)實
采用虛擬現(xiàn)實技術進行航天員訓練,經美國航空航天局(NASA)、歐空局(ESA)和加拿大等研究機構的成功運用,已經成為太空探索中航天員訓練的一個重要發(fā)展方向,并廣泛應用于出艙活動[1]、設備維修[2]、設備操作[3-4]、空間環(huán)境熟悉[5]等航天員訓練領域。
虛擬訓練中,需要虛擬航天員作為受訓航天員在虛擬任務環(huán)境中的“化身”執(zhí)行操作任務。虛擬航天員的運動仿真,主要是指采用特定的方法對虛擬場景中航天員三維模型各肢體節(jié)段的運動進行控制和仿真,一般采用實時交互式運動控制的方式。根據(jù)NASA[1,4]、ESA[3]及中國[6-7]相關的研究機構目前已實現(xiàn)的航天員虛擬訓練系統(tǒng)或原型系統(tǒng)分析,其對虛擬航天員的運動仿真主要有如下需求:1)受訓者能夠實時交互控制虛擬航天員的肢體及手部運動;2)虛擬航天員的運動特性應符合太空失重狀態(tài);3)虛擬航天員應能實現(xiàn)對其他虛擬物體較精細的交互操作,如抓取、釋放等;4)虛擬航天員應能實現(xiàn)通過手抓握扶欄進行太空行走;5)虛擬航天員的顯示效果好,不能出現(xiàn)關節(jié)分離等現(xiàn)象。
目前虛擬人的運動仿真技術主要包括基于參數(shù)關鍵幀、運動學、動力學、運動捕獲等技術[8]。根據(jù)上述虛擬航天員運動仿真需求的分析,目前無法單獨使用一種運動控制方法滿足,其中運動學方法和運動捕獲方法無法模擬失重特性,動力學方法無法實現(xiàn)實時交互控制和太空行走仿真,而關鍵幀方法一般用于離線動畫編輯。NASA JSC虛擬現(xiàn)實實驗室基于數(shù)據(jù)手套和位置跟蹤設備實現(xiàn)了虛擬航天員運動仿真,可進行太空行走和Safer訓練,但只能用于艙外特定任務[1];Ames研究中心實現(xiàn)了太空中虛擬手套箱操作訓練,但只對虛擬手進行了仿真[4];上海交通大學的徐安等采用運動跟蹤和動力學建模的方法實現(xiàn)了交互式虛擬人艙外運動仿真,可進行載人機動裝置(MMU)的專項訓練[7]。
為解決航天員虛擬訓練無法使用現(xiàn)有技術方法實現(xiàn)虛擬航天員的運動仿真問題,本文提出一種用于航天員虛擬操作訓練的人體分層運動仿真模型,該結構采用現(xiàn)有方法有效層次化組合的方式,共同實現(xiàn)滿足虛擬訓練需求的虛擬航天員的運動仿真,包括實時交互、失重運動特性、交互操作、太空行走仿真以及較好的顯示效果,以應用于出艙活動、艙內漫游、設備操作等不同訓練任務。
基于本文對航天員運動仿真的基本需求分析,本文提出了一種分層次的虛擬航天員運動仿真結構,將運動仿真分為運動控制層、物理控制層、規(guī)則控制層和顯示層,如圖1所示。運動控制層采用虛擬現(xiàn)實設備如位置跟蹤儀和數(shù)據(jù)手套等實時采集運動信息,物理控制層使用物理引擎計算人體在微重力環(huán)境下的運動特性;規(guī)則控制層使用自定義的規(guī)則及約束實現(xiàn)典型的操作仿真和太空行走仿真;顯示層采用骨骼蒙皮技術用于最終效果展示,并可進行編輯動畫控制。
各層次之間在實現(xiàn)上相互獨立,完成各自特定的功能,且下一層次直接為上一層次提供輸入,這樣就保持了算法的靈活性,對某一層次的更動不會影響其他層次,如運動控制層建立了標準的人體運動學模型,其下一層次交互設備層可采用多種人機交互設備,只需輸出數(shù)據(jù)格式滿足規(guī)定的標準化運動模型即可,模型的仿真流程如圖2。
運動控制層主要完成兩部分功能,一是采用數(shù)學描述的方法建立標準化的虛擬航天員運動模型;二是根據(jù)交互設備采集數(shù)據(jù)驅動建立的運動模型,實現(xiàn)受訓航天員肢體和手部的運動跟蹤。
虛擬航天員的運動模型包括人體運動學模型節(jié)段劃分及坐標系定義、各節(jié)段運動方程建立。由于航天員的空間運動和操作大部分只涉及到手指、手腕、肘、肩、髖、膝、頸等關節(jié),因此將人體劃分為42節(jié)段,其中軀體部分(不含手部)分為10節(jié)段,每只手的手掌及手指共計16節(jié)段,軀體和手部節(jié)段劃分分別如下:
軀體(Body)部分(不含手部)的節(jié)段劃分及各節(jié)段坐標系建立情況見圖3所示,各體段坐標系用oi-xiyizi(i∈N,1≤i≤10)表示,其中i為各體段的編號,其中B1段取軀干的質心位置為其原點,其余體段取其與上一體段交點,即關節(jié)的位置為其原點,這樣有助于對模型的運動控制。
仿真訓練對手部的要求較為精細,因此按照手部的解剖學特征[9],將手部(Hand)劃分為16節(jié)段,每一體段的坐標系原點取其與上一體段交點的位置,即各指端關節(jié)處,手掌部分的坐標系原點取作與前臂的交點,即腕關節(jié)處,手部各體段坐標系定義見圖4。
將航天員人體看作是通過多個旋轉關節(jié)連接在一起的多剛體系統(tǒng),人體任一體段相對于參考體段坐標系的變換矩陣可以通過按照人體幾何拓撲結構的順序連乘各體段連體坐標系間的變換矩陣得到。例如設腕關節(jié)坐標系W(Wrist),肘關節(jié)坐標系E(Elbow),肩關節(jié)坐標系S(Shoulder),軀干坐標系B(Body)。則以軀干體坐標系為基坐標系,手腕W作為末端相對于基坐標系的運動方程,采用旋轉矩陣相乘的形式[10]可表示為式(1):
其中R為相鄰體段Bj和Bi的連體坐標系間的方向余弦變換,如從坐標系Oj-XjYjZj變換到Oi-XiYiZi的歐拉角為體段Bj與Bi的變換矩陣可以根據(jù)公式(2)計算獲得:
虛擬航天員的物理控制層主要基于物理引擎技術解決人體在微重力條件下的動力學運動仿真問題,模擬航天員在空間的“漂浮”狀態(tài),以及與外界環(huán)境發(fā)生碰撞后的運動。
首先根據(jù)國標GB/T 17245-2004成年人人體慣性參數(shù)[11]得到人體各體段的動力學屬性參數(shù),包括各體段的幾何尺寸、質量、質心位置以及中心轉動慣量等,在此基礎上基于物理引擎技術在虛擬場景中建立虛擬航天員的多剛體碰撞檢測模型,該模型的體段劃分和坐標系定義、尺寸數(shù)據(jù)等均與運動學模型保持一致,將動力學屬性參數(shù)設置給多剛體碰撞檢測模型各體段,并采用關節(jié)約束將各體段連接成一個多剛體動力學系統(tǒng),從而可以通過設置關節(jié)角度使該多剛體動力學系統(tǒng)與運動學模型保持一致。
物理層仿真如圖5所示。計算開始后,實時獲取運動控制層計算得出的人體的實時運動跟蹤數(shù)據(jù),來驅動虛擬航天員多剛體碰撞檢測模型的肢體及手部各關節(jié)的相對運動,然后將該模型與外界環(huán)境進行碰撞檢測,通過物理引擎計算得出虛擬接觸力,即人體受到的合外力,最后通過多剛體動力學算法得到人體質心的位置及姿態(tài)。
剛體動力學計算中,將人體質心的運動分為質心的平動和繞質心的轉動,對于質心的平移運動,可采用牛頓第二運動定律描述,即式(3):
剛體繞質心的轉動規(guī)律描述如式(4):
式中,L(t)為剛體的角動量,I(t)為慣性張量,用來描述物體的質量分布,使用物理引擎根據(jù)物體的形狀及質量、密度等設置計算得出,ω(t)為剛體的角速度。
規(guī)則控制層使用自定義的規(guī)則及約束實現(xiàn)典型的操作仿真和太空行走仿真[6]。在空間操作任務中,主要依靠手部的操作實現(xiàn)抓握、觸碰以及太空行走等,為實現(xiàn)此類操作的仿真,必須制定相應的操作規(guī)則,主要包括抓持規(guī)則和隨動規(guī)則。其中抓持規(guī)則主要判斷是否穩(wěn)定抓住物體,采用多指接觸和是否符合抓握手型的方法進行判斷。隨動規(guī)則用于用于抓持判定后人體運動狀態(tài)的處理,本文將人體運動狀態(tài)分為自由態(tài)和束縛態(tài),自由態(tài)是指人自由漂浮或抓住可移動物體,處于自由態(tài)人體抓住一個虛擬物體后,采用將物體節(jié)點掛接到人體來實現(xiàn)隨動控制,如圖6(a)為人抓住陀螺,箭頭所指方向表示陀螺掛接到手部隨動。當自由態(tài)人體抓握固定物如扶欄時,人就變成了束縛態(tài),其運動的基點就變?yōu)樽ノ盏氖植?,如圖6(b)所示,箭頭所指方向表示身體隨手部移動,即人體質心隨手部運動,從而實現(xiàn)太空行走仿真。
束縛態(tài)人體質心運動的計算采用變換人體基坐標系的方式實現(xiàn),即改變相鄰關節(jié)的父子關系,使其隨動關系改變。束縛態(tài)人體運動仿真過程中,手部抓住扶欄時,以抓持手為人體基坐標系,使身體其它節(jié)點變?yōu)樽コ质值淖庸?jié)點,從而產生身體的隨動效果。將太空行走過程中航天員的狀態(tài)分為自由態(tài)、左手束縛態(tài)、右手束縛態(tài)及雙手束縛態(tài),分別對應于雙手均松開扶欄、左手抓住扶欄、右手抓住扶欄及雙手均抓住扶欄時航天員的狀態(tài),圖7給出了不同抓持狀態(tài)下虛擬航天員的人體樹狀模型變化,Bi代表人體體段,有向線段Ji代表體段間的關節(jié),箭頭所指方向為隨動方向,即J1、J2或J3、J4的關節(jié)隨動方向改變。對于雙手束縛態(tài)的處理,采用解除先抓持扶欄的手的束縛關系,同時建立后抓持手與扶欄間的束縛關系,由此即可仿真完整的太空行走過程。
對于束縛態(tài)的人體,改變人體基坐標系定義,則束縛態(tài)掌部體坐標系變?yōu)槿梭w基坐標系,設手掌體坐標系為P,腕關節(jié)體坐標系為W,肘關節(jié)體坐標系為E,肩關節(jié)體坐標系為S,則軀體體坐標系B相對世界坐標系WD的運動方程可采用齊次坐標變換矩陣T表示為式(5):
規(guī)則控制層的仿真算法流程如圖8所示。
其中對于人體不同束縛狀態(tài)下虛擬航天員的質心運動,即質心位置與姿態(tài)的解算,采用圖9所示計算流程。
虛擬航天員顯示層最終進行可視化顯示,為了更好地提升虛擬航天員的顯示效果,首先分別建立人體的骨骼模型和皮膚層模型,并通過骨骼蒙皮綁定技術建立骨骼蒙皮模型,如圖10所示。虛擬航天員顯示層模型的骨骼分段與運動控制層的人體運動學模型一致,這樣就保證了運動跟蹤、動力學計算以及可視化顯示都采用統(tǒng)一的節(jié)段劃分和坐標系定義,各個層次之間就不會出現(xiàn)運動不一致的情況。通過設置骨骼的運動控制皮膚層模型運動,而皮膚層模型可通過三角面片變形實現(xiàn)關節(jié)旋轉,就解決了關節(jié)間節(jié)段分離斷裂的問題,從而實現(xiàn)較好的顯示效果,同時還可對骨骼模型進行關鍵幀編輯,采用播放動畫的形式豐富虛擬航天員的運動控制。
基于本文提出的多層次運動仿真模型結構和算法,使用C++語言對各個層次用類進行了封裝,實現(xiàn)了一個航天員虛擬操作訓練原型系統(tǒng)。根據(jù)未來航天任務航天員訓練需求及虛擬仿真的特點,原型系統(tǒng)實現(xiàn)了太空中陀螺操作、太空行走以及操作儀表等任務訓練仿真,受訓人員通過交互式控制虛擬航天員的運動,進行相應科目訓練。該系統(tǒng)支持多種運動跟蹤設備,目前使用的交互設備包括Immersion公司的CyberGlove數(shù)據(jù)手套、Ascension公司的Flock of Bird位置跟蹤儀、Xsens公司的MVN數(shù)據(jù)衣,以及3DConnexion三維鼠標。系統(tǒng)視景采用OGRE圖形引擎進行虛擬環(huán)境模型載入及渲染。
為驗證多層次運動仿真模型的應用效果,選取10名受試者(25~40歲,7名男性,3名女性),穿戴位置跟蹤儀、數(shù)據(jù)手套及頭盔顯示器進行了抓握陀螺以及按鍵操作兩個典型任務的驗證試驗。
1)抓握陀螺
受試者使用位置跟蹤儀和數(shù)據(jù)手套交互控制虛擬航天員,抓住面前的虛擬陀螺,如圖11。試驗開始前先進行五分鐘的陀螺抓握操作訓練,然后進行10次抓握操作,試驗中記錄每次抓握的用時,10 s內未抓住記為抓握失敗。試驗結果如表1。
2)按鍵操作
受試者使用位置跟蹤儀和數(shù)據(jù)手套交互控制虛擬航天員,對面前的虛擬儀表進行按鍵操作,如圖12。試驗開始前先進行5 min的儀表按鍵操作訓練,然后進行10次按鍵操作,試驗中試驗員通過語音提示受試者按下儀表某一按鍵,并記錄每次發(fā)出指令到按鍵操作完成的用時。試驗結果如表2。
除了物體抓握、按鍵操作等訓練外,該原型系統(tǒng)還可仿真失重時人體“漂浮”的運動狀態(tài),如圖13(a),同時可以通過抓握扶手實現(xiàn)太空行走,如圖13(b)。
表1 抓握陀螺用時(單位秒,操作失敗記為-)Table 1 Time of top grasping(Unit second,failed operation signed as-)
表2 按鍵操作用時(單位秒,操作失敗記為-)Table 2 Time of key pressing(Unit second,failed operation signed as-)
上述通過上述應用實例可看出,采用本文提出的多層次運動仿真模型,受訓者能夠實時交互控制虛擬航天員的肢體及手部運動;在自由態(tài),虛擬航天員可模擬失重狀態(tài)下的漂浮運動,在束縛態(tài),虛擬航天員可實現(xiàn)通過手抓握扶欄進行太空行走;能夠實現(xiàn)對其他虛擬物體較精細的抓取、釋放等交互操作,其中抓握陀螺平均成功率為91%,平均操作用時3.3 s,操作按鍵成功率為100%,平均操作用時3.1 s,表明虛擬交互的準確性和可靠性較高;同時虛擬航天員的顯示效果好,未出現(xiàn)關節(jié)分離等現(xiàn)象。
1)本文提出的模型通過運動控制層、物理控制層、規(guī)則控制層和顯示層的層次化組合方式,實現(xiàn)了滿足虛擬訓練需求的虛擬航天員運動仿真。
2)兩個驗證實例表明,該模型實現(xiàn)的虛擬航天員運動,可同時滿足實時交互、失重運動特性、交互操作、太空行走仿真以及較好的顯示效果,并適用于多種任務場景的航天員訓練。
(References)
[1] Moore S K,Gast M A.21st century extravehicular activities:synergizing past and present training methods for future spacewalking success[J].Acta Astronautica,2010,67(7):739-752.
[2] Loftin R B,Kenney P J,Benedetti R,et al.Virtual environments in training:NASA’s Hubble space telescope mission[C]//Interservice/Industry Training Systems&Education Conference.Florida:NASA,1994:1-10.
[3] R?nkk? J,Markkanen J,Launonen R,et al.Multimodal astronaut virtual training prototype[J].International Journal of Human-Computer Studies,2006,64(3):182-191.
[4] Twombly A,Smith J,Montgomery K,et al.The virtual glovebox(VGX):a semi-immersive virtual environment for training astronauts in life science experiments[J].Systemics,Cybernetics and Informatics,2003,2(3):30-34.
[5] Stroud K J,Harm D L,Klaus D M.Preflight virtual reality training as a countermeasure for space motion sickness and disorientation[J].Aviation Space and Environmental Medicine,2005,76(4):352-356.
[6] An M,Chen S,Liu Y.Study on extra vehicular spacewalk simulation technology[C]//2011 Workshop on Digital Media and Digital Content Management(DMDCM).Hangzhou,PRC:IEEE,2011:53-56.
[7] 徐安,范秀敏,宏鑫,等.交互式宇航員太空行走仿真系統(tǒng)的研究與開發(fā)[J].系統(tǒng)仿真學報,2004,16(9):1953-1956.Xu A,F(xiàn)an X M,Hong X,et al.Research and development on interactive simulation system for astronauts walking in the outer space[J].Journal of System Simulation,2004,16(9):1953-1956.(in Chinese)
[8] 王兆其.虛擬人合成研究綜述[J].中國科學院研究生院學報,2000,17(2):89-98.Wang Z Q.Research of virtual humancomposition[J],Journal of Graduate School,Academia Sinica,2000,17(2):89-98.(in Chinese)
[9] 安明,陳善廣,劉玉慶.基于數(shù)據(jù)手套的虛擬手精確建模的研究與實現(xiàn)[J].計算機仿真,2008,27(1):241-244.An M,Chen S,Liu Y.Study and implementation of precise modeling of virtual-hand based on data glove[J].Computer Simulation,2008,27(1):241-244.(in Chinese)
[10] Craig J J.Introduction to Robotics Mechanics and Control[M].Upper Saddle River:Pearson Prentice Hal,2005:19-23.
[11] GB/T 17245-2004成年人人體慣性參數(shù)[S].2004.GB/T 17245-2004Inertial Parameters of Adult Human Body[S].2004.(in Chinese)
A Novel Method for Virtual Astronaut Motion Simulation Based on Layered Model
AN Ming,LIU Yuqing,CHAO Jiangang
(National Key Laboratory of Human Factors Engineering,China Astronaut Research and Training Center,Beijing 100094,China)
A novel method for human motion simulation based on layered model was presented to meet the special demands of virtual astronauts including the interactive control in real time and the Weightlessness motion simulation.The model includes four layers:the motion control layer is at the bottom which constructs the standard human motion model and tracks the human motion;The physics control layer establishes the Multi-rigid-body Dynamics Model based on PhysX;The rules control layer makes rules for different movement modes;The display layer is on the top which uses the skinned mesh to improve the display effect.The combination of the four layers can realize the virtual astronaut motion simulation.The experimental results showed that the motion simulated by the layered model could satisfy the demands of the interactive control,the weightlessness motion simulation,the operation simulation,the spacewalk simulation and good display effect.The method proposed in this paper can be used in many scenarios in astronaut training.
astronaut training;motion simulation;layered model;virtual reality
TP391.41
A
1674-5825(2017)06-0798-07
2017-05-19;
2017-09-27
國防基礎科研計劃(B1720132001);人因工程國防科技重點實驗室基金(SYFD140051807);載人航天領域預先研究項目(060601)
安明,男,碩士,助理研究員,研究方向為虛擬現(xiàn)實和人體運動仿真。E-mail:anming1984@163.com
(責任編輯:龍晉偉)