精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

IMU:通過板載機器學習讓主機休眠

丫丫119 ? 來源:未知 ? 作者:肖冰 ? 2019-08-13 10:56 ? 次閱讀

慣性測量裝置 (IMU) 可廣泛用于從加速計、陀螺儀及其他傳感器持續穩定地提供多軸位置信息。鑒于多自由度 (DOF) 特性,所有生成數據(即來自這些設備的合并數據流)會使系統處理器一直處于喚醒模式,并且由于要篩選原始 IMU 數據來提取有用的手勢和系統位置信息,因此使它們不堪重負。設計人員需要設法為主處理器減負,讓其不再承擔此類篩選功能。而機器學習則可能解決這一問題。

本文將首先簡要介紹 IMU 的用途,接著介紹STMicroelectronicsLSM6DSO。然后,借此器件闡釋在 IMU 中添加和集成機器學習與決策樹處理功能后,為何能為主機應用處理器分擔實時位置和運動處理,以及如何在實際應用中使用這些功能。

IMU 簡介

IMU 將各種運動傳感器集成到一個器件中,可提供高精度定位信息。IMU 可用于各種應用,包括消費(手機)、醫療(成像)、工業機器人)和軍工(航向跟蹤)。該裝置對傳感器的運動作出響應,包含以下一種或多種運動傳感器類型:

  • 陀螺儀傳感器測量角度位置變化,通常以每秒度數表示。隨時間進行角速度積分可測得行程角度,用于追蹤方向變化。陀螺儀追蹤與重力無關的相對運動,因此來自傳感器偏置或積分的誤差會造成稱為“漂移”的位置誤差,但可以通過軟件進行補償。
  • 加速計測量線性加速度,包括設備運動造成的加速度分量和重力造成的加速度。加速度的測量單位為 g,1 g = 地球重力 = 9.8 米/秒2。加速計分為單軸、雙軸和三軸,分別定義為 X、Y、Z 坐標系。
  • 磁傳感器測量磁場強度,通常以微特斯拉 (μT) 或高斯(100 μT = 1 高斯)為單位。移動電子設備中最常用的磁傳感器是三軸霍爾效應磁力儀。通過計算檢測到的地球磁場角度,并將此測量的角度與加速計測量的重力進行比較,即可非常精確地測量出設備相對于地磁北極的航向。

使用 IMU 的運動追蹤功能采用了傳感器融合技術,根據已知的起點和方向,推導單一、高精度的相對設備方向和位置的估計值。傳感器融合多通過軟件,使用 IMU 制造商或應用開發人員開發的復雜數學算法來組合 IMU 的各種運動傳感器輸出。

使用傳感器融合進行位置計算可得到以下測量結果:

  • 重力– 具體而言地球重力,不含設備感應到的由運動造成的加速度。當 IMU 靜止時,加速計測量重力矢量。當 IMU 運動時,重力測量需要融合加速計和陀螺儀的數據,并減去運動造成的加速度。
  • 線性加速度– 等于加速計測得的設備加速度,但要通過軟件減去重力矢量。IMU 線性加速度可用于測量三維空間中的運動。
  • 方向(海拔)– 歐拉角集合,包括偏航角、俯仰角和翻滾角,測量單位為度。
  • 旋轉矢量– 由加速計、陀螺儀和磁力儀傳感器的數據組合得出。旋轉矢量表示圍繞特定軸的旋轉角度。

IMU 誤差源

陀螺儀通過角速度變化檢測方向,但隨著時間推移,陀螺儀往往會漂移,因為它僅檢測變化而沒有固定的參照系。若將加速計數據添加到陀螺儀數據中,軟件可以最大限度地減小陀螺儀偏置,從而得到更準確的位置估計。加速計檢測相對于重力的方向變化,該數據可用于給陀螺儀定向。

加速計對于靜態(與動態相反)計算更準確。當系統已處于運動狀態時,利用陀螺儀檢測方向要更好。加速計反應迅速,若只使用該數據,加速計抖動和噪聲會產生累積誤差。此外,由于重力之類的外力,加速計往往會使加速度失真,這也會作為噪聲在系統中累積。對此數據進行濾波可提高精度。

