国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊(cè)
搜索

STM32F429 MPU6050開(kāi)發(fā)空間姿態(tài)檢測(cè)系統(tǒng)C源碼

[復(fù)制鏈接]
樓主
coolice 發(fā)表于 2021-12-13 17:16:52 | 只看該作者 |只看大圖 |倒序?yàn)g覽 |閱讀模式
一個(gè)基于STM32F429的姿態(tài)檢測(cè)系統(tǒng),也就是俗稱的AHRS,被很多人用來(lái)做四軸飛行器的,不過(guò)本人對(duì)四軸飛行器不是很感興趣,主要用來(lái)檢測(cè)人體姿態(tài)和仿生控制的。采用MPU6050進(jìn)行數(shù)據(jù)融合,得到空間姿態(tài)信息,從而完成手勢(shì)檢測(cè),動(dòng)作檢測(cè),人體姿態(tài)檢測(cè)。基于MEMS的三軸陀螺儀,加速度計(jì)。目前AHRS內(nèi)部采用的多傳感器數(shù)據(jù)融合進(jìn)行的航姿解算單元為卡爾曼濾波器。
特點(diǎn):高精度360 度全方位位置姿態(tài)輸出,數(shù)據(jù)融合算法快速動(dòng)態(tài)響應(yīng)與長(zhǎng)時(shí)間穩(wěn)定性(無(wú)漂移,無(wú)積累誤差)
輸出:三維全姿態(tài)數(shù)據(jù)(四元數(shù) / 歐拉角 / 旋轉(zhuǎn)矩陣/原始數(shù)據(jù))三維加速度 / 三維角速度

完整源碼: 空間姿態(tài)檢測(cè).zip (611.82 KB, 售價(jià): 3 E幣)

STM32F429 MPU6050開(kāi)發(fā)空間姿態(tài)檢測(cè)系統(tǒng)C源碼 1.jpg
簡(jiǎn)介:         
1) 如何計(jì)算積分
對(duì)角速度積分得到角度,但是會(huì)累積誤差,dt為積分時(shí)間s秒,最好放在中斷運(yùn)行.中斷每隔
dt秒進(jìn)入一次中斷并進(jìn)行計(jì)算,必須確保在1個(gè)中斷周期內(nèi)能夠完成全部計(jì)算.
Example:                        
Axis.GyroY = getGyroY();                        //獲取Y軸角速度,單位為度
Angle += Axis.GyroY * dt;    //離散信號(hào)的積分即為求黎曼和.
               
2) 互補(bǔ)濾波器
原理是取當(dāng)前傾角和加速度,做差獲得傾角差值并進(jìn)行放大,然后與陀螺儀角速度
疊加后再積分,從而使傾角跟蹤為加速度獲得的角度.
2為放大倍數(shù),可調(diào)節(jié)補(bǔ)償度;0.01為系統(tǒng)周期10ms.
Example:                        
FilterAngle = FilterAngle + (((Gesture.Angle_FY - FilterAngle)*2 + Axis.GyroY)*0.01);
               
3) 卡爾曼濾波器
原理請(qǐng)百度
Example:                        
Kalman_Filter(Gesture.Angle_FY,Axis.GyroY,&FilterAngle);
                        
4) AHRS數(shù)據(jù)融合
通過(guò)四元數(shù)矩陣運(yùn)算把加速度計(jì)和陀螺儀的數(shù)據(jù)進(jìn)行融合計(jì)算出歐拉角.
STM32F429 MPU6050開(kāi)發(fā)空間姿態(tài)檢測(cè)系統(tǒng)C源碼 2.jpg
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

手機(jī)版|小黑屋|ELEOK |網(wǎng)站地圖

GMT+8, 2026-5-26 01:08

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回復(fù) 返回頂部 返回列表