一、前言
隨著科技的發展,我們經常看到有人用平衡車代步、使用無人機進行航拍。但這些是怎么實現的呢?平衡車和無人機在使用的時候是怎樣保持平衡與穩定的呢?
其實,平衡車和無人機在內部都用到陀螺儀傳感器和加速度計傳感器,用來檢測車體的姿態以及運動時發生的變化,再通過各方面的共同協調配合,從而保持平衡車和無人機的平衡與穩定。本章主要介紹MPU6050的原理及應用。
二、MPU6050簡介
MPU6050是6軸運動處理傳感器,它集成了3軸MEMS陀螺儀,3軸MEMS加速度計,以及一個可擴展的數字運動處理器DMP。使用它就是為了得到待測物體(如四軸飛行器、平衡小車)x、y、z軸的傾角(俯仰角Pitch、翻滾角Roll、偏航角Yaw)。我們通過 I2C 讀取到 MPU6050 的六個數據(三軸加速度 AD 值、三軸角速度 AD 值)經過姿態融合后就可以得到 Pitch、Roll、Yaw角。
作為測量值的方向參考,傳感器坐標方向定義如上圖所示,屬于右手坐標系(右手拇指指向 x 軸的正方向,食指指向 y 軸的正方向,中指能指向 z 軸的正方向)。
MPU6050與MPU6500的區別講解:
三、MPU6050原理
傳感器在它的內部有一個陀螺,因為陀螺效應始終與初始方向平行,這樣就能通過與初始方向的偏差計算出旋轉方向與角度。
(2)加速度計傳感器(Accelerometer Sensor)
加速度傳感器是一種能夠測量加速度的傳感器。它采用的是壓電效應的原理。傳感器在加速過程中,通過對質量塊所受慣性力的測量,利用牛頓第二定律獲取加速度值。
(3)數字運動處理器(Digital Motion Processor)
DMP是MPU6050芯片中的數據處理模塊,(內置卡爾曼濾波算法)獲取陀螺儀和加速度傳感器數據,并處理輸出四元數,可以減輕外圍微處理器的工作負擔且避免了繁瑣的濾波和數據融合。
四、MPU6050系統結構圖
五、MPU6050特性參數
?
六、MPU6050引腳輸出和信號描述
圖 1 MPU6050引腳圖
表 1 引腳輸出與信號描述
七、MPU6050姿態獲取與處理
理論上只用陀螺儀就可以完成姿態導航的任務,只需要對3個軸的陀螺儀角度進行積分,得到3個方向的旋轉角度的姿態數據,就可以了。但實際上存在著誤差噪聲等,對陀螺儀積分并不能得到完全準確的姿態,所以我們就需要用加速度計傳感器進行輔助矯正。
(1)數據獲取
1、MPU6050的陀螺儀采集物體轉動的角速度信號,通過ADC(模擬數字轉換器)轉換成數字信號采集回來。再通過通信傳輸給單片機。
2、加速度計則是采集物體加速度信號,并傳輸回來。
(2)數據處理
通過以上的步驟,我們可以分別得出線加速度傳感器與角加速度傳感器的數據,接下來就要進行數據的處理與融合。
具體步驟如下
1、校準數據(零點漂移):傳感器安裝在設備上總有一個初始的角度,我們設這個角度為0度,我們每一次的數據都要減去這個初始數據,得到一個相對的角度。
2、把測量值換算成相應的單位:原始數據除以它在該量程下的靈敏度就可以獲得實際的物理單位。加速度的物理單位為g,角速度的物理單位為°/s。
3、濾波和數據融合:常見方法有三種:互補濾波、卡爾曼濾波、硬件DMP解算四元數。
——互補濾波:因為加速度計有高頻噪聲,陀螺儀有低頻噪聲,需要互補濾波融合得到較可靠的角度值。
——卡爾曼濾波:利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的算法。由于觀測數據中包括系統中的噪聲和干擾的影響,所以最優估計也可看作是濾波過程。
——硬件DMP解算四元數:DMP將原始數據直接轉換成四元數輸出,運用歐拉角轉換算法,從而得到yaw、roll和pitch。
八、總結
姿態傳感器在電子產品中處處可見,在平衡車和無人機最為常見。在自主移動機器人中,通過姿態傳感器能獲取機器人的位姿信息是非常關鍵的,它會影響到機器人的運功規劃及運行狀態。