喬美英,高翼飛,李宛妮,趙 巖
(河南理工大學電氣工程與自動化學院,焦作 454000)
近年來隨著微機電系統(Micro-Alectro-Mechanical System, MEMS)技術的快速發展,低成本、低功耗型傳感器得到了廣泛應用。MEMS 加速度計更是在無人機、組合導航和醫療保健[1]等多領域都發揮著重要的作用。由于低成本MEMS 加速度計易受生產工藝及安裝的影響,導致實際測量值含有較大測量誤差,無法滿足精度要求。因此對MEMS 加速度計的標定是必要的。
目前加速度計的標定方法分為實驗室標定法和現場標定法[2]。實驗室標定法是通過高精密的測量儀器標定加速度計,標定結果較為準確,但需要較好的設施保障。現場標定法的引入解決了這一困難,通過獲取現場數據,使用算法處理數據完成標定。
常用的算法有橢球擬合法、高斯牛頓法、列文伯格-馬夸爾特(Levenberg-Marquardt, L-M)算法等,文獻[3]使用改進的L-M 算法標定加速度計,但模型為線性模型且十分依賴初始信息。文獻[4]使用高斯-牛頓法對水下多信號導航系統進行校準,將非線性問題近似成線性問題處理。近年來隨著智能優化算法的不斷研究,越來越多智能算法也應用到了現場標定問題中。目前主流的群體智能優化算法有:遺傳算法(Genetic Algorithm, GA)、粒子群(Particle Swarm Optimization, PSO)算法、布谷鳥搜索(Cuckoo Search, CS)算法等。文獻[5][6]分別使用GA 和PSO 算法對加速度計進行現場標定,但兩種算法的標定結果并不理想,且容易陷入局部最優情況。文獻[7]提出的CS 算法在處理非線性問題時,具有較強的全局搜索能力,但算法存在收斂速度較慢的問題。
針對上述問題,為快速、準確地對加速度計進行現場標定,本文引入改進的自適應CS 算法標定加速度計。其具體過程為:首先對加速度計測量誤差進行分析,建立其誤差模型。然后構建了標量約束目標函數,并通過自適應權重和自適應調節因子對CS 算法進行了自適應改進。最后采用改進后的自適應布谷鳥搜索(Adaptive Cuckoo Search, ACS)算法進行最優化求解,得到待標定的誤差參數。實驗結果表明,本文提出的方法能準確地標定加速度計,是一種有效的現場標定方法。
理想情況下三軸加速度計三個敏感軸是互相正交的,但由于生產安裝等因素使三個敏感軸處于非正交位置。為標定這部分安裝誤差,指定加速度計上理想的正交坐標系為t 系,敏感軸實際構成的坐標系為s系。將加速度矢量a 從t 系投影到s 系,得到包含安裝誤差的輸出模型如式(1)所示。由于非正交安裝誤差角均為小角,所以坐標系之間的轉換矩陣可寫為式(2)。

其中 as、at表示加速度在s 系和t 系的投影;K*為非正交安裝誤差矩陣;θxz、θxy、θyx、θyz、θzx、θzy為s 系與t 系z 之間的誤差角,如圖1 所示。

圖1 非正交安裝誤差角Fig.1 Non-orthogonal installation error angle
對非正交安裝誤差矩陣K*進行QR 分解變換[8]如式(3)所示,將非正交安裝誤差矩陣分解為正交矩陣Q 和主對角線元素為1 的三角矩陣K。

其中正交矩陣Q 的含義是:將t 系和s 系的某一軸對準。假設通過初始方位對準能將s 系與t 系的x軸對準,非正交安裝誤差矩陣可簡化為K ,如式(4)所示:

將比例因子誤差和偏置誤差考慮進模型,則加速度計誤差模型變為:

其中比例因子誤差矩陣 S =diag( kx, ky, kz),偏置誤差向量B =[ bx, by, bz]T。由式(5)得:

本文研究靜基座條件下的標定。在靜基座條件下,無論加速度計處于任何位置,所測加速度恒等于重力加速度。參考Hamid[9]等人設置的目標函數,本文從標定結果的方向性原則考慮,構造了新的標量約束目標函數。Hamid 使用的目標函數如式(7)所示:

其中,n 為獲取的數據個數,重力加速度g=[ gx, gy, gz]T(g 取9.8)。使用該模型標定加速度計會出現標定后加速度矢量雖然能分布在以重力矢量模為半徑的球面上,但和重力矢量不重合。
究其原因:僅以矢量進行約束時,其針對各分量的標量約束較弱。因此,本文從方向性原則出發,對加速度矢量各分量的標量進行約束,并建立對應的標量約束目標函數。避免了因標量約束針對性弱導致的方向性偏差。
將式(6)展開得:

對式(8)進行整理,寫成標量形式。以x 軸誤差模型為例:


