周凱月,李 佳,王瑋冰,陳大鵬
(1.中國(guó)科學(xué)院大學(xué),北京 100049; 2.中國(guó)科學(xué)院 微電子研究所,北京 100029)
基于MEMS加速度計(jì)的尺寸、成本功耗等方面的優(yōu)勢(shì),其廣泛應(yīng)用于物聯(lián)網(wǎng)、智能穿戴設(shè)備[1-2],尤其在SLAM(simultaneous localization and mapping)、姿態(tài)識(shí)別、跌倒檢測(cè)等應(yīng)用中對(duì)IMU(inertial measurement unit)設(shè)備的姿態(tài)角精確計(jì)算有重要作用[3-4]。但是由于加速度計(jì)的安裝偏差、尺度因子、零偏和隨機(jī)噪聲等因素的影響,其輸出存在一定的誤差[5-6]。因此需要建立校準(zhǔn)補(bǔ)償模型以實(shí)現(xiàn)穩(wěn)定、高精度的加速度輸出。
傳統(tǒng)分立式標(biāo)定校準(zhǔn)依賴于大型轉(zhuǎn)臺(tái)設(shè)備,價(jià)格昂貴、操作方法復(fù)雜,標(biāo)定精度取決于轉(zhuǎn)臺(tái)設(shè)備,不利于大批量的生產(chǎn)使用。為了降低校準(zhǔn)對(duì)大型設(shè)備的依賴,顏開(kāi)思等[7]提出借助于立方體治具將加速度計(jì)依次旋轉(zhuǎn)90°,旋轉(zhuǎn)6次,依此求得模型參數(shù);為了解決六面體算法中治具所處平面可能不水平的問(wèn)題,陸續(xù)有學(xué)者[8-11]提出九位置法、十位置法,十二面體法、二十四位置法等,將相差45°,90°,180°的兩面求均值作為其中一組數(shù)據(jù)來(lái)抵消水平夾角問(wèn)題,但均需要依賴治具。L?tters等[12]首次提出基于模觀測(cè)的加速度計(jì)標(biāo)定方法,將標(biāo)定問(wèn)題轉(zhuǎn)化為優(yōu)化問(wèn)題,其關(guān)鍵在于非線性方程組的求解,最為常見(jiàn)的為迭代法、牛頓法[13],其缺點(diǎn)為迭代結(jié)果嚴(yán)重依賴于初值的選取。Cheuk等[14-15]提出在多組任意位置下觀測(cè)數(shù)據(jù)來(lái)求解模型參數(shù),擺脫了治具的限制,但仍無(wú)法解決初值依賴問(wèn)題。
針對(duì)LM算法過(guò)度依賴初值的問(wèn)題,本文結(jié)合了LM算法與最小二乘法算法,在初值預(yù)估不準(zhǔn)確情況下,實(shí)現(xiàn)誤差模型參數(shù)的精確標(biāo)定,并在標(biāo)定后的姿態(tài)解算中,精度能達(dá)到與傳統(tǒng)標(biāo)定方法相同的量級(jí)。
根據(jù)誤差產(chǎn)生原因,MEMS三軸加速度計(jì)誤差主要來(lái)源于軸間非正交誤差、尺度因子、零偏和噪聲的隨機(jī)游走,可以建立如下誤差模型:
(1)
θcal=[Kyz,Kzy,Kzx,Sxx,Syy,Szz,Bx,By,Bz]
(2)
加速度計(jì)處于靜止?fàn)顟B(tài)下,只受到重力,理論上加速度計(jì)的任意姿態(tài)下,各軸輸出數(shù)據(jù)的模等于1 g,因此有
‖g‖2=‖O‖2=‖Tk*Ts(R+B)‖2=
‖h(R,θcal)‖2
(3)
為求解誤差模型中θcal參數(shù),可以利用多組靜態(tài)觀測(cè)數(shù)據(jù)使用最小二乘法對(duì)多元方程求解;也可以通過(guò)構(gòu)建橢球模型近似等效加速度計(jì)誤差模型,通過(guò)大量靜態(tài)觀測(cè)數(shù)據(jù)擬合求解橢球參數(shù)來(lái)近似求解誤差模型參數(shù),這些已有方法將在下文具體說(shuō)明。針對(duì)LM算法過(guò)度依賴初值的問(wèn)題,本文提出的LM&最小二乘法自校準(zhǔn)法在LM &最小二乘法自校準(zhǔn)法的實(shí)現(xiàn)中進(jìn)行詳細(xì)闡述,并在實(shí)驗(yàn)驗(yàn)證與分析中進(jìn)行相關(guān)實(shí)驗(yàn)結(jié)果的呈現(xiàn)。
在十二面體法[16]求解加速度計(jì)誤差模型參數(shù)中,需要將被測(cè)加速度計(jì)固定在治具中,依次旋轉(zhuǎn)0°,90°,180°,270°,如圖1所示。將所得到的12組數(shù)據(jù)分為2組,按照加速度計(jì)誤差補(bǔ)償模型的誤差模型,將觀測(cè)數(shù)據(jù)代入,通過(guò)最小二乘法,求得兩組參數(shù),再對(duì)參數(shù)進(jìn)行加權(quán)獲得最后的加速度計(jì)誤差模型參數(shù):
(4)
注:本圖參照文獻(xiàn)[16]中圖1繪制。
在忽略軸間偏差,即三軸之間均正交的情況下,加速度計(jì)任意靜止?fàn)顟B(tài)輸出數(shù)據(jù)的模為定值g,在三軸正交坐標(biāo)系中表現(xiàn)為一橢球面上的點(diǎn)[17],即:
a1x2+a2y2+a3z2+a4xy+a5xz+a6yz+
a7x+a8y+a9z
(5)
[X-C]M[X-C]T=1+CMCT
(6)
(7)
式中:X為橢球面上的數(shù)據(jù),C為橢球球心,M為所求參數(shù)矩陣。通過(guò)最小二乘法對(duì)大量靜止?fàn)顟B(tài)樣本數(shù)據(jù)進(jìn)行擬合得到橢球球心即零偏,橢球在各個(gè)軸上的投影為尺寸因子。
LM(levenberg-marquardt)算法[18-20]是介于牛頓法和梯度下降法之間的非線性優(yōu)化算法,廣泛應(yīng)用于非線性最小化的求解。在對(duì)于模型參數(shù)求解問(wèn)題中,如式(8),LM算法通過(guò)將狀態(tài)轉(zhuǎn)移矩陣中Hessian矩陣近似為Jacobian矩陣的方式,如式(9)、(10),解決了梯度下降法收斂速度緩慢的問(wèn)題,避免了牛頓法求解高階非線性問(wèn)題時(shí)復(fù)雜二階導(dǎo)數(shù)計(jì)算過(guò)程,以及Hessian非滿秩和非正定情況。LM算法最終訓(xùn)練形式通過(guò)如下進(jìn)行擬合求參:
(8)
H≈JTJ+μI
(9)
xk+1=xk-(JTJ+μI)*gk
(10)
(11)
式中:x為輸入?yún)?shù)向量,ω為待求參數(shù)向量,N為待求參數(shù)向量個(gè)數(shù),E為目標(biāo)函數(shù)殘差,M為離散非線性系統(tǒng)采樣點(diǎn)個(gè)數(shù)。
利用LM算法求解加速度計(jì)誤差模型參數(shù),需要構(gòu)建目標(biāo)函數(shù)以及殘差。由加速度計(jì)誤差補(bǔ)償模型可知,加速度計(jì)處于靜止?fàn)顟B(tài)下,只受到重力,因此將式(3)作為目標(biāo)函數(shù)。
為求解誤差模型中θcal參數(shù),需要求解式(2)非線性輸出方程,即需要多組不同姿態(tài)的靜態(tài)觀測(cè)數(shù)據(jù)。由于上述的各類誤差導(dǎo)致加速度計(jì)各軸輸出數(shù)據(jù)的模值不等于g,因此構(gòu)造目標(biāo)函數(shù)殘差方程(12),通過(guò)對(duì)目標(biāo)函數(shù)最小化實(shí)現(xiàn)模型參數(shù)的求解。
(12)
3.2.1 基本方案
LM算法擁有高斯-牛頓算法快速收斂的優(yōu)點(diǎn),也在梯度下降法的基礎(chǔ)上解決了負(fù)梯度收斂緩慢的問(wèn)題,但是其本身因在泰勒展開(kāi)式中忽略了高階項(xiàng),在一定情況下會(huì)出現(xiàn)收斂緩慢的情況。另外LM算法高度依賴初值的設(shè)定,所以在單次加速度誤差模型參數(shù)的求解中,由于初值的設(shè)定不準(zhǔn)會(huì)導(dǎo)致模型參數(shù)擬合不準(zhǔn)確。
因此,為實(shí)現(xiàn)加速度計(jì)應(yīng)用過(guò)程中的閉環(huán)校準(zhǔn),就需要對(duì)加速度計(jì)誤差模型的初值進(jìn)行實(shí)時(shí)修正,確保LM算法可以迅速收斂。本文通過(guò)對(duì)加速度計(jì)任意位置下的靜態(tài)數(shù)據(jù)樣本進(jìn)行濾波、篩選、截?cái)?,獲取可用于最小二乘法的姿態(tài)數(shù)據(jù),即加速度計(jì)某個(gè)軸垂直于水平面,另外兩個(gè)軸平行水平面的姿態(tài)。與已有初值相關(guān)數(shù)據(jù)共同求解修正初值,并以此初值為L(zhǎng)M算法訓(xùn)練初值,進(jìn)行訓(xùn)練擬合,獲得最終加速度計(jì)誤差模型參數(shù)。
如圖2所示,為本文所提出的加速度計(jì)LM&最小二乘法自校準(zhǔn)法的流程圖。主要過(guò)程分為3個(gè)部分:數(shù)據(jù)采集處理、模型參數(shù)初值修正、模型參數(shù)訓(xùn)練擬合。
圖2 MEMS加速度計(jì)自校準(zhǔn)流程
3.2.1.1 數(shù)據(jù)采集處理
1)采集加速度計(jì)靜止姿態(tài)數(shù)據(jù)樣本需要滿足如下條件。
①加速度計(jì)連續(xù)靜止Twait。對(duì)連續(xù)采集到的Twait*f采集頻率個(gè)數(shù)據(jù),均需要滿足|ζ(k)|<δ1,其中ζ(k)如式(13)所示,為加速度計(jì)各軸輸出數(shù)據(jù)模值與重力加速度g的差,δ1為判斷加速度計(jì)靜止的閾值。
(13)
②壓力傳感器輸出的標(biāo)準(zhǔn)差P(t)<δ2。針對(duì)本文實(shí)驗(yàn)對(duì)象為智能鞋墊,以k個(gè)鞋墊內(nèi)嵌壓力傳感器輸出的標(biāo)準(zhǔn)差作為檢測(cè)算子,檢測(cè)鞋墊是否處于靜止姿態(tài),δ2為檢測(cè)閾值。
(14)
③保證訓(xùn)練樣本豐富性。所獲得的靜止姿態(tài)數(shù)據(jù)樣本不與已存在樣本重復(fù),即需式(15)中,γ>δ3,以保證解算結(jié)果精準(zhǔn)。
(15)
2)加速度計(jì)靜止姿態(tài)數(shù)據(jù)樣本預(yù)處理。
①濾波。對(duì)收集到的靜止姿態(tài)數(shù)據(jù)樣,通過(guò)式(13)進(jìn)行濾波和提取有效數(shù)據(jù),如圖3所示為采集到加速度計(jì)的原始靜態(tài)數(shù)據(jù)樣本與濾波后的靜止姿態(tài)數(shù)據(jù)。
圖3 濾波和截?cái)嗲啊⒑髷?shù)據(jù)對(duì)比
②分類。為獲得最小二乘法所需要的靜止姿態(tài)數(shù)據(jù)樣本,需要從所有樣本中篩選出加速度計(jì)某個(gè)軸垂直于地面,即輸出接近|g|,另外2個(gè)軸輸出接近為0的數(shù)據(jù)集合,在所有觀測(cè)樣本中找到滿足式(16)的樣本作為Ocor,用以修正每次迭代的初值;其余靜止姿態(tài)數(shù)據(jù)樣本作為Otrain,用來(lái)LM算法訓(xùn)練。
|Oij-g|<σ&&|Oij+1|<σ&&|Oij-1|<σ
(16)
3.2.1.2 模型參數(shù)初值修正
將誤差模型(1)轉(zhuǎn)換為
(17)
通過(guò)最小二乘法求解多元方程參數(shù)得到:
(18)
3.2.1.3 模型參數(shù)訓(xùn)練擬合
對(duì)于LM算法訓(xùn)練樣本Otrain在非相關(guān)樣本數(shù)m>6即可收斂,這獲利于初值修正。
3.2.2 算法步驟
步驟2收集加速度計(jì)靜止數(shù)據(jù)樣本,需滿足式(13)~(15)。
步驟3根據(jù)式(16),對(duì)步驟2中收集到的靜止姿態(tài)樣本分類。
1)用于修正第k+1次迭代模型初值的觀測(cè)樣本Ocor。
2)用于訓(xùn)練擬合第k+1次模型參數(shù)ak+1的觀測(cè)樣本Otrain。
本文實(shí)驗(yàn)以自主研發(fā)的多傳感器集成的智能鞋墊為被測(cè)對(duì)象,內(nèi)置三軸加速度計(jì)、4組柔性壓力傳感器以及低功耗藍(lán)牙片上系統(tǒng)、無(wú)線充電模塊,如圖4所示。以藍(lán)牙傳輸?shù)姆绞綄⑿瑝|數(shù)據(jù)實(shí)時(shí)傳輸?shù)浇K端,傳輸頻率為20 Hz。
圖4 被測(cè)對(duì)象智能鞋墊與立方體治具
根據(jù)已有方法求解模型參數(shù)所述,設(shè)計(jì)如下實(shí)驗(yàn)驗(yàn)證環(huán)節(jié)。
4.1.1 LM訓(xùn)練法
1)收集同一時(shí)段任意靜止姿態(tài)加速度計(jì)輸出數(shù)據(jù)M組。
2)給定隨機(jī)誤差模型參數(shù)初值(0~1),通過(guò)LM算法,以M組數(shù)據(jù)進(jìn)行訓(xùn)練求解誤差模型參數(shù)。
4.1.2 LM&最小二乘法自校準(zhǔn)法
1)在為期30 d正常使用智能鞋墊的情況下,按照4.2所述條件每3 d自動(dòng)檢測(cè)收集任意靜止姿態(tài)加速度數(shù)據(jù)M組。
2)根據(jù)LM算法,對(duì)第1次M組樣本數(shù)據(jù)給定隨機(jī)模型參數(shù)初值(隨機(jī)范圍0~1),使用LM算法進(jìn)行訓(xùn)練,得到初始誤差模型參數(shù)。
3)根據(jù)基于LM&最小二乘法自校準(zhǔn)法,對(duì)后續(xù)9次樣本數(shù)據(jù)依次以前一次訓(xùn)練得到的參數(shù)為初值進(jìn)行迭代訓(xùn)練,更新得到最終誤差模型參數(shù)。
4.1.3 十二面體法
1)將鞋墊固定在治具上,保持鞋墊與治具水平與對(duì)齊。
2)連接藍(lán)牙設(shè)備,并根據(jù)圖1按照x,y,z軸旋轉(zhuǎn)0°,90°,180°,270°,每個(gè)狀態(tài)保持1 min。
3)根據(jù)十二面體法求解加速度計(jì)誤差模型參數(shù)。
4.1.4 橢球擬合法
1)采集智能鞋墊任意靜止姿態(tài)加速度數(shù)據(jù)M組。
2)根據(jù)橢球擬合法求解橢球擬合方程系數(shù),并求解出橢球中心(即偏差)和橢球半徑(即尺寸因子)。
1)LM&最小二乘法自校準(zhǔn)法所得結(jié)果如圖5(a)所示,在多次、長(zhǎng)時(shí)間的循環(huán)迭代中,由初值設(shè)定不準(zhǔn)引起的誤差模型參數(shù)的估計(jì)誤差在迭代中逐步消除,3次迭代后,由初值設(shè)定失誤引起的模型參數(shù)平均相對(duì)誤差降低95%。優(yōu)化初值后,提高了參數(shù)訓(xùn)練的運(yùn)算速度,訓(xùn)練時(shí)間由25 s降低到平均0.4 s,如圖5(b)所示。
2)如表1所示為4種校準(zhǔn)方式下獲取的加速度計(jì)誤差模型參數(shù)及其參數(shù)的相對(duì)誤差。十二面體法、橢球擬合法、單純LM方法與LM&最小二乘法自校準(zhǔn)法分別求解得到誤差模型中12、6、9、9個(gè)參數(shù)。
其中十二面體法、橢球法以及LM迭代法3種校準(zhǔn)方法均對(duì)該加速度計(jì)在y軸方向存在較大零偏具有一致性描述。
圖5 LM&最小二乘法校準(zhǔn)法迭代過(guò)程中參數(shù)變化
表1 本文方法與其他方法標(biāo)定結(jié)果對(duì)比
3)橢球擬合法模擬出加速度計(jì)數(shù)據(jù)樣本構(gòu)成的橢球面,如圖6所示,數(shù)據(jù)樣本越豐富,橢球擬合法越精準(zhǔn)。本實(shí)驗(yàn)中48組樣本擬合得到的零偏和尺寸因子6個(gè)參數(shù)。采用橢球擬合法對(duì)加速度數(shù)據(jù)進(jìn)行補(bǔ)償,見(jiàn)表2,補(bǔ)償后三軸相對(duì)誤差分別為-83.36%,12.80%,3.70%,存在一定誤差。
圖6 橢球擬合球面圖
表2 橢球擬合法補(bǔ)償后的相對(duì)誤差
4)LM&最小二乘法自校準(zhǔn)法構(gòu)建的誤差模型對(duì)加速度計(jì)進(jìn)行補(bǔ)償,所得結(jié)果見(jiàn)表3,相對(duì)誤差分別為18.110%,4.300%,0.316%,相對(duì)橢圓擬合法精度有明顯升高。進(jìn)一步解算姿態(tài)角度,如圖7所示,解算所得各軸角度誤差為0.363 5°,0.699 6°,0.643 3°,誤差小于1°,可實(shí)現(xiàn)誤差補(bǔ)償后的姿態(tài)解算精度與傳統(tǒng)標(biāo)定方法十二面體法同等量級(jí)。
表3 本文方法補(bǔ)償后誤差
圖7 本文方法補(bǔ)償加速度計(jì)后的姿態(tài)角度
結(jié)合不同方法的標(biāo)定結(jié)果對(duì)比,可以得到本文提出的LM&最小二乘法自校準(zhǔn)法的優(yōu)勢(shì)如下:
1)在不斷LM迭代擬合過(guò)程中,加入了初值修正的步驟,優(yōu)化解決了LM算法過(guò)度依賴初值的問(wèn)題。并在可穿戴設(shè)備長(zhǎng)期使用過(guò)程中采集校準(zhǔn)數(shù)據(jù),不需要人工設(shè)定姿態(tài),實(shí)現(xiàn)了對(duì)加速度計(jì)實(shí)時(shí)校準(zhǔn)。
2)對(duì)于橢圓擬合法,只能解算出6項(xiàng)參數(shù),并且需要大量的靜態(tài)樣本對(duì)橢球擬合才能達(dá)到解算的精度,通過(guò)對(duì)比其解算得到的加速度數(shù)據(jù),仍有較大誤差。LM&最小二乘法自校準(zhǔn)法需要靜態(tài)觀測(cè)樣本少,且可解算出9種誤差參數(shù),參數(shù)相對(duì)誤差更低。
3)傳統(tǒng)十二面體法可以解算誤差模型中所有參數(shù),精度相對(duì)較高,但是需要相關(guān)立方體治具,需要人工固定,也需要相對(duì)水平的測(cè)試平臺(tái)。本文提出的LM&最小二乘法自校準(zhǔn)法可以實(shí)現(xiàn)實(shí)時(shí)采集,實(shí)時(shí)解算的效果,且在一定程度上脫離了治具的束縛。以本文方法對(duì)加速度計(jì)標(biāo)定后,解算出角度值與十二面體法解算出角度值誤差均小于1°,說(shuō)明本文方法可以達(dá)到傳統(tǒng)標(biāo)定方法相同量級(jí)的精度。
1)為保證MEMS持續(xù)、高精度的輸出,本文建立了基于LM算法的加速度自校準(zhǔn)模型,根據(jù)靜態(tài)加速度計(jì)三軸輸出模等于1 g,將標(biāo)定問(wèn)題轉(zhuǎn)換為非線性方程優(yōu)化問(wèn)題。為解決LM算法過(guò)分依賴初值,導(dǎo)致擬合模型參數(shù)誤差較大的問(wèn)題。本文提出對(duì)靜止姿態(tài)數(shù)據(jù)預(yù)處理,篩選出加速度計(jì)某個(gè)軸輸出接近g,另外2個(gè)軸輸出接近為0的靜止姿態(tài)數(shù)據(jù),通過(guò)最小二乘法修正初值。
2)實(shí)際測(cè)試結(jié)果表明,由于初值的修正,與單純LM校準(zhǔn)算法比,本文方法降低了對(duì)初值的依賴,提高了訓(xùn)練效率。與橢球擬合法相比,本文方法標(biāo)定時(shí)間短、精度高,解算參數(shù)的靜止姿態(tài)觀測(cè)樣本數(shù)量需求不高。
3)與傳統(tǒng)十二面體校準(zhǔn)法相比,本文方法不需要轉(zhuǎn)臺(tái)與治具,并能達(dá)到與傳統(tǒng)校準(zhǔn)方法相同的精度,并可以實(shí)現(xiàn)加速度計(jì)的實(shí)時(shí)自校準(zhǔn),針對(duì)可穿戴設(shè)備在未來(lái)能起到更廣泛的應(yīng)用。
4)綜上所述,本文所闡述的方法融合了傳統(tǒng)誤差模型參數(shù)求解的方法與人工智能訓(xùn)練的方法的優(yōu)點(diǎn)。傳統(tǒng)誤差模型求解方程的算法可以為了數(shù)據(jù)訓(xùn)練提供更精準(zhǔn)的收斂方向,LM算法則擺脫了治具的限制,為加速度的自校準(zhǔn)提供了新的方向。