戴洪德,李松林,周紹磊,全聞捷
(海軍航空大學,煙臺 264001)
在樓宇消防、單兵作戰、井下工作等環境下,為行人提供準確可靠的導航信息直接關系到任務的完成,甚至關系到人員的生命安全。基于全球衛星定位系統(GPS)的導航系統具有全時、全球導航,用戶終端便宜、導航可靠、精度高等優點,在全球范圍內獲得了最為廣泛的應用。但是GPS信號容易被樓宇、樹林等遮擋,不適應室內、叢林、地下等導航環境。因此,在行人導航中不能過于依賴衛星導航系統。為此,相繼出現了基于超聲波、藍牙、LED 燈光、ZigBee、WIFI、RFID等[1-4]室內定位方式,能夠實現較高精度的室內導航,但這些定位方式需要提前在室內安裝相當數量的發送/接收設備,成本比較高,不適應大范圍的導航需求。
基于微型慣性測量單元(Miniature Inertial Measurement Unit,MIMU)的行人導航系統具有體積小、重量輕,能夠利用自身設備實現自主連續導航的優點[5-6]。但是該系統具有誤差隨時間積累的缺點,長時間的使用會造成較大的導航誤差,如何來減小導航誤差成為了該領域研究的重點。零速修正(Zero Velocity Update,ZUPT)是常用的減小行人導航誤差的方法[7],能準確判斷行人行走過程中的零速區間,是零速修正的前提。利用MIMU自帶的傳感器進行零速檢測是目前行人導航常用的方法。一些文獻利用采樣窗口內三軸陀螺儀的極差以及加速度計模值的最大值與設定閾值作比較,并經過“或”運算判斷零速區間[8],降低了漏判概率,但是增加了誤判概率。行走速度比較快時,該方法誤差增大。一些學者利用加速度計、陀螺儀輸出值得到其模值、標準差并與閾值作比較作為零速檢測判定條件[9]。一些文獻利用加速度峰值和角速度能量進行零速檢測[10]。這些方法均需要進行多次比較,而且需要根據步速來調整閾值。這是由于這些傳感器數據的統計量在零速區間和非零速區間的區分度不夠造成的。本文定義了一個陀螺儀模值的偽標準差,使得零速區間和非零速區間在這個偽標準差的描述下區分度變大,并利用一個基于N-P準則的判別規則和一個固定閾值就能夠適應不同行人從慢走到慢跑的多步態零速檢測,不僅提高了零速檢測的精度,而且簡化了算法復雜度。
為驗證本算法合理性與準確性,在3名實驗者多種速度行走實驗下,分別進行了固定閾值下的三軸陀螺儀極差+加速度計模值最大值檢測法[8],“加速度計模值+加速度計標準差+陀螺儀模值+陀螺儀標準差”檢測法[11]以及本文提出的基于偽標準差和N-P準則的零速檢測方法的對比實驗,實驗結果表明本文方法簡單有效,檢測精度最高。
行人在行走過程中存在周期性的步態更迭,本文把每個周期分為兩個區間,一個是全腳掌著地時的零速區間,另外一個是包括抬腳跟、空中擺動和腳跟著地的非零速區間。安裝在腳跟的 MIMU的輸出數據會呈現出與行走頻率一致的周期性變化,圖1表示的是一次行走中兩個區間對應的三軸陀螺儀輸出。

圖1 行走步態分析Fig.1 Analysis of walking gait
通過圖1可以明顯看出,在零速區間內,由于腳的姿態保持不變,三軸陀螺儀的輸出相對于非零速區間有兩個數學特征:第一個是輸出幅值接近于零,也就是一小段區間內的均值接近于零;第二個是輸出幅值的波動較小,也就是一小段區間內的標準差較小。
對陀螺儀的輸出進行求模處理:

由于模值包含了三個軸向陀螺儀的輸出信息,所以三軸陀螺儀模值的特性與其幅值的一些特性一致,如圖2所示。相對于非零速區間,在零速區間內,陀螺儀模值的均值接近于零,陀螺儀模值的波動較小,也就是一小段區間內模值的標準差較小。

