錢偉行,周紫君,謝 非,陳 欣,王 融,劉文慧
(1.南京師范大學 電氣與自動化工程學院,南京 210046; 2.南京航空航天大學 自動化學院,南京 210016)
行人導航技術在軍事作戰(zhàn)、醫(yī)療救援、公共安全、應急響應、娛樂消費等諸多社會領域發(fā)揮著越來越重要的作用[1]。由于衛(wèi)星信號無法穿透建筑物,使得行人室內導航系統(tǒng)需要ZigBee、Wi-Fi、Beacon、慣性傳感器等室內導航技術的輔助[2]。近年來,國內外學者圍繞單足、雙足安裝微慣性測量組件(Micro Inertial Measurement Unit,MIMU)以及其他分布式結構的行人導航方法進行了全面而深入的研究,在步態(tài)檢測、人體運動分析、慣性器件誤差修正等方面均取得了較為明顯的成果[3-5]。同時,在上述研究中也發(fā)現(xiàn),人體的運動除了常規(guī)的行走以外,還存在較多高過載的運動方式,如奔跑、跳躍以及軍事作戰(zhàn)中的各類運動,在上述情況下工作時基于足部慣性技術的行人導航系統(tǒng)尚存在如下問題:足部是人體運動信息采集的關鍵位置,當人體在包含較高過載的行進中時,足部MIMU可能會出現(xiàn)持續(xù)性超量程或故障等情況,此時行人導航系統(tǒng)只能依賴安裝或攜帶于人體其他位置的備份慣導完成導航推算,其性能將受到不同程度的影響,甚至直接導致導航定位功能失效。
為解決上述問題,本文提出了一種基于機器學習構建虛擬慣性組件(Virtual Inertial Measurement Unit,VIMU),并通過步態(tài)特征輔助修正足部虛擬慣導系統(tǒng)(Virtual Inertial Navigation System,VINS)的行人導航方法。該方法通過視覺幾何組-長短期記憶混合(VGG-LSTM)神經(jīng)網(wǎng)絡模型擬合人體不同部位IMU信息之間的映射關系,構建足部VIMU來完成導航任務,解決了慣性器件足部安裝方式下的超量程與故障問題,并在零速修正的基礎上通過對VINS 的姿態(tài)信息進行實時修正,進一步減緩系統(tǒng)定位誤差隨行進距離的積累。同時,利用VINS 與足部MIMU 中的磁傳感器得到人體運動的航向信息,從而實現(xiàn)較長時間的行人導航。
本文提出的行人導航方案如圖1所示。為了構建VGG-LSTM 神經(jīng)網(wǎng)絡模型,需要分別在人體足部與其他部位安裝MIMU。本文以同側的腿部和足部安裝MIMU 為例,以相同頻率采集人體腿部和足部MIMU的數(shù)據(jù),并以該數(shù)據(jù)作為VGG-LSTM 神經(jīng)網(wǎng)絡模型的訓練樣本。當該神經(jīng)網(wǎng)絡模型構建完成之后,便可通過該模型建立人體足部與腿部MIMU 信息之間的非線性映射關系,構建出足部VIMU,并同時識別出步態(tài)特征相位。進一步地,在足部MIMU 出現(xiàn)超量程或故障時,基于VINS 的輸出進行多約束條件的零速檢測,并以速度和姿態(tài)信息為系統(tǒng)觀測值構建Kalman濾波器,實現(xiàn)具有強容錯能力的行人導航定位功能。下文將圍繞該方法中的各項關鍵技術詳細展開論述。
圖1 行人導航系統(tǒng)的工作原理及流程圖 Fig.1 Principle and process flowchart of the pedestrian navigation system
當人體進行奔跑、跳躍等高過載的運動時,足部MIMU 將會出現(xiàn)周期性的超量程情況。此時,找到其他安裝位置的MIMU 信息與足部MIMU 信息之間的關系便成為完成行人導航最為關鍵的步驟。本文為了構建人體運動中同側腿部與足部MIMU 信息之間的映射模型,研究并應用了一種改進的一維串聯(lián)卷積網(wǎng)絡和長短期記憶網(wǎng)絡復合的深層混合網(wǎng)絡模型(VGG-LSTM 神經(jīng)網(wǎng)絡模型)。該模型結構如圖2所示,VGG-LSTM 神經(jīng)網(wǎng)絡模型的輸入為腿部MINU信息,輸出為足部MIMU 信息以及人體行進中足部的特征相位。通過充分的訓練,可以由腿部MIMU 信息實時構建足部VIMU 信息。
神經(jīng)網(wǎng)絡結構主要由卷積部分和雙層長短期記憶網(wǎng)絡部分組成。通過卷積模型串聯(lián)多個卷積層以取代較大的卷積核,在提供復雜非線性變換的同時增加模型深度,從而可以提取到輸入數(shù)據(jù)的高維特征,并利用最大池化層完成特征降維,同時實現(xiàn)保持平移不變性與控制過擬合風險。在此基礎上,LSTM 網(wǎng)絡部分一方面接收卷積網(wǎng)絡的特征片段,另一方面結合長短期記憶進一步挖掘腿部慣性數(shù)據(jù)的時序特征,充分實現(xiàn)在短期記憶的基礎上保持長期記憶的效果[6-7]。
如圖2所示的卷積神經(jīng)網(wǎng)絡模型包括輸入層x0、 卷積層c和池化層p。卷積模型的工作原理如下:
一般把輸入層設為第0 層:
式中,M表示數(shù)據(jù)預處理后時間窗口的大小。卷積層的輸出為
式中,R表示池化窗口的尺寸。卷積網(wǎng)絡中卷積核學習到的特征圖p即池化層的輸出;多核卷積是指卷積過程中,每個卷積核e均會對應生成特征圖pe。
圖2 VGG-LSTM模型架構 Fig.2 VGG-LSTM model framework
圖2所示的LSTM 網(wǎng)絡是循環(huán)神經(jīng)網(wǎng)絡的一個改進結構,該結構可通過增加輸入門、輸出門和遺忘門有效地實現(xiàn)在增加模型深度的基礎上充分挖掘數(shù)據(jù)的結構信息。將卷積神經(jīng)網(wǎng)絡部分輸出的一維特征圖依次首尾拼接,形成一維特征向量:
式中,n表示卷積核數(shù)。一維特征向量s進入全連接層處理,全連接層的輸出為
式中,W為全連接層的權值矩陣;ε為全連接層偏置項向量。
由以上分析可知,VGG-LSTM 混合模型能夠利用傳感器數(shù)據(jù)時序、分層的結構特點,自動提取具有時序性、層次性的實時輸入信息的高維特征。通過研究得知在采用2 個卷積層串聯(lián)的卷積塊的前提下,堆疊4 個卷積塊并采用3 層LSTM 網(wǎng)絡結構,可使足部與腿部MIMU 信息之間的映射準確率與系統(tǒng)資源占用率的比值達到最大值。
實時、準確的零速檢測為足部VINS 的誤差修正提供了重要保障?;谝褬嫿ǖ淖悴縑IMU,可通過虛擬加速度計和陀螺儀輸出的周期性特性,以及神經(jīng)網(wǎng)絡模型輸出中的足部特征相位,進行多條件約束的零速檢測。檢測算法的框架由兩個約束條件構成,分別記為ξ1和ξ2。約束條件實現(xiàn)如下:
1)根據(jù)足部VIMU 的加速度計和陀螺儀輸出對零速狀態(tài)進行聯(lián)合判定,零速檢測方法如式(6)和式(7)所示:
式(6)和(7)給出了同時適用于加速度計和陀螺儀輸出的零速狀態(tài)判定方法,其中:axk、ayk、azk分別代表第k時刻足部VIMU 加速度計或陀螺儀采集得到的3 軸加速度或角速度信息;n為方差計算區(qū)間大??;、εa2分別為依據(jù)虛擬慣性器件精度設定的閾值;λ1、λ2、λ3、λ4分別表示四種不同零速狀態(tài)判別方法的測定結果。
在固定參數(shù)閾值條件下,針對不同行人、不同步速,僅用單一的方法進行零速判別,其結果的穩(wěn)定性較差,且誤判與漏判率較高。本文研究并采用了根據(jù)加速度計與陀螺儀的方差判別零速狀態(tài)的條件判別出零速的起始時刻,根據(jù)加速度計與陀螺儀的幅值判別零速狀態(tài)的條件判別出零速的結束時刻,以此提高固定參數(shù)閾值在零速檢測中的準確性[8]。根據(jù)加速度計和陀螺儀輸出的加速度和角速度信息對零速狀態(tài)進行聯(lián)合判定程序如下:
式中,ξ1表示k時刻的零速判別結果。
2)根據(jù)足部特征相位中零速相位的識別對零速狀態(tài)進行判定,零速檢測方法如下:
步行是兩腳重復運動的過程,在行走時一側足跟著地到該側足跟再次著地的過程被稱為一個步態(tài)周期(Gait Cycle,GC)。行人步態(tài)周期如圖3所示。
行走中每個步態(tài)周期都包含著一系列典型位姿的轉移,將這種典型位姿變化劃分出一系列時段,稱之為步態(tài)時間相位,簡稱步態(tài)相位。一個步行周期可分為支撐相位和擺動相位,詳細分類又可以分成8 個相位,一般用該相位所占步態(tài)周期的百分數(shù)(GC%)來表達[9]:
1)首次觸地期:運動側足跟接觸地面的瞬間,占GC 的2%左右;
2)承重反應期:從運動側足跟觸地到對側足趾離地的階段,整個過程中運動側足掌完全著地,占GC的10%左右;
3)支撐相中期:起始于對側足趾離地,至軀干位于支撐腿正上方時結束,大約占GC 的19%;
4)支撐相末期:從支撐側足跟離地到對側足跟著地的階段,約占GC 的19%;
5)擺動前期:從對側足跟著地到支撐側足趾離地之前的一段時間,占GC 的12%左右;
6)擺動相早期:從足脫離地面的時刻開始到膝關節(jié)達到最大彎曲狀態(tài)的時刻結束,占GC 的13%左右;
7)擺動相中期:從膝關節(jié)到達彎曲狀態(tài)的時刻開始到小腿擺動到與地面垂直的時刻結束,占GC 的12%左右;
8)擺動相末期:從小腿垂直于地面的時刻開始到足跟再次接觸地面的時刻結束,占GC 的13%左右。
圖3 行人常規(guī)步態(tài)周期 Fig.3 Normal gait cycle of pedestrian
本文所研究的步態(tài)相位識別方法如下:根據(jù)對行人步態(tài)特性的分析,將每一個步態(tài)周期的3 軸虛擬加速度信息和3 軸虛擬陀螺儀信息按照不同步態(tài)相位所占步態(tài)周期的百分數(shù)劃分為8 個數(shù)據(jù)樣本。將數(shù)據(jù)樣本與對應的步態(tài)相位導入上述VGG-LSTM 神經(jīng)網(wǎng)絡模型進行訓練,使該模型可準確識別8 個步態(tài)相位,從而為實時確定每個步態(tài)相位結束時刻的足部姿態(tài)信息奠定基礎,具體確定方法下文將進一步說明。當神經(jīng)網(wǎng)絡識別出圖3所示的零速相位(zero-velocity phase)后,便可對零速狀態(tài)進行如下判定:
式中,ξ2表示k時刻的零速判別結果。
由于上述的2 種零速檢測方法都會產生不同程度的誤檢率,因此,為避免單種檢測算法不能準確判斷行人復雜步態(tài)的問題,將2 個條件結果進行邏輯“與”運算,用ξ表示零速檢測結果。
為了在零速修正的基礎上進一步減緩慣性導航系統(tǒng)的定位誤差隨行進距離的積累,本文基于人體各步態(tài)相位中足部姿態(tài)具有高度重復性的特征,研究了一種對慣導系統(tǒng)進行姿態(tài)修正的方法。
由于足部慣性導航系統(tǒng)的定位誤差主要隨行進距離積累,因此在慣導系統(tǒng)進入導航模式的第一個步態(tài)周期時其姿態(tài)誤差最小,將該步態(tài)周期的MIMU 信息輸入已訓練好的神經(jīng)網(wǎng)絡中,并將神經(jīng)網(wǎng)絡輸出的8個步態(tài)相位結束時刻的高精度姿態(tài)信息保存下來。由于人體行走過程中足部姿態(tài)具有高度重復性,將隨后每個步態(tài)周期的腿部MIMU 信息都輸入已訓練好的神經(jīng)網(wǎng)絡,并將神經(jīng)網(wǎng)絡輸出的8 個步態(tài)相位結束時刻的VINS 姿態(tài)信息與之前保存的對應特征相位結束時刻的高精度姿態(tài)信息進行比對,將兩者之差作為誤差觀測量,利用Kalman 濾波器對導航系統(tǒng)姿態(tài)誤差進行估計與修正,從而在零速修正的基礎上進一步減緩慣性導航系統(tǒng)的定位誤差隨行進距離的積累。
利用零速修正輔助捷聯(lián)慣導解算的過程可分為兩種狀態(tài):1)非零速狀態(tài):系統(tǒng)無法獲得速度誤差觀測量,Kalman 濾波器僅進行時間更新;2)零速狀態(tài):獲取得到速度誤差觀測量,Kalman 濾波器進行完整更新,并將系統(tǒng)誤差估計值進行反饋補償。
利用步態(tài)特征輔助捷聯(lián)慣導解算的過程同樣也可分為兩種狀態(tài):1)非步態(tài)特征相位狀態(tài):系統(tǒng)無法獲得準確的姿態(tài)誤差觀測量,Kalman 濾波器僅進行時間更新;2)步態(tài)特征相位狀態(tài):根據(jù)3.2 節(jié)所述的步態(tài)特征相位識別方法得到準確的姿態(tài)信息以獲取姿態(tài)誤差觀測量,Kalman 濾波器進行完整更新,并將系統(tǒng)誤差估計值進行反饋補償。
結合上述兩種誤差估計與修正方式,基于虛擬足部慣導系統(tǒng)的Kalman 濾波器設計如下:
1)慣導誤差模型/系統(tǒng)狀態(tài)方程
慣性系統(tǒng)誤差模型由平臺誤差角模型、速度誤差 模型、定位誤差以及慣性傳感器誤差模型組成。
其中平臺誤差角方程為
速度誤差模型如式(12)所示:
定位誤差模型為
慣性器件隨機常值模型如下:
式(4)~(8)中各物理量以及線性卡爾曼濾波器的狀態(tài)方程的建立過程詳見參考文獻[10]。
2)系統(tǒng)觀測方程
式中:Zk為系統(tǒng)觀測向量,Hk為觀測矩陣,V k為觀測白噪聲矢量。
行人導航系統(tǒng)的速度、姿態(tài)組合模式可根據(jù)觀測量情況來實施調整觀測方程:
① 非零速狀態(tài)/非步態(tài)特征相位點:無誤差觀測量,Kalman 濾波器僅進行時間更新。
② 非零速狀態(tài)/步態(tài)特征相位:只進行姿態(tài)組合,誤差觀測量為
式中:δγ、δθ、δψ分別為橫滾角誤差、俯仰角誤差、航向角誤差;γ1、θ1、ψ1分別為第一個步態(tài)周期每個步態(tài)相位結束時刻的橫滾角、俯仰角與航向角;γi、θi、ψi分別為當前步態(tài)周期每個步態(tài)相位結束時刻的橫滾角、俯仰角與航向角。
③ 零速狀態(tài):既進行速度組合,又進行姿態(tài)組合,速度組合的誤差觀測量為
式中: ΔVk為零速狀態(tài)時的速度誤差,則零速狀態(tài)總的誤差觀測量為
為了驗證本文所提出的行人導航系統(tǒng)及其導航方法的可行性與性能指標,將微慣性測量組件安裝于人體左腿外側。采用便攜式計算機進行數(shù)據(jù)實時采集與導航定位解算,從而構成行人導航系統(tǒng)原理樣機。實驗過程中的系統(tǒng)航向信息分別采用實際INS、VINS與足部MIMU 中的磁傳感器解算得到[11]。
為分析行人導航系統(tǒng)的定位性能與誤差特性,分別在室內和室外選擇測試路徑,并且在每一條測試路徑上進行兩組不同行進速度的人體行進實驗,實驗環(huán)境不存在明顯電磁干擾。室內行進總路程約240 m,室外行進總路程為360 m。其中第一組實驗采用平均速度約1.0 m/s 的人體常規(guī)步態(tài),室內行進總時間約240 s,室外行進總時間約360 s;第二組實驗采用平均速度約2.5 m/s 的快速步態(tài),室內行進總時間約100 s,室外行進總時間約140 s。
圖4(a)(b)分別為1.0 m/s 的人體常規(guī)步態(tài)下虛擬與實際IMU 陀螺X 軸輸出與加表Y 軸輸出;圖4(c)(d)分別為2.5 m/s 的快速步態(tài)下虛擬與實際IMU 陀螺X軸輸出與加表Y 軸輸出。
圖4 1 m/s 與2.5 m/s 步速下虛擬與實際IMU 數(shù)據(jù) Fig.4 Virtual and actual IMU data under the walking speed of 1 m/s and 2.5 m/s
圖5為室內和室外四組行人導航系統(tǒng)原理樣機性能實驗的性能對比結果。圖5(a)與(c)分別為室內和室外行人導航系統(tǒng)原理樣機進行性能測試時行進路線的衛(wèi)星地圖。圖5(b)與5(d)分別為室內和室外行人導航結果的性能對比曲線。在圖5(b)與圖5(d)中:曲線(a)為常規(guī)步速行進中采用足部實際MIMU 與零速修正完成行人導航時的定位信息,該方案的室內定位誤差為1.4 m,約占軌跡全長的0.5%,室外定位誤差為2.5 m,約占軌跡全長的0.7%;曲線(b)為快速行進中采用足部 實際MIMU 和零速修正完成行人導航時的定位信息,行進后期人體足部角速度極值≥800 (°)/s,加速度極值≥8g,在慣性器件過載情況下只用常規(guī)的零速修正方法在室內和室外測試路徑中均無法得到較穩(wěn)定的導航定位曲線;曲線(c)為快速行進中采用基于神經(jīng)網(wǎng)絡模型構建足部VIMU 和零速修正完成行人導航時的定位信息,由該曲線可知,該方法在人體快速行進中可實現(xiàn)穩(wěn)定的導航定位功能,不再受到慣性器件超量程的明顯影響,但由于神經(jīng)網(wǎng)絡模型存在訓練誤差,室內定位誤差約7.1 m,約占總行進路程的3%,室外定位誤差為13.8 m,約占軌跡全長的4%;曲線(d)為快速行進中采用基于神經(jīng)網(wǎng)絡模型構建足部VIMU,并同時采用零速修正與姿態(tài)修正進行行人導航時的定位信息。由該曲線可知,該方法同樣可在人體快速行進中實現(xiàn)穩(wěn)定的導航定位功能,且性能優(yōu)于單獨采用零速修正的方法,其中室內定位誤差約4.8 m,約占總行進路程的2%,室外定位誤差為8 m,約占軌跡全長的2.5%。
上述實驗結果的對比分析可總結如表1所示。
由上述實驗結果對比分析可知:常規(guī)步速下采用足部實際MIMU 結合零速修正可實現(xiàn)較高精度的行人導航定位功能;在快速步態(tài)下,由于人體下肢的運動幅度較大,足部運動信息會出現(xiàn)超出慣性傳感器量程的情況,采用足部實際MIMU 和零速修正的導航定位方法將無法有效實現(xiàn)零速修正與導航定位;在快速步態(tài)下采用足部VIMU 和零速修正的導航定位方法,可實現(xiàn)穩(wěn)定且準確的行人導航定位;進一步地,在快速步態(tài)下采用足部VIMU,并同時采用零速修正與姿態(tài)修正的導航定位方法,可進一步提高行人導航定位的精度。
圖5 行人導航系統(tǒng)原理樣機性能實驗 Fig.5 Performance experiment of pedestrian navigation system principle prototype
表1 行人導航實驗結果對比分析 Tab.1 Comparative analysis of pedestrian navigation experiment results
本文提出了一種基于機器學習與步態(tài)特征輔助的行人導航方法。首先,基于一維串聯(lián)卷積網(wǎng)絡和長短期記憶網(wǎng)絡復合的深層混合網(wǎng)絡,實現(xiàn)了VIMU 的構建;然后,通過足部VIMU 中加速度計和陀螺儀輸出的周期性特性,以及神經(jīng)網(wǎng)絡模型輸出中的足部特征相位,進行多條件約束的零速檢測;再有,利用人體各步態(tài)相位中足部姿態(tài)具有高度重復性的特征,對虛擬足部慣導系統(tǒng)姿態(tài)信息進行姿態(tài)修正,結合零速修正方法,進一步減緩慣性導航系統(tǒng)的定位誤差隨行進距離的積累。
實驗結果表明,本文所提出的方法在快速行走、奔跑等高過載運動中可完成人體精確定位,定位誤差不超過總行進距離的2.5%。相比基于常規(guī)零速修正的行人導航方法,該方法可在士兵作戰(zhàn)、消防搶險、特警執(zhí)勤等應用背景中提供更可靠、精度更高的導航信息,為特種行業(yè)穿戴式設備的研制提供技術支持。