慣性測(cè)量裝置 (IMU) 可廣泛用于從加速計(jì)、陀螺儀及其他傳感器持續(xù)穩(wěn)定地提供多軸位置信息。鑒于多自由度 (DOF) 特性,所有生成數(shù)據(jù)(即來自這些設(shè)備的合并數(shù)據(jù)流)會(huì)使系統(tǒng)處理器一直處于喚醒模式,并且由于要篩選原始 IMU 數(shù)據(jù)來提取有用的手勢(shì)和系統(tǒng)位置信息,因此使它們不堪重負(fù)。設(shè)計(jì)人員需要設(shè)法為主處理器減負(fù),讓其不再承擔(dān)此類篩選功能。而機(jī)器學(xué)習(xí)則可能解決這一問題。
本文將首先簡(jiǎn)要介紹 IMU 的用途,接著介紹 STMicroelectronics 的 LSM6DSO。然后,借此器件闡釋在 IMU 中添加和集成機(jī)器學(xué)習(xí)與決策樹處理功能后,為何能為主機(jī)應(yīng)用處理器分擔(dān)實(shí)時(shí)位置和運(yùn)動(dòng)處理,以及如何在實(shí)際應(yīng)用中使用這些功能。
IMU 簡(jiǎn)介
IMU 將各種運(yùn)動(dòng)傳感器集成到一個(gè)器件中,可提供高精度定位信息。IMU 可用于各種應(yīng)用,包括消費(fèi)(手機(jī))、醫(yī)療(成像)、工業(yè)(機(jī)器人)和軍工(航向跟蹤)。該裝置對(duì)傳感器的運(yùn)動(dòng)作出響應(yīng),包含以下一種或多種運(yùn)動(dòng)傳感器類型:
陀螺儀傳感器測(cè)量角度位置變化,通常以每秒度數(shù)表示。隨時(shí)間進(jìn)行角速度積分可測(cè)得行程角度,用于追蹤方向變化。陀螺儀追蹤與重力無(wú)關(guān)的相對(duì)運(yùn)動(dòng),因此來自傳感器偏置或積分的誤差會(huì)造成稱為“漂移”的位置誤差,但可以通過軟件進(jìn)行補(bǔ)償。
加速計(jì)測(cè)量線性加速度,包括設(shè)備運(yùn)動(dòng)造成的加速度分量和重力造成的加速度。加速度的測(cè)量單位為 g,1 g = 地球重力 = 9.8 米/秒2。加速計(jì)分為單軸、雙軸和三軸,分別定義為 X、Y、Z 坐標(biāo)系。
磁傳感器測(cè)量磁場(chǎng)強(qiáng)度,通常以微特斯拉 (μT) 或高斯(100 μT = 1 高斯)為單位。移動(dòng)電子設(shè)備中最常用的磁傳感器是三軸霍爾效應(yīng)磁力儀。通過計(jì)算檢測(cè)到的地球磁場(chǎng)角度,并將此測(cè)量的角度與加速計(jì)測(cè)量的重力進(jìn)行比較,即可非常精確地測(cè)量出設(shè)備相對(duì)于地磁北極的航向。
使用 IMU 的運(yùn)動(dòng)追蹤功能采用了傳感器融合技術(shù),根據(jù)已知的起點(diǎn)和方向,推導(dǎo)單一、高精度的相對(duì)設(shè)備方向和位置的估計(jì)值。傳感器融合多通過軟件,使用 IMU 制造商或應(yīng)用開發(fā)人員開發(fā)的復(fù)雜數(shù)學(xué)算法來組合 IMU 的各種運(yùn)動(dòng)傳感器輸出。
使用傳感器融合進(jìn)行位置計(jì)算可得到以下測(cè)量結(jié)果:
重力– 具體而言地球重力,不含設(shè)備感應(yīng)到的由運(yùn)動(dòng)造成的加速度。當(dāng) IMU 靜止時(shí),加速計(jì)測(cè)量重力矢量。當(dāng) IMU 運(yùn)動(dòng)時(shí),重力測(cè)量需要融合加速計(jì)和陀螺儀的數(shù)據(jù),并減去運(yùn)動(dòng)造成的加速度。
線性加速度– 等于加速計(jì)測(cè)得的設(shè)備加速度,但要通過軟件減去重力矢量。IMU 線性加速度可用于測(cè)量三維空間中的運(yùn)動(dòng)。
方向(海拔)– 歐拉角集合,包括偏航角、俯仰角和翻滾角,測(cè)量單位為度。
旋轉(zhuǎn)矢量– 由加速計(jì)、陀螺儀和磁力儀傳感器的數(shù)據(jù)組合得出。旋轉(zhuǎn)矢量表示圍繞特定軸的旋轉(zhuǎn)角度。
IMU 誤差源
陀螺儀通過角速度變化檢測(cè)方向,但隨著時(shí)間推移,陀螺儀往往會(huì)漂移,因?yàn)樗鼉H檢測(cè)變化而沒有固定的參照系。若將加速計(jì)數(shù)據(jù)添加到陀螺儀數(shù)據(jù)中,軟件可以最大限度地減小陀螺儀偏置,從而得到更準(zhǔn)確的位置估計(jì)。加速計(jì)檢測(cè)相對(duì)于重力的方向變化,該數(shù)據(jù)可用于給陀螺儀定向。
加速計(jì)對(duì)于靜態(tài)(與動(dòng)態(tài)相反)計(jì)算更準(zhǔn)確。當(dāng)系統(tǒng)已處于運(yùn)動(dòng)狀態(tài)時(shí),利用陀螺儀檢測(cè)方向要更好。加速計(jì)反應(yīng)迅速,若只使用該數(shù)據(jù),加速計(jì)抖動(dòng)和噪聲會(huì)產(chǎn)生累積誤差。此外,由于重力之類的外力,加速計(jì)往往會(huì)使加速度失真,這也會(huì)作為噪聲在系統(tǒng)中累積。對(duì)此數(shù)據(jù)進(jìn)行濾波可提高精度。
若將陀螺儀的短期精度與加速計(jì)的長(zhǎng)期精度相結(jié)合,依靠每種傳感器的優(yōu)勢(shì)來抵消或至少減輕另一種傳感器的劣勢(shì),可以獲得更精確的方向讀數(shù)。兩種傳感器類型的互補(bǔ)有助于減少誤差,但還有其他方法可用來減少誤差。
融合濾波可用來減少誤差
IMU 軟件使用濾波來最大限度地減小 IMU 數(shù)據(jù)的定位誤差。有多種濾波方法可融合傳感器數(shù)據(jù),每種方法都有不同程度的復(fù)雜性?;パa(bǔ)濾波結(jié)合了高通陀螺儀濾波和低通加速計(jì)濾波。因此,加速計(jì)數(shù)據(jù)中的高頻噪聲會(huì)在短期內(nèi)濾除,并且采用陀螺儀數(shù)據(jù)進(jìn)行平滑處理。
執(zhí)行所有這種傳感器處理、濾波和融合所需的計(jì)算能力耗能較大;對(duì)于電池供電型系統(tǒng),尤其是不需要 IMU 信息連續(xù)傳輸時(shí),這可能是個(gè)問題。對(duì)于許多嵌入式應(yīng)用,如果 IMU 可以生成中斷,將主機(jī)處理器從休眠模式喚醒,從而啟動(dòng)處理或采取某些中斷結(jié)果操作,即可明顯降低功耗。為了實(shí)現(xiàn)此功能,一些 IMU 供應(yīng)商開始在 IMU 中加入處理和決策功能。
讓 IMU 進(jìn)行思考
STMicroelectronics 的 6DOF LSM6DSO 就是一款這樣的 IMU。6DOF LSM6DSO 包含三個(gè)微機(jī)電系統(tǒng) (MEMS) 陀螺儀和三個(gè) MEMS 加速計(jì),可以檢測(cè)方向變化和手勢(shì),無(wú)需主機(jī)處理器的監(jiān)管或輔助,所有這些功能都在板上處理。在最高性能模式下運(yùn)行時(shí),該 IMU 的功耗為 0.55 毫安 (mA)。
在此模式下,LSM6DSO 可以持續(xù)監(jiān)測(cè)自身在空間中的海拔高度和運(yùn)動(dòng),并且可以在預(yù)定條件下生成中斷,喚醒主機(jī)處理器來執(zhí)行傳感器流的額外處理。使用始終保持運(yùn)轉(zhuǎn)的低功耗 IMU 很有效,因?yàn)樗屩鳈C(jī)處理器休眠,僅在必要時(shí)喚醒。這種節(jié)能方法在電池供電型系統(tǒng)中是值得嘗試和信賴的。
除了陀螺儀和加速計(jì)傳感器之外,LSM6DSO IMU 還包含一個(gè)信號(hào)調(diào)節(jié)和濾波器模塊、一個(gè)最多可運(yùn)行 16 個(gè)程序的有限狀態(tài)機(jī) (FSM)(所有程序共享可配置的通用輸出數(shù)據(jù)速率)以及一個(gè)機(jī)器學(xué)習(xí)內(nèi)核。結(jié)合使用這些資源,可以在以下情況下生成事件檢測(cè)中斷:
自由落體
喚醒
6DOF 方向
單擊和雙擊檢測(cè)
活動(dòng)/非活動(dòng)識(shí)別
靜止/運(yùn)動(dòng)檢測(cè)
信號(hào)調(diào)節(jié)塊應(yīng)用存儲(chǔ)在靈敏度寄存器中的轉(zhuǎn)換系數(shù),換算原始傳感器數(shù)據(jù)。然后,將原始 IMU 傳感器數(shù)據(jù)流轉(zhuǎn)換為 16 位半精度浮點(diǎn) (HFP) 格式,以便 FSM 可以理解。IMU 的 MEMS 傳感器(加速計(jì)和陀螺儀)以及兩個(gè)模數(shù)轉(zhuǎn)換器 (ADC) 和四個(gè)濾波器塊如圖 1 所示。濾波器塊用于將 MEMS 傳感器的模擬信號(hào)轉(zhuǎn)換為濾波后的數(shù)字?jǐn)?shù)據(jù)流。
可編程 FSM 由一個(gè)配置塊和 16 個(gè)程序塊組成。FSM 配置塊對(duì)整個(gè) FSM 進(jìn)行配置和控制。對(duì)于 16 個(gè) FSM 程序塊,每個(gè)塊都由輸入選擇器塊和代碼塊組成(圖 2)。這兩個(gè)塊都由寫入 IMU 內(nèi)部寄存器的數(shù)值來控制。
輸入選擇器塊將選定的輸入數(shù)據(jù)從一個(gè) IMU 內(nèi)部傳感器或連接到 IMU 傳感器中樞的外部傳感器發(fā)送到代碼塊。IMU 傳感器中樞可以容納多達(dá)四個(gè)額外的外部傳感器,如磁力儀,這些外部傳感器可通過 I2C 端口連接到 IMU。
-
傳感器
+關(guān)注
關(guān)注
2550文章
51035瀏覽量
753066 -
處理器
+關(guān)注
關(guān)注
68文章
19259瀏覽量
229650 -
IMU
+關(guān)注
關(guān)注
6文章
306瀏覽量
45726
原文標(biāo)題:IMU:通過板載機(jī)器學(xué)習(xí)讓主機(jī)休眠
文章出處:【微信號(hào):cirmall,微信公眾號(hào):電路設(shè)計(jì)技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論