王 創(chuàng),梁 偉,管 啟,丁德銳
(上海理工大學 光電信息與計算機工程學院 上海 200093)
微電子機械系統(tǒng)(MEMS)技術(shù)的發(fā)展使慣性傳感器行業(yè)發(fā)生了革命性的變化,這使大規(guī)模生產(chǎn)超低成本慣性傳感器成為可能。今天人們可以通過花費十幾塊錢就能夠買到一個具有幾平方毫米的慣性測量單元(IMU)。這些低成本小尺寸的IMU,使得構(gòu)建大型的IMU陣列成為了可能,科研人員通過融合來自IMU陣列輸出的數(shù)據(jù)信息,就能獲得單個IMU不可比擬的性能,有關(guān)更多IMU陣列系統(tǒng)的具體內(nèi)容請參見文獻[1]。
低成本的MEMS 類型IMU的輸出數(shù)據(jù)通常是未經(jīng)校準補償?shù)腫2-4]。集成電路在進行制造和封裝過程中的缺陷,往往導(dǎo)致IMU的靈敏軸沒有完全對齊,從而產(chǎn)生了軸失準誤差和比例誤差,這些誤差項的存在導(dǎo)致了IMU輸出數(shù)據(jù)的不準確。因此在融合來自IMU的信息前,應(yīng)該對IMU進行校正補償。在工業(yè)界,對IMU進行標定校準需要昂貴的機械校正平臺[5-7]。在實驗室級別的使用過程中,研究者們提出了不需要旋轉(zhuǎn)機的簡化標定方法[8-10]。這些方法利用重力矢量大小的先驗知識來對未知參數(shù)進行估計,但僅限于單個IMU的校正。
近年來,由低成本的IMU組成的慣性傳感器陣列受到越來越多的研究人員的關(guān)注。越來越多的研究人員把由低成本IMU組成的慣性傳感器陣列應(yīng)用在機器人的自主導(dǎo)航中。但是在使用由低成本IMU組成的慣性傳感器陣列進行組合導(dǎo)航時,必須對慣性傳感器陣列進行標定。在對慣性傳感器陣列的標定的過程中不僅要對組成陣列的單個IMU進行標定,還要對慣性傳感器陣列中IMU相對與標準坐標系的偏角進行標定。對單個IMU的校正建模已經(jīng)非常成熟,但是對IMU陣列的校正模型研究比較少。
鑒于上述分析,本文首先對單個IMU的校正模型進行了分析和建模,然后在單個IMU校正模型的基礎(chǔ)上,根據(jù)IMU陣列的特殊性建立了慣性傳感器陣列的校正模型,該模型不僅包含了單個IMU的尺度、偏置和靈敏軸誤差,還包含了慣性傳感器陣列中IMU間的坐標系非對齊誤差。由于慣性傳感器陣列校正模型的非線性,本文構(gòu)造了基于最小二乘法的代價函數(shù),采用L-M算法來求解校正參數(shù)。在進行非線性求解的過程中需要足夠多的外部激勵,為此本文設(shè)計了一個具有20面的標準多面體,該20面體采用3D打印機獲取。
在理想情況下IMU的3軸加速度計和3軸陀螺儀使用了同一個正交三維坐標系。加速度計能感知不同方向上的加速度,而陀螺儀能測量圍繞同一軸的角速度。不幸的是,由于IMU的封裝過程的不準確,導(dǎo)致加速度坐標系和陀螺儀坐標系形成兩個不同的非正交坐標系,見圖1。
圖1 IMU的軸失準誤差
由于加速度計的3個靈敏軸和陀螺儀的3個靈敏軸與平臺坐標軸的正交坐標系僅相差較小的角度,則在加速度計坐標中的比力測量可轉(zhuǎn)化為平臺坐標中的比力估計值
(1)
式中,sp表示平臺坐標系下的加速計受的比力或陀螺儀的角速度,ss表示加速計坐標系下的比力或陀螺儀坐標系下的角速度。這里βij是加速度計或陀螺儀的第i個敏感軸繞第j個平臺正交軸的微小旋轉(zhuǎn)角。
理想的平臺坐標系是正交的,通過使平臺坐標軸的xp和加速度計坐標的xa靈敏軸重合,則平臺坐標系的yp軸就會落在由xa和ya所成的平面上,那么公式(1)中角βxz、βxy和βyx變?yōu)榱悖铀俣扔嬜鴺讼岛推脚_坐標的關(guān)系可以重新寫為如下形式:
(2)
公式(1)中的β表示加速度計和陀螺儀通用的誤差角,在公式(2)中用α表示適用于加速度計的情況。
如前所述,陀螺儀和加速度計的測量應(yīng)該共用相同的參考系,由公式(2)可以得到陀螺儀的相關(guān)表達:
(3)
其中:wp和wg分別表示平臺坐標系下的角速度和陀螺儀坐標系下的角速度,γij表示第i個陀螺儀敏感軸繞第j個平臺軸的微小旋轉(zhuǎn)角。
圖1中的xa,ya,za表示加速度計的敏感軸,xp,yp,zp表示理想的正交軸,理想的正交軸和加速計靈敏軸的偏角可以表示為αxy,αxz,αyx,αyz,αzx,αzy。
MEMS類型的傳感器輸出的信息是和電壓成比例的電信號,輸出電壓和作用在傳感器靈敏度軸上物理量之間的關(guān)系由制造商的數(shù)據(jù)表給出,由于MEMS傳感器的固有非線性導(dǎo)致輸出電壓和傳感器測量的信號之間的真實比例不同,我們稱此不同為刻度系數(shù)誤差或者比例誤差。此外,MEMS傳感器的輸出信號中通常會含有一個小小的偏差,具體的表現(xiàn)是,即使沒有力作用在傳感器上,傳感器也會有非零的輸出,稱該非零輸出為偏置。
對加速度計和陀螺儀都受到偏差和刻度系數(shù)誤差進行如下的建模,其中刻度系數(shù)矩陣可以表示為:
(4)
偏置向量建模為:
(5)
針對上述的誤差進行整體的數(shù)學建模,則完整的傳感器誤差模型可以用下式表示:
(6)
式(6)是對IMU的確定性誤差的建模,該模型適用于所有的類型的IMU。但是MEMS類型的IMU不僅包含式(6)中包含的確定性誤差,還包含由微電子結(jié)構(gòu)特性造成的隨機誤差,隨機誤差主要是指MEMS類型IMU輸出數(shù)據(jù)所包含的高斯白噪聲和bias隨機游走。本文僅僅對MEMS類型IMU陣列的確定性誤差進行校正。
上一節(jié)對MEMS類型IMU的確定性誤差進行了數(shù)學建模,本小節(jié)主要對IMU陣列的確定誤差進行了數(shù)學模型的建立。IMU陣列所包含的誤差不僅含有來自單個IMU的靈敏軸失準誤差、偏置和刻度誤差,還包括IMU陣列中不同IMU之間的非對齊誤差。
(7)
通過以上對IMU陣列獨有的誤差項的分析,本文在單個IMU確定性誤差模型的基礎(chǔ)上建立了IMU陣列的誤差模型,在IMU陣列的誤差模型中假設(shè)陣列中第i個加速度計的輸出可以看做為第j個加速度計的輸入和參數(shù)θ(j)的函數(shù):
(8)
其中:
(9)
根據(jù)上述對參數(shù)的物理化解釋,IMU陣列校正的參數(shù)模型表示如下:
(10)
通過觀察式(10)可以知道當j=i時,需要估計的參數(shù)就是單個IMU校正的參數(shù),此時的IMU陣列校正模型退化成了單個IMU校正;當j≠i時,校正的參數(shù)是包含IMU陣列不同IMU間的非對齊誤差。
圖1 IMU陣列校正流程
在上一節(jié)中本文建立了IMU陣列的誤差模型,通過公式(10)可以知道參數(shù)θ(j),j∈(1.M)包含了IMU陣列中單個IMU的軸失準誤差、偏置、刻度誤差和IMU陣列中IMU間的非對齊誤差。通過建模分析可知校正的參數(shù)θ(j)的維度是15維。傳統(tǒng)的六面標定法顯然不能夠為IMU陣列的校正提供如此多的校正激勵,為此本文針對IMU陣列的校正設(shè)計了一個20面體校正裝置,該校正裝置能夠為IMU陣列校正提供充足的外部激勵。
在IMU陣列誤差模型和本文所設(shè)計的校正裝置基礎(chǔ)上設(shè)計了如圖1所示的校正方案。
(11)
式中,c代表余弦函數(shù),s代表正弦函數(shù),φ表示偏航角、φ表示俯仰角、ψ表示翻滾角。
(12)
式中,φn和ψn分別表示第i個IMU的俯仰角和翻滾角。g是當?shù)氐闹亓铀俣取?/p>
當IMU陣列靜止時,輸入矢量只有2自由度,而每個加速度計提供了一個在3中的重力矢量的估計值。這意味15維的校正參數(shù)通過式(12)的變換,減少了3維,只要能夠在校正過程中提供至少12個非共面的方向激勵,參數(shù)θ(j)就能夠得到估計。
假設(shè)式(8)中的測量噪聲為高斯白噪聲,且不同IMU之間的噪聲互不相關(guān),通過求解如下代價函數(shù)最小值來得到參數(shù)θ(j)的最優(yōu)估計:
(13)
(14)
式中,[a]k,k∈(x,y,z)表示向量a中的第k個元素。
通過上述的分析可以知道IMU陣列需要校正的參數(shù)有15維,經(jīng)過公式(12)對輸入的重力加速的簡單變換,使IMU陣列的校正激勵輸入從15維降低到了12維。針對12維的校正激勵輸入,傳統(tǒng)的六面標定法顯然已經(jīng)不能夠滿足IMU陣列的校正需求,這主要是由于六面法提供的激勵不能夠使方程校正方程(13)滿秩,方程不滿秩就會導(dǎo)致校正參數(shù)結(jié)果的不唯一,這顯然不是IMU陣列參數(shù)校正需要的結(jié)果。
為了保證在IMU陣列校正的過程中獲得充足的方向激勵,本文設(shè)計了一個如圖2所示的正20面球體。該球體是由20個平面組成,它能夠提供20個不同方向的平面,每個平面都能為IMU陣列的校正提供方向上的激勵。
圖2 IMU陣列校正裝置
多面體的提供的方向數(shù)量決定了校正的精度,精度和校正時間符合正相關(guān)的關(guān)系。因此在標定實驗過程中,用戶可以根據(jù)實際的需求來選取合適的校正方向數(shù)和靜止時間。本文所設(shè)計的20面體另一個好處是它能夠平均一些隨機誤差和一些未建模的誤差。
為了驗證本文所提的校正方案的有效性,本文對如圖3所示的IMU陣列進行了校正,該IMU陣列集成了來自Invensense的32個MPU-9250型IMU和一個來自Atmel的AT32UC3C2512微控制器。
圖3 IMU陣列單元
由于選取的IMU陣列單元中的IMU個數(shù)太多,本文只對陣列中的前6個IMU的參數(shù)做了展示。表1中,刻度系數(shù)kx,ky,kz沒有單位,加速度計偏置量bax,bay,baz的單位為m/s2,IMU的安裝誤差角lyz,lzy,lzx的單位為rad,坐標系對齊誤差ξx,ξy,ξz的單位為rad,陀螺儀偏置量bgx,bgy,bgz的單位為rad/s。表1中編號為1的IMU所在的坐標系定義為IMU陣列的參考坐標系。即,編號為1的IMU沒有估計IMU之間額外對齊誤差。通過分析表1中的校正均值校正結(jié)果的量程值表明,校正結(jié)果的一致性。
為了說明校正參數(shù)的準確性,本文參考了Invensense公司的MPU-9250技術(shù)手冊,并使用了第一個IMU估計參數(shù)的結(jié)果和官方所給的參數(shù)進行了比較,結(jié)果如表2和表3所示。
表1 數(shù)據(jù)表
IMUlzylzxξxξyξzbgxbgybgz1-0.003 66-0.005 34000-0.509 62-0.390 780.182 87622.23E-050.005 440.001 538-0.002 66-0.003 75-0.190 83-0.532 95-1.121 763-0.001 18-0.002 39-0.004 960.001 218-0.002 171.385 679-0.076 150.129 85240.002 520.000 8970.000 9610.001 83-0.005 22-0.699 93-0.462 8-0.407 5350.002 1450.003 183-0.002 690.002 1730.000 744-1.311 58-0.655 980.840 20860.008 1060.025 504 20.000 5810.002 468-0.007 394-0.183 961.006 5840.126 783
表2 加速度計比例因子誤差
表3 敏感軸失準誤差
表4 加速計和陀螺儀的偏置
表2和表3的左邊是經(jīng)過所提校正方案得到的校正結(jié)果,右邊是MPU-9250技術(shù)手冊提供的加速度計的比例因子誤差和敏感軸失準誤差的范圍,由于MEMS類型的傳感器受環(huán)境溫度的影響,不同的校正環(huán)境的溫度會導(dǎo)致不同的校正結(jié)果,但是兩者的校正的數(shù)量級還在同一個級別,這證明了所提校正方法的有效性。
對于MEMS型的IMU,它的加速度計和陀螺儀的偏置是隨機游走的,還不能針對長時間的偏置給出一個長時間的標定輸出,表4僅僅給出了在室溫為25 ℃的環(huán)境下,對加速計和陀螺儀的偏置的標定結(jié)果。
本文首先分析了單個IMU的確定性誤差,并對單個IMU的確定性誤差建立了數(shù)學模型。然后在單個IMU誤差數(shù)學模型的基礎(chǔ)上,考慮到IMU陣列的特殊性,設(shè)計了一套基于IMU陣列確定性誤差的標定方案。該標定方案主要是利用當?shù)氐闹亓铀俣茸鳛樾U^程的系統(tǒng)輸入,并利用該輸入構(gòu)造了關(guān)于IMU陣列校正參數(shù)最小二乘問題,由于在求解過程中需要外接提供充足的方向激勵,本文又設(shè)計了20面球體,如圖2所示。該20面球體不僅能夠為IMU陣列的校正提供充足的外部激勵還能夠平均一些隨機誤差和非建模的誤差。為了測試標定的實驗結(jié)果本文采用了由32個IMU組成的IMU陣列作為標定對象,標定結(jié)果見表一。把經(jīng)過標定的結(jié)果和Invensense公司的MPU-9250技術(shù)手冊所提供的標定結(jié)果進行了比較,結(jié)果表明本文所提的標定方案能夠提供一個較好的標定結(jié)果。本文所提的標定方案不僅適合于IMU陣列的標定,同時也適合單個IMU的標定。