y 軸的目標函數 J2( ay)和z 軸的目標函數 J3( az)形式上和x 軸相同。取各軸目標函數的平方和為總目標函數,如式(11)所示:

總目標函數中待優化的變量為9 個,將這9 個變量整理為一個解向量x x=(bxbybzkxkykzθyzθzyθzx)T。為快速、準確地優化非線性目標函數求得解向量x 的全局最優解,本文通過提出自適應權重和引出自適應因子對CS算法進行自適應改進。
布谷鳥搜索(Cuckoo Search, CS)算法是Xin-She Yang 和Suash Deb 在2009 年提出的一種群體優化算法[7]。該算法將布谷鳥的占巢寄生特性和萊維飛行(lévy Flights)結合起來,并通過發現概率調節局部隨機游走,從而取得最優解。其中lévy 飛行和隨機游走是控制算法全局搜索和局部搜索的關鍵:
1、lévy 飛行是算法的全局搜索策略,其實質是在解空間內生成滿足萊維分布的步長(長短交替的步長)來更新解向量。該策略由兩個獨立的正態分布構成,生成服從lévy 分布的隨機步長r:

其中u~N (0,σ2),v ~N ( 0,1), 標準差參數β 取1.5。該策略的更新公式為:

2、隨機游走是算法的局部搜索策略,該策略的更新公式為:

其中i、j、k 表示解向量x 的不同元素(i ≠ j ≠ k),ε 是滿足在(0,1)上均勻分布的隨機數,Pa表示發現被拋棄或建立新巢的概率(本文取0.25)。
CS 算法在優化多變量函數時,由于lévy 飛行更新的大步長而具有較強的全局搜索能力,但在算法后期lévy 飛行更新的大步長則會影響局部搜索能力,降低算法收斂速度[10,11]。針對此問題,本文從兩個方面對CS 算法進行了自適應改進:(1)通過自適應權重將lévy 飛行和隨機游走融合,提高算法局部搜索能力。(2)引入自適應因子調節Pa,在擴大局部搜索能力的同時兼顧算法全局性。通過這兩部分的自適應改進,提高算法的收斂速度。
2.2.1 自適應權重
通過設置自適應權重將兩種飛行策略融合,提高算法中后期的局部搜索能力。
以lévy 飛行的自適應權重為主進行分析:lévy 飛行生成的步長分布是典型的重尾分布,具有較高的概率出現大步長??紤]到權重的大小影響著算法的全局和局部搜索,自適應權重應在算法中后期抑制大步長的產生,提高局部搜索能力。
若采用線性函數形式調節重尾分布現象,難以平衡算法局部搜索和全局搜索。因此使用非線性形式設置兩種策略的權重,在算法前期緩慢地降低lévy 飛行的權重,保證良好的全局搜索能力,中后期快速地降低其權重值,同時增大隨機游走的權重,提高局部搜索能力,加快收斂速度,動態地平衡算法的全局性和局部性。lévy 飛行策略的自適應權重 ω1為:


2.2.2 自適應因子δ
發現或建立新巢的概率Pa直接控制著算法局部搜索,但考慮到種群適應性,發現概率Pa應隨著種群的進化不斷減小。因此引入自適應因子δ使發現概率Pa受算法迭代次數控制。將自適應因子調整后的發現概率 Pa′定義為:

為保持算法的多樣性,在算法前期發現概率 Pa′和原算法Pa相當,隨著種群的進化,發現概率 Pa′先快速下降再緩慢下降至穩定。自適應因子δ為:


將自適應改進后的CS 算法稱為自適應布谷鳥搜索(adaptive cuckoo search, ACS)算法,使用ACS 算法對加速度計進行現場標定的整體流程如圖2 所示。

圖2 基于ACS 算法的加速度計現場標定Fig. 2 Field calibration of accelerometer based on ACS algorithm
下節通過仿真實驗和實測實驗,驗證ACS 算法的有效性及所提方法的可行性。
隨機選取分布在單位球體上的1000 個點,將這些點視為處于不同位置下的重力矢量,即當地重力值。誤差參數的設定如表1 所示。

表1 加速度計誤差參數設置Tab.1 Accelerometer error parameter setting
將加入誤差后的點作為加速度計的測量值點。當地重力值和測量值在空間上的分布如圖 3 所示(g=9.8m/s2)。其中三角點“Δ”表示測量值點,星花點“*”表示當地重力值點。

圖3 重力值點與測量值點Fig.3 Gravity value points and measured value points
算法的初始參數設置如表2 所示。

表2 ACS 算法初始參數Tab.2 Initial parameters of ACS algorithm
將目標函數式(11)設置為適應度函數,經ACS 算法標定結果如表3 和表4 所示。

表3 誤差矩陣1Tab.3 Error matrix 1
從表3 和表4 中可以看出ACS 算法標定的誤差參數和設定參數基本一致,準確地標定出了加速度計的誤差參數。標定后的加速度如圖4 中方塊點“□”所示??梢钥闯鰳硕ê髷祿c和當地重力值點基本重合。

