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

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

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

3天內不再提示

CW32L012對MPU6050的數據進行卡爾曼濾波

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

掃碼添加小助手

加入工程師交流群

卡爾曼濾波(最優估計)

一、什么是卡爾曼濾波

通俗理解卡爾曼濾波:一個「會自動調權重的裁判」

卡爾曼濾波解決的核心問題是:你有兩個途徑(測量和預估得到)知道同一個東西的狀態,但這兩個途徑都不準,卡爾曼幫你算出最準的結果

最優估計公式:

wKgZO2lVGVaAZunKAAAFXuE3yBo715.jpg

wKgZPGlVGVeAHmvVAAAH-Pt_cAw085.jpg

wKgZO2lbeZeALD6iAABAm1T1aNY834.jpg

二、為什么這里要用卡爾曼

下面是MPU6050加速度計和陀螺儀的優缺點:

wKgZPGlbeZeAShkAAAB-areXonM418.jpg

圖片

總的來說:

陀螺儀動態的時候輸出的值精準,但是靜止的時候會有漂移

而加速度計就反過來了,加速度計靜態的時候輸出的值準,但是動態特性差

MPU6050 的陀螺儀和加速度計是 “天生的互補搭檔”,但單靠其中一個或簡單濾波,要么漂移、要么動態失真;而卡爾曼濾波的核心是 “動態加權的最優估計” —— 它能根據 MPU6050 的工作狀態(靜態 / 動態),自動判斷兩個傳感器的可靠性,把陀螺儀的 “動態精準” 和加速度計的 “靜態穩定” 結合起來,最終輸出既無漂移、又能快速響應的 roll/pitch 角度,這是其他濾波方式無法實現的。

三、卡爾曼濾波實現

一、思路

根據之前的內容,我們已經得到了加速度計解算的roll和pitch,以及角速度計解算的roll、pitch、yaw,因為加速度計無法解算yaw,所以這里只對roll和pitch做數據融合

卡爾曼最優估計的核心目標是融合 “加速度計解算的角度” 和 “陀螺儀角速度積分的角度”,最終輸出最優的角度估計。整體邏輯分為兩大階段:

預測階段:基于陀螺儀角速度(扣除偏置后)積分,預測當前角度;同時更新狀態誤差協方差矩陣 P(反映估計的不確定性)。

更新階段:用加速度計的角度作為觀測值修正預測值,得到最優角度;同時修正陀螺儀偏置(補償零漂),并更新協方差矩陣 P。

二、具體實現

2.1預測階段(先驗估計)

狀態預測:用陀螺儀積分預測角度

wKgZPGlVGViASHTNAAAguBgIavs169.jpg

對應代碼:

// 預測階段:更新角度預測
    float rate = newRate - *kalmanBias;  // 真實角速度 = 測量角速度 - 偏置
    *kalmanAngle += dt * rate;           //角度預測:θ_k = θ_{k-1}+ dt*(ω - b)

協方差預測:更新估計的不確定性

wKgZO2lVGVmAO5TjAAAFqNBiQRw080.jpg

先計算:

wKgZPGlVGVmAJqgvAAAQ9julZF4275.jpg

再加上Q得到:

圖片

對應代碼:

 kalmanP[0][0] += dt * (dt * kalmanP[1][1] - kalmanP[0][1] - kalmanP[1][0] + Q_ANGLE);
    kalmanP[0][1] -= dt * kalmanP[1][1];
    kalmanP[1][0] -= dt * kalmanP[1][1];
    kalmanP[1][1] += Q_BIAS * dt;

2.2更新階段(后驗修正)

殘差(創新項):觀測值與預測值的偏差

wKgZO2lVGVqAS7btAAAMMLGvzbM509.jpg

卡爾曼增益:權衡 “預測” 和 “觀測” 的可信度

圖片

對應代碼:

  // 計算卡爾曼增益K
    float S = kalmanP[0][0] + R_MEASURE;  // 角度方差+測量噪聲方差(R)
    float K[2];
    K[0] = kalmanP[0][0] / S;
    K[1] = kalmanP[1][0] / S;

狀態更新:修正預測值,得到最優估計

wKgZPGlVGVuAcVJMAAAFDODsOJE204.jpg

對應代碼:

  // 更新階段:利用加速度計測量值修正預測角度
    float y = newAngle - *kalmanAngle;  // 改用傳入的角度
    *kalmanAngle += K[0] * y;           // 修正角度
    *kalmanBias += K[1] * y;            // 修正偏置

協方差更新:修正估計的不確定性

wKgZO2lVGVuAew_dAAAJ6k7uIWY440.jpg

對應代碼:

  // 更新協方差矩陣P
    float P00_temp = kalmanP[0][0];
    float P01_temp = kalmanP[0][1];
    kalmanP[0][0] -= K[0] * P00_temp;
    kalmanP[0][1] -= K[0] * P01_temp;
    kalmanP[1][0] -= K[1] * P00_temp;
    kalmanP[1][1] -= K[1] * P01_temp;

匿名上位機通信

一、為何用匿名上位機調試

