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