IMU使用概覽

IMU(英文:Inertial measurement unit,簡稱 IMU)

概述

百科:測量物體三軸姿態角(或角速率)以及加速度的裝置。一般情況下,一個IMU內會裝有三軸的陀螺儀和三個方向的加速度計,分別用來測量物體在三維空間中的角速度和加速度,並以此解算出物體的姿態。為了提高可靠性,還可以為每個軸配備更多的感測器。一般而言IMU要安裝在被測物體的重心上。

原理

官方文檔:普通六軸IMU,包含三軸陀螺儀和三軸加速度計,一般還包括一個溫度感測器

  • 加速度計基本原理就是高中學過的力學知識,力和加速度的方向一致。

可以想像一個小球裝在一個感應的小盒子里。水平放置的時候,重力使得小球與下表面接觸,下表面會產生一個向上的力,與重力相抵消,則產生一個向上的加速度,大小為G。

(這樣,我們假設IMU的測量範圍是正負16G,則測得向上加速度為16個G的時候,真實物體向上的加速度只有15個G。反之,向下測得有16個G的時候,真實加速度有17個G。)

  • 陀螺儀的原理基本上用到了一個Coriolis force。

這個物理概念在地理課上可能說過,這是為什麼北半球的龍捲風及水漩渦的旋轉方向都是逆時針旋轉的原理。如果物體發生旋轉,則一定會產生科里奧利力,通過微結構探測科里奧利力即可測得旋轉角速度。

使用範圍

IMU的使用範圍非常廣,從宇航,到汽車及消費電子都有IMU的身影。

借用陳光:無人駕駛技術入門(四)| 百度無人車感測器 IMU 深入剖析使用的這張圖,我們可以清楚的看到不同級別的IMU價格和使用場景差別很大。對於自己產品的選型主要考慮的就是需求、性能、價格等方面,根據不同IMU的使用及價格分布,可以有個初步參考。

考慮到大範圍使用的應該都是低價產品,則在精度上可能會有所折扣。但可以通過利用其他感測器的數據對IMU數據做一個修正,便能達到較好的精度要求,比如常用的GPS、超聲、視覺等常用定位感測器。

使用方法

IMU在使用上可以分為硬體和軟體兩個方面。

  • 硬體上就是配置寄存器。一般情況下,可以分別通過配置IMU寄存器,來選擇加速度計和陀螺儀的量程,量程越大,則精度越差。也可以配置IMU與主機的通信方式,有I2C,也有SPI等。一般I2C比SPI的速率慢很多,對於實時性要求高的場景,可能會使用SPI通信。有些IMU還可以配置使用FIFO,配置使用數據頻率,配置內部濾波等等。
  • 軟體上就是讀取IMU數據之後的處理。一般來講,加速度計積分的速度,速度積分得位置。對於普通IMU來說,二次積分後得位置偏移很大,且隨時間增長,誤差越大。陀螺儀輸出得角速度積分得角度,為了避免萬向角,一般使用四元素積分求姿態。

此外,在使用IMU數據之前,一般會對IMU原始數據進行濾波。可以分為物理濾波和軟體濾波,

物理濾波俗稱減震。對於加速計而言,可以不用去及時反應物體得姿態變化,所以減震上就要求(軟一點),但是對於陀螺儀而言就完全相反,要求(硬一點),這使得IMU的減震取捨是一個比較大的難題。

軟體濾波就是使用巴特沃斯之類的濾波器,對於感測器數據的高頻信號進行濾波,而濾波的頻段,也是一個需要經驗摸索的過程。

數據處理

IMU感測器能輸出加速度和旋轉角速度,一般怎麼處理相關數據呢?

加速度的處理,我們很熟悉,用到的知識就是高中物理知識,如下:

S_{1} = S_{0} + vel *t   位置計算

vel_{1} = vel_{0} + a *t 速度計算(使用到了加速度a)這裡得注意在豎直方向上要將重力產生的加速度影響去掉。

陀螺儀的處理,一般是採用四元數的方法來進行更新,避免萬向鎖的困擾,四元數及歐拉角可以參考:

legal high:四元素、歐拉角及方向餘弦矩陣的相互轉化公式?

zhuanlan.zhihu.com圖標

Q = Q + frac{partial Q }{partial t}*t = Q + frac{1 }{2}t* QW^{b}

將角速度帶入上述公式後,求得更新得四元數,由四元數求解姿態角。


推薦閱讀:

用AI為物流賦能,幹線物流將率先實現L4級別無人駕駛應用落地
谷歌無人車十年記:理想背後的骨感現實
蘋果自動駕駛汽車在加州發生了首次撞車事故
CARLA無人車模擬環境搭建: 避坑攻略
何曉飛首次披露飛步無人車方案,國內第一個「演算法+AI晶元」項目

TAG:自動化 | 無人駕駛車 | 慣性導航系統 |