五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

IMU基于互補濾波的姿態(tài)解算探究

2023-12-11 17:45 作者:西湖大學空中機器人  | 我要投稿

IMU的用途和姿態(tài)解算的必要性

隨著科技的迅猛發(fā)展,慣性測量單元(IMU)在許多領(lǐng)域中扮演著關(guān)鍵的角色,從智能手機到無人機,再到虛擬現(xiàn)實設(shè)備。IMU通過測量加速度和角速度等信息,為設(shè)備提供姿態(tài)解算的基礎(chǔ)數(shù)據(jù),使得設(shè)備能夠更準確地感知和響應外部環(huán)境。

圖片參考鏈接:https://m.sohu.com/a/393777218_487646/

物體的姿態(tài)即物體在三維空間中的朝向和旋轉(zhuǎn)狀態(tài)。這包括了物體相對于某個參考坐標系的方向,通常通過旋轉(zhuǎn)角度或者其他合適的參數(shù)來表示。姿態(tài)可以用于描述物體的姿勢、方向或者整體的朝向,在三維坐標系中,通常采用歐拉角、四元數(shù)或旋轉(zhuǎn)矩陣等方式來表示物體的姿態(tài),歐拉角會更加直觀一點,那什么是歐拉角呢?歐拉角是一種用于描述物體在三維空間中姿態(tài)的表示方法,它通過三個旋轉(zhuǎn)角度來定義物體相對于某個參考坐標系的旋轉(zhuǎn)狀態(tài)。這三個角度分別是:

  • 滾轉(zhuǎn)角(Roll)?指物體繞X軸的旋轉(zhuǎn),在飛行器中,滾轉(zhuǎn)角影響機身左右傾斜的程度。

  • 俯仰角(Pitch)指物體繞Y軸的旋轉(zhuǎn),在飛行器中,俯仰角影響機身前后傾斜的程度。

  • 偏航角(Yaw)?指物體繞Z軸的旋轉(zhuǎn),在飛行器中,偏航角影響飛行器左右方向的旋轉(zhuǎn)。

這三個維度的組合,形成了一個完整的姿態(tài)描述,讓我們更直觀地理解物體在空間中的朝向。

動圖參考鏈接:https://zhuanlan.zhihu.com/p/626258420


IMU廣泛應用于導航、運動控制、虛擬現(xiàn)實、機器人等領(lǐng)域。在導航中,IMU與其他傳感器(如GPS)聯(lián)合使用,以提供即時的姿態(tài)信息,從而提高導航的準確性。在運動控制方面,IMU可以用于檢測設(shè)備的傾斜、旋轉(zhuǎn)等狀態(tài),實現(xiàn)更靈活和精確的運動控制。

姿態(tài)解算是從IMU測量的原始數(shù)據(jù)中推導出設(shè)備在三維空間中的方向和位置的過程。由于IMU測量的是加速度和角速度,而非直接的姿態(tài)信息,因此需要進行姿態(tài)解算以獲取設(shè)備的準確姿態(tài)?;パa濾波是一種常用的姿態(tài)解算方法,通過整合加速度計和陀螺儀的數(shù)據(jù),提供相對精確的姿態(tài)估計,同時減小系統(tǒng)誤差。

卡爾曼濾波與互補濾波的對比

卡爾曼濾波的優(yōu)缺點

卡爾曼濾波是一種利用狀態(tài)估計和觀測數(shù)據(jù)的最優(yōu)估計濾波方法。其優(yōu)點在于能夠處理系統(tǒng)噪聲和不確定性,并提供較為精確的姿態(tài)解算。然而,卡爾曼濾波的實現(xiàn)相對較為復雜,包括狀態(tài)空間模型、協(xié)方差矩陣等概念,對計算資源要求較高。在資源受限的嵌入式系統(tǒng)中,可能不太適合使用卡爾曼濾波。

互補濾波的優(yōu)缺點

互補濾波是一種簡單而有效的姿態(tài)解算方法。它通過加權(quán)融合加速度計和陀螺儀的測量數(shù)據(jù),以減小姿態(tài)解算的漂移誤差?;パa濾波具有實現(xiàn)簡單、計算開銷小的優(yōu)點,適用于實時性要求高的應用。然而,對于動態(tài)環(huán)境或快速運動的場景,互補濾波可能會受到積累誤差的影響,導致姿態(tài)解算的不穩(wěn)定。

