在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

Mahony濾波器的原理和公式推導

zhc135136 ? 來源:SmartHWFW ? 2023-06-17 11:18 ? 次閱讀

1.概述

在進行代碼分析之前,了解Mahony濾波器的原理和公式推導是必要的。Mahony濾波器是一種基于四元數的姿態估計濾波器,其主要思想是通過加速度計和陀螺儀的測量值來估計姿態,并通過四元數來表示姿態。其公式推導涉及到四元數的運算和旋轉矩陣的推導,需要具備一定的數學基礎和姿態估計相關的知識。

四元數是一種數學工具,它可以用來表示三維空間的旋轉信息。在秦永元的《慣性導航》這本書第9.2章節中,介紹了姿態更新計算的四元數算法,其中詳細講解了四元數的概念、四元數與姿態陣之間的關系以及四元數微分方程。閱讀完9.2章節的推導后,我們可以更深入地理解四元數的應用和原理。

之前我也寫過一篇 《MEMS_慣性傳感器09 - Mahony姿態解算算法詳解》,但是還是建議閱讀秦永元的《慣性導航》,這樣更容易理解。

b275d3f2-0c4c-11ee-962d-dac502259ad0.png

物體的姿態變化可以等效為繞某個軸的一次旋轉。我們不需要關注物體變化的中間過程,只需要找到一種變換關系,就能夠求出物體從導航坐標系到載體坐標系或從載體坐標系到導航坐標系的坐標。因此,我們需要推導出這種變化關系。

利用四元數與姿態陣的關系,可以推導得到如下結論:

(1) 四元數 Q (表達式如下) 描述了物體的定點轉動,即,當之關心 b 系(載體系)相對于 R 系(導航系)的角位置時,可認為 b 系是由 R系經過無中間過程的一次性等效旋轉形成的。

b2a23a0a-0c4c-11ee-962d-dac502259ad0.png

Q包含了這種等效旋轉的全部信息;u^R 為旋轉瞬間和旋轉方向 θ為旋轉過的角度

(2) 四元數可以確定出 b 系至 R 系的坐標變換矩陣

b2ae83b4-0c4c-11ee-962d-dac502259ad0.png

根據上述推導,已經得到了姿態變換矩陣和四元數表示法中的姿態角。然而,目前四元數的具體數值未知。為了得到真正的姿態角,需要找到確定四元數數值的方法。

通過已知的陀螺儀和加速度計獲得的角速度和加速度,我們可以利用四元數微分來求解四元數的具體數值。四元數微分是指將四元數看作一個向量,然后對其進行微分,得到一個表示四元數變化率的向量。通過對四元數微分的計算,可以得到四元數的具體數值。

通過解微分方程,可以計算四元數的參數

b2be6716-0c4c-11ee-962d-dac502259ad0.png

以上公式的推導過程已在書中詳細說明,故本文不再贅述。針對誤差消除,本文采用了Mahony濾波算法,該算法是本文的核心內容。

2.陀螺儀誤差的消除

角度測量中存在偏差,由于角速度是積分得到的,陀螺儀獲得的角速度信息存在小的偏差,積分后誤差會不斷累積,導致角度測量結果偏差較大。雖然加速度計獲得的角度信息不會出現偏差,但其受噪聲影響較大,短時間內可靠性不高。因此,我們可以利用加速度計獲得的角度信息去矯正陀螺儀獲得的姿態信息,從而消除算出來的角度誤差。

核心思想是利用加速度計獲取信息來補償陀螺儀的角速度信息。具體實現步驟如下:

b2d11208-0c4c-11ee-962d-dac502259ad0.png

1.獲取加速度的值,并對其歸一化 (歸一化是為了確保姿態變化矩陣中的四元數是規范四元數,并且利用陀螺儀更新的四元數也需要歸一化。以確保與其他數據對應)

b2fb8d9e-0c4c-11ee-962d-dac502259ad0.png

//Normaliseaccelerometermeasurement
recipNorm = invSqrt(ax * ax + ay * ay + az * az);
ax *= recipNorm;
ay *= recipNorm;
az *= recipNorm;

2.獲取陀螺儀算出的姿態矩陣中的重力分量, 重力分量記為Vx、Vy、Vz

b3296d54-0c4c-11ee-962d-dac502259ad0.png

// Estimated direction of gravity and vector perpendicular to magnetic flux
halfvx = q1 * q3 - q0 * q2;
halfvy = q0 * q1 + q2 * q3;
halfvz = q0 * q0 - 0.5f + q3 * q3;

3.獲取姿態誤差,(將第一步中 獲取的重力向量歸一化后的值與提取的姿態矩陣的重力向量叉乘)

b3453598-0c4c-11ee-962d-dac502259ad0.png