若將陀螺儀的短期精度與加速計的長期精度相結合,依靠每種傳感器的優勢來抵消或至少減輕另一種傳感器的劣勢,可以獲得更精確的方向讀數。兩種傳感器類型的互補有助于減少誤差,但還有其他方法可用來減少誤差。

融合濾波可用來減少誤差

IMU 軟件使用濾波來最大限度地減小 IMU 數據的定位誤差。有多種濾波方法可融合傳感器數據,每種方法都有不同程度的復雜性?;パa濾波結合了高通陀螺儀濾波和低通加速計濾波。因此,加速計數據中的高頻噪聲會在短期內濾除,并且采用陀螺儀數據進行平滑處理。

執行所有這種傳感器處理、濾波和融合所需的計算能力耗能較大;對于電池供電型系統,尤其是不需要 IMU 信息連續傳輸時,這可能是個問題。對于許多嵌入式應用,如果 IMU 可以生成中斷,將主機處理器從休眠模式喚醒,從而啟動處理或采取某些中斷結果操作,即可明顯降低功耗。為了實現此功能,一些 IMU 供應商開始在 IMU 中加入處理和決策功能。

讓 IMU 進行思考

STMicroelectronics 的 6DOF LSM6DSO 就是一款這樣的 IMU。6DOF LSM6DSO 包含三個微機電系統 (MEMS) 陀螺儀和三個 MEMS 加速計,可以檢測方向變化和手勢,無需主機處理器的監管或輔助,所有這些功能都在板上處理。在最高性能模式下運行時,該 IMU 的功耗為 0.55 毫安 (mA)。

在此模式下,LSM6DSO 可以持續監測自身在空間中的海拔高度和運動,并且可以在預定條件下生成中斷,喚醒主機處理器來執行傳感器流的額外處理。使用始終保持運轉的低功耗 IMU 很有效,因為它讓主機處理器休眠,僅在必要時喚醒。這種節能方法在電池供電型系統中是值得嘗試和信賴的。

除了陀螺儀和加速計傳感器之外,LSM6DSO IMU 還包含一個信號調節和濾波器模塊、一個最多可運行 16 個程序的有限狀態機 (FSM)(所有程序共享可配置的通用輸出數據速率)以及一個機器學習內核。結合使用這些資源,可以在以下情況下生成事件檢測中斷:

  • 自由落體
  • 喚醒
  • 6DOF 方向
  • 單擊和雙擊檢測
  • 活動/非活動識別
  • 靜止/運動檢測

信號調節塊應用存儲在靈敏度寄存器中的轉換系數,換算原始傳感器數據。然后,將原始 IMU 傳感器數據流轉換為 16 位半精度浮點 (HFP) 格式,以便 FSM 可以理解。IMU 的 MEMS 傳感器(加速計和陀螺儀)以及兩個模數轉換器 (ADC) 和四個濾波器塊如圖 1 所示。濾波器塊用于將 MEMS 傳感器的模擬信號轉換為濾波后的數字數據流。

STMicroelectronics 的 LSM6DSO IMU 示意圖

圖 1:LSM6DSO IMU 使用兩個 ADC 將內部 MEMS 加速計和陀螺儀的模擬信號轉換為數字流。ADC 之后是四個數字濾波器,用于調節信號,以便內部 FSM 和機器學習內核以及主機處理器作出決策。(圖片來源:STMicroelectronics)

編程 FSM 由一個配置塊和 16 個程序塊組成。FSM 配置塊對整個 FSM 進行配置和控制。對于 16 個 FSM 程序塊,每個塊都由輸入選擇器塊和代碼塊組成(圖 2)。這兩個塊都由寫入 IMU 內部寄存器的數值來控制。

STMicroelectronics 的 LSM6DSO IMU 中 16 個 FSM 程序塊示意圖

圖 2:LSM6DSO IMU 中包含 16 個 FSM 程序塊,每個塊都是由輸入選擇器塊和代碼塊組成。(圖片來源:STMicroelectronics)

輸入選擇器塊將選定的輸入數據從一個 IMU 內部傳感器或連接到 IMU 傳感器中樞的外部傳感器發送到代碼塊。IMU 傳感器中樞可以容納多達四個額外的外部傳感器,如磁力儀,這些外部傳感器可通過 I2C 端口連接到 IMU。

