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

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

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

3天內不再提示

經典的濾波算法:Madgwick濾波算法

3D視覺工坊 ? 來源:3D視覺工坊 ? 2023-05-31 11:12 ? 次閱讀

前言

之前的一次推送介紹了Mahony姿態解算算法(IMU姿態濾波算法——Mahony算法:原理與代碼),這次介紹另一個經典的濾波算法:Madgwick濾波。

Madgwick濾波算法根據加速度計、陀螺儀、以及磁力計,融合計算機體四元數,計算速度快、精度較高。本文詳細介紹六軸融合,即根據加速度計和陀螺儀數據,計算IMU的姿態。

e386ae58-ff5e-11ed-90ce-dac502259ad0.png

算法

2.1 重力方向對齊優化

首先要指出的是,Madgwick算法假設加速度計測量的加速度完全由重力提供,即物體本體運動產生的加速度可忽略不計。這一點和Mahony算法是一樣的。

假設world系中一個向量在world下的表示為 ,在傳感器下的觀測為 ,傳感器位姿以四元數表示記為 。如果此時的姿態是準確的,應該有:

然而由于姿態不準,等式并不成立。因此,我們定義目標函數:

令目標函數取到0(在四元數對應的參數空間上),則得到了最優的姿態,即。這可以當作一個優化問題進行求解。而優化問題的求解思路之一,就是采用梯度下降法。記的梯度為,那么在迭代優化求解時,下一次取值應該為當前取值減去當前梯度方向走一個步長,即

其中,

其中, 為 的雅可比(具體的形式可參考文獻[1][2])。

可以將步長 視作加速度計產生的數據對姿態的收斂速度,同時考慮到角速度在當前時刻會產生一個角速度的增量,因此加速度這部分的收斂必須大于角速度變化速率,即 ,其中 。

對于一般的優化,我們需要不斷迭代求解直到收斂,但Madgwick為了保證算法的實時性,只進行一次梯度下降,也能取得差不多的精度。

具體地,如果我們把world系下的這個向量 取重力 ,姿態傳感器對應的測量 即為IMU的加速度計讀數 ,此時有:

2.2 角速度融合

另一方面,我們可以通過角速度計提供的角速度積分,得到姿態,即:

這里我們對四元數進一步的區分。我們對上一時刻濾波后的姿態(四元數)記為 ,當前時刻角速度計的讀數即角速度為 ,角速度計計算得到的姿態為 。

對2.1中優化后得到的四元數記為 ,即加速度計計算得到的姿態。

那么,當前時刻估計的姿態取做兩個姿態的加權平均:

至于 如何取值,下一小節進行討論。

2.3 權重取值

由于角速度存在漂移,我們定義角速度的發散速率為 。這里如果加速度計對姿態貢獻的收斂速度,等于角速度的發散速度,則由式(5)融合的結果依舊是準確的姿態。即需要有:

由于 中對 沒有限制,因此取 為無限大,此時,綜合(1)(5)(6),有:

定義估計的角速度 ,則最終有:

再看式(7),可以將視作,下一時刻的姿態,等于上一時刻姿態,加上角速度計的積分,減去一個與角速度計噪聲水平 相關的增量,這個增量的與加速度計的優化時的梯度有關。最終,Madgwick濾波算法的參數只有一個。

代碼

Matlab完整代碼[3]如下:

functionobj=UpdateIMU(obj,Gyroscope,Accelerometer)

q=obj.Quaternion;

if(norm(Accelerometer)==0),return;end
Accelerometer=Accelerometer/norm(Accelerometer);%歸一化加速度計數據