表4 零偏誤差1Tab.4 Zero offset error 1

圖4 校準前后點的分布Fig.4 Distribution of points before and after calibration
為驗證ACS 算法標定加速度計的準確性,將ACS算法、CS 算法和PSO 算法的標定結果進行對比。三種算法采用相同的初始參數設置(表2),且采用相同的適應度函數。表5 和表6 給出了三種算法標定的誤差參數。

表5 誤差矩陣2Tab.5 Error matrix 2
從表5 和表6 中可以看出CS 算法和ACS 算法都準確地標定出了加速度計的誤差參數,PSO 算法由于陷入局部最優情況,導致標定結果與設定值相差較大。

表6 零偏誤差2Tab.6 Zero offset error 2
為驗證對CS 算法自適應改進的有效性,將CS算法和ACS 的初始參數設置一致,比較兩種算法的收斂速度和迭代次數。表7 展示了CS 算法和ACS 算法在不同數量數據點下的平均迭代次數。圖5(a)和圖5(b)分別為1000 個數據點下ACS 算法與CS 算法迭代次數和適應度值的關系圖。

表7 改進前后算法平均迭代次數Tab.7 The average iteration times of the algorithm before and after improvement

表7 中可以看出ACS 算法的迭代次數有明顯的下降。當數據點數為100 時,ACS 算法的平均迭代次數比CS 算法減少了約140 代左右,降低了22%;當數據點數為1000 時,ACS 算法的平均迭代次數下降了約120 代左右,降低了16%。圖5(a)和圖5(b)的對比可以看出,在相同迭代次數時,ACS 算法的適應度函數值下降得更快。

圖5 兩種算法的迭代次數和適應度值Fig.5 Iteration number and fitness values of the two algorithms
為進一步評估ACS 算法現場標定方法的有效性,對三軸MEMS 加速度計MPU6050 進行實驗驗證。
首先將包含加速度計的載體安裝在如圖6 所示的無磁雙軸轉臺上,在靜基座條件下獲取不同位置的重力加速度值。

圖6 雙軸轉臺和載體傳感器Fig. 6 Dual-axis turntable and carrier sensor
通過操作轉臺,使載體俯仰角按0 °,30 °,60 °,90 °,120 °,150 °,180 °旋轉,對應的航向角旋轉次數和角間隔為1,0 °;8,45 °;14,25.7143 °;16,22.5 °;14,25.7143 °;8,45 °;1,0 °。將這62 個位置下的加速度計輸出值進行存儲,使用ACS 算法標定加速度計。將算法標定的誤差參數與實驗室標定法的誤差參數進行對比。實驗室標定法[12]的參數如表8所示,ACS 算法標定的參數如表9 所示。

表8 實驗室標定結果Tab.8 Laboratory calibration results

表9 ACS 算法標定結果Tab.9 ACS algorithm calibration results
為了衡量兩種方法,用式(21)計算標定后的加速度誤差,并計算均方根誤差(Root-Means-Square Error, RMSE)和標準差(Standard Deviation, SD)。圖7 為總誤差的對比結果。

其中 ail為真實加速度值,為校準后加速度值,l 為測量樣本個數,
從圖7 可以看出ACS 算法現場標定法的標定誤差在峰值處明顯低于實驗室標定法的標定誤差。表10給出了兩種方法的均方根誤差和標準差。所提方法相比實驗室標定法,均方根誤差從0.1103 降低到0.0826,降低了25.11%;標準差從0.0643 降低到0.0487,降低了24.26%。

圖7 校準后總誤差對比Fig.7 Overall error comparison after calibration

表10 均方根誤差和標準差Tab.10 Root mean square error and standard deviation
考慮到現場標定與轉臺試驗測量點的差異性問題,為了驗證算法的實用性,采用六面取點進行驗證,并與傳統六面現場標定法進行對比。六面現場標定法和ACS 算法現場標定法的結果如表11 和表12 所示,校準后加速度誤差如圖8 所示。

表11 六面標定法結果Tab.11 Results of six-side calibration method

表12 ACS 算法六面標定結果Tab.12 Six-side calibration results of ACS algorithm
從圖8 和表11、12 可以看出相比于傳統六面法,ACS 標定法的標定精度穩定,校準誤差低,且對數據量并不敏感。驗證了該方法的實用性。

圖8 校準后誤差對比Fig.8 Error comparison after calibration
本文為快速、準確地標定加速度計,提出了一種基于ACS 算法的微加速度計現場標定方法。從標量約束的角度構造了目標函數,并對布谷鳥搜索算法進行了自適應改進。實驗結果表明,相比傳統六面標定法以及實驗室標定法,收斂速度更快且標定結果更加精確穩定。后續將繼續對MEMS 加速度計的隨機誤差以及陀螺儀等慣性測量儀器的標定進行深入研究,為慣性導航器件的廣泛應用夯實基礎。