// Error is sum of cross product between estimated and measured direction of gravity
halfex = (ay * halfvz - az * halfvy);
halfey = (az * halfvx - ax * halfvz);
halfez = (ax * halfvy - ay * halfvx);

4.消除誤差, (通過對重力分量叉乘后的誤差進行積分,可以得到角速度值。ki為積分系數,dt為積分周期)

integralFBx += twoKi * halfex * (1.0f / sampleFreq);  // integral error scaled by Ki
integralFBy += twoKi * halfey * (1.0f / sampleFreq);
integralFBz += twoKi * halfez * (1.0f / sampleFreq);
gx += integralFBx;  // apply integral feedback
gy += integralFBy;
gz += integralFBz;

5.互補濾波(在PID控制器中加入誤差值,并將其與陀螺儀測得的角速度相加,得到修正的角速度值。使用修正的角速度值來更新四元素,以獲得更準確的姿態角信息)

// Apply proportional feedback
gx += twoKp * halfex;
gy += twoKp * halfey;
gz += twoKp * halfez;




//Integrate rate of change of quaternion
gx *= (0.5f * (1.0f / sampleFreq));    // pre-multiply common factors
gy *= (0.5f * (1.0f / sampleFreq));
gz *= (0.5f * (1.0f / sampleFreq));

6.求解微分方程

qa = q0;
qb = q1;
qc = q2;
q0 += (-qb * gx - qc * gy - q3 * gz);
q1 += (qa * gx + qc * gz - q3 * gy);
q2 += (qa * gy - qb * gz + q3 * gx);
q3 += (qa * gz + qb * gy - qc * gx);

7.四元數歸一化

// Normalise quaternion
recipNorm = invSqrt(q0 * q0 + q1 * q1 + q2 * q2 + q3 * q3);
q0 *= recipNorm;
q1 *= recipNorm;
q2 *= recipNorm;
q3 *= recipNorm;

8.四元數求解歐拉角 (在求解角度時要清楚的知道導航坐標系是:東北天; 北東地)


roll = asinf(2 * q0 * q2 - 2 * q1 * q3) * (180 / M_PI);   // 繞X軸旋轉
pitch = atan2f(2 * q2 * q3 + 2 * q0 * q1, -2 * q1 * q1 - 2 * q2 * q2 + 1) * (180 / M_PI); // 繞Y軸旋轉
yaw = atan2f(2 * q1 * q2 + 2 * q0 * q3, -2 * q2 * q2 - 2 * q3 * q3 + 1) * (180 / M_PI);   // 繞Z軸旋轉

3.算法效果演示

不足:

1)當X軸角度大于90度時,Y軸角度發生了漂移

2)在從旋轉到靜止的過程之后,Z軸角度沒有趨近于0度。
責任編輯:彭菁

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

    關注

    161

    文章

    7817

    瀏覽量

    178126
  • 導航
    +關注

    關注

    7

    文章

    528

    瀏覽量

    42413
  • 慣性傳感器
    +關注

    關注

    2

    文章

    169

    瀏覽量

    27948

原文標題:MEMS_慣性傳感器14 - Mahony 濾波算法的代碼分析

