国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CW32L012解算MPU6050姿態數據

CW32生態社區 ? 來源:CW32生態社區 ? 作者:CW32生態社區 ? 2026-01-05 16:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

姿態解算

我們僅僅獲取了MPU6050的三軸加速度和角速度,要想得到姿態角,需要利用讀取的數據進行姿態解算。

一、歐拉角

歐拉角是一種用于描述三維剛體相對參考坐標系(通常為水平面的直角坐標系)姿態的參數,通過依次繞三個互相垂直的坐標軸(對應姿態檢測中常用的翻滾角 Roll、俯仰角 Pitch、偏航角 Yaw,分別繞 X、Y、Z 軸旋轉)的旋轉角度來表征設備的傾斜、轉向狀態。

如下圖所示:

橫滾角(Roll):繞運動坐標系的Y軸旋轉

偏航角(Yaw):繞運動坐標系的Z軸旋轉

俯仰角(Roll):繞運動坐標系的X軸旋轉

wKgZO2lVGFGAC7oeAABstrbaVag894.jpg

二、姿態解算

2.1利用加速度計解算姿態(僅能解算Roll和Pitch)

歐拉角與旋轉矩陣來對陀螺儀與加速度計的原始數據進行姿態求解,并將兩種姿態進行互補融合,最終得到IMU的實時姿態。

2.1.1位姿矩陣:

位姿矩陣是用于在三維笛卡爾參考坐標系中,統一描述剛體的位置(平移狀態)與姿態 的 4×4 階齊次變換矩陣,其前 3×3 的子矩陣為旋轉矩陣,對應由歐拉角等姿態參數轉換而來的剛體旋轉信息,用來表征設備相對參考坐標系的傾斜、轉向姿態(即 MPU6050 檢測的 Roll、Pitch、Yaw 對應的姿態狀態),矩陣最后一列的前 3 個元素為平移向量,用來表征設備在參考坐標系中的三維位置坐標,最后一行固定為 [0,0,0,1] 以滿足齊次坐標的運算規范,它可以將剛體的旋轉與平移變換整合為一次矩陣運算,在嵌入式姿態檢測與空間定位的場景中,能簡化不同坐標系間的姿態、位置轉換計算,常作為姿態解算、多傳感器融合的基礎數學工具。

當加速度計水平放置,即Z軸豎直向上時,Z軸可以讀到1g的數值(g為重力加速度),X軸和Y軸兩個方向讀到0,初始位姿可以記作:

wKgZPGlbeJmAVVXFAAAFzYWirTc204.jpg

本篇的姿態解算選用的旋轉順序為ZYX,即IMU坐標系初始時刻與大地坐標系重合,然后依次繞自己的Z、Y、X軸進行旋轉,這里先自定義一下每次的旋轉名稱和符號:

繞IMU的Z軸旋轉:航向角yaw, 轉動y角度

繞IMU的Y軸旋轉:俯仰角pitch,轉動p角度

繞IMU的X軸旋轉:橫滾角row, 轉動r角度

wKgZPGlbePeATAbdAAJ5Oq2-rBM546.jpg

當IMU繞Z軸旋轉y度,再繞Y軸旋轉P度,再繞X軸旋轉r度,其終止位姿可以表示為:

wKgZO2lbeLKAJMlZAAAGMw_uRA0870.jpg

根據機器人運動學:對于一個傳感器的末端姿態,我們可以將其看作分別繞z、y,x軸旋轉得到,其中正向運動學的繞各軸的旋轉矩陣如下:

wKgZPGlbeLKAN18DAAAvA2FmV-s388.jpg

現在我們已知了初始位姿,終止位姿、繞三軸的旋轉矩陣,對其進行機器人逆運動學的求解,可求得繞三個軸的旋轉角度:

因為MPU6050是繞運動坐標系旋轉,所以對應的矩陣變換是左乘:

wKgZO2lbeLOAaq3uAACNsbG6aUE318.jpg