圖2 三軸陀螺儀模值Fig.2 Mode value of three-axis gyroscope
利用采樣窗口內陀螺儀模值的均值和標準差作為二維特征量并構成二維特征空間,如圖3所示。在二維特征空間中,零速區間對應均值和標準差都較小的區域,而非零速區間則對應二維特征空間的其他區域。

圖3 二維特征空間Fig.3 Two-dimensional feature space
假設第i個采樣點陀螺儀的模值為:

以第i個采樣點為中心,選取一個采樣窗口[i-s,i+s]。對采樣窗口內的陀螺儀模值曲線用該曲線(i,gyro(i))點處的切線段近似,這樣采樣窗口內陀螺儀模值就可以表示為:

其中,k=gyro′(i)為陀螺儀模值曲線在采樣中心i時刻的導數。
1)標準差
對采樣窗口內的陀螺儀模值求標準差,采樣窗口內由陀螺儀模值構成的數列為:

數列的均值為:

數列的標準差為:


從標準差的表達式可以看出,當窗口大小一定時,標準差的大小與陀螺儀模值曲線在采樣中心i時刻導數的絕對值成正比,而導數反映了數據的變化程度,所以標準差的大小反映了采樣窗口內陀螺儀模值的變化程度,即波動程度,這與標準差的數學意義相符。
2)偽標準差
本文定義一個偽標準差,在以第i個采樣點為中心的2s+1個模值中插入2s+1個0,構成一個擴充數列:

擴充數列的均值為:

擴充數列的標準差為:

將這個擴充數列的標準差稱為原采樣窗口內陀螺儀模值的偽標準差。從偽標準差的表達式可以看出,當窗口大小一定時,偽標準差的大小不僅與螺儀模值曲線在采樣中心i時刻導數相關,還與i時刻陀螺儀的模值的大小相關。由式(4)可以看出,gyro(i) 也是采樣窗口內陀螺儀的均值。所以偽標準差不僅僅反映了采樣窗口內陀螺儀模值的波動程度,還反映了采樣窗口內陀螺儀模值的均值大小。從偽標準差可以看出,當且僅當采樣窗口內陀螺儀模值的波動程度和均值都較小時,偽標準差的值才較小。分析陀螺儀模值圖可以發現,只有零速區間內的采樣窗口滿足陀螺儀模值的波動程度和均值都較小的條件,所以只有零速區間內的偽標準差較小,而非零速區間內的偽標準差都較大。
陀螺儀模值的波動程度和均值這兩個描述行走步態的特征量被融合到一個公式里面,使得偽標準差同時具有這兩方面的數學特征。但是偽標準差的意義不僅在于它將兩個描述行走步態的特征量融合到了一個公式里面,偽標準差更重要的意義在于增大了零速區間和非零速區間區分度。利用傳統多條件零速檢測的方法是通過提取行走過程中傳感器輸出的多個特征量,并通過設定相應閾值,來進行零速區間檢測。這些特征量是單獨存在的,這些特征量的增多并沒有對零速區間與非零速區間的區分度有任何影響。而偽標準差將陀螺儀模值的兩種特征量融合到一起,不是一般意義上的特征量的數量增多,而是提出了一個新的特征量——偽標準差,在這個特征量的描述下,零速區間與非零速區間的區分度得到提高,從而減小了零速檢測中誤判和漏判的概率,這與多條件的零速檢測方法在原理上存在根本差異。
為了驗證偽標準差的意義,本文將偽標準差與標準差對零速區間區分度的大小作對比。具體做法為,將多次不同步速的實測行走實驗數據人為劃分為零速區間和非零速區間,如圖2所示,在相同實驗數據、相同的區間劃分下,對陀螺儀模值分別求標準差和偽標準差,并畫出它們的概率密度曲線,如圖4所示。圖4中上圖為標準差的概率密度曲線,下圖為偽標準差的概率密度曲線。

圖4 概率密度曲線Fig.4 Probability density curve
對比兩圖可以發現,標準差中的兩條概率密度曲線相交區域的面積大,說明其誤判和漏判的概率大;而偽標準差中的兩條概率密度曲線相交區域的面積小,誤判和漏判的概率小。在標準差的坐標中,兩條概率密度曲線出現波峰的位置很近,說明零速區間和非零速區間的區分度不夠;而偽標準差的坐標中,兩條概率密度曲線出現波峰的位置更遠,說明零速區間與非零速區間的區分度更大。相對于陀螺儀模值標準差,利用偽標準差來描述步態,使得零速區間與非零速區間的區分度得到提高,這樣零速檢測更加容易,準確率也能夠大大提高。