FSM 代碼塊包含一個狀態機程序。程序塊數據段的固定部分由六個字節組成,這些字節用于定義程序的閾值數、滯后、掩碼和定時器設置。程序塊的可變數據段保存了每個程序的實際閾值、滯后、掩碼和定時器設置,如數據段固定部分中存儲的數值所定義。

數據段的固定部分還定義了代碼塊存儲器占用空間中可變部分的大小、可編程復位向量和程序計數器。由于這些數值都是 8 位,因此每個 FSM 程序最大字節數為 256。

程序塊的指令段包含了實際的 FSM 程序。程序指令包括各種操作碼,用于對照閾值檢查傳感器輸入、檢查過零以及檢查定時器值以判斷是否超時。操作碼還指定了由當前 FSM 狀態轉移到下一個 FSM 狀態所需的條件。此外,有些指令操作碼用于以下操作:選擇存儲在程序塊可變數據段中的閾值和掩碼;設置 IMU 傳感器中樞多路選擇器,以連接到四個可能的外部傳感器之一;以及對中斷進行斷言。

每個 FSM 程序都可以生成中斷,并根據所選擇的輸入信號,修改相應的寄存器值。這些寄存器值用于將數據從 IMU 傳送到主機處理器。

FSM 可視為缺少算術邏輯單元的微處理器。FSM 可以作出選擇、執行比較,并根據比較結果決定下一個狀態。但 FSM 只能根據比較結果計算布爾值。

FSM 并不是微處理器。它可以進行比較,并根據比較結果對程序流程進行簡單的更改。FSM 是很簡單的機器,因而可直接用 FSM 操作碼進行編程。FSM 沒有高級語言編譯器,但程序通常很簡單,不需要編譯器。

使用 FSM

LSM6DSO IMU 的 FSM 可以經過編程,生成由預定義運動模式激活的中斷信號。FSM 可同時運行多達 16 個獨立程序以檢測運動。每個 FSM 程序由一系列 "if-then-else" 步驟組成,以 LSM6DSO 的加速計和陀螺儀的傳感器數據流作為輸入。如果任何 FSM 程序檢測到與預編程模式相匹配的狀態,FSM 就會向主機處理器生成中斷。

在 16 個可用的 FSM 程序中,每個都包含三個存儲器段,分別用于固定數據、可變數據和指令。單個 FSM 程序框圖如圖 3 所示。

STMicroelectronics 的 LSM6DSO IMU 中的 FSM 示意圖

圖 3:STMicroelectronics 的 LSM6DSO IMU 中的 FSM 包含 16 個代碼塊,每個代碼塊包含三個存儲器段,分別用于固定數據、可變數據和指令。(圖片來源:STMicroelectronics)

代碼塊中單個程序的結構由存儲器塊中的三個區段組成:

  • 固定數據段,在所有 FSM 程序中,這部分大小均相同
  • 可變數據段,這部分大小可變
  • 指令段,包含條件和命令

對每個 FSM 代碼塊進行編程時,需要將決定 FSM 行為的編程值加載到這三個存儲器段中。STMicroelectronics 在可下載Unico 評估開發軟件與開發環境中,提供了 FSM 編程工具。STMicroelectronics 還在 Unico 開發工具中隨附了幾個 FSM 樣例程序,以幫助用戶學習 FSM 編程。這些樣例程序演示了幾種基于 IMU 的中斷場景,包括:

  • 基本計步器
  • 自由落體的系統
  • 簡單的運動檢測
  • 被拿起的系統
  • 搖擺的系統
  • 停止運動(靜止)的系統
  • 手腕傾斜

FSM 樣例程序演示了各種 FSM 功能的使用。任何這些樣例程序都可以安裝到STEVAL-MKI109V3eMotion STM32 評估板等 IMU 演示平臺中,這個平臺帶有一個 28 針的插座,可插入 LSM6DSOSTEVAL-MKI197V1IMU 適配器板。若要使用其中一個樣例程序對 STEVAL-MKI109V2 板進行編程,只需在 Unico 開發環境中點擊數下即可完成。

然而,LSM6DSO 卻遠不止這么簡單。

機器學習核心

LSM6DSO IMU 還包含了一個更復雜的可編程模式匹配引擎,稱作機器學習核心。這樣可以使用來自內部 IMU 傳感器和任何所連接外部傳感器的多個傳感器數據流,來識別各類運動??勺R別的活動類別包括靜止(無運動)、步行、慢跑、騎行和駕駛?;顒臃诸悇t采用機器學習核心的決策樹形式。