文章出處:【微信號:SmartHWFW,微信公眾號:SmartHWFW】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    求Sigmadsp的高階濾波器計算公式

    各位論壇的資深工程師和ADI的技術工程師,能不能給一份濾波器的計算公式!在使用過程中發現HELP文檔里按有的公式計算出來是錯的和sigmadsp計算的完全不一樣,使用high order 計算出
    發表于 01-23 08:13

    抗EMI濾波器設計與應用原理

    摘要:鐵氧體軟磁材料用于電磁兼容性設計具有優良的電磁性能和價格優勢。本文從噪聲濾波器原型出發著重討論了噪聲濾波器設計和應用原理,簡化和推導了扼流圈電感計算公式,提
    發表于 06-03 10:08 ?111次下載

    Sallen_Key濾波器

    Sallen_Key權威公式計算,高通濾波器,低通濾波器
    發表于 11-23 11:28 ?16次下載

    LC低通濾波器的截止頻率是怎么推導出來的?公式是什么?

    LC低通濾波器的截止頻率是怎么推導出來的?公式是什么?lc電路截止頻率公式是:Q=wL\R=2πfL\R(因為w=2πf)=1/wCR=1/2π 阻抗:Zc=1/jwc ;Zl=jwl
    發表于 11-29 17:33 ?32.4w次閱讀
    LC低通<b class='flag-5'>濾波器</b>的截止頻率是怎么<b class='flag-5'>推導</b>出來的?<b class='flag-5'>公式</b>是什么?

    帶通濾波器到低通濾波器的轉換公式推導資料合集

    以一種易于理解的方式介紹了歸一化帶通濾波器指標轉換為低通濾波器指標的公式
    發表于 02-15 13:56 ?46次下載

    一階數字低通濾波器原理及公式推導

    吧。查閱了很多無感FOC控制的相關資料,把基本原理和流程漸漸的了解了一下(以后有時間再詳細介紹了),發現很多環節都會用到”一階低通數字濾波器“(相電流濾波,反電勢濾波,角度、轉速濾波
    的頭像 發表于 08-26 14:22 ?3.4w次閱讀

    如何理解卡爾曼濾波器?卡爾曼濾波器狀態方程及測量方程

    卡爾曼濾波的最終輸出是,真實的狀態為,令 對誤差的平方求最小值,同樣可以推導公式(1-5)到公式(1-7)。因此卡爾曼濾波器也是系統狀
    發表于 12-15 10:45 ?2892次閱讀

    低通濾波器截止頻率計算公式_作用和用途

    低通濾波器的截止頻率可以通過以下公式計算:fc=1/(2πRC),其中R是濾波器的電阻,C是濾波器的電容,fc是濾波器的截止頻率。
    發表于 02-16 18:13 ?3w次閱讀

    LLC變換公式推導

    LLC變換公式推導
    發表于 04-03 15:45 ?7次下載

    模擬無源濾波器設計(九)-Gaussian濾波器設計詳解

    文章詳細對高斯濾波器的綜合設計進行講解,解釋如何從時域無過沖推導出高斯濾波器的。并且深入探討了高斯濾波器的零極點分布。最后介紹基于Matlab的濾波
    的頭像 發表于 05-28 11:31 ?7284次閱讀

    在連續時間域中比較Papoulis濾波器和Chebyshev濾波器

    本文詳細對比了切比雪夫濾波器和Papoulis濾波器特性,并且得出結論切比雪夫濾波器要優于Papoulis濾波器。這里的Papoulis濾波器
    的頭像 發表于 06-10 09:11 ?1491次閱讀
    在連續時間域中比較Papoulis<b class='flag-5'>濾波器</b>和Chebyshev<b class='flag-5'>濾波器</b>

    LC 濾波器公式 - LC filter

    摘要: LC 濾波器公式 無源濾波器解釋 集總元件波濾器由電阻、電感和電容器組成。它們允許高于或低于預定水平的頻率通過。衰減程度達到 -
    的頭像 發表于 07-04 09:09 ?4023次閱讀
    LC <b class='flag-5'>濾波器</b><b class='flag-5'>公式</b> - LC filter

    Mahony濾波算法參數自動調節方法介紹

    Mahony濾波算法參數自動調節方法是一種用于姿態估計的濾波算法。
    的頭像 發表于 12-06 09:45 ?1143次閱讀

    lc濾波器的截止頻率計算公式

    LC濾波器的工作原理、計算公式推導、參數解釋等方面。 LC濾波器的工作原理 LC濾波器的工作原理是基于電感和電容元件的阻抗特性。在LC
    的頭像 發表于 12-14 14:57 ?1.1w次閱讀

    什么是匹配濾波器?如何理解匹配濾波器?

    匹配濾波器、匹配濾波器的詳細理解予以介紹。如果你對匹配濾波器具有興趣,不妨和小編一起來繼續往下閱讀哦。 一、匹配濾波器 匹配濾波器是一種非常
    的頭像 發表于 01-12 08:39 ?1687次閱讀
    主站蜘蛛池模板: 欧美啊片| 性欧美bbbbbb| 国产精品久久久福利| 1024你懂的在线播放欧日韩| 免费观看高清视频| 狠狠色噜噜狠狠狠狠黑人| 下农村女人一级毛片| 双性强迫开宫灌满h| 色色色色色色色色色色色色| 免费网站日本| a成人毛片免费观看| 久久人人网| 亚洲视频一区在线| 五月伊人婷婷| 丁香五香天堂网| 久草福利在线播放| 亚洲国产精品国产自在在线| 四虎成人精品在永久在线观看| 久青草国产免费观看| 又粗又硬又大久久久| 久久久久国产午夜| 伊人成人在线观看| 免费的色网站| 久久久久久国产精品免费免| 一级毛片日韩| 久久国产精品夜色| 天天操夜夜摸| 综合免费一区二区三区| 天堂网资源| 国产女乱淫真高清免费视频| 视频在线观看高清免费看| 在线观看日本一区| 色婷婷激情| 天天操夜夜艹| 亚洲美女视频在线观看| 久久综合九色综合精品| 国产午夜视频高清| 亚洲精品电影天堂网| 国产资源在线观看| 国产伦精品一区二区三区女 | 全免费午夜一级毛片真人|