匿名上位機是一款由國內開發者打造、面向嵌入式開發場景的開源 / 低成本 PC 端調試工具,相比普通串口助手只能顯示一串冰冷的歐拉角數字,匿名上位機可將 Roll/Pitch/Yaw 以實時曲線、數值儀表盤、3D 模型姿態仿真等形式呈現 —— 當我們晃動搭載 MPU6050 的 CW32L012 開發板時,上位機的 3D 模型會同步傾斜、轉向,曲線會實時跟蹤歐拉角數值變化,你能快速判斷卡爾曼融合后的姿態解算是否準確(如零漂是否被抑制、動態晃動時歐拉角是否無明顯跳變),無需逐行核對數字。

二、通信幀格式

wKgZPGlVGVyAWnwMAABk7NhSIRc628.jpg

初始化L012串口,并根據通信格式編寫匿名上位機的通信驅動:

程序實際現象

【CW32L012解算MPU6050的姿態數據并進行卡爾曼濾波的方法-嗶哩嗶哩】

https://b23.tv/2GZqcIg

一、開發板現象:

圖片

OLED屏幕實時顯示解算的三軸角度

二、匿名上位機現象

【CW32L012使用MPU6050介紹-嗶哩嗶哩】 https://b23.tv/fi7hCnw

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

    關注

    6

    文章

    812

    瀏覽量

    48153
  • 卡爾曼濾波
    +關注

    關注

    3

    文章

    167

    瀏覽量

    25428
  • MPU6050
    +關注

    關注

    39

    文章

    313

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    如何去實現一種基于MPU6050卡爾濾波的平衡小車呢

    如何去實現一種基于MPU6050卡爾濾波的平衡小車呢?有哪些資料呢?
    發表于 11-19 06:48

    MPU6050卡爾濾波互補濾波的比較分析

    這是總體的濾波效果這是放大的版的可以看出,卡爾和二階基本在重合在一起,一階也還好,也沒有差得太遠。這里是從一放在桌子上一段時間后再進行測試的,可以看出一階的跟隨性上面要比其他二個都要
    發表于 02-10 07:06

    卡爾濾波簡介

    在這里我就不介紹卡爾的數學推算了,網上的數學推導一抓一大把,如果想了解推導過程的小伙伴可以去大佬的博客。如果你是想直接簡單運用卡爾濾波
    發表于 02-28 14:24

    基于MPU6050卡爾濾波的角度測量

    MPU6050使用卡爾濾波的方法介紹,使用卡爾濾波
    發表于 06-01 11:29 ?0次下載

    MPU6050_卡爾濾波

    MPU6050 卡爾濾波器設計
    發表于 06-23 10:51 ?41次下載

    卡爾濾波(以stm32f103rct6的MPU6050為例測試串口通信數據

    STM32F1的MPU6050相關卡爾濾波
    發表于 11-13 14:51 ?105次下載

    STM32F1的MPU6050模塊軟件卡爾濾波資料

    STM32F1的MPU6050模塊軟件卡爾濾波資料
    發表于 11-13 14:54 ?25次下載

    一文看懂mpu6050卡爾濾波程序

    本文開始闡述了卡爾濾波的概念,其次闡述了卡爾濾波的性質與
    發表于 03-09 08:57 ?7.6w次閱讀
    一文看懂<b class='flag-5'>mpu6050</b><b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>程序

    使用51單片機實現MPU6050卡爾濾波算法代碼免費下載

    本文檔的主要內容詳細介紹的是使用51單片機實現MPU6050卡爾濾波算法代碼免費下載 。
    發表于 08-20 17:31 ?61次下載
    使用51單片機實現<b class='flag-5'>MPU6050</b>的<b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>算法代碼免費下載

    串口MPU6050卡爾濾波6軸9軸資料合集免費下載

    本文檔的主要內容詳細介紹的是串口MPU6050卡爾濾波6軸9軸資料合集免費下載包括了:MPU-6050寄存器映射,
    發表于 05-20 08:00 ?53次下載
    串口<b class='flag-5'>MPU6050</b><b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>6軸9軸資料合集免費下載

    畢業論文 | 基于MPU6050卡爾濾波的平衡小車設計(源代碼與設計文檔)

    畢業論文 | 基于MPU6050卡爾濾波的平衡小車設計(源代碼與設計文檔)
    發表于 11-21 20:06 ?23次下載
    畢業論文 | 基于<b class='flag-5'>MPU6050</b>及<b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>的平衡小車設計(源代碼與設計文檔)

    畢業論文 | 基于STM32的MPU6050程序設計(源碼)——卡爾濾波

    畢業論文 | 基于STM32的MPU6050程序設計(源碼)——卡爾濾波
    發表于 12-06 12:06 ?44次下載
    畢業論文 | 基于STM32的<b class='flag-5'>MPU6050</b>程序設計(源碼)——<b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>

    C語言 | 基于卡爾濾波器的角度測量儀(MPU6050

    C語言 | 基于卡爾濾波器的角度測量儀(MPU6050
    發表于 12-06 14:06 ?66次下載
    C語言 | 基于<b class='flag-5'>卡爾</b><b class='flag-5'>曼</b><b class='flag-5'>濾波</b>器的角度測量儀(<b class='flag-5'>MPU6050</b>)

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

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