機器學習核心由三個塊組成:傳感器數據塊、計算塊和決策樹(圖 4)。機器學習核心的傳感器數據塊匯集了來自 IMU 內部加速計和陀螺儀以及通過 I2C 接口連接到 IMU 的任何外部傳感器的數據流。計算塊可使用預定義的濾波參數對傳感器數據進行濾波,并且計算窗口統計數據,包括傳感器數據的均值、方差、峰峰幅度、最小值、最大值和過零。決策樹將傳感器數據統計值與閾值進行比較,對輸入數據進行分類。

STMicroelectronics 的 LSM6DSO IMU 的機器學習核心示意圖

圖 4:STMicroelectronics 的 LSM6DSO IMU 的機器學習核心由三個塊組成:傳感器數據塊,用于匯集來自內部和外部傳感器的數據流;計算塊,用于對傳感器數據進行濾波和統計計算;以及決策樹,根據計算的統計信息對活動進行分類。(圖片來源:STMicroelectronics)

與 LSM6DSO 的 FSM 一樣,Unico 開發環境中的專用工具可對 IMU 的機器學習核心進行編程。

有限狀態機和機器學習核心也可與主機處理器結合使用,實現更為復雜的位置跟蹤算法。STMicroelectronics 可下載的X-CUBE-MEMS1軟件包可用于該公司STM32Cube 開發系統,并且包括以下樣例軟件例程:

  • 活動識別– 提供有關用戶正在執行的活動類型信息,包括保持靜止、步行、健走、慢跑、騎行或駕駛。該算法常用于手機或某些可穿戴設備。
  • 運動持續時間檢測– 與計步器數據結合使用時,運動持續時間檢測可用于確定用戶活動的秒數。該算法常用于可穿戴健身或健康跟蹤設備。
  • 振動或運動強度檢測– 提供有關用戶運動強度的信息,可識別的運動強度范圍為 0(靜止)到 10(全速跑)。該算法常用于手機或某些可穿戴健身設備。
  • 攜帶位置識別– 提供有關用戶如何攜帶設備的信息,可區分以下位置:靜置桌面、手持、貼近頭部、襯衣口袋中、褲子口袋中、夾克口袋中以及戴在擺動手臂上。該算法常用于手機或其他可攜帶設備以檢測活動相關情境。

總結

為了維持定位和使用 IMU 數據檢測運動和手勢,需要保持主機處理器持續運行,對于由電池供電的嵌入式設計來說,這一目標可能難以實現,因為主機處理器的功耗相當高。然而,新一代低功耗 IMU 的板上處理能力足以執行機器學習,允許主機處理器以低電流模式休眠,在必要時才喚醒,從而解決了這一問題。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器學習
    +關注

    關注

    66

    文章

    8381

    瀏覽量

    132428
  • IMU
    IMU
    +關注

    關注

    6

    文章

    298

    瀏覽量

    45678
