, , ,
(同濟(jì)大學(xué) 機(jī)械與能源工程學(xué)院,上海 201804)
應(yīng)變式力傳感器是使用最為廣泛的一種測力傳感器,具有較高的靈敏度和精度,并且適用于靜態(tài)和動(dòng)態(tài)測量。由于電阻應(yīng)變計(jì)、傳感器機(jī)械本體和信號(hào)調(diào)理電路的熱噪聲、環(huán)境噪聲和電磁噪聲,輸出信號(hào)會(huì)出現(xiàn)較大的信號(hào)漂移,即傳感器在恒定加載時(shí),輸出信號(hào)不穩(wěn)定,波動(dòng)較大,且不具有明顯規(guī)律[1]。隨機(jī)噪聲的出現(xiàn)對傳感器的靜動(dòng)態(tài)性能測量精度影響較大,甚至導(dǎo)致無法進(jìn)行標(biāo)定。
卡爾曼濾波是一種高效率的自回歸濾波器,能夠從一系列的不完全和包含噪聲的測量中,估計(jì)動(dòng)態(tài)系統(tǒng)的狀態(tài)[2]。它根據(jù)前一時(shí)刻的狀態(tài)估值和當(dāng)前時(shí)刻的觀測值遞推估計(jì)出新的狀態(tài)估值,因此,卡爾曼濾波對信號(hào)的平穩(wěn)性和時(shí)不變性不做要求,并且不需要存儲(chǔ)歷史數(shù)據(jù),適合于實(shí)時(shí)信號(hào)處理。
本文以數(shù)字信號(hào)處理器(DSP)和A/D轉(zhuǎn)換器設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)為硬件電路平臺(tái),以實(shí)驗(yàn)室自主研制的應(yīng)變式單維力傳感器為研究對象,采用卡爾曼濾波算法實(shí)現(xiàn)了對傳感器輸出信號(hào)的實(shí)時(shí)濾波,有助于提高傳感器測量精度??柭鼮V波程序通過Matlab仿真實(shí)現(xiàn),最后在CCS(code composer studio)開發(fā)平臺(tái)上進(jìn)行硬件驗(yàn)證。
卡爾曼濾波的研究對象是隨機(jī)線性離散系統(tǒng),其狀態(tài)方程可表示為[3]
Xk=FkXk-1+BkUk+Wk.
(1)
觀測方程為
Zk=HkXk+Vk,
(2)
式中Xk為系統(tǒng)的狀態(tài)向量,Fk為狀態(tài)轉(zhuǎn)移矩陣,Bk為輸入控制矩陣,Uk為控制向量,Wk為過程噪聲,其符合均值為0,協(xié)方差矩陣為Qk的正態(tài)分布,Wk~N(0,Qk)。
Zk為系統(tǒng)的觀測向量,Hk為觀測矩陣,Vk為觀測噪聲,其符合均值為0,協(xié)方差矩陣為Rk的正態(tài)分布。Vk~N(0,Rk)。
卡爾曼濾波器的濾波計(jì)算包括2個(gè)階段:預(yù)測與更新。在預(yù)測階段,濾波器使用上一狀態(tài)的估計(jì),做出對當(dāng)前狀態(tài)的估計(jì)。在更新階段,濾波器利用對當(dāng)前狀態(tài)的觀測值優(yōu)化在預(yù)測階段獲得的預(yù)測值,以獲得更為精確的新估計(jì)值。假設(shè)控制信號(hào)Uk=0,則預(yù)測狀態(tài)方程
(3)
預(yù)測誤差協(xié)方差為
(4)
更新為
(5)
更新狀態(tài)估計(jì)為
(6)
更新誤差協(xié)方差為
Pk|k=(I-KkHk)Pk|k-1.
(7)
對于力傳感器測量系統(tǒng),可以認(rèn)為過程噪聲Wk和觀測噪聲Vk是互相獨(dú)立的高斯白噪聲序列,對應(yīng)的協(xié)方差矩陣Qk和Rk可認(rèn)為是常值Q和R[4]。實(shí)際應(yīng)用中,Q和R可由對象模型和離線采集數(shù)據(jù)獲得,再根據(jù)經(jīng)驗(yàn)調(diào)整這兩個(gè)濾波參數(shù)以獲得良好的濾波性能。只要給定濾波初值0和P0,根據(jù)k時(shí)刻的觀測值Zk就能遞推出此刻的狀態(tài)估計(jì)值k|k和誤差協(xié)方差Pk|k。
應(yīng)變式力傳感器數(shù)學(xué)模型[1]如圖1所示。
圖1 應(yīng)變式力傳感器測試模型
其中,Uk為傳感器收到的載荷信號(hào),力傳感器彈性體、應(yīng)變電橋電路和信號(hào)調(diào)理電路可以等效為一階慣性環(huán)節(jié),其傳遞函數(shù)為
(8)
力傳感器輸出模擬信號(hào)經(jīng)過A/D轉(zhuǎn)換為數(shù)字量,采樣環(huán)節(jié)可以簡化為零階保持器
(9)
其中,T為采樣周期。對系統(tǒng)模型進(jìn)行離散化,即取z變換得
(10)
由圖1的數(shù)學(xué)模型得
(11)
則
(1-e-aT·z-1)x(z)=(1-e-aT)·z-1u(z).
(12)
對上式作z反變換,得差分方程
Xk=e-aT·Xk-1+(1-e-aT)Uk.
(13)
式(13)與系統(tǒng)狀態(tài)方程(1)和觀測方程(2)對比,考慮到實(shí)際模型中存在噪聲,得出力傳感器實(shí)際工作中的狀態(tài)方程和觀測方程如下
Xk=e-aT·Xk-1+(1-e-aT)Uk+Wk,
(14)
Zk=Xk+Vk.
(15)
傳感器彈性體一階固有頻率f=1 700 Hz,則式中a≈f=1 700Hz。采樣頻率f=50 kHz,則
e-aT≈1.
(16)
根據(jù)卡爾曼濾波理論,如果系統(tǒng)滿足完全隨機(jī)可控性和完全隨機(jī)可觀測性,則濾波初值0和P0選擇帶來的影響會(huì)隨著遞推次數(shù)增加而減少,因此,濾波初值可以根據(jù)經(jīng)驗(yàn)擬定,不會(huì)對濾波結(jié)果產(chǎn)生影響,算法流程圖見圖2。
圖2 卡爾曼濾波算法流程
力傳感器測試系統(tǒng)如圖3所示。以實(shí)驗(yàn)室研制的薄壁柱式單維力傳感器為研究對象,當(dāng)傳感器受力時(shí),應(yīng)變電橋輸出差分電壓,經(jīng)過信號(hào)調(diào)理電路的放大和濾波,由A/D采樣進(jìn)入DSP,DSP采集并實(shí)時(shí)使用卡爾曼濾波算法處理數(shù)據(jù),將濾波結(jié)果存儲(chǔ)到上位機(jī)軟件中。
圖3 測試系統(tǒng)框圖
圖4 A/D轉(zhuǎn)換時(shí)序圖
McBSP(multichannel buffered serial port)是一種多通道緩沖串行口,擁有二級(jí)發(fā)送緩沖寄存器和三級(jí)接收緩沖寄存器,可對連續(xù)的數(shù)據(jù)流進(jìn)行操作??梢耘cIOM-2,SPI,AC97等兼容設(shè)備直接連接,支持多通道發(fā)送和接收,串行字長度可選。McBSP包括一個(gè)數(shù)據(jù)通道和一個(gè)控制通道。數(shù)據(jù)發(fā)送引腳DX負(fù)責(zé)數(shù)據(jù)的發(fā)送,數(shù)據(jù)接收引腳DR負(fù)責(zé)數(shù)據(jù)的接收,發(fā)送時(shí)鐘引腳CLKX,接收時(shí)鐘引腳CLKR。
TMS320C6416芯片的McBSP在時(shí)鐘停止模式時(shí)與SPI接口兼容。此時(shí)多通道緩沖串口中發(fā)送器和接收器內(nèi)部同步,接收時(shí)鐘信號(hào)CLKR和發(fā)送時(shí)鐘信號(hào)CLKX在內(nèi)部相連。McBSP中DX端口數(shù)據(jù)在時(shí)鐘CLKX的上升沿采樣并逐位移入到MAX1281內(nèi)部移位寄存器,同時(shí)A/D轉(zhuǎn)換的結(jié)果在接收時(shí)鐘信號(hào)CLKR的下降沿由DR腳逐位移入到McBSP內(nèi)部數(shù)據(jù)接收寄存器(DRR)中,等待DSP處理。串口電路如圖5。
圖5 接口電路
濾波實(shí)驗(yàn)前先將力傳感器固定在標(biāo)定臺(tái)上,以采樣頻率f=50 kHz采集50×103個(gè)數(shù)據(jù),計(jì)算出平均值和方差作為濾波初值0和P0。濾波參數(shù)Q反映的是模型噪聲方差,由于模型準(zhǔn)確可定為極小值,R反映的是測量方差,由采集的50×103個(gè)數(shù)據(jù)求得。再根據(jù)經(jīng)驗(yàn)調(diào)整這兩個(gè)濾波參數(shù)以獲得良好的濾波性能,最終確定Q=1×10-6,R=2.5×10-3。
圖6為傳感器加載800 g砝碼時(shí)采樣值濾波前后結(jié)果,可見濾波值很好地抑制了隨機(jī)干擾噪聲信號(hào),保留了傳感器載荷信號(hào),有助于提高標(biāo)定精度。
圖6 標(biāo)定結(jié)果濾波前后對比
圖7和圖8為傳感器由800 g加載到1 000 g砝碼時(shí)采樣值濾波前后結(jié)果,可見卡爾曼濾波也適用于動(dòng)態(tài)加載過程,可應(yīng)用于傳感器動(dòng)態(tài)性能分析。
圖7 動(dòng)態(tài)加載濾波前結(jié)果
圖8 動(dòng)態(tài)加載濾波后結(jié)果
標(biāo)定實(shí)驗(yàn)時(shí),采用逐級(jí)加載和逐級(jí)卸載的方法采集6組濾波數(shù)據(jù),取均值得到對應(yīng)的輸入—輸出數(shù)據(jù)。Matlab編程[5]計(jì)算可得V=0.007 8+0.002 3L,非線性誤差為0.271 6 %,滯后誤差為0.130 5 %。擬合結(jié)果如圖9所示,可見擬合直線與測量數(shù)據(jù)點(diǎn)十分接近,即測量范圍內(nèi)電壓值V與載荷值L具有良好的線性關(guān)系。
本文將卡爾曼濾波算法應(yīng)用到應(yīng)變式力傳感器信號(hào)采
圖9 標(biāo)定過程擬合曲線
集系統(tǒng)中,實(shí)現(xiàn)了高速實(shí)時(shí)數(shù)據(jù)處理,可以很好地濾除測量過程噪聲。通過分析傳感器的數(shù)學(xué)模型,獲得了濾波初值和濾波參數(shù),最后在自主研制的單維力傳感器測試系統(tǒng)上進(jìn)行了實(shí)驗(yàn)驗(yàn)證。結(jié)果表明:卡爾曼濾波可以抑制隨機(jī)干擾噪聲信號(hào),保留傳感器的載荷信號(hào),適用于靜態(tài)和動(dòng)態(tài)測量過程,有利于提高傳感器的標(biāo)定精度。
參考文獻(xiàn):
[1] 許德章,葛運(yùn)建,高理富.機(jī)器人多維力傳感器標(biāo)定Kalman濾波[J].電子測量與儀器學(xué)報(bào),2006(1):100-105.
[2] 鄒振宇.基于DSP的Kalman濾波器的算法研究[D].成都:成都理工大學(xué),2012:2-15.
[3] Kalman R E.A new approach to linear filtering and prediction problems[J].Journal of Basic Engineering,1960,82(1):35-45.
[4] 周 倩.車輛組合導(dǎo)航中卡爾曼濾波器的設(shè)計(jì)及FPGA實(shí)現(xiàn)[D].北京:北京交通大學(xué),2009:7-10.
[5] 姬翠翠,朱 華,江 煒.基于Matlab和Origin實(shí)現(xiàn)測力傳感器的靜態(tài)標(biāo)定[J].傳感器與微系統(tǒng),2007(12):111-113.