国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee
ELEOK
標題:
STM32F429 MPU6050開發空間姿態檢測系統C源碼
[打印本頁]
作者:
coolice
時間:
2021-12-13 17:16
標題:
STM32F429 MPU6050開發空間姿態檢測系統C源碼
一個基于STM32F429的姿態檢測系統,也就是俗稱的AHRS,被很多人用來做四軸飛行器的,不過本人對四軸飛行器不是很感興趣,主要用來檢測人體姿態和仿生控制的。采用MPU6050進行數據融合,得到空間姿態信息,從而完成手勢檢測,動作檢測,人體姿態檢測。基于MEMS的三軸陀螺儀,加速度計。目前AHRS內部采用的多傳感器數據融合進行的航姿解算單元為卡爾曼濾波器。
特點:高精度360 度全方位位置姿態輸出,數據融合算法快速動態響應與長時間穩定性(無漂移,無積累誤差)
輸出:三維全姿態數據(四元數 / 歐拉角 / 旋轉矩陣/原始數據)三維加速度 / 三維角速度
完整源碼:
空間姿態檢測.zip
(611.82 KB, 售價: 3 E幣)
2021-12-13 17:16 上傳
點擊文件名下載附件
售價: 3 E幣
[記錄]
[
購買
]
1.jpg
(35.34 KB)
下載附件
2021-12-13 16:55 上傳
簡介:
1) 如何計算積分
對角速度積分得到角度,但是會累積誤差,dt為積分時間s秒,最好放在中斷運行.中斷每隔
dt秒進入一次中斷并進行計算,必須確保在1個中斷周期內能夠完成全部計算.
Example:
Axis.GyroY = getGyroY(); //獲取Y軸角速度,單位為度
Angle += Axis.GyroY * dt; //離散信號的積分即為求黎曼和.
2) 互補濾波器
原理是取當前傾角和加速度,做差獲得傾角差值并進行放大,然后與陀螺儀角速度
疊加后再積分,從而使傾角跟蹤為加速度獲得的角度.
2為放大倍數,可調節補償度;0.01為系統周期10ms.
Example:
FilterAngle = FilterAngle + (((Gesture.Angle_FY - FilterAngle)*2 + Axis.GyroY)*0.01);
3) 卡爾曼濾波器
原理請百度
Example:
Kalman_Filter(Gesture.Angle_FY,Axis.GyroY,&FilterAngle);
4) AHRS數據融合
通過四元數矩陣運算把加速度計和陀螺儀的數據進行融合計算出歐拉角.
2.jpg
(103.62 KB)
下載附件
2021-12-13 17:04 上傳
歡迎光臨 ELEOK (http://m.afoofa.cn/)
Powered by Discuz! X5.0