%式(2)和(3)
F=[2*(q(2)*q(4)-q(1)*q(3))-Accelerometer(1)
2*(q(1)*q(2)+q(3)*q(4))-Accelerometer(2)
2*(0.5-q(2)^2-q(3)^2)-Accelerometer(3)];
J=[-2*q(3),2*q(4),-2*q(1),2*q(2)
2*q(2),2*q(1),2*q(4),2*q(3)
0,-4*q(2),-4*q(3),0];
step=(J'*F);
step=step/norm(step);%式(1)中的減號后面的部分,即修正量

%式(8)中的修正角速度
qDot=0.5*quaternProd(q,[0Gyroscope(1)Gyroscope(2)Gyroscope(3)])-obj.Beta*step';

%式(7)(8),即迭代到下一步。
q=q+qDot*obj.SamplePeriod;
obj.Quaternion=q/norm(q);%normalisequaternion
end

與Mahony算法的比較

Madgwick算法與Mahony算法相比,最大的不同之處是如何對待加速度計估計的誤差。Mahony是利用叉乘,Madgwick是利用優化;

Mahony可以視作一個PI(比例-積分)控制器,Madgwick是一個P(比例)控制器;

Madgwick比Mahony的精度稍高一丟丟,但Mahony的計算速度略快[4];

Mahony與Madgwick都需要假設加速度測的只是重力,因此在加速度變化劇烈情況下表現不佳。

編輯:黃飛

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

    關注

    2

    文章

    89

    瀏覽量

    13755
  • 磁力計
    +關注

    關注

    1

    文章

    71

    瀏覽量

    20904

原文標題:IMU姿態濾波算法——Madgwick算法:原理與代碼

文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    常用的經典濾波算法有哪些??

    常用的經典濾波算法有哪些??
    發表于 07-01 15:15

    AD轉換常用濾波算法

    非常經典濾波算法
    發表于 05-05 14:29

    濾波算法

    10種濾波算法
    發表于 07-28 11:16

    濾波算法

    包含內容:1.10種軟件濾波的方法 2.單片機數字濾波算法研究3.濾波算法程序
    發表于 10-13 09:29

    幾種常見的濾波算法

    **幾種常見的濾波算法**限幅濾波算法(程序判斷濾波算法)顧名思義,就是單純用程序來處理輸入數據
    發表于 01-11 06:37

    怎么評估一個濾波算法濾波效果?

    怎么評估一個濾波算法濾波效果
    發表于 10-10 07:31

    卡爾曼濾波算法對比其他的濾波算法有什么優點?

    卡爾曼濾波算法對比其他的濾波算法有什么優點
    發表于 10-11 06:42

    基于LMS算法與RLS算法的自適應濾波

    自適應信號處理的理論和技術已經成為人們常用濾波和去噪技術。文中講述了自適應濾波的原理以及LMS算法和RLS算法兩種基本自適應算法的原理及步驟
    發表于 07-06 15:20 ?219次下載
    基于LMS<b class='flag-5'>算法</b>與RLS<b class='flag-5'>算法</b>的自適應<b class='flag-5'>濾波</b>

    經典濾波算法

    經典濾波算法,感興趣的小伙伴們可以瞧一瞧。
    發表于 11-18 17:59 ?4次下載

    卡爾曼濾波算法

    卡爾曼濾波算法
    發表于 12-17 17:22 ?52次下載

    基于無源定位的粒子濾波算法

    特性,增加了樣本的多樣性,克服了重采樣過程中的粒子退化問題,并針對二維平面機動模型進行仿真。仿真實驗表明,本文算法能夠適用于機載無源定位系統,能夠有效的提高濾波精度,跟蹤性能優于經典的粒子濾波
    發表于 11-08 15:32 ?1次下載
    基于無源定位的粒子<b class='flag-5'>濾波</b><b class='flag-5'>算法</b>

    圖像加窗中值濾波算法的研究分析

    提出了一種實用的圖像濾波算法,即圖像加窗中值濾波算法。在分析經典中值濾波
    發表于 11-30 11:11 ?4次下載
    圖像加窗中值<b class='flag-5'>濾波</b><b class='flag-5'>算法</b>的研究分析

    濾波算法有哪些十大濾波算法的資料介紹

    本文檔的主要內容詳細介紹的是十大濾波算法的資料介紹包括了:限幅濾波法(程序判斷濾波法),中位值濾波法,算術平均
    發表于 01-04 08:00 ?28次下載
    <b class='flag-5'>濾波</b><b class='flag-5'>算法</b>有哪些十大<b class='flag-5'>濾波</b><b class='flag-5'>算法</b>的資料介紹

    如何使用FPGA實現圖像的中值濾波算法

    圖像濾波是圖像預處理過程中葦要的組成部分,而基于FPGA的濾波算法相對軟件算法而言具有高度的并行性。能滿足實時圖像處理的要求.同時也具有靈活的硬件可編程性;簡要說明了中值
    發表于 04-01 11:21 ?42次下載
    如何使用FPGA實現圖像的中值<b class='flag-5'>濾波</b><b class='flag-5'>算法</b>

    11種濾波算法程序分享

    11種濾波算法程序分享
    的頭像 發表于 07-24 15:57 ?1691次閱讀
    主站蜘蛛池模板: 轻点灬大ji巴太粗太长了h| 久久澡| 国产一级毛片午夜福| 国产永久免费爽视频在线| 久久草在线视频播放| mm131美女肉体艺术图片| 亚洲qingse中文在线| 91av免费在线观看| 乱妇伦小说| 午夜欧美福利| 日本免费黄色小视频| 精品国产免费一区二区| www.激情网.com| 青青伊人91久久福利精品| 国产aa| 婷婷国产成人久久精品激情| 中国业余老太性视频| 婷婷久久综合| 欧美日a| 豆国产97在线 | 欧洲| 天天插夜夜爽| 午夜免费啪啪| 国产叼嘿网站免费观看不用充会员| 五月婷婷六月天| 久青草久青草高清在线播放| www.亚洲成在线| 免免费看片| 一区二区高清在线观看| 一级片免费在线| 午夜网站在线观看| 色综合视频| 老湿影院免费体验区| 宅男69免费永久网站| 日本黄色短片| www.色婷婷| 国内精品久久久久影院免费| 中文字幕在线一区二区在线 | 大象焦伊人久久综合网色视| 天天夜夜人人| 黄视频国产| 特级一级毛片视频免费观看|