楊 柳
(山西職業(yè)技術(shù)學(xué)院,山西 太原 030006)
基于慣性原理的頭部運(yùn)動(dòng)跟蹤系統(tǒng)的設(shè)計(jì)
楊 柳
(山西職業(yè)技術(shù)學(xué)院,山西 太原 030006)
在飛行模擬游戲中,需要頭部運(yùn)動(dòng)跟蹤系統(tǒng)采集解算人體頭部的動(dòng)作,以模擬飛行員實(shí)際的視野移動(dòng)。目前市售的頭部運(yùn)動(dòng)跟蹤系統(tǒng)采用了紅外跟蹤原理,本文主要研究了基于慣性原理的頭部運(yùn)動(dòng)跟蹤系統(tǒng)的工作原理和系統(tǒng)設(shè)計(jì),本系統(tǒng)可適用于多種飛行模擬游戲。
頭部運(yùn)動(dòng)跟蹤;慣性原理;MPU6050;Arduino
飛行模擬游戲是利用計(jì)算機(jī)技術(shù)模擬真實(shí)飛行器飛行特性和操作過(guò)程,此類游戲起源較早,并具有較高的模擬程度和帶入感。玩家在飛行模擬游戲中扮演飛行員的角色,所以對(duì)外接設(shè)備要求很高,常用外設(shè)包括飛行控制器、節(jié)流閥、方向舵等。
在實(shí)際飛行中,為保證飛行安全,飛行員對(duì)視野范圍要求較高,飛行器在設(shè)計(jì)過(guò)程中會(huì)考慮飛行員對(duì)視野的要求。但在飛行模擬游戲中,玩家的視野被面積有限的顯示器限制,常規(guī)解決措施是安裝頭部運(yùn)動(dòng)跟蹤系統(tǒng),通過(guò)采集并解算頭部姿態(tài),在顯示器中虛擬顯示視野的移動(dòng),以滿足玩家對(duì)視野范圍的需求,同時(shí)提升游戲帶入感。
目前市售的頭部運(yùn)動(dòng)跟蹤系統(tǒng)是NaturalPoint公司開(kāi)發(fā)的Track IR系統(tǒng),采用了紅外跟蹤原理,具備六自由度頭部運(yùn)動(dòng)跟蹤能力。Track IR系統(tǒng)主要由反光架和接收解算組件組成,其中接收解算組件包含紅外光源、廣角接收器、解算器和輸出電路。其工作原理如圖1所示。
圖1 Track IR系統(tǒng)工作原理示意圖
使用Track IR系統(tǒng)時(shí)需將反光架固定在頭部,反光架上有3~4組反光鏡,可反射紅外光源發(fā)出的紅外線。反射后紅外線被廣角接收器接收并處理成電子信號(hào),再由解算輸出組件計(jì)算處理并輸出。由此可見(jiàn),在Track IR系統(tǒng)使用中,人體面部將長(zhǎng)期受到紅外線照射。同時(shí),反光架不能移出廣角接收器的接收范圍,否則系統(tǒng)無(wú)法正常工作。
數(shù)學(xué)上,頭部運(yùn)動(dòng)跟蹤屬于剛體運(yùn)動(dòng)問(wèn)題,而運(yùn)動(dòng)信息包含姿態(tài)和位置。目前,大多數(shù)情況下處理體感問(wèn)題都采用光學(xué)法,如Track IR系統(tǒng)、F-35飛機(jī)采用JHMCS頭盔顯示系統(tǒng)等。該方法的最大優(yōu)勢(shì)在于原理簡(jiǎn)單、感受精確。如果在使用精度要求不高的情況下,還可以采用慣性原理采集和解算頭部運(yùn)動(dòng)信息,即本文論述的基于慣性原理的頭部運(yùn)動(dòng)跟蹤系統(tǒng)。
1.1 頭部運(yùn)動(dòng)的分析
在飛行模擬游戲中,玩家的頭部運(yùn)動(dòng)與飛行員的頭部運(yùn)動(dòng)一致,主要以旋轉(zhuǎn)為主。采用慣性原理采集和計(jì)算頭部運(yùn)動(dòng)信息,即是對(duì)頭部運(yùn)動(dòng)的姿態(tài)進(jìn)行解算。常用的慣性傳感器感受的是物體的角速度。所以在數(shù)學(xué)上,該問(wèn)題簡(jiǎn)化為已知?jiǎng)傮w角速度求解姿態(tài)的問(wèn)題,即經(jīng)典的慣性姿態(tài)問(wèn)題。
頭部的旋轉(zhuǎn)運(yùn)動(dòng)可分解為三個(gè)軸向的旋轉(zhuǎn)運(yùn)動(dòng),即左右搖擺、上下俯仰和水平滾轉(zhuǎn)。因此,慣性傳感器應(yīng)能測(cè)量三個(gè)軸向的角速度,解算部分將傳感器測(cè)得的角速度聯(lián)合解算,得出頭部的運(yùn)動(dòng)姿態(tài)。
1.2 慣性感測(cè)的數(shù)學(xué)原理
經(jīng)典的慣性姿態(tài)問(wèn)題有三種常用解法,即歐拉角法、方向余弦法和四元數(shù)法。歐拉角法是通過(guò)歐拉角微分方程求解得出剛體的姿態(tài)。歐拉角法的最大難點(diǎn)在于其解中包含“奇點(diǎn)”,故無(wú)法對(duì)全姿態(tài)進(jìn)行求解,同時(shí)實(shí)施控制上難度很大,所以工程上幾乎不采用。方向余弦法采用了方向余弦矩陣求解姿態(tài),在算法上避免了“奇點(diǎn)”產(chǎn)生,但矩陣數(shù)據(jù)量大、計(jì)算量大、工作效率低,工程上也很少采用。四元數(shù)
屬于超復(fù)數(shù),四元數(shù)法是采用四元數(shù)表示剛體的姿態(tài)和旋轉(zhuǎn)。四元數(shù)法算法簡(jiǎn)單、效率高、不存在“奇點(diǎn)”解,工程應(yīng)用廣泛。
四元數(shù)是形如q=q0+q1i+q2j+q3k的數(shù),其中i、j、k滿足i2=j2=k2=-1,ij=-ji=k,jk=-kj=i,ik=-ki=-j。解算剛體旋轉(zhuǎn)問(wèn)題時(shí),需先將歐拉角轉(zhuǎn)換成四元數(shù),方程為:
其中:φ為剛體繞x軸旋轉(zhuǎn)的角度;θ為剛體繞y軸旋轉(zhuǎn)的角度;ψ為剛體繞z軸旋轉(zhuǎn)的角度。
四元數(shù)表示了剛體的姿態(tài)和旋轉(zhuǎn),用四元數(shù)進(jìn)行旋轉(zhuǎn)剛體的姿態(tài)求解即是將兩個(gè)四元數(shù)相乘,其中一個(gè)四元數(shù)表示剛體的初始姿態(tài),另一個(gè)四元數(shù)表示本次旋轉(zhuǎn)的角度和旋轉(zhuǎn)軸,如下式所示。
qi=pqi-1p-1.
其中:qi為旋轉(zhuǎn)后的剛體姿態(tài)四元數(shù);qi-1為旋轉(zhuǎn)前剛體姿態(tài)四元數(shù);p為旋轉(zhuǎn)四元數(shù)。
在剛體連續(xù)旋轉(zhuǎn)過(guò)程中,旋轉(zhuǎn)四元數(shù)p是單位時(shí)間內(nèi)剛體旋轉(zhuǎn)的角度,可由傳感器獲得的角速度值計(jì)算并進(jìn)行坐標(biāo)變換得到。而剛體旋轉(zhuǎn)后的姿態(tài)可由旋轉(zhuǎn)后的四元數(shù)變換為歐拉角得到。四元數(shù)轉(zhuǎn)換為歐拉角的公式為:
基于慣性原理的頭部運(yùn)動(dòng)跟蹤系統(tǒng)需要安裝在玩家頭部,所以其系統(tǒng)需求為:體積小、重量輕,易安裝拆卸,自供電,無(wú)線輸出。
根據(jù)上述要求,系統(tǒng)由慣性傳感器,解算器,輸出部件和電源組成。慣性傳感器選用具有三軸加速度和三軸角速度感受的MPU6050。解算器選用Arduino Nano單片機(jī)部件,其處理器核心為ATmega328(Nano3.0)單片機(jī),同時(shí)具備14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出),8路模擬輸入,一個(gè)16MHz晶體振蕩器,一個(gè)mini-B USB口。輸出部件以藍(lán)牙模塊為核心,采用SBM14580S小尺寸藍(lán)牙4.0模塊,使系統(tǒng)具備無(wú)線通訊的功能。系統(tǒng)電源供電方式可選用USB接口供電或5 V鋰電池組供電。系統(tǒng)原理框圖如圖2所示。
圖2 系統(tǒng)原理框圖
系統(tǒng)單片機(jī)程序用Arduino IDE軟件開(kāi)發(fā),燒寫(xiě)到Arduino Nano單片機(jī)部件中。流程如圖3所示。
圖3 程序流程圖
本文主要研究了基于慣性原理的頭部運(yùn)動(dòng)跟蹤系統(tǒng),證明慣性感測(cè)原理可以應(yīng)用于頭部運(yùn)動(dòng)的跟蹤采集和處理。經(jīng)過(guò)測(cè)試,本系統(tǒng)可以較好地應(yīng)用于多種飛行模擬游戲。相對(duì)于Track IR系統(tǒng)而言,本系統(tǒng)無(wú)需對(duì)傳感器的位置范圍作出規(guī)定,也未采用紅外線定位原理,解決了紅外線持續(xù)照射玩家面部的問(wèn)題。當(dāng)前流行的虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)技術(shù)中,對(duì)身體運(yùn)動(dòng)的感受和處理是其核心技術(shù)之一,慣性傳感器的工作不受外界條件和輸入的限制,可以應(yīng)用于身體其他部位運(yùn)動(dòng)的感受和處理,推廣前景良好。
[1] 張榮輝,賈宏光,陳濤,等.基于四元數(shù)法的捷聯(lián)式慣性導(dǎo)航系統(tǒng)的姿態(tài)解算[J].光學(xué)精密工程,2008,16(10):1963-1970.
[2] 劉俊峰.三維轉(zhuǎn)動(dòng)的四元數(shù)表述[J].大學(xué)物理,2004,23(4):39-62
Design of Head Tracking System Based on Inertial Principle
Yang Liu
(ShanxiPolytechnicCollege,TaiyuanShanxi030006,China)
In order to simulate the actual moving visual field of pilot, the head tracking system needs to collect and calculate the data of head movements in the flightsim. The head tracking system on sale uses infrared tracking principle at present. This paper mainly studies the working principle and system design of the head tracking system based on inertial principle. The system can be applied to varied flightsim.
head tracking system; inertial principle; MPU6050; Arduino
2017-01-04
楊 柳(1983- ),女,山西陽(yáng)泉人,助教,工學(xué)碩士,主要從事電子信息技術(shù)專業(yè)相關(guān)教學(xué)及研究。
1674- 4578(2017)02- 0003- 02
TP391.41
A