郭 英,劉寒爍,葉 瑾,盛方園
(山東科技大學(xué) 測繪與空間信息學(xué)院,青島266590)
近年來,位置服務(wù)成為了人們?nèi)粘I钪斜夭豢缮俚姆?wù),全球衛(wèi)星導(dǎo)航系統(tǒng)(Global Navigation Satellite System,GNSS)在位置服務(wù)中占據(jù)著重要的位置,然而導(dǎo)航衛(wèi)星信號(hào)的可用性在室內(nèi)不能得到保證,GNSS 在室內(nèi)環(huán)境中的性能嚴(yán)重下降。因此,建立一個(gè)準(zhǔn)確、可靠、實(shí)時(shí)的室內(nèi)定位系統(tǒng),滿足公眾的室內(nèi)定位需求具有重要意義[1]。
隨著微機(jī)電技術(shù)(Micro-Electro-Mechanical Systems,MEMS)的不斷發(fā)展,慣性測量單元(Inertial Measurement Units,IMU)的體積越來越小,價(jià)格越來越便宜,并且隨著智能手機(jī)的普及和改進(jìn),IMU 被普遍應(yīng)用于智能手機(jī)中,使基于智能手機(jī)的行人導(dǎo)航定位成為室內(nèi)定位領(lǐng)域的一個(gè)重要新分支[2]。
然而普通的IMU 均存在一定程度的累積誤差影響,為了在誤差影響下提高行人航向估算精度,國內(nèi)外學(xué)者提出了一些航向修正方法:Borenstein 等人[3]提出了基于陀螺儀航向估計(jì)的啟發(fā)式漂移消除算法(Heuristic Drift Elimination,HDE),該方法利用室內(nèi)環(huán)境大多為矩形,走廊一般為直線型的特性,預(yù)先設(shè)定好四個(gè)主導(dǎo)方向,當(dāng)檢測到行人靠近主導(dǎo)方向行走時(shí),航向偏差會(huì)由HDE 算法來修正;Jimenez 等人[4]提出了改進(jìn)的啟發(fā)式漂移消除算法(improved Heuristic Drift Elimination,iHDE),該方法在HDE 算法原有的主導(dǎo)方向上再加入四個(gè),每個(gè)主導(dǎo)方向相隔45 °,相較于HDE 算法,iHDE 算法在非理想的室內(nèi)環(huán)境中的表現(xiàn)要優(yōu)于HDE 算法[5]。為了進(jìn)一步提高航向估算精度,一些基于固定式IMU 的航向修正算法被提出。Muhammad 等人[6]提出了骨盆旋轉(zhuǎn)-零速率更新旋轉(zhuǎn)檢測算法(Pelvic Rotation-ZUPT Turn Detection,PZTD),該算法基于腰部穿戴式慣性傳感設(shè)備,檢測行人是否直行和處于主導(dǎo)方向,對(duì)行人沿主導(dǎo)方向直行和未在主導(dǎo)方向直行兩種情況進(jìn)行航向修正,不僅對(duì)主導(dǎo)方向的航向修正也提高了非主導(dǎo)方向上的航向精度。王鵬宇等人[7]基于iHDE 算法,使用腰綁式慣性傳感器,對(duì)航向建立緩沖區(qū)來抑制iHED 算法在特定場景下的過度修正問題。Ju 等人[12]提出了基于足綁式 IMU 的高級(jí)啟發(fā)式漂移消除算法(Advanced Heuristic Drift Elimination,AHDE),該算法利用行人連續(xù)六步的位置數(shù)據(jù)判斷是否直線行走或者沿主導(dǎo)方向直線行走。相比iHDE 算法,AHDE 加入了非主導(dǎo)方向直行的航向修正。在實(shí)際中,手機(jī)相較于固定式IMU 更加靈活,一些基于固定式IMU 的航向修正算法在手機(jī)端難以實(shí)現(xiàn);室內(nèi)環(huán)境復(fù)雜,非主導(dǎo)方向直行的情況較多,iHDE 算法難以發(fā)揮優(yōu)勢;室內(nèi)直行的路線長短不一,AHDE 算法使用連續(xù)多步數(shù)據(jù)檢測是否直行會(huì)直接影響計(jì)算效率和修正效果。
基于此,本文首先分析基于智能手機(jī)框架的互補(bǔ)濾波航向推算原理,然后根據(jù)一秒時(shí)域內(nèi)航向變化幅度判斷行人是否直行,針對(duì)直線行走和主導(dǎo)方向下直線行走建立航向修正算法,并且對(duì)行人停頓和姿態(tài)轉(zhuǎn)換進(jìn)行識(shí)別與處理,最后實(shí)驗(yàn)驗(yàn)證該方法在常規(guī)和復(fù)雜環(huán)境中的有效性。
描述姿態(tài)常用的方法有歐拉角法、四元數(shù)法、羅德里格斯參數(shù)、方向余弦法等。四元數(shù)法相較于歐拉角法計(jì)算量大但計(jì)算精度更高[9]。而相較于羅德里格斯參數(shù)和方向余弦法,四元數(shù)法計(jì)算量小、簡單高效,并且可以全姿態(tài)求解。而且四元數(shù)法避免了產(chǎn)生的奇點(diǎn)的問題[14]。因此這里使用四元數(shù)法來描述姿態(tài),根據(jù)式(1)將初始?xì)W拉角轉(zhuǎn)換為四元數(shù)。
為了減弱陀螺儀漂移誤差,提升航向推算精度,這里使用互補(bǔ)濾波融合陀螺儀和加速度計(jì)數(shù)據(jù)[10]。即通過四元數(shù)計(jì)算得到載體坐標(biāo)系下的重力矢量其中為重力場在導(dǎo)航坐標(biāo)系下的投影,單位為m/s2,為導(dǎo)航坐標(biāo)系轉(zhuǎn)換為載體坐標(biāo)系的旋轉(zhuǎn)矩陣;加速度計(jì)數(shù)據(jù)計(jì)算得到載體本身的重力矢量;實(shí)際上,也就是陀螺儀數(shù)據(jù)在一定程度上存在偏差,將上述兩矢量叉乘得到偏差矢量e:
根據(jù)矢量偏差e及控制參數(shù)修正陀螺儀偏差:
式中,kp為比例控制參數(shù),ki為積分控制參數(shù),ω為三軸陀螺儀數(shù)據(jù)。根據(jù)二階龍格庫塔法使用修正后的陀螺儀數(shù)據(jù)更新的四元數(shù),并轉(zhuǎn)換為姿態(tài)角。
由于航向漂移誤差會(huì)隨著行走距離的增加不斷增大,且行人在走路的過程中以直線行走居多,故有必要加入一定的航向修正算法。本文利用AHDE 算法中將行人行走狀態(tài)分為非直線、直線、沿主導(dǎo)方向直線行走的思想建立航向修正算法。
AHDE算法是由Ju等人[12]提出的高級(jí)HDE算法,該算法通過判別行人行走的方式將行人行走分為三種模式,即非直線行走、直線行走和沿著主導(dǎo)方向直線行走,改進(jìn)了iHDE 算法缺少非主導(dǎo)方向直線行走時(shí)修正航向的問題[11]。在非直線行走時(shí)AHDE 算法不生效,誤差與基于足綁式慣性單元 PDR 算法框架(INS-EKF-ZUPT,IEZ)一致[8];在直線行走時(shí),將當(dāng)前行進(jìn)航向與五步前的航向作差,使用該差值作為擴(kuò)展卡爾曼濾波(Extended Kalman Filter,EKF)的測量值估計(jì)航向;在沿著主導(dǎo)方向直線行走時(shí),將當(dāng)前航向與主導(dǎo)航向的差值作為EKF 的測量值估計(jì)航向。
相比較于HDE 算法,AHDE 算法不僅能在簡單的主導(dǎo)方向上起到明顯效果,而且能在復(fù)雜的路線上起到一定作用。而AHDE 算法應(yīng)用于IEZ 框架中,在手機(jī)端不適用;AHDE 算法在判定行走狀態(tài)時(shí)用到連續(xù)六步位置數(shù)據(jù),由于步數(shù)較大,航向修正將會(huì)延遲[6];同時(shí),AHDE 算法使用五步的位置數(shù)據(jù)估算直線行走的航向也會(huì)引起不必要的誤差。而且,AHDE算法未考慮到主導(dǎo)方向偏離時(shí)過度修正問題。
考慮到手機(jī)陀螺儀自身誤差,這里以互補(bǔ)濾波推算得到的航向?yàn)檩斎胫担凑諘r(shí)域分析航向角的變化情況判斷是否直行;對(duì)直線行走的航向加入直線修正估算行人航向,而非使用第一步的航向值作為直線行走的航向;沿主導(dǎo)方向直線行走時(shí)加入直線和主導(dǎo)方向修正算法估算行人航向,將直線修正后的航向與主導(dǎo)方向的差值作為輸入量估計(jì)行人航向;對(duì)非直線行走航向加入航向抖動(dòng)檢測及消弱算法,避免手機(jī)抖動(dòng)過大引起的誤判;最后對(duì)停頓點(diǎn)和姿態(tài)轉(zhuǎn)換進(jìn)行識(shí)別與處理,提高行人在復(fù)雜室內(nèi)環(huán)境中的航向精度。
2.2.1 行走模式識(shí)別
傳統(tǒng)的AHDE 算法中,確定直線行走所需要的步數(shù)相當(dāng)大,導(dǎo)致檢測滯后,引起不必要的延遲和誤差。室內(nèi)環(huán)境下直行路線長短不一,可能軌跡的末端是非主導(dǎo)方向,或者直行步數(shù)達(dá)不到檢測所需步數(shù),這種情況下航向修正效果可能更差。為了避免這種情況,通過式(4)計(jì)算航向變化幅度,通過記錄航向和1 s 內(nèi)航向變化幅度確定是否直行。
式中,m為1 s 窗口大?。ㄔ谶@里m=50),為歷元i下的航向角,為歷元i下的航向變化幅度。一些學(xué)者分析行人在走路的過程中盆腔最大旋轉(zhuǎn)的幅度在4 °到9 °之間。在行人前進(jìn)的過程中手持的手機(jī)會(huì)隨之產(chǎn)生一定程度的抖動(dòng),如果按照最大旋轉(zhuǎn)幅度來考慮行人在行走過程中的抖動(dòng)情況,可以認(rèn)為一步的航向變化在9 °內(nèi)。
為了能更加準(zhǔn)確的判別行人的行走模式,這里通過實(shí)驗(yàn)來驗(yàn)證行人行走時(shí)的航向變化幅度。實(shí)驗(yàn)地點(diǎn)為山東科技大學(xué)J6 樓,實(shí)驗(yàn)中使用的智能手機(jī)為OPPO R9s,該智能手機(jī)的慣性傳感器為博世公司的BMI160,該傳感器的部分參數(shù)見表1。
表1 BMI 160 傳感器技術(shù)參數(shù)Tab.1 Specifications of the BMI 160
在實(shí)驗(yàn)中,我們招募了5 名志愿者覆蓋了不同的年齡身高以及性別,其中包括男性A,175 cm/70 kg/50歲;男性 B,180 cm/90 kg/29 歲;女性 C,174 cm/63 kg/26 歲;男性D,167 cm/56 kg/16 歲;女性E,163 cm/58 kg/50 歲。志愿者被要求在40 m-100 m的直線中行走,傳感器采樣頻率為50 Hz,實(shí)驗(yàn)中將手機(jī)平放在胸前,保持導(dǎo)航模式行走。為了直觀展示航向變化幅度的分布情況,該部分?jǐn)?shù)據(jù)以箱型圖的形式展示,如圖1所示,其中A1 和B1 為志愿者A 和B非勻速行走數(shù)據(jù)。在箱型圖中,中心標(biāo)記為數(shù)據(jù)中值,箱的上下端分別表示第25%和75%位的數(shù)據(jù),“+”表示異常值。
圖1 行人航向變化幅度箱型圖Fig.1 The box-plot of change of pedestrians heading
從圖1 和表2 可以看出,勻速行走下的航向變化幅度平均集中在3 °以下,即便是最大異常值仍在4 °以內(nèi);非勻速行走的數(shù)據(jù)是為了模擬直線行走過程中手機(jī)不平穩(wěn)的情況,平均最大異常值在4.5 °左右,在非勻速A1 實(shí)驗(yàn)中超出了4.5 °,雖然在實(shí)驗(yàn)處理中將非連續(xù)性超出閾值的異常數(shù)據(jù)認(rèn)作噪音去除掉,但也說明過度的航向抖動(dòng)可能會(huì)引起誤判,為減弱這一情況的影響,后續(xù)的航向修正會(huì)針對(duì)誤判情況進(jìn)行修正。根據(jù)盆腔旋轉(zhuǎn)幅度以及實(shí)際直線行走的結(jié)果可以得出合適的判斷直行的閾值DTh。
表2 行人航向變化幅度數(shù)據(jù)表(單位:(°))Tab.2 Table of pedestrian course change amplitude data(Unit:(°))
2.2.2 直線行走航向修正
傳統(tǒng)的直線航向修正是在判斷行人連續(xù)幾步的航向變化不大的情況下,將后續(xù)的幾步航向角與判斷為直線行走起的航向保持一致,直至脫離直線行走。傳統(tǒng)方法判定為直線行走時(shí)行人的航向是保持不變的(即,直到脫離直線行走),這與實(shí)際并不相符(行人直線行走時(shí)航向會(huì)小幅度波動(dòng))。為了降低直線行走過程中航向偏差,以及考慮到閾值判斷時(shí)產(chǎn)生的誤判情況,公式(5)將當(dāng)前航向與直線方向的偏差作為輸入量對(duì)直線行走模式下的航向偏差分等級(jí)修正,其修正示意圖見圖2。
圖2 直線行走下航向修正對(duì)比圖Fig.2 Comparison chart of heading correction when walking straight
其中小角度偏差被完全減弱,大角度偏差保留一定原有特性,若超出直線行走的正常航向變化范圍,結(jié)束直線修正。這樣不僅修正直線行走航向偏差而且降低誤判造成的過度修正影響。
2.2.3 主導(dǎo)方向航向修正
主導(dǎo)方向是事先建立好的方向,如圖3所示,當(dāng)行人沿著主導(dǎo)方向直線行走時(shí),航向被主導(dǎo)方向修正算法修正。
圖3 主導(dǎo)方向示意圖Fig.3 The chart of dominant direction
圖3 將主導(dǎo)方向定為8 個(gè),行人直線行走時(shí)的航向在主導(dǎo)方向附近時(shí)會(huì)被識(shí)別算法檢測,式(6)[6]為主導(dǎo)方向判別公式。
當(dāng)前航向與主導(dǎo)航向偏差量ic為:
通過以上公式進(jìn)行兩圈矩形100 m 行走測試,如圖4所示?;パa(bǔ)濾波計(jì)算得到的航向偏差會(huì)隨著時(shí)間不斷變大,圖中行走狀態(tài)為1 則行人轉(zhuǎn)彎;為0 則行人直行,可以看出行走模式能夠被正確判斷,航向偏差能夠被檢測并且被修正算法補(bǔ)償。
圖4 主導(dǎo)方向直線行走航向修正對(duì)比圖Fig.4 Heading correction comparison chart for straight walk along the dominant directions
2.2.4 航向抖動(dòng)識(shí)別與減弱
考慮到在修正航向角的過程中可能因各種影響造成航向抖動(dòng)導(dǎo)致直線行走未被正確識(shí)別,通過加權(quán)平均模型建立航向抖動(dòng)減弱公式(9),該公式使用非直線行走下連續(xù)三步的航向數(shù)據(jù)來判斷航向抖動(dòng)情況,即連續(xù)三步航向相互作差,將抖動(dòng)情況分為三類并分別修正,其修正示意圖見圖5。
圖5 航向抖動(dòng)優(yōu)化示意圖Fig.5 The chart of heading jitter optimization
行人步頻使用傳統(tǒng)的峰值檢測法計(jì)算,步幅模型為非線性模型中的Weinberg 方法[13],最后結(jié)合步長和航向信息推算行人航跡。
2.2.5 停頓點(diǎn)識(shí)別與處理
為了解決行人在行走的過程中遇到障礙物,或者因其他原因在原地停頓而產(chǎn)生位置誤差的問題,在推算行人航向的同時(shí)加入了停頓點(diǎn)檢測。
由于行人在某一位置停頓時(shí)加速度計(jì)數(shù)據(jù)趨于穩(wěn)定,因此選擇建立加速度數(shù)據(jù)方差識(shí)別行人的停頓位置。
圖6(a)展示了手機(jī)在平放狀態(tài)下行人停頓和行走時(shí)的加速度計(jì)數(shù)據(jù),停頓狀態(tài)下明顯穩(wěn)定于行走狀態(tài),從圖6(b)可以看出根據(jù)其3 軸加速度計(jì)計(jì)算的窗口方差,在停頓區(qū)域的方差值十分穩(wěn)定,相互配合可以比較準(zhǔn)確地確定出停頓點(diǎn)的位置。
圖6 停頓檢測示意圖Fig.6 The chart of pause detection
為此通過研究建立了行人停頓時(shí)的檢測識(shí)別方法,如下式:
由于舍去停頓區(qū)間分段建立行走路線,需要匹配停頓區(qū)間前后的航向,選取停頓前短時(shí)間內(nèi)未發(fā)生大幅度變化的四元數(shù)的均值,使用該四元數(shù)來推算下一段路線的行人航向。
2.2.6 手機(jī)姿態(tài)轉(zhuǎn)換識(shí)別與處理
圖7 不同手機(jī)位置下加速度數(shù)據(jù)對(duì)比圖Fig.7 The chart of acceleration data in different mobile phone position
手機(jī)平放查閱及打電話模式之間的轉(zhuǎn)換為手機(jī)導(dǎo)航常見的姿態(tài)轉(zhuǎn)換,所以這里主要研究行人在行走的過程中手機(jī)的手持姿態(tài)和打電話姿態(tài)轉(zhuǎn)換的情況。
由于手機(jī)的平放姿態(tài)和打電話狀態(tài)時(shí)的傾斜角度完全不同,因此三軸加速度計(jì)的大小就會(huì)根據(jù)姿態(tài)轉(zhuǎn)換發(fā)生變化,如圖7所示,接打電話狀態(tài)和手持平放狀態(tài)下的加速度計(jì)數(shù)據(jù)有著顯著的區(qū)別,根據(jù)這種變化判斷是否在打電話。
在姿態(tài)轉(zhuǎn)換過程結(jié)束以后的三軸加速度計(jì)和陀螺儀數(shù)據(jù)難以計(jì)算真實(shí)的行走航向和步長,為了得到真實(shí)的航向數(shù)據(jù)和步長數(shù)據(jù),采用旋轉(zhuǎn)矩陣的方法進(jìn)行數(shù)據(jù)轉(zhuǎn)換,將加速度計(jì)數(shù)據(jù)和陀螺儀數(shù)據(jù)恢復(fù)到手機(jī)平放狀態(tài)下。公式如下:
式中,φ為在轉(zhuǎn)化到打電話前一時(shí)刻的手機(jī)航向,ψ和β是在打電話狀態(tài)下的手機(jī)俯仰角和橫滾角,建立得到的即為在行人打電話狀態(tài)下相對(duì)于手機(jī)平放狀態(tài)的旋轉(zhuǎn)矩陣,'g為修正后的三軸陀螺儀數(shù)據(jù),g為原始三軸陀螺儀數(shù)據(jù)。通過旋轉(zhuǎn)矩陣將打電話狀態(tài)下的加速度計(jì)和陀螺儀數(shù)據(jù)轉(zhuǎn)換到手機(jī)導(dǎo)航坐標(biāo)系下,進(jìn)而推算真實(shí)行人航向。
為了驗(yàn)證本文提出算法的有效性與可靠性,針對(duì)不同的行走情況采集了多種路線下的數(shù)據(jù)進(jìn)行對(duì)比,其中包括了常規(guī)性路線,以及針對(duì)特定情況的復(fù)雜性實(shí)驗(yàn),對(duì)實(shí)驗(yàn)數(shù)據(jù)分別使用改進(jìn)的航向修正算法以及互補(bǔ)濾波算法。使用閉合差、點(diǎn)位誤差、航向誤差綜合比較實(shí)驗(yàn)的精度,最后對(duì)各組實(shí)驗(yàn)路線全長相對(duì)閉合差進(jìn)行比較。
常規(guī)性實(shí)驗(yàn)包括96 m 矩形行走路線實(shí)驗(yàn)和主導(dǎo)方向偏離實(shí)驗(yàn),實(shí)驗(yàn)過程中均保持手機(jī)平放在胸前,該部分實(shí)驗(yàn)可以直觀地反映出航向修正算法在主導(dǎo)方向直線行走時(shí)的航向糾正能力,以及偏離主導(dǎo)方向時(shí)的避免修正過度能力。
在矩形行走路線中,行人在主導(dǎo)方向直線行走,通過改進(jìn)的航向修正算法修正后的航向以及路線都有著明顯的精度提升,如圖8所示。航向修正后的平均航向誤差為0.1 °,相較于PDR 互補(bǔ)濾波算法航向精度提高97%,其相對(duì)閉合差為0.1%,精度提升94%(見表3 和表5)。
主導(dǎo)方向偏離誤差測試實(shí)驗(yàn)旨在檢測主導(dǎo)方向修正算法是否會(huì)過度修正主導(dǎo)方向邊緣的航向。實(shí)驗(yàn)路線為先直線行走,經(jīng)過兩個(gè)90 °轉(zhuǎn)彎,然后轉(zhuǎn)向靠近主導(dǎo)方向的方向直行回到原點(diǎn)。由于前半段沿著主導(dǎo)方向行走,航向偏差能夠被正確補(bǔ)償,后半段沿著主導(dǎo)方向邊緣行走,航向修正算法被干擾,如圖9所示,但航向修正算法精度仍優(yōu)于PDR 互補(bǔ)濾波算法。其中航向修正算法的平均航向誤差為0.7 °,相對(duì)閉合差為0.2%D,精度提升71%(見表3 和表5)。
圖9 主導(dǎo)方向偏離實(shí)驗(yàn)對(duì)比圖Fig.9 The comparison chart of dominant direction deviation experiment
表3 航向誤差對(duì)比表Tab.3 The comparison table of heading error
停頓實(shí)驗(yàn)包含三角形行走實(shí)驗(yàn),以及含有曲線的矩形行走實(shí)驗(yàn),實(shí)驗(yàn)過程中手機(jī)平放于胸前,兩個(gè)實(shí)驗(yàn)中均包含了停頓點(diǎn)。
在三角形行走實(shí)驗(yàn)中,無論是否沿主導(dǎo)方向直行均能發(fā)揮出航向修正算法的優(yōu)勢,如圖10(a)所示,并且點(diǎn)位精度優(yōu)于互補(bǔ)濾波算法,如圖10(b)所示。航向修正算法的平均點(diǎn)位誤差為0.1 m,精度提升77%;相對(duì)閉合差為0.7%D,較與未修正航向路線精度提升71%(見表4 和表5)。
帶有曲線的停頓實(shí)驗(yàn)中包含了直線和曲線行走,體現(xiàn)航向修正算法在含有曲線行走的路線中同樣有效,避免因識(shí)別錯(cuò)誤或者過度修正而導(dǎo)致嚴(yán)重誤差。實(shí)驗(yàn)中PDR 互補(bǔ)濾波算法的路線產(chǎn)生了偏移,如圖11(a)所示。航向修正后的路線平均點(diǎn)位誤差為0.03 m,精度提升95%;相對(duì)閉合差為0.7%D,精度提升22%(見表4 和表5)。
未加入停頓識(shí)別處理算法的路線均在停頓后出現(xiàn)較大的位置偏差,其中三角形路線閉合差為4.39 m,帶有圓形路線閉合差為1.95 m。
圖10 帶有停頓點(diǎn)的三角形路線對(duì)比分析圖Fig.10 The comparison chart of triangular route with paused point
圖11 帶有停頓點(diǎn)和曲線路線的實(shí)驗(yàn)路線對(duì)比分析圖Fig.11 The comparison chart of experiment route with paused point and curve route
表4 點(diǎn)位誤差對(duì)比表Tab.4 The comparison table of point error
該部分實(shí)驗(yàn)包含了姿態(tài)轉(zhuǎn)換和停頓檢測的內(nèi)容,路線為多個(gè)轉(zhuǎn)彎的行走路線,整個(gè)過程先從手持平放狀態(tài)轉(zhuǎn)換為打電話狀態(tài),中途停頓三次,再轉(zhuǎn)換為手持平放狀態(tài)直到終點(diǎn),路線對(duì)比圖如圖12所示。
未加入停頓識(shí)別算法和姿態(tài)轉(zhuǎn)換算法的解算路線出現(xiàn)了嚴(yán)重的誤差;由于路線較短、手機(jī)抖動(dòng)較小等原因PDR 互補(bǔ)濾波算法也起到了良好的修正作用,但仍然有一定程度的航偏。經(jīng)過航向修正的路線相對(duì)閉合差為0.7%D,相較于PDR 互補(bǔ)濾波算法提升了60%。姿態(tài)轉(zhuǎn)換實(shí)驗(yàn)中未處理停頓點(diǎn)的路線閉合差為5.9 m,未處理姿態(tài)轉(zhuǎn)換和停頓點(diǎn)的路線閉合差為21.7 m。
為了更直觀地比較航向修正算法對(duì)位置精度的影響,表5 對(duì)比了上述實(shí)驗(yàn)各種路線的閉合差以及路線 全長相對(duì)閉合差。兩種算法均加入姿態(tài)轉(zhuǎn)換處理與停頓處理,因而不包含停頓識(shí)別和姿態(tài)轉(zhuǎn)換帶來的誤差。
圖12 帶有姿態(tài)轉(zhuǎn)換和停頓點(diǎn)的實(shí)驗(yàn)路線對(duì)比圖Fig.12 The comparison chart of experiment route with attitude change and paused point
表5 各實(shí)驗(yàn)位置精度分析表Tab.5 Position accuracy analysis table for each experiment
本文分析當(dāng)前航向修正算法HDE、iHDE 以及AHDE 的特點(diǎn)和優(yōu)勢,在此基礎(chǔ)上建立改進(jìn)的航向修正算法,針對(duì)航向漂移、航向抖動(dòng)、行人停頓和姿態(tài)轉(zhuǎn)換引起的誤差,分別建立識(shí)別和修正模型。結(jié)合多種行走路線以及行人行走狀態(tài)實(shí)驗(yàn),結(jié)果表明:
(1)互補(bǔ)濾波算法在短距離內(nèi)能夠起到一定的效果,但其航向誤差會(huì)隨著距離的增加不斷增加,而航向修正算法能夠一定程度消除陀螺儀漂移偏差,在本文實(shí)驗(yàn)中,不同的環(huán)境中的航向修正后路線相對(duì)閉合差范圍為0.1%~0.7%,相較于互補(bǔ)濾波算法精度提升范圍為22%~94%,平均提升68%。
(2)停頓識(shí)別與消除算法能夠有效處理行人停頓問題,本文的實(shí)驗(yàn)中加入該算法的行人停頓行走路線閉合差精度提高范圍為80%~96%。
(3)綜合路線包含了航向修正、停頓識(shí)別及處理和姿態(tài)轉(zhuǎn)換內(nèi)容,本文綜合路線閉合差精度提高范圍為50%~98%。實(shí)驗(yàn)表明本文研究內(nèi)容在三種方法相互配合的復(fù)雜行走狀態(tài)路線下保持良好的精度和穩(wěn)定性。
本文研究的算法在主導(dǎo)方向邊緣時(shí)修正能力會(huì)受到影響,航向修正算法的優(yōu)勢受到限制,接下來的研究會(huì)考慮改進(jìn)主導(dǎo)方向邊緣修正精度以及加入磁力計(jì)來提升定位精度。