東華理工大學機械與電子工程學院 王孚貴 朱兆優 李 星 賴云波
基于STM32的MPU9255姿態解算算法的實現
東華理工大學機械與電子工程學院 王孚貴 朱兆優 李 星 賴云波
本文采用STM32微控制器與MPU9255多軸姿態傳感器結合,設計完成了水下機器人姿態檢測和信息解算。通過MPU9255傳感器內置的陀螺儀、加速度計和磁力計,對系統的三軸角速度、三軸加速度、三軸磁感應強度進行信息采集,利用四元數姿態解算方法,對所測量的數據進行分析與計算,進而解算成水下機器人的姿態信息,并采用PID算法輸出PWM信號,實現對水下機器人系統的有效控制。文中給出信息采集、解算方法和程序算法思路,具有較好的實用價值。
STM32微控制器;MPU9255傳感器;四元數;姿態解算
MPU9255是內部集成陀螺儀、加速度計、磁力計的9軸姿態傳感器。通過陀螺儀檢測物體處于運動狀態時的角速度,再利用算法解算成物體當前處于的角度,加速度計和磁力計分別測量加速度和磁感應強度,在數據算法中,四元數解算算法能夠利用加速度數據對陀螺儀測量的存在誤差的角度數據進行補償,有效的減少誤差,使得測量物體的姿態信息更加準確。通過微控制器實時解算姿態角。
對于物體姿態信息檢測是以STM32微控制器構成的硬件系統,通過其內部集成的I2C接口與MPU9255進行通信,通過接口讀取MPU9255姿態傳感器各軸的數據,讀取到的數據是未進行算法處理的基本姿態信息,進而進行算法解算。解算完成后通過串口發送給上位機顯示,并輸出脈沖寬度調制信號用以執行機構調整當前物體的運動狀態。……