牛小驥, 丁龍陽, 曠 儉, 吳宜斌
(1. 武漢大學(xué) 衛(wèi)星導(dǎo)航定位技術(shù)研究中心,武漢 430079;2. 武漢大學(xué) 測繪學(xué)院,武漢 430079)
共享單車作為一種新型綠色環(huán)保的出行工具,近些年已經(jīng)深入到人們的日常生活中。高精度高可靠性的單車定位系統(tǒng)對(duì)于提升用戶體驗(yàn),減少運(yùn)營成本至關(guān)重要。目前共享單車所依靠的主流定位手段是全球衛(wèi)星導(dǎo)航系統(tǒng)(Global Navigation Satellite System, GNSS),但是GNSS 在城市峽谷、隧道等場景中,因?yàn)樾盘?hào)遮擋和多路徑等因素的影響,定位精度會(huì)迅速下降甚至完全失效。因此亟需一種價(jià)格低廉、連續(xù)可靠、易于推廣的單車定位方案用于彌補(bǔ)當(dāng)前GNSS 定位的不足。
微機(jī)電系統(tǒng)(Micro-Electro-Mechanical System, MEMS)慣性測量單元(Inertial Measurement Unit, IMU)因?yàn)槌叽缧∏?、成本低廉且不受外界環(huán)境干擾,被廣泛應(yīng)用在各種要求連續(xù)可靠的定位場景中。但是基于MEMS IMU 的慣性導(dǎo)航系統(tǒng)(Inertial Navigation System, INS)因?yàn)閭鞲衅髟肼暫土闫`差等影響,定位誤差會(huì)隨著時(shí)間迅速積累[1],很快就超出共享單車定位誤差的容許范圍,因此需要尋求輔助信息來抑制其誤差發(fā)散。
對(duì)于地面輪式載體,里程計(jì)(Odometer, ODO)是一類重要的輔助傳感器[2]。車載導(dǎo)航中常采用里程計(jì)提供的速度或距離信息與INS 組合(ODO/INS)作為GNSS 定位的補(bǔ)充,在GNSS 失效的環(huán)境下提供穩(wěn)定連續(xù)的定位結(jié)果[3-5]。但ODO/INS 組合方案需要增加額外的車輪編碼器,增加了成本和系統(tǒng)復(fù)雜度,無法滿足目前共享單車定位系統(tǒng)對(duì)于低成本以及可推廣性的迫切需求。
地面輪式載體一般滿足非完整性約束(Non-Holonomic Constraints, NHC),即在不打滑、不騰空的情況下,載體橫向和垂向的速度為零[2]。該運(yùn)動(dòng)約束作為地面輪式載體的固有特性,也常用作輔助信息抑制INS 誤差的累積[6]。文獻(xiàn)[7]將NHC 和里程計(jì)結(jié)合使用用于車載導(dǎo)航,有效抑制了INS 誤差的發(fā)散,提高了系統(tǒng)穩(wěn)定性。文獻(xiàn)[8][9]將IMU 安裝在車輪中心與車輪一起旋轉(zhuǎn),通過陀螺測量值與車輪半徑得到載體運(yùn)動(dòng)速度,并結(jié)合NHC 構(gòu)造三維速度信息。
上述有關(guān)非完整性約束用于導(dǎo)航定位的研究主要集中在車載導(dǎo)航或輪式機(jī)器人導(dǎo)航,用于自行車這類兩輪載體的較少,主要是顧慮于騎行過程中的左右晃動(dòng)對(duì)NHC 的破壞。文獻(xiàn)[10]基于騎行者的運(yùn)動(dòng)模型設(shè)計(jì)了一套用在騎行者所攜帶設(shè)備上的航位推算(Cycling Dead Reckoning, CDR)算法,但也無法解決目前共享單車定位存在的問題。針對(duì)上述問題,本文設(shè)計(jì)并實(shí)現(xiàn)了一套融合INS 和非完整性約束的單車定位算法(NHC/INS),并著重探討了安裝角誤差和桿臂補(bǔ)償對(duì)NHC 使用效果的影響。
圖1 展示了本文設(shè)計(jì)的共享單車定位算法流程:首先通過慣導(dǎo)機(jī)械編排獲得IMU 的位置、速度和姿態(tài)。然后將GNSS 解算位置、INS 推算結(jié)果以及NHC約束信息通過擴(kuò)展卡爾曼濾波(Extended Kalman Filter, EKF)進(jìn)行數(shù)據(jù)融合得到修正后的載體位姿。在GNSS 信號(hào)中斷時(shí),僅利用NHC 修正INS 誤差(即NHC/INS 方案)。
圖1 單車定位算法框架Fig.1 Architecture of the proposed bicycle positioning algorithm
本文算法涉及到的坐標(biāo)系包括導(dǎo)航坐標(biāo)系(n系),IMU 坐標(biāo)系(b 系)和載體坐標(biāo)系(v 系)。具體地,本文采用北-東-地(NED)軸線定義的當(dāng)?shù)厮阶鴺?biāo)系作為導(dǎo)航坐標(biāo)系,其原點(diǎn)選在載體上的某一參考點(diǎn),其z 軸與該點(diǎn)大地參考橢球的法線重合并指向地心,x 軸與子午線重合并指向北極,三軸構(gòu)成右手坐標(biāo)系。IMU 坐標(biāo)系的原點(diǎn)位于IMU 的測量中心,各個(gè)坐標(biāo)軸分別平行于IMU 的三個(gè)敏感軸,構(gòu)成右手坐標(biāo)系。載體坐標(biāo)系的坐標(biāo)原點(diǎn)選在自行車后輪與地面的接觸點(diǎn),x 軸沿后輪前進(jìn)方向,y 軸垂直后輪平面指向載體右側(cè),z 軸垂直向下,與x、y 軸共同構(gòu)成右手坐標(biāo)系(如圖2 所示)。
圖2 IMU 安裝方式與相關(guān)坐標(biāo)系定義Fig.2 Installation scheme of the MEMS IMU and the definitions of the vehicle frame(v), IMU body frame(b) and navigation frame(n)
本文將IMU 安裝在自行車后座上。慣導(dǎo)機(jī)械編排推算得到IMU 自己的導(dǎo)航狀態(tài),而NHC 約束的是載體坐標(biāo)系下的載體速度,因此融合NHC 和INS 需要已知兩個(gè)坐標(biāo)系(IMU 坐標(biāo)系和載體坐標(biāo)系)之間的相對(duì)關(guān)系。而在實(shí)際系統(tǒng)中,不可避免地會(huì)存在安裝誤差,包括安裝角和桿臂。安裝角指的是IMU 坐標(biāo)系(b 系)與載體坐標(biāo)系(v 系)因軸系不平行所引起的差異;桿臂在這里指的是IMU 測量中心與載體速度投影中心之間的相對(duì)位置關(guān)系。值得注意的是,自行車不同于四輪載體,在騎行過程中為保持平衡而難免發(fā)生左右晃動(dòng),因此NHC 在自行車車身處并不嚴(yán)格成立,但在車輪觸地點(diǎn)卻是成立的。因此本文選擇后車輪觸地點(diǎn)作為載體速度投影中心來融合NHC 和INS,并定義桿臂為IMU 測量中心到后車輪觸地點(diǎn)的向量。IMU 安裝位置以及安裝角和觸地點(diǎn)桿臂的定義如圖2所示。
帶有輔助信息的慣性導(dǎo)航常采用誤差狀態(tài)卡爾曼濾波(間接卡爾曼濾波)進(jìn)行組合導(dǎo)航解算,以解決系統(tǒng)的非線性問題[11]。本算法采用21 維誤差狀態(tài)向量,包括導(dǎo)航狀態(tài)向量與IMU 誤差向量,即:
陀螺和加速度計(jì)零偏以及比例因子均建模為一階高斯-馬爾可夫過程[2]:
其中 Tgb、 Tab、 Tgs、 Tas分別為陀螺零偏、加速度計(jì)零偏、陀螺比例因子以及加速度計(jì)比例因子的相關(guān)時(shí)間,wgb、wab、wgs、was為對(duì)應(yīng)的驅(qū)動(dòng)白噪聲。
對(duì)于一般輪式載體,如汽車或者輪式機(jī)器人,當(dāng)其正常行駛時(shí)(不發(fā)生側(cè)滑和跳躍)只有沿前進(jìn)方向的速度,側(cè)向和垂向速度為零,這一基本假設(shè)被稱為非完整性約束(NHC)。但不同于汽車或輪式機(jī)器人,自行車騎行過程中為了保持平衡而不得不發(fā)生或大或小的左右晃動(dòng),因此NHC 在自行車車身處并不總是成立。但對(duì)于車輪著地點(diǎn)而言,只要車輪不發(fā)生側(cè)滑或垂向跳躍,該點(diǎn)處的非完整性約束是嚴(yán)格成立的。因此本文將IMU 測量中心的速度通過安裝角和桿臂投影到后輪著地點(diǎn)處,利用其側(cè)向和垂向速度為零進(jìn)行約束。在載體坐標(biāo)系下,當(dāng)非完整性約束成立時(shí),速度觀測向量可以表示為:
vv表示載體沿前進(jìn)方向的速度; ev表示觀測噪聲,其方差參數(shù)可以根據(jù)載體的運(yùn)動(dòng)狀態(tài)初步給定,并通過殘差進(jìn)行調(diào)整。由IMU 推算得到的速度投影到自行車后輪觸地點(diǎn)可以表示為:
本算法只對(duì)側(cè)向速度和垂向速度進(jìn)行約束,因此上述觀測方程只取側(cè)向與垂向分量。
為驗(yàn)證本文所設(shè)計(jì)的NHC/INS 組合導(dǎo)航算法的定位精度,并與傳統(tǒng)INS 方案進(jìn)行對(duì)比,本文在開闊的馬路上進(jìn)行了實(shí)測驗(yàn)證。實(shí)驗(yàn)設(shè)備及安裝情況如圖3 所示。本文采用了武漢大學(xué)衛(wèi)星導(dǎo)航定位技術(shù)研究中心自主研發(fā)的GNSS/INS 組合導(dǎo)航模塊INS-Probe,并安裝了HX-CSX601A 測量型天線用于收集GNSS數(shù)據(jù)。INS-Probe內(nèi)置的MEMS IMU型號(hào)為InvenSense公司的ICM20602,主要技術(shù)參數(shù)如表1 所示。INS-Probe 被安裝在車輪后座并使其盡可能與車輪平行。車輪觸地點(diǎn)桿臂通過卷尺多次測量取平均值得到,安裝角采用文獻(xiàn)[12]提出的方法估計(jì)得到。實(shí)驗(yàn)數(shù)據(jù)的處理方式均為實(shí)時(shí)采集模式下的事后處理。
表1 被測MEMS IMU(ICM20602)技術(shù)參數(shù)Tab.1 Technical parameters of the MEMS IMU (ICM20602) used in the tests
圖3 實(shí)驗(yàn)數(shù)據(jù)采集設(shè)備Fig.3 Experimental platform.
為比較不同騎行動(dòng)態(tài)下安裝角誤差和桿臂補(bǔ)償給NHC/INS 定位性能帶來的影響,本文進(jìn)行了兩組實(shí)驗(yàn)。一組實(shí)驗(yàn)為正常騎行,自行車左右晃動(dòng)幅度較小;另一組實(shí)驗(yàn)為“S 形”騎行,自行車左右晃動(dòng)幅度較大。兩組實(shí)驗(yàn)的自行車傾角變化如圖4 所示。實(shí)驗(yàn)1 自行車平均速度為2.2 m/s,實(shí)驗(yàn)2 自行車平均速度為2.9 m/s,兩組實(shí)驗(yàn)騎行時(shí)間均在30 min 左右。
圖4 自行車傾角變化Fig.4 Lean angle of the bicycle in the two tests
本文實(shí)驗(yàn)的位置參考真值采用事后動(dòng)態(tài)差分(Post Processed Kinematic, PPK)與INS 松組合的結(jié)果,其中PPK 全部為固定解,參考真值精度可達(dá)厘米級(jí)。為了評(píng)估本文設(shè)計(jì)的NHC/INS 共享單車定位算法的性能,本文采用模擬GNSS 中斷的方式進(jìn)行實(shí)驗(yàn)分析。通過融合GNSS 定位信息,在MEMS IMU 誤差充分收斂后,周期性地模擬GNSS 數(shù)據(jù)中斷60 s,每次中斷之間恢復(fù)GNSS 數(shù)據(jù)60 s 使慣導(dǎo)誤差重新收斂。每組實(shí)驗(yàn)共中斷10 次,并統(tǒng)計(jì)每次中斷定位誤差最大值的RMS 值作為統(tǒng)計(jì)結(jié)果。對(duì)比實(shí)驗(yàn)結(jié)果分析具體分為以下三個(gè)方面:
1) 對(duì)比純慣導(dǎo)推算與加入NHC 后的位置誤差漂移;
2) 對(duì)比不同騎行動(dòng)態(tài)下安裝角誤差對(duì)本文NHC/INS 算法性能的影響;
3) 對(duì)比不同騎行動(dòng)態(tài)下桿臂補(bǔ)償對(duì)本文NHC/INS算法性能的影響。
圖5 為實(shí)驗(yàn)1(正常騎行)在10 次模擬中斷GNSS信號(hào)60 s 條件下得到的兩種方案的定位軌跡對(duì)比圖。統(tǒng)計(jì)正常騎行時(shí)(實(shí)驗(yàn)1)每次中斷誤差漂移最大值的RMS 值作為位置誤差,結(jié)果如表2 所示。此時(shí)對(duì)IMU 安裝角誤差和桿臂都進(jìn)行了補(bǔ)償。
表2 正常騎行時(shí)GNSS 中斷60 s 位置誤差統(tǒng)計(jì)(RMS 值)Tab.2 Position error statistics (RMS) during 60 s GNSS outages in test 1
圖5 模擬10 次GNSS 中斷60s 條件下定位軌跡對(duì)比。其中紅色表示參考真值軌跡,藍(lán)色表示INS 方案推算軌跡,綠色表示本文NHC/INS 方案推算軌跡。Fig.5 Estimated trajectories of different schemes in the 10 sets of 60s GNSS outage experiments. The red represents the ground truth; the blue represents the trajectory estimated by INS; the green represents the trajectory estimated by the NHC/INS scheme proposed in this paper
結(jié)果顯示,純慣導(dǎo)推算在GNSS 中斷條件下,由于沒有任何的約束信息,誤差發(fā)散很快,在1 min 后其水平方向和垂直方向的位置漂移分別達(dá)到了20 m和4 m 左右。當(dāng)正確加入NHC 約束修正后,三個(gè)方向的定位精度分別提升了91%、95%和83%。此外,在NHC/INS 方案中,北向位置誤差發(fā)散相較于東向和垂向更大,這是因?yàn)镹HC 無法對(duì)前向速度進(jìn)行約束,而本文實(shí)驗(yàn)軌跡的主要前進(jìn)方向?yàn)槟媳狈较颉?/p>
為進(jìn)一步評(píng)估NHC/INS 方案在極端情況下的定位性能,對(duì)實(shí)驗(yàn)1(正常騎行)模擬5 次GNSS 中斷5 min 的場景,每次中斷相互獨(dú)立,統(tǒng)計(jì)5 次中斷下誤差漂移最大值的RMS 值,繪制誤差漂移曲線如圖6(b)所示。圖6(a)為純INS 方案對(duì)應(yīng)的位置誤差漂移曲線。
圖6 位置誤差漂移曲線Fig.6 Position drift errors of the two navigation schemes.
根據(jù)圖6 可以看到在中斷GNSS 信號(hào)5 min 的苛刻條件下,INS 方案的水平位置誤差統(tǒng)計(jì)值會(huì)達(dá)到千米量級(jí);而當(dāng)正確加入NHC 后,北向和東向定位誤差統(tǒng)計(jì)值只有4.0 m 和2.5 m。此外,NHC/INS 方案的誤差曲線中北向和東向誤差并不是一直發(fā)散,而是發(fā)散與持平相間出現(xiàn)。這是因?yàn)楸疚膶?shí)驗(yàn)軌跡中存在周期性的掉頭,而慣導(dǎo)位置誤差的一些影響因素(如航向誤差)是與此相關(guān)的,這樣會(huì)導(dǎo)致水平方向的誤差漂移方向被逆轉(zhuǎn),誤差不再沿一個(gè)方向持續(xù)累積。同時(shí),曲線統(tǒng)計(jì)的是GNSS 中斷期間誤差漂移最大值的RMS 值,故會(huì)出現(xiàn)一段局部持平的狀態(tài)。此外,由于高程方向的這種軌跡方向變化帶來誤差漂移方向明顯逆轉(zhuǎn)的作用不強(qiáng),故而呈現(xiàn)出持續(xù)發(fā)散的趨勢。
在實(shí)際GNSS 信號(hào)遮擋嚴(yán)重的環(huán)境中,只依賴MEMS IMU推算所帶來的幾百米甚至超過1公里的定位誤差對(duì)于共享單車的管理而言顯然是難以接受的。而當(dāng)正確加入NHC 后(即有效補(bǔ)償IMU 安裝角和桿臂影響后),不需要增加任何額外的硬件成本便可以保證較高的定位精度,從而為共享單車在復(fù)雜場景下的定位難題提供了一套可行的解決方案。下文通過實(shí)驗(yàn)數(shù)據(jù)的對(duì)比處理來探討在不同騎行動(dòng)態(tài)下IMU 安裝角誤差與桿臂補(bǔ)償對(duì)NHC 修正效果的影響。
本文實(shí)驗(yàn)采用文獻(xiàn)[12]提出的方法估計(jì)得到的航向安裝角為-0.649 °,俯仰安裝角為-1.449 °(橫滾安裝角不可估,對(duì)于NHC 也不需要)。表3 展示了兩組實(shí)驗(yàn)中,補(bǔ)償與不補(bǔ)償安裝角的條件下NHC/INS 定位算法在模擬中斷GNSS 信號(hào)60 s 條件下的位置漂移誤差的統(tǒng)計(jì)結(jié)果。圖7(a)-(d)為兩組實(shí)驗(yàn)在補(bǔ)償安裝角前后,車輪觸地點(diǎn)在載體坐標(biāo)系下的速度投影圖。
表3 IMU 安裝角補(bǔ)償對(duì)自行車NHC/INS 定位性能影響Tab.3 Effect of mounting angles compensation on the performance of NHC/INS
結(jié)果顯示兩組實(shí)驗(yàn)在補(bǔ)償安裝角前后其平面方向的位置精度差異不大,這是因?yàn)樵诎惭b角中影響水平位置精度的主要是航向軸,而本實(shí)驗(yàn)中航向安裝角較小(-0.649°),所以從統(tǒng)計(jì)結(jié)果來看,補(bǔ)償安裝角前后對(duì)水平方向的定位精度影響不大,補(bǔ)償前后在同一個(gè)數(shù)量級(jí)。但是,經(jīng)安裝角補(bǔ)償后,高程方向精度提升明顯,其中實(shí)驗(yàn)1 的垂向誤差從3.92 m 減小至0.73 m,實(shí)驗(yàn)2 的垂向誤差從5.07 m 減小至0.81 m。這是因?yàn)樵趯MU 速度從b 系投影到v 系的過程中,俯仰安裝角主要影響的是垂直方向的速度。如圖7 所示,補(bǔ)償安裝角之后,兩組實(shí)驗(yàn)在載體坐標(biāo)系(v 系)中的垂向速度投影均明顯減小,更嚴(yán)格地符合NHC 約束。
圖7 安裝角補(bǔ)償前后的速度投影Fig.7 Vehicle velocity in the vehicle frame before and after mounting angles compensation
具體可解釋為,在只考慮俯仰安裝角時(shí),從b 系轉(zhuǎn)換到v 系的方向余弦矩陣Cvb可以表示為:
由于只有前向速度 vx較大,故俯仰安裝角對(duì)補(bǔ)償前后的垂向速度影響更大。
本文實(shí)驗(yàn)對(duì)IMU 桿臂進(jìn)行多次測量得到的平均值為(-0.053 m,0.001 m,0.730 m)。表4 展示了兩組實(shí)驗(yàn)(正常騎行和“S”形騎行)中,補(bǔ)償與不補(bǔ)償桿臂的條件下NHC/INS 定位算法在中斷GNSS 信號(hào)60s條件下的位置誤差統(tǒng)計(jì)結(jié)果。圖8(c)與圖8(d)分別為兩組實(shí)驗(yàn)在不進(jìn)行桿臂補(bǔ)償時(shí),車輪觸地點(diǎn)在載體坐標(biāo)系下的速度投影。
表4 桿臂補(bǔ)償對(duì)自行車NHC 性能的影響Tab.4 Effect of lever-arm compensation on the performance of NHC/INS
從表格數(shù)據(jù)可以看出,補(bǔ)償桿臂前后垂向誤差變化不大;東向位置精度在補(bǔ)償桿臂后提升較大;而北向位置精度提升非常顯著。同時(shí)從結(jié)果可以看出,桿臂補(bǔ)償對(duì)于實(shí)驗(yàn)2 的影響要明顯大于實(shí)驗(yàn)1。這是因?yàn)椴贿M(jìn)行桿臂補(bǔ)償時(shí),NHC 約束的是車輪后座IMU處的速度,而實(shí)驗(yàn)2 自行車的左右晃動(dòng)幅度更大,此時(shí)桿臂對(duì)速度投影的精度和穩(wěn)定性影響更大(如圖8(d))。從圖8(c)-(d)中可以看到,實(shí)驗(yàn)2 不補(bǔ)償桿臂時(shí),側(cè)向速度投影明顯增大。因此這種情況(自行車動(dòng)態(tài)較大)下,桿臂補(bǔ)償帶來的性能提升更為明顯。
圖8 桿臂補(bǔ)償前后的速度投影Fig.8 Vehicle velocity in the vehicle frame before and after lever-arm compensation
此外,從統(tǒng)計(jì)結(jié)果來看,南北方向作為自行車軌跡的主要前進(jìn)方向,其受桿臂補(bǔ)償?shù)挠绊懸黠@大于東向和垂向,這與文獻(xiàn)[13]的實(shí)驗(yàn)結(jié)果是一致的。這是因?yàn)楫?dāng)不進(jìn)行桿臂補(bǔ)償?shù)臅r(shí)候,NHC 約束的是自行車后座的速度,該處的垂向和側(cè)向速度實(shí)際上并不為零,然而NHC 卻以較高的置信度認(rèn)為該點(diǎn)垂向和側(cè)向速度為零,那么算法就會(huì)將這一矛盾不恰當(dāng)?shù)貧w咎到前向上,從而造成前向位置誤差增大,在本文實(shí)驗(yàn)中則主要表現(xiàn)為南北方向的位置誤差。
本文針對(duì)當(dāng)前共享單車在城市復(fù)雜場景下難以實(shí)現(xiàn)連續(xù)精準(zhǔn)定位的問題,設(shè)計(jì)并實(shí)現(xiàn)了一套基于MEMS IMU 與車輪觸地點(diǎn)非完整性約束(NHC)的定位算法。相比于傳統(tǒng)純慣導(dǎo)推算(INS 方案),本文所設(shè)計(jì)的NHC/INS 融合定位方案在GNSS 中斷60s 條件下,“北-東-地”三個(gè)方向的定位精度分別提升了91%、95%和83%。在模擬GNSS 中斷5 min 的極端情況下,NHC/INS 方案在“北-東-地”三個(gè)方向的定位誤差最大值的RMS 統(tǒng)計(jì)值也僅為4.0 m、2.5 m 和4.0 m,可以滿足共享單車日常管理對(duì)定位精度的需求。此外,本文還重點(diǎn)探討了IMU 安裝角誤差與桿臂補(bǔ)償對(duì)自行車NHC 修正性能的影響。定量對(duì)比結(jié)果表明,忽略安裝角或桿臂補(bǔ)償都會(huì)嚴(yán)重影響NHC 約束作用的發(fā)揮,顯著降低定位精度。
本算法未對(duì)自行車前向速度進(jìn)行約束,因此后續(xù)可以考慮以下研究方向:一是根據(jù)自行車本身的平衡特性構(gòu)建約束信息,進(jìn)一步抑制前向定位誤差的發(fā)散;二是考慮將IMU 安裝在車輪上與之一同旋轉(zhuǎn),起到里程計(jì)的作用,從而約束前向速度誤差,進(jìn)一步提高定位精度和可靠性。
中國慣性技術(shù)學(xué)報(bào)2021年3期