★張澤宇(南京師范大學電氣與自動化工程學院,江蘇 南京 210042)
基于微慣性傳感器的姿態(tài)捕捉系統(tǒng)設計
★張澤宇(南京師范大學電氣與自動化工程學院,江蘇 南京 210042)
在慣性導航系統(tǒng)中,對于動作捕捉時多個慣性傳感器的數(shù)據(jù)實時傳輸及傳輸功耗問題,我們在文中提出了藍牙數(shù)據(jù)轉發(fā)裝置的設計方案,并建立了慣性系統(tǒng)誤差模型,提出了初始對準的方案;基于卡爾曼濾波解決了多傳感器的信息融合問題;建立了人體三維棍狀模型進行動作實時重現(xiàn);提出了人體關節(jié)活動度與肢體姿態(tài)角的轉換關系,并以此為姿態(tài)數(shù)據(jù)限幅。
動作捕捉;微慣性傳感器;數(shù)據(jù)轉發(fā)裝置;三維棍狀模型;卡爾曼濾波
近年來隨著微電子技術和慣性導航技術的發(fā)展,慣性傳感器可實現(xiàn)對捕捉對象運動信息的檢測,為動作信息的捕獲帶來新的基礎工具和應用環(huán)境,其可以對相關部位姿態(tài)信息進行精確的測量與跟蹤,具有結構設計簡單和使用便捷等優(yōu)點。所謂動作捕捉,是一種在肢體的相關位置架設傳感器采集數(shù)據(jù),再經(jīng)計算機處理后能得到反映運動特點的數(shù)據(jù)、甚至能再現(xiàn)運動本身的技術,對于智能控制領域的發(fā)展具有極大的促進作用。
MEMS慣性傳感器體積小、重量輕,將它佩戴在身上基本不會對肢體的正常動作產生影響。又由于慣性傳感器測量的是加速度、角度及航向信息等,受環(huán)境影響很小,抗干擾能力比較好,魯棒性強,因而近年來的研究重點側重于將多個MEMS慣性傳感器佩戴在人體上構成測量組件,并利用短距離無線通訊技術、姿態(tài)解算算法、人體三維模型構建等技術組成一個完整的動作捕捉系統(tǒng)。本文在基于微型慣性傳感器技術的基礎上,結合捷聯(lián)式慣性導航和數(shù)據(jù)融合原理,設計了一種不受環(huán)境約束,抗干擾能力強的全姿態(tài)捕捉系統(tǒng)。
圖1 基于微慣性傳感器的姿態(tài)捕捉系統(tǒng)結構示意圖
本文研究的基于微慣性傳感器的捕捉系統(tǒng)結構如圖1所示。該系統(tǒng)將慣性傳感器組件佩戴在研究對象身上,并通過藍牙將數(shù)據(jù)經(jīng)藍牙數(shù)據(jù)轉發(fā)裝置傳至計算機;計算機接受到數(shù)據(jù)后進行數(shù)據(jù)解包,接著用四元數(shù)法進行姿態(tài)解算;最后再利用姿態(tài)數(shù)據(jù)構建人體模型進行動作再現(xiàn)。
2.1 慣性傳感器的設計
本系統(tǒng)選用了MEMS三軸加速度計來測量加速度、三軸陀螺儀來測量角速度、三軸地磁傳感器來測量地磁場,以及氣壓高度計來測量高度,用共計10軸的數(shù)據(jù)來對肢體運動姿態(tài)進行實時跟蹤和捕獲,負責采集各部位運動過程中的原始數(shù)據(jù),并進行數(shù)據(jù)的預處理。之后控制節(jié)點匯聚各個傳感器節(jié)點的數(shù)據(jù),通過傳輸把解算的姿態(tài)數(shù)據(jù)進行打包發(fā)送給上位機,通過對姿態(tài)數(shù)據(jù)進行進一步解析,以實現(xiàn)對虛擬模型關節(jié)的數(shù)據(jù)驅動,從而實現(xiàn)對真實部位姿態(tài)的捕捉和動態(tài)顯示。但是加速度傳感器存在數(shù)據(jù)抖動和偏移造成的誤差,陀螺儀存在累積誤差,地磁儀易受磁場干擾。如何最大程度減小這些誤差是我們需要考慮的。
2.2 藍牙數(shù)據(jù)轉發(fā)裝置的設計
為解決多個慣性傳感器的實時數(shù)據(jù)傳輸問題,本系統(tǒng)設計了一個藍牙數(shù)據(jù)轉發(fā)裝置。該裝置通過MCU將多個傳輸進來的數(shù)據(jù)解包、識別后再打包、再通過一個藍牙傳輸出去。為了使計算機能夠識別出當前這一幀數(shù)據(jù)是來自哪個傳感器,本系統(tǒng)對各個傳感器進行了編碼。
用此種方法來轉發(fā)藍牙數(shù)據(jù),能同時轉發(fā)的數(shù)據(jù)路數(shù)是有上限的,此上限由公式(1)決定:
式中,B為藍牙的波特率,w為傳輸時的數(shù)據(jù)位個數(shù),C為一幀內所有數(shù)據(jù)的字節(jié)數(shù),f為傳感器上傳數(shù)據(jù)的頻率,N為MCU可用的串口數(shù),maxn為能同時轉發(fā)的最大數(shù)據(jù)路數(shù)。
本系統(tǒng)采用STM32作為轉發(fā)多路數(shù)據(jù)的MCU。由于所用的STM32僅有5個串口(4個接受數(shù)據(jù),1個發(fā)送數(shù)據(jù)),我們采用5片STM32將串口擴展到17個(16個接收數(shù)據(jù),1個發(fā)送數(shù)據(jù)),而這足夠用來實現(xiàn)動作捕捉功能。
3.1 初始對準部分
在動作捕捉開始之前需要進行初始對準。初始對準分為粗對準與精對準兩方面:粗對準階段,依靠重力加速度g矢量和地球自轉角速度ω矢量的測量值,直接估算從機體坐標系到導航坐標系的變化矩陣,計算得到載體水平姿態(tài)角和地理航向;精對準階段,采用最優(yōu)估計與補償?shù)姆绞?。由于初始對準的時間較短,因而可采用捷聯(lián)慣性導航系統(tǒng)的線性誤差模型,并用線性卡爾曼濾波進行對準。慣性系統(tǒng)的誤差模型由平臺誤差角模型、速度誤差模型、定位誤差和慣性傳感器誤差模型組成。
速度誤差模型:
定位誤差模型:
慣性傳感器誤差模型:
公式(2)~公式(6)中物理量的定義,以及各方程的建立過程詳見參考文獻[5]。
3.2 方向余弦的應用
從上面的公式我們可以得到方向余弦之間的一個基本關系式:
再次引入方向余弦陣的概念。對于兩個不同的矢量基er與eb,即
3.5 卡爾曼濾波與信息融合
所謂的信息融合(也稱數(shù)據(jù)融合)是一種對信息的多層次的、多方面的處理過程,這個過程是對多源數(shù)據(jù)進行融合以獲得精確、完整的目標屬性及狀態(tài)。卡爾曼濾波理論將狀態(tài)空間的概念與隨機估計理論相結合,利用系統(tǒng)狀態(tài)方程、觀測方程及噪聲的統(tǒng)計特征形成一套完整的濾波算法,是一種在高斯白噪聲下對隨機過程的最優(yōu)估計。
相對于只適用于線性系統(tǒng)的經(jīng)典卡爾曼濾波技術,擴展濾波(EKF)正在逐漸成為處理非線性系統(tǒng)狀態(tài)及參數(shù)估計問題的標準方法。EKF將非線性過程通過一階或二階泰勒展開,向經(jīng)典濾波問題轉化。由于EKF在線性化時略去了高階非線性信息,是一種次優(yōu)估計,對于非線性程度不太高的系統(tǒng)如普通模型仍能獲得較高的估計精度。狀態(tài)估計對于多傳感器信息融合系統(tǒng)的意義在于對目標過去的狀態(tài)進行平滑處理,對現(xiàn)在的狀態(tài)做出估計,同時對未來狀態(tài)做出預測。在已知融合目標與融合結果的相對確切的數(shù)學模型的基礎上選擇擴展卡爾曼濾波理論作為信息融合技術的載體,建立信息融合算法。
4.2 位置信息解算與信息預處理
若上述角度均在相應的關節(jié)坐標系內加以修正后,除了肩關節(jié)、髖關節(jié),人體關節(jié)活動度和其對應的移動臂姿態(tài)角的轉換關系如式(7)所示。
式中,0φ、0θ和0γ分別是與某一關節(jié)相連的固定臂的三個姿態(tài)角。頸椎和肩關節(jié)的固定臂是胸部,肘關節(jié)的固定臂是前臂,膝關節(jié)的固定臂是大腿,髖關節(jié)和腰椎的固定臂是腰部。
肩關節(jié)、髖關節(jié)的活動度與其對應的移動臂姿態(tài)角的關系如式(8)所示。
由上述兩式計算出的姿態(tài)角可以用來為解算出的肢體姿態(tài)角限幅。
本系統(tǒng)具體采用STM32作為慣性傳感器和藍牙數(shù)據(jù)轉發(fā)裝置的MCU,采用MATLAB作為實時顯示模型動作的平臺。實驗時,在人體各處一共佩戴了11個慣性傳感器。本系統(tǒng)顯示的人的姿勢與三維模型姿勢對照圖如圖3所示,圖中人具體的動作為雙手叉腰的坐姿和雙手垂下的站姿。
圖3 人的姿勢與系統(tǒng)顯示的三維模型姿勢對照圖
本文設計了一個基于微慣性測量組件的動作捕捉系統(tǒng),結合動作捕捉的實際情況,針對多個慣性傳感器的數(shù)據(jù)實時傳輸問題、傳輸功耗問題提出了藍牙數(shù)據(jù)轉發(fā)裝置的設計方案。建立了慣性系統(tǒng)誤差模型,并提出了初始對準的方案;建立了人體三維棍狀簡化模型進行動作實時再現(xiàn);創(chuàng)新性地提出了人體關節(jié)活動度與肢體姿態(tài)角的轉換關系,并以此為姿態(tài)數(shù)據(jù)限幅。從實驗結果來看,本文提出的這些設計思路與方法,可以有效地解決基于微慣性組件的動作捕捉系統(tǒng)的相關問題,能夠較好地實現(xiàn)動作捕捉的效果。AP
[1] ROETENBERG D, LUINGE H, SLYCKE P. XSENS MVN: full 6DOF human motion tracking using miniature inerial sensors[J]. Xsens Motion Technologies BV, Tech. Rep, 2009.
[2] 汪俊. 基于慣性傳感單元的動作捕捉系統(tǒng)研究與設計[D]. 合肥: 中國科學技術大學, 2015.
[3] 徐昺. 基于MEMS傳感器與Zigbee網(wǎng)絡的人體動作捕捉系統(tǒng)的設計與實現(xiàn)[D]. 成都: 電子科技大學, 2013.
[4] 趙正旭, 戴歡, 趙文彬, 等. 基于慣性動作捕捉的人體運動姿態(tài)模擬[J]. 計算機工程, 2012, 38 ( 5 ) : 5 - 8.
[5] 陳灣灣, 陳智剛, 付建平. MEMS 微型慣性測量組合的標定[J]. 儀表技術與傳感器, 2014, ( 12 ) : 36 - 38.
[6] 鄭淑孟. 基于MEMS慣性傳感器的人體姿態(tài)和位移檢測[D]. 暨南大學, 2015.
[7] 蹇彪. 基于慣性傳感器的人體運動姿態(tài)三維重構[D]. 哈爾濱工程大學, 2013.
Design of Motion Capture System Based on MEMS Inertial Measurement Units
In this article, we focus on the problem of real-time data transmission of multiple inertial sensors in inertial navigation system (INS). To achieve this goal, we design a bluetooth dataforwarding device and construct an error model of inertial system. Then, an initial alignment method is proposed. Moreover, we settle the problem of multi-sensor information fusion based on Kalman filtering. The motion reconstruction is carried out based on a simplified 3D point-stick model of human body. In addition, we build the conversion relationship between motion range of human joints and body attitude angles, and use this relationship to limit the range of body attitude angles.
Motion capture; Micro inertial sensors; Data forwarding device; 3D point-stick model; Kalman filtering
B
1003-0492(2017)03-0085-04
TP212.6
張澤宇(1995-),男,河北石家莊人,現(xiàn)就讀于南京師范大學電氣與自動化工程學院本科,研究方向為傳感器及相關循跡導航平臺開發(fā)。