將新6軸IMU與DSP結(jié)合實(shí)現(xiàn)高性能運(yùn)動跟蹤精度
高性能運(yùn)動跟蹤技術(shù)已從深奧的軍事,航空電子,船舶和工業(yè)應(yīng)用轉(zhuǎn)移到不斷擴(kuò)展的消費(fèi)應(yīng)用領(lǐng)域。盡管如此,將高性能運(yùn)動跟蹤引入消費(fèi)者市場往往迫使設(shè)計(jì)人員協(xié)調(diào)相互沖突的目標(biāo),特別是在成本,功耗和計(jì)算資源方面。
然而,由于MEMS設(shè)計(jì)和制造的進(jìn)步新一代慣性測量單元(IMU)正在幫助設(shè)計(jì)人員提供更高水平的性能,同時減少妥協(xié)。
本文將在介紹新的6軸IMU之前概述設(shè)計(jì)問題和權(quán)衡。承諾從主處理器卸載計(jì)算密集型操作。它還將討論新的計(jì)算分區(qū)策略,幫助設(shè)計(jì)人員在顯著降低的系統(tǒng)功率水平下實(shí)現(xiàn)更高水平的運(yùn)動跟蹤精度。最后,將討論新的最佳估計(jì)算法和開發(fā)工具包,以便開發(fā)人員構(gòu)建更高效的傳感器融合解決方案。
傳感器性能權(quán)衡
通常,消費(fèi)者設(shè)備必須優(yōu)化低成本。傳統(tǒng)上,使用MEMS運(yùn)動傳感的消費(fèi)系統(tǒng)設(shè)計(jì)人員在對數(shù)據(jù)進(jìn)行進(jìn)一步處理之前,選擇將加速度計(jì)和陀螺儀樣本從IMU傳輸?shù)綉?yīng)用處理器(AP)或傳感器集線器控制器。
然而,精確運(yùn)動跟蹤需要大量計(jì)算資源來執(zhí)行與當(dāng)前可用的6軸和9軸IMU的傳感器融合。在這些應(yīng)用中,設(shè)計(jì)人員必須支持至少幾百赫茲或更高的采樣率。設(shè)計(jì)人員一直在努力以低成本提供高水平的性能,而不會使系統(tǒng)處理器過載并破壞用戶體驗(yàn)。
設(shè)計(jì)人員面臨的另外兩個問題是上市時間和最小化功耗。鑒于所有傳感器隨時間漂移,校準(zhǔn)是開發(fā)高度準(zhǔn)確和一致的運(yùn)動跟蹤子系統(tǒng)的關(guān)鍵。編寫自動校準(zhǔn)算法是一種選擇,但它所花費(fèi)的時間經(jīng)常與消費(fèi)者市場中常見的上市時間較短的窗口相沖突。隨著高性能跟蹤進(jìn)入便攜式和無線系統(tǒng),系統(tǒng)功耗的限制提供了額外的障礙。開發(fā)人員努力提供高精度運(yùn)動跟蹤所需的大量計(jì)算資源,同時優(yōu)化電池壽命。
最近的一些技術(shù)進(jìn)步有望使開發(fā)人員的工作變得更加容易。新的6軸IMU現(xiàn)在配備了先進(jìn)的矢量數(shù)字信號處理(DSP)協(xié)處理器,承諾從主處理器卸載計(jì)算密集型操作。與此同時,新的計(jì)算分區(qū)策略正在幫助設(shè)計(jì)人員在顯著降低系統(tǒng)功率水平的情況下實(shí)現(xiàn)更高水平的運(yùn)動跟蹤精度。最后,基于擴(kuò)展卡爾曼濾波理論的新的最優(yōu)估計(jì)算法現(xiàn)在允許開發(fā)人員構(gòu)建更有效的傳感器融合解決方案。
智能IMU
新一代MEMS IMU的一個很好的例子是FIS1100最初由Fairchild開發(fā),現(xiàn)在是安森美半導(dǎo)體的一部分。這款智能MEMS傳感器模塊集成了一個3軸加速度計(jì)和一個3軸陀螺儀,并為可選的外部第三方3D磁力計(jì)提供輸入。當(dāng)與XKF3傳感器融合庫和3D磁力計(jì)一起使用時,F(xiàn)IS1100提供完整的9自由度(9DOF)解決方案(圖1)。
IMU的一個關(guān)鍵組件是AttitudeEngine,這是一種定制矢量DSP協(xié)處理器,能夠以高內(nèi)部采樣率編碼高頻運(yùn)動,同時保持任何輸出數(shù)據(jù)速率(ODR)的完全精度。這允許協(xié)處理器以在通用系統(tǒng)處理器上執(zhí)行相同計(jì)算所需功率的一小部分來處理慣性數(shù)據(jù)。
使用FIS1100,設(shè)計(jì)人員可以使用協(xié)處理器從主機(jī)卸載計(jì)算密集型操作處理器,無需頻繁的數(shù)據(jù)中斷,并允許系統(tǒng)處理器更長時間保持睡眠模式。這種專用硬件模塊可以將運(yùn)動信號處理功耗降低10倍,而不會影響精度。
將新6軸IMU與DSP結(jié)合實(shí)現(xiàn)高性能運(yùn)動跟蹤精度圖1:在典型應(yīng)用中FIS1100 IMU通過主I 2 C接口將其嵌入式3軸陀螺儀和3軸加速度計(jì)與第三方磁力計(jì)集成在一起。應(yīng)用處理器通過SPI 4線接口管理此9DOF解決方案。 (圖像:安森美半導(dǎo)體)卡爾曼濾波
為了在極低功率水平下開發(fā)更高精度的運(yùn)動跟蹤解決方案,開發(fā)人員正在采用基于卡爾曼濾波理論的新的最優(yōu)估計(jì)算法。通常,卡爾曼濾波是一種算法,其使用隨時間觀察的一系列測量,其包含統(tǒng)計(jì)誤差和其他不準(zhǔn)確性以預(yù)測未知變量的估計(jì)。該系列往往比單次測量更精確。
卡爾曼濾波器通過使用兩步形式的反饋控制來估計(jì)過程。濾波器在某個時間估計(jì)過程狀態(tài),然后以噪聲測量的形式獲得反饋。因此,卡爾曼濾波器的方程分為兩組:時間更新方程和測量更新方程。時間更新方程負(fù)責(zé)預(yù)測(及時)當(dāng)前狀態(tài)和誤差協(xié)方差估計(jì)以獲得下一時間步的估計(jì)。測量方程負(fù)責(zé)反饋。
記錄下一次測量的結(jié)果后,使用加權(quán)平均值更新估算值。在這個過程中,更高的確定性給予估計(jì)更多的權(quán)重。
重要的是要記住卡爾曼濾波算法是遞歸的。這使得實(shí)際實(shí)施更加可行。
與設(shè)計(jì)為直接針對每個估計(jì)對所有數(shù)據(jù)進(jìn)行操作的其他方法不同,卡爾曼濾波器理論遞歸地調(diào)整所有過去測量的當(dāng)前估計(jì)。它可以僅使用當(dāng)前輸入測量值和先前計(jì)算的狀態(tài)及其不確定性矩陣實(shí)時運(yùn)行。不需要額外的過去信息。
傳感器融合的進(jìn)展
上述卡爾曼濾波技術(shù)由XSENS的工程師使用,XSENS是Fairchild于2014年收購的傳感器融合軟件開發(fā)商。該團(tuán)隊(duì)創(chuàng)建了一種稱為XKE3的最佳估計(jì)算法,可在極低功率下提高運(yùn)動跟蹤性能。 XKE3傳感器融合是一個二進(jìn)制軟件庫,集成了3D加速度計(jì),3D陀螺儀和3D磁力計(jì)數(shù)據(jù),用于計(jì)算地球固定參考系中的3D方向。 XKE3算法的可靠性已經(jīng)確立;它們已經(jīng)在軍事和工業(yè)應(yīng)用中使用了十多年。
通過捆綁FIS1100,其3軸加速度計(jì)和3軸陀螺儀與第三方磁力計(jì)和XKE3傳感器融合軟件,ON Semiconductor為開發(fā)人員提供完整的9DOF解決方案。此外,這種捆綁式解決方案通過提供滾動,俯仰和偏航方向規(guī)范,大大簡化了系統(tǒng)開發(fā)。
傳統(tǒng)上,需要添加運(yùn)動跟蹤功能的設(shè)計(jì)人員必須通過古老的傳感器級規(guī)范,并學(xué)習(xí)復(fù)雜的運(yùn)動處理基礎(chǔ)知識?,F(xiàn)在,他們有一個提供滾動,俯仰和偏航規(guī)格的解決方案,使他們能夠在構(gòu)建第一個原型之前了解所期望的航向性能。
在微控制器或應(yīng)用處理器上運(yùn)行,XKE3庫收集運(yùn)動來自FIS1100的數(shù)據(jù)以可配置的速率。在這個9軸解決方案中(圖1,再次),F(xiàn)IS1100以相對較高的頻率(1 kHz)對加速度計(jì)和陀螺儀數(shù)據(jù)進(jìn)行采樣,并將其發(fā)送到AttitudeEngine協(xié)處理器,該協(xié)處理器以高精度執(zhí)行捷聯(lián)式積分(SDI)計(jì)算。協(xié)處理器還將磁力計(jì)數(shù)據(jù)與慣性數(shù)據(jù)同步,以獲得克隆和劃分補(bǔ)償方向和速度增量,以及可選的磁力計(jì)數(shù)據(jù),并將其全部傳輸?shù)絏KE3引擎。
XKE3起著關(guān)鍵作用在傳感器校準(zhǔn)中。例如,從振動和溫度到設(shè)備老化和機(jī)械應(yīng)力的各種過程可以隨時間改變磁力計(jì)輸出。通常,校準(zhǔn)參數(shù)的這些變化非常微妙。 XFK3使用零用戶交互校準(zhǔn)補(bǔ)償這些變化,該校準(zhǔn)可連續(xù)自動校準(zhǔn)每個傳感器以查找最重要的錯誤。這消除了用戶中斷的需要。
計(jì)算分區(qū)
FIS1100和XKE3以更低功率改善運(yùn)動跟蹤性能的另一個關(guān)鍵因素是使用創(chuàng)新的計(jì)算分區(qū)策略。傳統(tǒng)上,設(shè)計(jì)人員將加速度計(jì)和陀螺儀樣本從IMU流式傳輸?shù)街魈幚砥?,然后主處理器?zhí)行慣性量的SDI。該架構(gòu)如圖2所示。然后,傳感器融合算法使用積分值來提供所需的輸出。
將新6軸IMU與DSP結(jié)合實(shí)現(xiàn)高性能運(yùn)動跟蹤精度圖2:在傳統(tǒng)架構(gòu)的描述中,加速度計(jì)和陀螺儀樣本直接從IMU流式傳輸?shù)街魈幚砥?,以?zhí)行慣性量的SDI。 (圖片:安森美半導(dǎo)體)采用這種架構(gòu),加速度計(jì)和陀螺儀信號從IMU到主處理器的高速流傳輸對于保持運(yùn)動跟蹤精度是必要的。然而,由于最終應(yīng)用所需的更新速率僅為幾赫茲,適用于行人導(dǎo)航,高達(dá)30至60赫茲的游戲,健身追蹤和機(jī)器人控制等應(yīng)用,因此無需向主處理器進(jìn)行高速數(shù)據(jù)傳輸。 。甚至更高性能的應(yīng)用,如虛擬和增強(qiáng)現(xiàn)實(shí)只需要大約100赫茲。在這種情況下,設(shè)計(jì)人員只需要以高速率傳輸數(shù)據(jù),以便對加速度和角速度進(jìn)行精確的數(shù)值積分。
然而,設(shè)計(jì)人員仍然需要為高速流數(shù)據(jù)付出代價。該架構(gòu)迫使主處理器處理更頻繁的數(shù)據(jù)中斷,防止它盡可能頻繁地進(jìn)入睡眠模式。因此,整體系統(tǒng)功耗上升。
緩解此問題的一種方法是在IMU側(cè)使用FIFO緩沖器。不幸的是,這種方法帶來了新的問題,例如:
主機(jī)處理器需要處理更多數(shù)據(jù)
SPI/I上總線爭用/沖突的可能性增加 2 當(dāng)多個外設(shè)共享同一總線時無線應(yīng)用中丟包概率較高
對高速串行總線模式的需求增加主機(jī)處理器上的DMA支持設(shè)計(jì)人員可以通過將算法分割為在FIS1100上運(yùn)行的高性能部分,大大減少系統(tǒng)處理器的計(jì)算負(fù)荷,F(xiàn)IS1100是運(yùn)行的低速段XKE3引擎,然后使用FIS1100在IMU端實(shí)現(xiàn)SDI算法(圖3)。當(dāng)系統(tǒng)以高精度,3D融合模式運(yùn)行并進(jìn)行全自動校準(zhǔn)時,這種方法更有用。
將新6軸IMU與DSP結(jié)合實(shí)現(xiàn)高性能運(yùn)動跟蹤精度圖3:隨著通過上述架構(gòu),設(shè)計(jì)人員可以在FIS1100 AttitudeEngine上執(zhí)行高數(shù)據(jù)速率SDI計(jì)算,并將低速率方向和速度增量流式傳輸?shù)街鳈C(jī)端運(yùn)行的XKF3傳感器融合算法,從而獲得更高的功效。 (圖像:安森美半導(dǎo)體)此外,通過在XKE3引擎上以非常低的采樣率運(yùn)行狀態(tài)跟蹤部分,設(shè)計(jì)人員可以跟蹤更多的狀態(tài),實(shí)現(xiàn)多個校準(zhǔn)的統(tǒng)計(jì)最優(yōu)跟蹤參數(shù)不用支付系統(tǒng)資源的罰金。
在AttitudeEngine模式下運(yùn)行FIS1100,設(shè)計(jì)人員可以通過將加速度計(jì)和陀螺儀信號轉(zhuǎn)換為數(shù)字域,以及使用寬帶約200 Hz的低通濾波器來實(shí)現(xiàn)這一目標(biāo)。這允許AttitudeEngine在硬件中以1 kHz輸入速率執(zhí)行SDI計(jì)算,確保來自運(yùn)動積分的數(shù)字計(jì)算的任何誤差都可以忽略不計(jì)。
將FIS1100流運(yùn)動數(shù)據(jù)編碼為方向和速度增量代替?zhèn)鹘y(tǒng)的角速度和加速度樣本,計(jì)算是準(zhǔn)確的,與所選擇的輸出速率無關(guān)。低輸出率導(dǎo)致運(yùn)動數(shù)據(jù)的較粗略時間表示,但數(shù)據(jù)保持準(zhǔn)確。因此,可以根據(jù)特定的應(yīng)用要求選擇輸出速率,而不是由高精度執(zhí)行數(shù)值積分的需要驅(qū)動。
使用這種創(chuàng)新架構(gòu),設(shè)計(jì)人員可以獲得多種好處:
在專用硬件而非主處理器上運(yùn)行SDI可顯著降低功耗無論選擇的輸出數(shù)據(jù)速率如何,運(yùn)動信息都保持準(zhǔn)確將SDI功能移至該體系結(jié)構(gòu)的IMU端通過降低計(jì)算需求簡化了系統(tǒng)集成開發(fā)套件以啟動設(shè)計(jì)
構(gòu)建高精度運(yùn)動跟蹤解決方案可能需要大量時間和精力。為加速分析系統(tǒng)性能和精度,以及簡化硬件集成和嵌入式軟件集成,安森美半導(dǎo)體為FIS1100提供評估套件。該套件提供FIS1100的評估系統(tǒng),結(jié)合XKE3傳感器融合庫,F(xiàn)IS1100的參考驅(qū)動程序,以及ARM?Cortex?-M微控制器的示例傳感器融合項(xiàng)目。
評估套件是通過易于使用的MT管理器Windows GUI應(yīng)用程序進(jìn)行管理。評估首先將Arduino兼容的FEBFIS1100 MEMS_IMU6D3X屏蔽層安裝到NXP LPCXPRESSO54102 MCU板上,如圖所示(圖4)。然后,MCU板通過USB電纜連接到主機(jī)PC。
將新6軸IMU與DSP結(jié)合實(shí)現(xiàn)高性能運(yùn)動跟蹤精度圖4b
圖4:FIS1100評估套件通過提供安裝與Arduino UNO R3兼容的FEBFIS1100MEMS_IMU6D3X屏蔽的雙板組(a),簡化了系統(tǒng)性能分析和軟件與硬件集成恩智浦LPCXpresso54102 ARM Cortex-M開發(fā)板(b)。 (圖片:安森美半導(dǎo)體)安裝驅(qū)動程序后,用戶啟動MT Manager應(yīng)用程序,自動掃描已連接的系統(tǒng)和顯示器。當(dāng)開發(fā)人員在設(shè)備列表中選擇評估工具包時,他們可以通過打開輸出配置面板來管理系統(tǒng)操作參數(shù)??梢酝ㄟ^輸出配置對話框屏幕配置FIS1100和XKE3融合庫的所有主要功能。
為了幫助解釋傳感器數(shù)據(jù),MT Manager提供了許多有用的可視化工具。 3D方向視圖提供評估板的3D方向的表示。慣性數(shù)據(jù)視圖有助于用戶理解XKE3融合庫輸出的慣性和磁場數(shù)據(jù)。包括對典型傳感器誤差的校正,例如陀螺儀偏差和磁性硬鐵和軟鐵扭曲。對于需要跟蹤系統(tǒng)短期運(yùn)動的用戶,例如手臂相對于軀干的運(yùn)動,速度數(shù)據(jù)視圖提供了XKE3融合庫的高通速度輸出的圖形利用。
結(jié)論
高性能運(yùn)動跟蹤功能不再局限于神秘的軍事和航空電子應(yīng)用。如今,在對成本敏感的消費(fèi)者市場中開發(fā)相同功能的需求正在快速增長。如上所述,設(shè)計(jì)人員現(xiàn)在可以應(yīng)用新一代智能,低噪聲,低漂移的IMU。計(jì)算分區(qū)的新方法和傳感器融合軟件的進(jìn)步使這種轉(zhuǎn)變成為可能。