解這個方程,可以得到roll和pitch角(由于繞Z旋轉時,感受到的重力加速度是不變的,因此加速度計無法計算****yaw

wKgZPGlbeLOAc5YPAAAu8m3H1pY400.jpg

當IMU繞Z軸旋轉y度,再繞Y軸旋轉P度,再繞X軸旋轉r度,其終止位姿可以表示為:

wKgZO2lbeLKAJMlZAAAGMw_uRA0870.jpg

根據機器人運動學:對于一個傳感器的末端姿態,我們可以將其看作分別繞z、y,x軸旋轉得到,其中正向運動學的繞各軸的旋轉矩陣如下:

wKgZPGlbeLKAN18DAAAvA2FmV-s388.jpg

現在我們已知了初始位姿,終止位姿、繞三軸的旋轉矩陣,對其進行機器人逆運動學的求解,可求得繞三個軸的旋轉角度:

因為MPU6050是繞運動坐標系旋轉,所以對應的矩陣變換是左乘:

wKgZO2lbeLOAaq3uAACNsbG6aUE318.jpg

解這個方程,可以得到roll和pitch角(由于繞Z旋轉時,感受到的重力加速度是不變的,因此加速度計無法計算yaw

wKgZPGlbeLOAc5YPAAAu8m3H1pY400.jpg

解這個方程,可以得到roll和pitch角(由于繞Z旋轉時,感受到的重力加速度是不變的,因此加速度計無法計算yaw角

wKgZPGlVGFSAKYSUAAATGIzGRLk102.jpg

對應C語言代碼:

//(atan2返回弧度,需轉成度) Pitch角公式:atan2(AX, sqrt(AY2 + AZ2)) × (180/π)
        accAnglePitch = atan2(ax, sqrt(ay*ay + az*az)) * (180.0f / M_PI);
        //  (若算roll角:atan2(AY, sqrt(AX2 + AZ2)) × (180/π))
        accAngleRoll = atan2(ay, sqrt(ax*ax + az*az)) * (180.0f / M_PI);

2.2利用陀螺儀解算姿態

我們知道陀螺儀輸出的是角速度,我們對其進行積分,可以得到角度:

wKgZO2lVGFWAIZDSAAAHoN5z0SE980.jpg

yaw角解算對應代碼:

float gyroRateZ = -((gz / GYRO_SENSITIVITY) - gyroBiasZ);  // 扣除零偏后的角速度后取反
// 步驟3:角速度積分計算Yaw角(核心:角度 = 角速度 × 時間)
// 復用IMU_Process_Kalman中已計算的dt(采樣時間,單位s)
 Cacl_yawAngle += gyroRateZ * dt;

pitch和roll角對應解算公式:

wKgZPGlbeHmAbpWpAAAeaBcRl_Y457.jpg

wKgZO2lbeHmAVlQEAAAazEwF0Mo283.jpg

pitch和roll角對應解算代碼(此代碼在卡爾曼濾波器中,根據傳入參數pitch和roll來決定解算什么角):

//此代碼在卡爾曼濾波器中,根據傳入參數pitch和roll來決定解算什么角
float KalmanFilter(float newAngle, float newRate, float dt,
                   float *kalmanAngle, float *kalmanBias, float kalmanP[2][2]) 
float rate = newRate - *kalmanBias;  // 減去偏置             
*kalmanAngle += dt * rate;           // 積分得到角度變化

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 姿態檢測
    +關注

    關注

    0

    文章

    7

    瀏覽量

    7313
  • MPU6050
    +關注

    關注

    39

    文章

    313

    瀏覽量

    76351
  • 姿態解算
    +關注

    關注

    0

    文章

    50

    瀏覽量

    8640
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    mpu6050姿態問題

    如題,我在用互補濾波和四元數算法mpu6050的角度姿態。但是現在的問題是,一旦我的mpu6050轉動速度一快,輸出的
    發表于 05-09 18:33

    MPU6050模塊自己寫 卡爾曼濾波和姿態 難嗎?

    MPU6050模塊自己寫 卡爾曼濾波和姿態 難嗎? 大概多久能搞出來?
    發表于 12-22 17:35

    請問怎么mpu6050姿態之后的數據與pid算法結合控制平衡小車

    論壇上有人玩過平衡小車或者四軸嗎,想問下怎樣用mpu6050姿態之后的數據與pid算法結合控制平衡小車還有如果有pid資料的大神,能發在
    發表于 02-25 08:15

    請問MPU6050的軟件姿態和DMP姿態各自的優缺點是什么?

    MPU6050有軟件姿態和DMP姿態,他們各
    發表于 05-29 04:36

    請問誰有mpu6050姿態的歐拉角?

    我想要一個mpu6050姿態歐拉角的完整程序
    發表于 08-01 04:35

    MPU6050姿態的原理是什么

    MPU6050姿態的原理是什么?MPU6050姿態
    發表于 12-17 07:14

    使用MPU6050硬件DMP姿態

    使用MPU6050硬件DMP姿態是非常簡單的,下面介紹由三軸陀螺儀和加速度計的值來使用四元數軟件
    發表于 02-10 06:20

    MPU6050姿態融合的相關資料推薦

    mpu6050是一個六軸傳感器包括三軸陀螺儀和三軸加速度,分別可以測得三軸的角速度、加速度。但是一般傳感器的原始數據都不能直接直接拿來用,都需要濾波和姿態融合
    發表于 02-10 06:25

    mpu6050姿態原理分析及程序設計

    本文主要介紹了mpu6050姿態原理分析及程序設計,MPU6050硬件DMP
    發表于 12-11 13:51 ?4.5w次閱讀
    <b class='flag-5'>mpu6050</b><b class='flag-5'>姿態</b><b class='flag-5'>解</b><b class='flag-5'>算</b>原理分析及程序設計

    mpu6050姿態原理_mpu6050姿態程序

    mpu6050常用作提供飛控運行時的姿態測量和計算。本文首先介紹了MPU6050姿態的原理,
    的頭像 發表于 03-09 09:15 ?4.5w次閱讀

    MPU6050的四元數姿態方法

    使用MPU6050硬件DMP姿態是非常簡單的,下面介紹由三軸陀螺儀和加速度計的值來使用四元數軟件
    發表于 12-06 12:36 ?25次下載
    <b class='flag-5'>MPU6050</b>的四元數<b class='flag-5'>解</b><b class='flag-5'>算</b><b class='flag-5'>姿態</b>方法

    畢業設計之 - 教程:MPU6050姿態

    介紹一個學長做的單片機項目教程:MPU6050姿態大家可用于 課程設計 或 畢業設計技術解答畢設幫助:<Q>7468760412 M
    發表于 12-06 12:51 ?15次下載
    畢業設計之 - 教程:<b class='flag-5'>MPU6050</b><b class='flag-5'>姿態</b><b class='flag-5'>解</b><b class='flag-5'>算</b>

    MPU6050姿態融合(DMP)

    MPU6050姿態融合(DMP)
    發表于 12-06 13:21 ?39次下載
    <b class='flag-5'>MPU6050</b><b class='flag-5'>姿態</b>融合<b class='flag-5'>解</b><b class='flag-5'>算</b>(DMP)

    MPU6050使用互補濾波與卡爾曼濾波算法進行姿態

    MPU6050使用互補濾波與卡爾曼濾波算法進行姿態
    發表于 08-07 15:46 ?17次下載

    CW32L012讀取MPU6050姿態數據

    隨著物聯網、可穿戴設備、工業傾角檢測等場景的普及,低成本、低功耗的姿態檢測方案成為嵌入式領域的研究熱點。MPU6050 作為集成三軸加速度計和三軸陀螺儀的六軸傳感器,憑借低成本、小體積的優勢被
    的頭像 發表于 01-05 16:36 ?1078次閱讀
    <b class='flag-5'>CW32L012</b>讀取<b class='flag-5'>MPU6050</b><b class='flag-5'>姿態</b><b class='flag-5'>數據</b>