ADIS16465姿態解算+卡爾曼濾波代碼

工程介紹

工程使用stm32f407開發,imu單元爲ADIS16465-1 BMLZ,通過spi通信讀取imu的輸出寄存器,對讀取到的三軸加速度值和三軸陀螺儀值利用四元數進行姿態解算,最後得到pitch和roll。由於只通過六軸傳感器無法得到yaw,工程中只是對陀螺儀輸出的角速度進行了簡單的積分,誤差較大。

學習資料

四元數原理參考網上:https://blog.csdn.net/guanjianhe/article/details/95608801,把博主的這篇文章從上到下推導一遍基本就明白了。

工程中還有卡爾曼濾波的代碼,但是在姿態解算中並未用到,有需要的可以自己學習一下。

加速度計、陀螺儀原理以及卡爾曼濾波原理參考:https://www.arduino.cn/thread-18392-1-1.html

代碼下載

網盤下載鏈接:https://pan.baidu.com/s/14ekDutUUJU_7skPqi0qe-Q
提取碼:h2dd

github下載

有關四元數、ADIS16465、陀螺儀加速度計、卡爾曼濾波原理的文檔,我整合了一些,放在另一個repository:ADIS16465-version1

博文鏈接

代碼移植的時候可能會有bug,只能滿足基本需要,僅供參考,敬請原諒。

結果

ADIS16465圖片
在這裏插入圖片描述
IMU靜止時輸出
在這裏插入圖片描述
繞x軸旋轉輸出
在這裏插入圖片描述
繞y軸旋轉輸出
在這裏插入圖片描述
繞z軸旋轉輸出
在這裏插入圖片描述
轉載請說明出處哦~希望對你有幫助!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章