圖5 一維特征空間Fig.5 One-dimensional feature space
基于N-P準則的決策方法不需要知道類別的先驗概率,只需要知道類別的概率密度函數[12],本文利用N-P準則推導在偽標準差構成的一維特征空間中進行零速檢測這個二分類問題的判別規則。
為方便計算,本文將零速區間和非零速區間的兩條偽標準差概率密度曲線相交的一小段區間到各自概率減小方向的概率密度曲線由兩個正態概率密度函數來近似,即,如圖6所示。
從圖6可以看出,用正態概率密度函數近似后,錯檢或漏檢的概率和原來基本一致,其中,虛線表示原概率密度曲線,實線表示正態概率密度函數,表示零速區間,表示非零速區間。這兩個正態概率密度函數的參數是通過極大似然法估計得到的。

圖6 概率密度近似Fig.6 Approximation of probability density
N-P準則的基本思想是保證漏檢(或者錯檢)概率一定的情況下,使得錯檢(或者漏檢)概率最小。本文規定將零速區間判斷為非零速區間為漏檢,表示為P1(e),反之為錯檢,表示為P2(e),如圖7所示。

圖7 正態概率密度函數Fig.7 Normal probability density function
由N-P準則,在限定ω1類錯誤率P1(e)的條件下,使ω2類錯誤率P2(e)最小,即:

利用Lagrange乘子法計算極值點:

將L(σG′(i),λ)分別對λ、σG′(i)求偏導得到:





所以l(σG′(i))在上單調遞減,在上單調遞增,而所以所以()lσ′()G i函數曲線如圖8表示。

圖8 l(σ G′( i))函數Fig.8 l(σ G′( i))function


圖9 基于偽標準差和N-P準則的零速檢測流程圖Fig.9 Flow chart of zero-velocity detection
通過多次不同步速的陀螺儀數據計算得到零速區間偽標準差的均值和方差,根據極大似然法估計得到(°)/s,(°)/s,選取,查表得到2.88,根據式(15)可以得到:

選擇3名志愿者進行零速檢測實驗,將MIMU安裝在實驗者腳跟部位,沿100 m的直線路程行走,并進行多次不同步速的行走實驗,并分別利用三種方法進行零速檢測。方法一:三軸陀螺儀極差+加速度計模值最大值檢測法[8];方法二:加速度計模值+加速度計標準差+陀螺儀模值+陀螺儀標準差檢測法[11];方法三:基于偽標準差和N-P準則的檢測法。得到的實驗結果如表1所示。
從實驗結果可以看出,在行走速度小于5 km/h的時候,三種方法對3名實驗者均能夠達到較高的檢測精度,但是在慢跑和跑步步態下,固定閾值下的方法一和方法二檢測精度均大大降低,只有方法三還能夠有效進行零速檢測,說明方法三對不同速度的適應性很好。在慢跑和跑步步態下,方法二對實驗者 A、C的檢測精度比方法一高,但是方法二對實驗者B的檢測精度比方法一低,說明方法一和方法二對不同行人的適應性不好,而方法三對3名實驗者的檢測精度基本相同,說明方法三對不同行人的適應性比較好。在進行的綜合實驗中,方法三的零速區間平均檢測精度達到了99.67%。

表1 零速區間檢測結果Tab.1 Zero-velocity detection results
本文通過分析行走過程中陀螺儀輸出的特性找出能夠描述零速區間和非零速區間的特征量,定義了一個融合兩個特征量的偽標準差使得零速區間和非零速區間的區分度增大,從而降低了檢測難度,使得誤判和漏判概率減小。將零速檢測轉化為一個二分類問題,并通過N-P準則給出了零速檢測的判別規則,經過多次不同速度的行走實驗數據分析,確定判斷閾值,利用這個判別規則和閾值進行零速檢測。
實驗結果表明,本文提出的檢測方法,不僅算法簡單,只需要進行一次比較,不需要隨著步速改變閾值,而且檢測精度很高,對不同行人也有很好的適應性。