MEMS IMU的型號多種多樣,如何給自己的機器人選擇一個合適的IMU至關(guān)重要。本文從IMU常用參數(shù),選型需要測試哪些IMU特性,以及如何對IMU數(shù)據(jù)進行處理這三部分進行介紹。
IMU常用參數(shù)
這里列出常用的幾款消費級MEMS IMU參數(shù)對比,IMU分別是BMI055(Realsense T265 D455使用),BMI088(小覓彩色版和傲覽Avia使用),TDK ICM-42686,TDK ICM-42688(高通RB3,RB5計算平臺使用)。
1.最大量程 (Range)
ICM-42686的加速度計量程最大是32g,陀螺儀的最大量程是4000°/s,BMI088的加速度計量程是32g, BMI055,ICM-42688都是16g。這里需要根據(jù)機器人的應(yīng)用場景選擇合適的量程,量程越大其靈敏度會隨之下降,量程太小可能會有超量程情況。
2.ADC位數(shù) (ADC Word Length)
BMI055的加速度計ADC位數(shù)最小是12bit,分辨率最差。BMI088、ICM-42686和ICM-42688都是16bit,分辨率一致。
3.靈敏度 (Sensitivity)
BMI088、ICM-42686和ICM-42688的加速度計靈敏度都是2048 LSB/g,BMI055的加速度計靈敏度最低是128 LSB/g。LSB是指傳感器輸出數(shù)字量的最低有效位。例如,BMI088的ADC位數(shù)是16位,能表示的最大數(shù)字是65536,其在16g量程時的靈敏度就是65536/32=2048 LSB/g,即加速度是1g時ADC輸出的數(shù)值就是2048,數(shù)值越大代表了靈敏度越高,以上可以看出靈敏度與ADC的位數(shù)和量程有關(guān)。陀螺儀同理。
4.零偏 (Zero-g Offset/Zero-rate Offset)
BMI088和ICM-42688的加速度計零偏都是20mg,BMI055的零偏最大是70mg,TDK的陀螺儀零偏比BMI稍微小一點。
5.零偏溫漂系數(shù) (Zero-g Offset Temperature Drift/Zero-rate Offset Change over Temperature)
零偏溫漂系數(shù)反映了加速度和陀螺儀零偏的溫度敏感性,從手冊上看BMI088、ICM-42686和ICM-42688相差不大,有條件最好實際測試對比。
6.非線性 (Nonlinearity)
理想情況下,我們認為IMU的數(shù)據(jù)是線性的,但是實際環(huán)境中,IMU的數(shù)據(jù)是非線性的,特別是越靠近量程最大值,非線性就越差。
7.零偏加速度敏感性 (G-sensitivity)
理想情況下,陀螺儀的輸出應(yīng)該對加速度不敏感,由于機械設(shè)計不對稱和/或微加工不夠精確,造成陀螺儀的測量可能會受到外部加速度的影響。BMI055和BMI088的g敏感度不差,都是0.1°/s/g 或 360°/h/g,需要注意的是大多數(shù)陀螺儀的g敏感度會隨振動頻率變化而變化,因此補償方案將變得復(fù)雜,要求根據(jù)頻率改變敏感度。
8.非正交誤差 (Cross Axis Sensitivity)
理想情況下,加速度計和陀螺儀的X,Y和Z軸是完全正交的,即各軸的兩兩夾角為90度,但是由于結(jié)構(gòu)的加工誤差,很難做到完全正交。Cross-Axis Sensitivity為1%表示: 假設(shè)X軸的加速度為1g,理想情況下Y軸是無分量的。但是實際有1%的分量耦合到Y(jié)軸: 1g*1%=0.01g=10mg。
IMU特性測試
1.零偏重復(fù)性
全稱是零偏逐次上電重復(fù)性,理想情況下,IMU在相同外界條件下每次上電的零偏不變,但是實際環(huán)境中,在相同的外界條件下IMU每次上電的零偏會有差別。測量方法是在工作溫度下將IMU多次上電,記錄每次上電以后的零偏大小,然后統(tǒng)計其差異。以BMI088為例,其加速度零偏重復(fù)性如下。
2.零偏溫漂特性
對于高精度IMU模塊,廠家會對每個IMU模塊進行溫漂矯正,而對于低端MEMS IMU芯片,不可能每個都做溫漂標(biāo)定和補償,因此廠家往往給個零偏溫漂系數(shù)。測量方法是將IMU芯片加熱,記錄整個溫度區(qū)間內(nèi)的零偏大小,擬合零偏溫度特性曲線,觀察零偏在某個溫度范圍內(nèi)是否存在異常情況。測試結(jié)果可以參考零偏溫度滯回特性。
3.零偏溫度滯回特性
零偏溫度滯回特性指的是IMU在溫度上升階段和溫度下降階段對應(yīng)的零偏可能會不一致。測量方法是將IMU芯片加熱然后降溫,然后再加熱降溫,多測幾次,觀察IMU數(shù)據(jù)在對應(yīng)溫度的零偏是否一致。以BMI088為例,將其來回加熱降溫三次,其陀螺儀零偏溫度滯回特性如下。
4.振動特性
振動特性指在振動情況下,零偏隨振動頻率的變化特性。有些IMU芯片在高頻振動下,頻率特性會出現(xiàn)異常,對于無人機場景,一般要做振動特性的測試,如果IMU出現(xiàn)異常頻率特性,可以考慮加減震裝置。
5.應(yīng)力特性
應(yīng)力特性是指IMU芯片貼到PCB板上以后,PCB板會對IMU施加應(yīng)力,從而造成IMU零偏發(fā)生變化。如果IMU受到應(yīng)力后零偏變化較大,則需要將IMU貼到PCB板上以后再次矯正零偏。以BMI088為例,測試IMU模塊貼到PCB板前后的零偏變化如下。
IMU數(shù)據(jù)處理
前面已經(jīng)介紹過機器人引起的振動會對IMU數(shù)據(jù)造成影響,需要對IMU模塊做一定的減震處理,如果結(jié)構(gòu)無法做減震,則需要對IMU數(shù)據(jù)進行處理。本文取一段無人車(差速轉(zhuǎn)向,振動較大)在水泥地行駛時的IMU數(shù)據(jù)進行分析,IMU數(shù)據(jù)以200hz的采樣率采集,參考飛控使用截止頻率為15hz的巴特沃斯低通濾波器進行濾波。加速度Y軸數(shù)據(jù)波形如下:
圖中可以看出紅色濾波后的數(shù)據(jù)少了很多毛刺。對加速度數(shù)據(jù)進行FFT:
上圖可以看到原始數(shù)據(jù)在20hz以后一直有高頻噪聲干擾,濾波后的頻譜表明高頻噪聲干擾已經(jīng)基本被去除,而且低頻段的頻譜沒有失真。
參考文獻
程序便利店的博客_dshxxxxxxx_CSDN博客-C++,Sensor領(lǐng)域博主
聯(lián)系客服