,,,,
(重慶郵電大學(xué) 光電信息感測與傳輸技術(shù)重慶市重點(diǎn)實(shí)驗(yàn)室,重慶 400065)
行人自主導(dǎo)航系統(tǒng)是指能夠?qū)崟r(shí)地提供行人前進(jìn)方向、當(dāng)前位置以及速度參數(shù)的系統(tǒng)[1],硬件平臺(tái)集成了三軸加速度計(jì)、三軸磁力計(jì)和三軸陀螺儀等傳感器。其中磁力計(jì)在行人自主導(dǎo)航系統(tǒng)中用于提供絕對(duì)航行信息[2],而航向的精度直接決定著系統(tǒng)定位的精度。在實(shí)際應(yīng)用中,傳感器的固定偏差和隨機(jī)誤差將嚴(yán)重影響數(shù)據(jù)融合的精度[3],因此對(duì)傳感器數(shù)據(jù)進(jìn)行濾波、誤差校準(zhǔn)、標(biāo)定等操作是十分重要的。
傳統(tǒng)的校準(zhǔn)方法存在計(jì)算量大、操作復(fù)雜、不易實(shí)現(xiàn)等缺陷[4]。例如梁益豐使用總體八位置法對(duì)磁力計(jì)進(jìn)行確定性誤差參數(shù)標(biāo)定,補(bǔ)償精度較高,但需要給出正確的參考方向才能進(jìn)行校準(zhǔn),不適用于實(shí)際使用[5];Fang J. 基于約束最小二乘法的橢球擬合的磁羅盤校準(zhǔn),但只能在沒有磁干擾下使用[6];Bonnet S. 通過采集傳感器數(shù)據(jù)進(jìn)行標(biāo)定,利用橢球擬合可實(shí)現(xiàn)磁力計(jì)粗略校準(zhǔn),但未考慮傳感器自身噪聲影響,精度較低[7]。
因此本文設(shè)計(jì)了一種基于最小二乘法和“8”字校準(zhǔn)法對(duì)磁力計(jì)零偏進(jìn)行實(shí)時(shí)校準(zhǔn)的方法,通過仿真和實(shí)驗(yàn)驗(yàn)證,該算法有效地解決了磁力計(jì)誤差補(bǔ)償問題,具有較強(qiáng)的魯棒性。
MEMS慣性傳感器的誤差主要可分為確定性誤差和隨機(jī)誤差[8-10]。確定性誤差包括固定偏差、比例誤差和非正交誤差,可通過標(biāo)定實(shí)驗(yàn)來消除。對(duì)于隨機(jī)誤差,基于其慢時(shí)變、非平穩(wěn)特性,需建立隨機(jī)誤差補(bǔ)償方程,通過算法完成誤差實(shí)時(shí)補(bǔ)償。
磁力計(jì)除了上述傳感器本身產(chǎn)生的誤差外,還易受到外界磁場環(huán)境的干擾,主要分為硬磁干擾和軟磁干擾[11-13]。硬磁干擾是指磁力計(jì)受到永磁鐵或被磁化的物體產(chǎn)生的磁場干擾引起的誤差。軟磁干擾是指軟鐵材料被當(dāng)?shù)氐牡卮艌龃呕螽a(chǎn)生的磁場引起的干擾,如電纜可以產(chǎn)生很強(qiáng)的磁場。在實(shí)際測試中發(fā)現(xiàn)軟磁干擾的影響較小且比較隨機(jī),因此可以忽略對(duì)其的校準(zhǔn)。
由于傳感器的確定性誤差一般比較穩(wěn)定,因此可以通過標(biāo)定的方法求得相應(yīng)的參數(shù),將參數(shù)帶入到誤差校準(zhǔn)方程中,從而消除傳感器的確定性誤差。圖1所示為傳感器的誤差補(bǔ)償模型,式(1)為補(bǔ)償方程。
圖1 傳感器誤差補(bǔ)償模型Fig.1 Sensor error compensation model
(1)
式中,Ox、Oy和Oz分別為傳感器x、y和z軸上的固定偏差(也叫零偏),Sx、Sy和Sz分別為傳感器在x、y和z軸上的比例誤差因子,M為3×3的非正交誤差矩陣。因此,零偏O、比例誤差因子S和非正交誤差矩陣M就是需要確定的誤差校準(zhǔn)參數(shù)。
當(dāng)外界存在的磁場環(huán)境相對(duì)穩(wěn)定時(shí),磁干擾對(duì)磁力計(jì)所產(chǎn)生的零偏值是固定的。然而,行人是流動(dòng)的,當(dāng)外界環(huán)境改變時(shí),相應(yīng)的零偏值也會(huì)發(fā)生變化,這時(shí)需要采用自動(dòng)校準(zhǔn)的方法對(duì)磁力計(jì)的零偏進(jìn)行更新。
若將式(1)中的非正交誤差和比例誤差忽略掉,則可簡寫為
(2)
(3)
第i個(gè)測量值的誤差為
(4)
式中,Ox、Oy和Oz為磁力計(jì)對(duì)應(yīng)的零偏向量O的元素
(5)
式中,Xx、Xy和Xz為磁力計(jì)測量值向量X的元素
(6)
式(4)寫成矩陣形式為
(7)
假設(shè)有N組測量值用于計(jì)算參數(shù)零偏,由于式(7)中含有4個(gè)未知量,因此N必須大于或等于4,則式(7)可寫成
r=Y-Aβ
(9)
式中,Y是只與測量值有關(guān)的向量
(10)
A是只與測量值有關(guān)的矩陣
(11)
β則是需要被估計(jì)的向量
(12)
根據(jù)最小二乘估計(jì),需要通過利用一系列磁力計(jì)的測量值X和合適的零偏參數(shù)O使誤差的平方和為最小。因此有
rTr=(Y-Aβ)T(Y-Aβ)
(13)
代價(jià)函數(shù)J=rTr可展開為
J=YTY-2βT(ATY)+βT(ATA)β
(14)
求J關(guān)于β的導(dǎo)數(shù),并令結(jié)果為零,則有
(15)
則最小二乘估計(jì)由式(16)決定
β=(ATA)-1(ATY)
(16)
通過以上推導(dǎo)過程可以發(fā)現(xiàn),在進(jìn)行磁力計(jì)的零偏校準(zhǔn)時(shí),只需要將測得的N組磁力計(jì)數(shù)據(jù)代入到式(16)便可得到零偏O。
然而,在使用磁力計(jì)進(jìn)行測量時(shí),需要采用不同角度方向上的測量值,求得的β才是有意義的。在短時(shí)間內(nèi)得到覆蓋所有角度的磁力計(jì)測量值可通過“8”字校準(zhǔn)法,如圖2所示。因?yàn)闇y量值要在空間上有一定的不相關(guān)性,也就是說這些點(diǎn)要足以約束一個(gè)橢球面。如果在空間中隨便轉(zhuǎn)幾下,得到的測量值可能會(huì)在空間上相關(guān),或是不相關(guān)性不強(qiáng),會(huì)使校準(zhǔn)無法進(jìn)行或是誤差較大。繞“8”字可以使磁力計(jì)收集到不同方向的地磁參數(shù),即原則上盡量多地讓設(shè)備的法線指向一個(gè)立體空間的所有8個(gè)象限,然后根據(jù)其反饋回來的數(shù)值計(jì)算方向,這樣的數(shù)據(jù)來源比較準(zhǔn)確。
圖2 “8”字校準(zhǔn)示意圖Fig.2 Schematic diagram of figure“8”calibration
將硬件測試平臺(tái)按照?qǐng)D2做“8”字旋轉(zhuǎn)后,得到了磁力計(jì)的原始數(shù)據(jù),如圖3所示,在三維的圖上顯示出一個(gè)球體,但球心偏離了坐標(biāo)原點(diǎn),說明磁力計(jì)存在著零偏誤差。通過加速度計(jì)計(jì)算得到的橫滾角和俯仰角篩選出N=216組磁力計(jì)數(shù)據(jù),利用這些數(shù)據(jù)根據(jù)式(16)即可求解零偏值。
圖3 “8”字旋轉(zhuǎn)后磁力計(jì)數(shù)據(jù)三維分布圖Fig.3 Three dimensional distribution of magnetometer data after rotation of figure “8”
本文采用華為的智能手機(jī)作為磁力計(jì)校準(zhǔn)的硬件測試平臺(tái)。該智能手機(jī)集成的MARG傳感器包含三軸加速度計(jì)(ST LIS3DH)、三軸磁力計(jì)(AKM8963)和三軸陀螺儀(ST L3G4200D)。表1給出了傳感器的型號(hào)與參數(shù)。
表1 傳感器型號(hào)與參數(shù)
圖4所示為手機(jī)上安裝傳感器的坐標(biāo)軸方向,在整個(gè)實(shí)驗(yàn)過程中行人均采用手持智能手機(jī)的方式進(jìn)行數(shù)據(jù)采集,手機(jī)坐標(biāo)負(fù)y軸指向前進(jìn)方向,x軸向右,z軸向下。
圖4 坐標(biāo)軸定義Fig.4 Coordinate axis definition
如圖5所示,經(jīng)過零偏校準(zhǔn)后計(jì)算的磁力計(jì)模值均在49μT(本地磁場強(qiáng)度)附近。從圖5中磁力計(jì)模值的原始值可以看出,行人行走時(shí),磁場環(huán)境隨著外界環(huán)境的改變而變化,相應(yīng)地磁干擾對(duì)磁力計(jì)所產(chǎn)生的零偏值也隨之變化,所以磁力計(jì)模值輸出波形震蕩較大。因此,可以根據(jù)磁力計(jì)的模值大小及方差作為磁干擾的判斷條件,若被判定為有磁干擾時(shí),用戶可利用“8”字旋轉(zhuǎn)方式進(jìn)行實(shí)時(shí)校準(zhǔn)。
圖5 磁力計(jì)數(shù)據(jù)校準(zhǔn)前后對(duì)比圖Fig.5 Comparison chart of magnetometerbefore and after data calibration
本文提出了一種基于最小二乘法和“8”字校準(zhǔn)法對(duì)磁力計(jì)零偏進(jìn)行實(shí)時(shí)校準(zhǔn)的方法。實(shí)驗(yàn)結(jié)果表明改進(jìn)的磁力計(jì)誤差補(bǔ)償模型能夠有效地提高磁力計(jì)抗磁干擾能力,減小了測量誤差,證明了該誤差補(bǔ)償算法的可行性和有效性。
[1] Jo K, Chu K, Sunwoo M. Interacting multiple model filter-based sensor fusion of GPS with in-vehicle sensors for real-time vehicle positioning[J]. IEEE Transactions on Intelligent Transportation Systems, 2012, 13(1): 329-343.
[2] 鄒波, 張華, 姜軍. 多傳感信息融合的改進(jìn)擴(kuò)展卡爾曼濾波定姿[J]. 計(jì)算機(jī)應(yīng)用研究, 2014, 31(4):1035-1038.
[3] 張棟, 焦嵩鳴, 劉延泉. 互補(bǔ)濾波和卡爾曼濾波的融合姿態(tài)解算方法[J]. 傳感器與微系統(tǒng), 2017, 36(3):62-65.
[4] 李勇, 劉文怡, 李杰,等. 基于橢球擬合的三軸磁傳感器誤差補(bǔ)償方法[J]. 傳感技術(shù)學(xué)報(bào), 2012, 25(7):917-920.
[5] 梁益豐, 許微, 曹勇. MARG傳感器誤差分析與標(biāo)定方法研究[J]. 艦船電子工程, 2017,37(9):41-45.
[6] Fang J, Sun H, Cao J, et al. A novel calibration method of magnetic compass based on ellipsoid fitting[J]. IEEE Transactions on Instrumentation & Measurement, 2011, 60(6):2053-2061.
[7] Bonnet S, Bassompierre C, Godin C, et al. Calibration methods for inertial and magnetic sensors[J]. Sensors & Actuators A Physical, 2009, 156(2):302-311.
[8] Tedaldi D, Pretto A, Menegatti E. A robust and easy to implement method for IMU calibration without external equipments[C]//2014 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2014: 3042-3049.
[9] Lu J, Lei C. Applied system-level method in calibration validation for personal navigation system in field[J]. Iet Science Measurement & Technology, 2017, 11(1):103-110.
[10] Rohac J, Sipos M, Simanek J.Calibration of low-cost triaxial inertial sensors[J]. Instrumentation & Measurement Magazine IEEE, 2015, 18(6):32-38
[11] 龐學(xué)亮, 林春生. 基于遺傳算法三軸磁傳感器校正系數(shù)求解[J]. 探測與控制學(xué)報(bào), 2017, 39(1):42-45.
[12] 龍禮, 張合. 三軸地磁傳感器誤差的自適應(yīng)校正方法[J]. 儀器儀表學(xué)報(bào), 2013, 34(1):161-165.
[13] 袁廣民, 苑偉政, 秦偉, 等. 強(qiáng)磁干擾環(huán)境下磁航向誤差補(bǔ)償技術(shù)研究[J]. 航空工程進(jìn)展, 2012, 3(2): 218-222.