互補濾波的實現(xiàn)過程和推導

互補濾波基于兩個傳感器——加速度計和陀螺儀。加速度計測量物體的加速度,而陀螺儀測量物體的角速度。這兩個傳感器提供了關(guān)于物體運動的不同方面的信息?;パa濾波通過結(jié)合這兩種信息,以減小姿態(tài)解算的誤差。

1.加速度計數(shù)據(jù)的處理

加速度計提供了物體的傾斜信息。然而,由于重力的存在,加速度計同時還測量到了重力加速度。為了獲取物體的真實傾斜信息,需要進行重力加速度的補償。

補償過程可以通過使用低通濾波器來濾除加速度計輸出中的高頻噪聲,并提取出與物體傾斜相關(guān)的信息。

2. 陀螺儀數(shù)據(jù)的處理

陀螺儀提供了關(guān)于物體角速度的信息。然而,陀螺儀的測量會隨時間積累誤差,導致姿態(tài)解算的漂移。

為了減小漂移誤差,將陀螺儀輸出的角速度與加速度計提供的傾斜信息結(jié)合。這種結(jié)合的方式通常采用互補的原理,即通過加權(quán)平均的方式,使兩種傳感器的輸出相互補充。

3.互補濾波公式的推導

對于陀螺儀測量值 gx, gy, gz 和誤差項 ex, ey, ez,以及相應的積分項 exInt, eyInt, ezInt,互補濾波的推導可以表示為:

其中,α 的取值范圍一般在 0.98 到 0.99 之間,根據(jù)實際場景和硬件特性進行調(diào)整。Kp 是比例增益,用于調(diào)整誤差項對陀螺儀測量值的影響。ex, ey, ez 是誤差項,表示估計的重力方向與加速度計測量值的叉乘。exInt, eyInt, ezInt 是誤差項的積分項。

4.整體實現(xiàn)流程

1) 輸入轉(zhuǎn)換

將角速度轉(zhuǎn)換為弧度/秒:

2) 加速度計測量值歸一化

計算加速度計測量值的模:

歸一化加速度計測量值:

3) 估計重力方向

根據(jù)當前四元數(shù)估計重力方向:

4) 計算誤差項

誤差項定義為估計的重力方向與加速度計測量值的叉乘:

5) 誤差項積分

對誤差項進行積分:

6) 調(diào)整陀螺儀測量值

調(diào)整陀螺儀測量值,對每個軸進行互補濾波:

7) 四元數(shù)積分更新

使用互補濾波后的角速度進行四元數(shù)的積分更新:

8) 四元數(shù)歸一化

對四元數(shù)進行歸一化處理:

9) 歐拉角計算

根據(jù)更新后的四元數(shù)計算歐拉角:

通過上述過程,互補濾波可以有效地結(jié)合加速度計和陀螺儀的信息,提供相對準確的姿態(tài)解算,其中的一些參數(shù)需要根據(jù)實際情況進行調(diào)整,比如加入一些低通濾波器濾除加速度計輸出中的高頻噪聲,提高解算穩(wěn)定性,gyro和acc在實際使用中的坐標軸對齊等。以下為展示視頻,結(jié)尾附代碼。

視頻詳見知乎鏈接:https://zhuanlan.zhihu.com/p/671601632