收藏 人收藏

    評論

    相關推薦

    什么是機器學習?通過機器學習方法能解決哪些問題?

    來源:Master編程樹“機器學習”最初的研究動機是計算機系統具有人的學習能力以便實現人工智能。因為沒有學習能力的系統很難被認為是具有智能
    的頭像 發表于 11-16 01:07 ?248次閱讀
    什么是<b class='flag-5'>機器</b><b class='flag-5'>學習</b>?<b class='flag-5'>通過</b><b class='flag-5'>機器</b><b class='flag-5'>學習</b>方法能解決哪些問題?

    人工智能、機器學習和深度學習存在什么區別

    人工智能指的是在某種程度上顯示出類似人類智能的設備。AI有很多技術,但其中一個很大的子集是機器學習——算法從數據中學習。
    發表于 10-24 17:22 ?2451次閱讀
    人工智能、<b class='flag-5'>機器</b><b class='flag-5'>學習</b>和深度<b class='flag-5'>學習</b>存在什么區別

    干貨分享 | TSMaster—LIN 喚醒與休眠機制

    在汽車總線中常見的喚醒方式有硬線喚醒、網絡喚醒和特定信號喚醒,而LIN總線則是通過休眠幀與喚醒電平來實現的,本文將介紹LIN的喚醒與休眠機制。本文關鍵詞:LIN網絡管理,休眠,喚醒
    的頭像 發表于 09-25 08:03 ?1381次閱讀
    干貨分享 | TSMaster—LIN 喚醒與<b class='flag-5'>休眠</b>機制

    【「時間序列與機器學習」閱讀體驗】+ 簡單建議

    這本書以其系統性的框架和深入淺出的講解,為讀者繪制了一幅時間序列分析與機器學習融合應用的宏偉藍圖。作者不僅扎實地構建了時間序列分析的基礎知識,更巧妙地展示了機器學習如何在這一領域發揮巨
    發表于 08-12 11:21

    導遠IMU賦能機器人落地

    在人工智能和大模型的推動下,機器人技術正以前所未有的速度演進,將科幻電影中的美好幻想逐步變為現實。而這一切,都離不開一項關鍵傳感器——慣性測量單元(IMU)。
    的頭像 發表于 07-11 14:37 ?461次閱讀

    機器學習算法原理詳解

    機器學習作為人工智能的一個重要分支,其目標是通過計算機自動從數據中學習并改進其性能,而無需進行明確的編程。本文將深入解讀幾種常見的
    的頭像 發表于 07-02 11:25 ?792次閱讀

    機器學習的經典算法與應用

    關于數據機器學習就是喂入算法和數據,算法從數據中尋找一種相應的關系。Iris鳶尾花數據集是一個經典數據集,在統計學習機器
    的頭像 發表于 06-27 08:27 ?1578次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>的經典算法與應用

    esp32進入深度休眠,功耗高是什么原因導致的?

    我使用的idf是4.4.3版,自己畫的板子,我現在esp32進入深度休眠,它的功耗還是高達80多uA,盡管我斷開了沒有用的外部電路,也沒有變化,在深度休眠的時候,我關了WiFi,也關掉了adc,reset了無關io口,請教一下
    發表于 06-12 07:06

    日本宇宙航空研究開發“Int-Ball2”自由飛行相機機器人采用的Epson IMU

    IMU有助于飛行的穩定控制和電池充電的自動對接-精工愛普生公司(TSE:6724,“Epson”)很高興地宣布,日本宇宙航空研究開發機構(JAXA)選擇了愛普生M-G370系列的慣性測量單元(IMU
    發表于 04-28 15:38 ?0次下載

    M-G552PC7 IMU(慣性測量單元)CAN接口

    IMU的電源被打開后自動反映在被發送到應用程序的測量數據中。 M-G552PCx通過控制器局域網(CAN)接口支持主機通信,減少了用戶引入慣性測量的技術障礙,并最
    發表于 04-28 11:22 ?0次下載

    慣性測量單元(IMU)CAN接口:M-G552PJ7

    的電源被打開后自動反映在被發送到應用程序的測量數據中。 M-G552PJ7通過控制器局域網(CAN)接口支持主機通信,該PJ7減少了用戶引入慣性測量的技術障礙,并最小
    發表于 04-26 15:35 ?0次下載

    如何做個電路充電寶不會休眠

    這個電路圖是國外一個博主做的 只能解決一部分的充電寶不休眠 R3換了一個水泥電阻5W20R的基本上都能解決充電寶休眠 但是有個問題就是 水泥電阻 發熱發熱 各位壇友 有什么好的電路解決一下這個充電寶休眠問題
    發表于 04-11 14:16

    M-G370PDF1(IMU

    的存儲器中,并且是在IMU的電源被打開后,自動反映在被發送到應用程序的測量數據中。M-G370PDF1通過支持對主機通信的通用SPI/UART功能,減少了用戶可以
    發表于 01-11 17:00 ?0次下載

    M-G370PDS慣性測量單元(IMU)

    IMU的電源被打開后,自動反映在被發送到應用程序的測量數據中。M-G370PDS0通過支持對主機通信的通用SPI/UART功能,減少了用戶可以使用的技術障礙引入慣性測
    發表于 01-11 09:55 ?1次下載

    什么是電池休眠?鋰電池休眠怎么激活?

    什么是電池休眠?鋰電池休眠怎么激活? 電池休眠是指鋰電池在長期存放或使用過程中,由于自放電和化學反應等原因,使得電池電量降低到一定程度后進入休眠狀態。而激活鋰電池
    的頭像 發表于 01-10 16:45 ?3383次閱讀