朱辰霄,顏陸勝,劉東滟,徐祥
(蘇州大學(xué) 電子信息學(xué)院,江蘇蘇州,215000)
目前國家高度重視自主化科技的發(fā)展,而慣性導(dǎo)航是目前國內(nèi)緊缺的高新技術(shù),市場需求多、發(fā)展?jié)摿Υ蟆.?dāng)今信息時(shí)代,在很多的行業(yè)和領(lǐng)域里,位置、姿態(tài)、運(yùn)動(dòng)信息的獲取是極為重要的。隨著科學(xué)技術(shù)的不斷發(fā)展,導(dǎo)航定位系統(tǒng)的種類越來越多,常見的有衛(wèi)星導(dǎo)航系統(tǒng)、多普勒測速儀、地圖匹配、慣性導(dǎo)航系統(tǒng)等。隨著慣性導(dǎo)航技術(shù)的不斷發(fā)展,捷聯(lián)式慣性導(dǎo)航系統(tǒng)以其結(jié)構(gòu)簡單、穩(wěn)定性高等優(yōu)點(diǎn),成為當(dāng)前慣性導(dǎo)航系統(tǒng)的主要研究方向。
慣性傳感器包括工業(yè)級(jí)和消費(fèi)級(jí)。工業(yè)級(jí)慣性傳感器一般都精度較好、穩(wěn)定性較高,但是,我國目前并沒有非常成熟的技術(shù)去制造高精度的工業(yè)級(jí)慣性傳感器,而進(jìn)口的高精度工業(yè)級(jí)慣性傳感器,其核心產(chǎn)品對(duì)我國禁運(yùn)的,并且價(jià)格昂貴。MEMS慣性傳感器雖然具有微型化、成本低等優(yōu)點(diǎn),但是單一的消費(fèi)級(jí)MEMS慣性傳感器存在測量誤差大、穩(wěn)定性差等缺陷,這會(huì)導(dǎo)致MEMS慣性導(dǎo)航系統(tǒng)獲取的姿態(tài)、運(yùn)動(dòng)數(shù)據(jù)精度差,無法滿足高新產(chǎn)業(yè)的發(fā)展需求。
因此研究價(jià)格低、精度高、穩(wěn)定性好的微慣性測量系統(tǒng)是十分有必要的。本文設(shè)計(jì)的陣列式微慣性測量系統(tǒng),通過將32個(gè)MEMS慣性傳感器的數(shù)據(jù)并行采集,然后對(duì)數(shù)據(jù)進(jìn)行均值濾波處理。使得該設(shè)計(jì)系統(tǒng)采集到的數(shù)據(jù)延遲很小,且有很高的便攜性和性價(jià)比。通過對(duì)該系統(tǒng)的研究設(shè)計(jì),不僅能提高消費(fèi)級(jí)MEMS微慣性測量單元的測量精度,還可以促進(jìn)我國慣性導(dǎo)航系統(tǒng)技術(shù)的發(fā)展,對(duì)于提升我國在 MEMS 微慣性傳感器的研究及其構(gòu)成的上游導(dǎo)航系統(tǒng)的研究,具有十分重要的意義。
慣性測量單元(IMU)全稱Inertial Measurement Unit,采用慣性定律原理,可以檢測物體的線性加速度、角速度,并將這些物理量轉(zhuǎn)換成電信號(hào)。最基礎(chǔ)的慣性傳感器包括加速度計(jì)和角速度計(jì)(陀螺儀),他們是慣性系統(tǒng)的核心部件,是影響慣性系統(tǒng)性能的主要因素。利用牛頓力學(xué)定律,由加速度可以積分得出速度、距離,角速度可以積分得到轉(zhuǎn)過的角度,結(jié)合定位、定姿算法,通過慣性傳感器就可以得到運(yùn)動(dòng)物體的位置、姿態(tài)等信息,從而可以應(yīng)用在智慧農(nóng)業(yè)、無人機(jī)的姿態(tài)控制、可穿戴設(shè)備檢測人體運(yùn)動(dòng)、無人駕駛等領(lǐng)域。
本文設(shè)計(jì)的陣列式微慣性測量系統(tǒng)的硬件結(jié)構(gòu)圖見圖1。硬件結(jié)構(gòu)主要包含MEMS傳感器陣列模塊、微處理器模塊、并行數(shù)據(jù)總線。電源模塊為所有系統(tǒng)提供電源。MEMS傳感器陣列模塊負(fù)責(zé)感知環(huán)境,采集當(dāng)前的加速度、角速度數(shù)據(jù);微處理器負(fù)責(zé)將慣性傳感器采集到的數(shù)據(jù)進(jìn)行預(yù)處理,然后通過均值濾波計(jì)算,處理得到當(dāng)前被測物體的準(zhǔn)確慣性信息,處理后的數(shù)據(jù)在微處理器中保存;并行數(shù)據(jù)總線負(fù)責(zé)實(shí)現(xiàn)多個(gè)傳感器數(shù)據(jù)同步并行采集。最終的位置、姿態(tài)數(shù)據(jù)采用串口通信傳輸?shù)接?jì)算機(jī),計(jì)算機(jī)可以對(duì)采集到的陣列傳感器數(shù)據(jù)顯示和監(jiān)測。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
處理器采用STM32H7最小系統(tǒng)電路,該微處理器的核心是高性能的ARM Cortex-M4 32位的RISC,STM32H7有較強(qiáng)的數(shù)據(jù)處理能力頻率可以達(dá)到400MHz,其也有多外設(shè)接口,這給功能擴(kuò)展提供了很大的便利,同時(shí)具有很好的兼容性,可以支持所有的單精度數(shù)據(jù)處理指令。
本文設(shè)計(jì)的慣性傳感器陣列采用消費(fèi)級(jí)慣性傳感器ICM20948。一個(gè)ICM20948芯片裝有一個(gè)3軸陀螺儀、一個(gè)3軸加速度計(jì)和一個(gè)數(shù)字運(yùn)動(dòng)處理器。ICM20948在運(yùn)動(dòng)時(shí)可以進(jìn)行校準(zhǔn),增強(qiáng)的FSYNC功能可改善EIS等應(yīng)用的時(shí)序,能在保證低成本的同時(shí)為消費(fèi)者提供最佳運(yùn)動(dòng)性能。本文設(shè)計(jì)了IIC和SPI雙通信協(xié)議,以此增加設(shè)計(jì)的兼容性。
采用IIC通信的ICM20948模塊設(shè)計(jì)的外部電路如圖2上方所示。其中32個(gè)傳感器共用同一個(gè) SCL同步時(shí)鐘線,32個(gè)傳感器分別連接一條SDA傳輸數(shù)據(jù)線到單片機(jī)的I/O口,記做SDA00~SDA31。
圖2 IIC通信與SPI通信的ICM20948電路
使用IIC 通信協(xié)議一定要注意的是 SCL 同步時(shí)鐘線和 SDA 傳輸數(shù)據(jù)線都要連接上拉電阻,以此來提高IIC總線的驅(qū)動(dòng)能力。
另一種為采用SPI通信的傳感器陣列系統(tǒng),其單個(gè)傳感器外部電路如圖2下方所示。32個(gè)傳感器共用一個(gè)SCLK時(shí)鐘信號(hào)線,MOSI為單輸出控制命令信號(hào)線,nCS為片選控制信號(hào)線,MISOx為多輸入數(shù)據(jù)信號(hào)線。
在兩種通信模式的工作模式對(duì)比上看來,SPI是4根數(shù)據(jù)線全雙工,IIC為半單工(2 線)。 IIC并行數(shù)據(jù)采集是針對(duì)只有IIC通信的微慣性傳感器而設(shè)計(jì)的,但是由于IIC通信需要獲取數(shù)據(jù)總線上的應(yīng)答信號(hào), 這使得在并行數(shù)據(jù)采集時(shí)容易出現(xiàn)誤檢測的問題。而且,IIC通信速率較低,在進(jìn)行陣列式傳感器配置時(shí),采樣頻率會(huì)受到限制,不利于系統(tǒng)性能的提升。因此,當(dāng)微慣性傳感器支持SPI通信時(shí),可以采用SPI通信設(shè)計(jì)單輸出多輸入并行數(shù)據(jù)采集方案,實(shí)現(xiàn)高采樣率、穩(wěn)定的并行數(shù)據(jù)采集。
并行數(shù)據(jù)總線負(fù)責(zé)實(shí)現(xiàn)多個(gè)傳感器數(shù)據(jù)進(jìn)行同步并行采集,然后將測量得到的數(shù)據(jù)傳入微處理器模塊進(jìn)行處理,例如均值濾波、Kalman濾波,以此將數(shù)據(jù)處理得到穩(wěn)定性更高的數(shù)據(jù)。
之所以要設(shè)計(jì)并行數(shù)據(jù)總線,是因?yàn)椴杉⑻幚矶ㄎ粩?shù)據(jù)的延遲時(shí)間是衡量實(shí)時(shí)定位系統(tǒng)的一個(gè)重要標(biāo)準(zhǔn)之一。慣性實(shí)時(shí)定位系統(tǒng)的應(yīng)用方向?qū)ψ藨B(tài)定位數(shù)據(jù)有著延遲小、精度高的要求,如果不能快速對(duì)定位信息做出判斷,輕則影響系統(tǒng)實(shí)時(shí)定位準(zhǔn)確性,重則造成事故。為了增加拓展性,廣泛參考了市面上的慣性傳感器通信協(xié)議,設(shè)計(jì)了SPI/IIC雙通信并行數(shù)據(jù)采集總線,這樣極大的增加了系統(tǒng)對(duì)慣性傳感器的兼容性,同時(shí)配合高性能的主控芯片,將多個(gè)傳感器按照一定的方式排列,使這些傳感器同步運(yùn)作。
圖3是本作品方案并行數(shù)據(jù)總線方案圖。圖中左上方為半雙工,IIC的SDA線需要交替方向通信,右上方為全雙工,SPI 的 MOSI 和 MISO 互不影響。設(shè)計(jì)里讓所有的 MEMS 傳感器共享同一條公共的時(shí)鐘線,這樣主控芯片可以同步發(fā)送相同的工作命令給各個(gè)傳感器,確保陣列內(nèi)的各個(gè)傳感器工作狀態(tài)相同,所有的MEMS傳感器的數(shù)據(jù)線連接到主控芯片的不同的 I/O 端口,當(dāng)采集到數(shù)據(jù)后,各個(gè)傳感器就會(huì)并行同步返回?cái)?shù)據(jù),這樣不存在傳輸排隊(duì)延時(shí)。
圖3 并行數(shù)據(jù)總線通信圖
陣列式微慣性測量系統(tǒng)的板載程序是基于單片機(jī)專業(yè)軟件 Keil uVision5 開發(fā)環(huán)境設(shè)計(jì),使用 C/C++語言完成開發(fā),主要包含底層硬件驅(qū)動(dòng)、傳感器標(biāo)定、通信與編碼等部分。程序運(yùn)行流程如圖4所示。
圖4 程序運(yùn)行示意圖
程序運(yùn)行開始后,首先進(jìn)行系統(tǒng)初始化,這部分內(nèi)容包括硬件外設(shè)和定位算法的初始化配置;然后,在主循環(huán)中,微處理器發(fā)出命令,同步控制各個(gè)慣性傳感器讀取加速度(g)、角速度(°/s)和磁力(uT)數(shù)據(jù);等到數(shù)據(jù)測量完成后,微處理器就會(huì)通過并行數(shù)據(jù)總線無延遲地采集數(shù)據(jù);隨后數(shù)據(jù)進(jìn)入預(yù)處理環(huán)節(jié),微處理器將數(shù)據(jù)整理,進(jìn)行多傳感器數(shù)據(jù)的標(biāo)定和多傳感器數(shù)據(jù)均值濾波算法處理,最終處理得到準(zhǔn)確的慣性數(shù)據(jù)。
進(jìn)行多傳感器均值濾波操作需要先從理論上證明均值濾波算法的科學(xué)性。慣性傳感器測量數(shù)據(jù)中一般包含比例誤差、零偏誤差和隨機(jī)噪聲等,簡化后的陣列式MEMS慣性傳感器的測量模型可表示為:
式中, 1iN=… 表示第i個(gè)MEMS慣性傳感器。其中為測量值,mbi為真值,Ci為比例矩陣,bi為偏置誤差,iη為隨機(jī)噪聲。
對(duì)式(1)模型進(jìn)行均值計(jì)算可得:
式中,
對(duì)于陣列MEMS慣性傳感器,在陣列中心定義一個(gè)載體系b,每個(gè)MEMS慣性傳感器載體系上的測量真值與中心處的測量真值關(guān)系可以表示為:
因?yàn)槊總€(gè)傳感器與PCB板焊接相連,所以ib bC為固定常值。由于iC也是固定常值,因此式(2)可表示為:
式中:
從式(6)可驗(yàn)證,對(duì)陣列式MEMS慣性傳感器測量值進(jìn)行均值計(jì)算可以等效為一個(gè)虛擬的MEMS慣性傳感器,從而也就可以對(duì)陣列式慣性傳感器系統(tǒng)采集到的數(shù)據(jù)進(jìn)行均值濾波處理。
本文設(shè)計(jì)的陣列式MEMS-IMU系統(tǒng)實(shí)物圖見圖5。電路板上緊密布局了陣列式MEMS慣性傳感器,主控芯片與各個(gè)慣性傳感器通過并行數(shù)據(jù)總線連接。設(shè)計(jì)采用MEMES慣性傳感器搭建系統(tǒng),使得電路設(shè)計(jì)緊湊,整個(gè)電路板的尺寸僅為40×61×9mm,從圖中與5角硬幣的對(duì)比,可以看出本作品具有體積小巧、便于攜帶安裝的特點(diǎn)。
圖5 陣列傳感器硬件實(shí)物
設(shè)置采樣頻率為150Hz,溫度為室溫,對(duì)陣列式微慣性測量系統(tǒng)進(jìn)行性能指標(biāo)測試,繪制兩小時(shí)內(nèi)的Allan方差曲線,圖6所示,并對(duì)其曲線做統(tǒng)一數(shù)據(jù)分析。
圖6 本作品與單個(gè)慣性傳感器Allan方差性能對(duì)比
Allan方差是量化噪聲的一種常用方法,適用于鑒別測量數(shù)據(jù)中不同類型的噪聲,可以用來評(píng)估傳感器參數(shù)穩(wěn)定性,Allan方差的值越小,傳感器精度越好。本文設(shè)計(jì)的陣列式MEMS-IMU系統(tǒng)的Allan方差曲線大幅位于單個(gè)消費(fèi)級(jí)慣性傳感器曲線下方,說明本文設(shè)計(jì)的陣列式MEMSIMU系統(tǒng)的 Allan方差顯著好于單個(gè)消費(fèi)級(jí)慣性傳感器,測量精度更高。
根據(jù)所采集的數(shù)據(jù),我們計(jì)算出了各陣列式微慣性傳感器陀螺儀和加速度計(jì)的角度隨機(jī)游走和零偏不穩(wěn)定性數(shù)據(jù),數(shù)據(jù)見表1。慣性傳感器是由加速度計(jì)和陀螺儀組成的,其零偏穩(wěn)定性和隨機(jī)游走代表著慣性傳感器的性能,這兩個(gè)數(shù)值越小說明慣性傳感器性能越好。由表1中的數(shù)據(jù)可以看出,設(shè)計(jì)的陣列式慣性測量系統(tǒng)的測量精度相較于消費(fèi)級(jí)慣性傳感器ICM20948提升了約5.7倍,實(shí)現(xiàn)了高精度測量。
表1 陣列式微慣性測量系統(tǒng)性能參數(shù)
本文針對(duì)現(xiàn)有消費(fèi)級(jí)慣性傳感器精度不佳的問題,設(shè)計(jì)了一種新型陣列式微慣性測量系統(tǒng),能夠穩(wěn)定、準(zhǔn)確的測量出載體的加速度、角速度,實(shí)現(xiàn)實(shí)時(shí)監(jiān)測載體運(yùn)動(dòng)情況,具備了高精度、小體積的特點(diǎn),具有一定的實(shí)用價(jià)值。