void?IMUupdate(double?gx,?double?gy,?double?gz,?double?ax,?double?ay,?double?az,?double?alpha,?float?dt)
{

?double?norm;
???double?vx,?vy,?vz;
???double?ex,?ey,?ez;?
???double?exInt,eyInt,ezInt;
???double?fusion_angular_rate;
??
???//?將角速度轉(zhuǎn)換為弧度/秒?
???gx?=?gx?*?0.01745329f;
???gy?=?gy?*?0.01745329f;
???gz?=?gz?*?0.01745329f;
????
???//?歸一化加速度計測量值
???norm?=?sqrt(ax?*?ax?+?ay?*?ay?+?az?*?az);
???ax?=?ax?/?norm;
???ay?=?ay?/?norm;
???az?=?az?/?norm;
?
???//?估計重力方向
???vx?=?2.0f?*?(q1?*?q3?-?q0?*?q2);
???vy?=?2.0f?*?(q0?*?q1?+?q2?*?q3);
???vz?=?q0?*?q0?-?q1?*?q1?-?q2?*?q2?+?q3?*?q3;
?
???//?計算誤差項
???ex?=?(ay?*?vz?-?az?*?vy);
???ey?=?(az?*?vx?-?ax?*?vz);
???ez?=?(ax?*?vy?-?ay?*?vx);
?
???//?誤差項積分
???exInt?=?exInt?+?ex?*?Ki?*?dt;
???eyInt?=?eyInt?+?ey?*?Ki?*?dt;
???ezInt?=?ezInt?+?ez?*?Ki?*?dt;
?
????//?調(diào)整陀螺儀測量值,對每個軸進行互補濾波
????gx?=?alpha?*?(gx)?+?(1?-?alpha)?*?(Kp?*?(*ex)?+?(*exInt));
????gy?=?alpha?*?(gy)?+?(1?-?alpha)?*?(Kp?*?(*ey)?+?(*eyInt));
????gz?=?alpha?*?(gz)?+?(1?-?alpha)?*?(Kp?*?(*ez)?+?(*ezInt));
??
???//?四元數(shù)積分更新
???q0?=?q0?+?(-q1?*?gx?-?q2?*?gy?-?q3?*?gz)?*?0.5f?*?dt;
???q1?=?q1?+?(?q0?*?gx?+?q2?*?gz?-?q3?*?gy)?*?0.5f?*?dt;
???q2?=?q2?+?(?q0?*?gy?-?q1?*?gz?+?q3?*?gx)?*?0.5f?*?dt;
???q3?=?q3?+?(?q0?*?gz?+?q1?*?gy?-?q2?*?gx)?*?0.5f?*?dt;
?
???//?四元數(shù)歸一化
???norm?=?sqrt(q0?*?q0?+?q1?*?q1?+?q2?*?q2?+?q3?*?q3);
???q0?=?q0?/?norm;
???q1?=?q1?/?norm;
???q2?=?q2?/?norm;
???q3?=?q3?/?norm;
??
???//?歐拉角計算
???pitch?=?asin(-2?*?q1?*?q3?+?2?*?q0?*?q2)?*?57.29577951f;?
???roll?=?atan2(2?*?q2?*?q3?+?2?*?q0?*?q1,?-2?*?q1?*?q1?-?2?*?q2?*?q2?+?1)?*?57.29577951f;?
???yaw?=?atan2(2?*?(q1?*?q2?+?q0?*?q3),?q0?*?q0?+?q1?*?q1?-?q2?*?q2?-?q3?*?q3)?*?57.29577951f;
}

總結(jié)

互補濾波的實現(xiàn)過程包括對加速度計和陀螺儀數(shù)據(jù)的處理,誤差項的計算與積分,以及通過互補濾波算法調(diào)整陀螺儀測量值。最終,通過四元數(shù)積分更新和歸一化,計算出歐拉角,提供設(shè)備的姿態(tài)信息。

在選擇姿態(tài)解算方法時,需要綜合考慮應用的需求、硬件資源以及對精度的要求。互補濾波作為一種輕量級、實時性強的姿態(tài)解算方法,在許多應用中得到廣泛應用。通過巧妙地整合傳感器數(shù)據(jù),互補濾波平衡了簡單性和準確性之間的權(quán)衡,為許多設(shè)備提供了可靠的姿態(tài)解算功能。

申請文章授權(quán)請聯(lián)系后臺運營人員?



IMU基于互補濾波的姿態(tài)解算探究的評論 (共 條)

分享到微博請遵守國家法律
青阳县| 德钦县| 神池县| 高平市| 庐江县| 大城县| 荆门市| 河津市| 墨竹工卡县| 乐业县| 昌乐县| 会同县| 乐清市| 大悟县| 通化县| 康定县| 伊宁市| 梨树县| 泸溪县| 白朗县| 新竹县| 浮山县| 桂阳县| 博兴县| 苍山县| 长泰县| 兴化市| 西乡县| 江孜县| 徐州市| 泽普县| 靖西县| 梅州市| 常熟市| 镇雄县| 株洲县| 黑龙江省| 镇原县| 固原市| 寿光市| 乌恰县|