一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

導(dǎo)航及無人機姿態(tài)檢測融合算法很難?用sensor fusion來搞定!

意法半導(dǎo)體AMG ? 來源:未知 ? 作者:電子大兵 ? 2017-09-05 09:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.什么是姿態(tài)融合算法

簡單來說,姿態(tài)融合算法就是融合多種運動傳感器數(shù)據(jù)(一般需要3軸加速度, 3陀螺儀或者3軸地磁感應(yīng)傳感器),通過數(shù)字濾波算法容錯補償,實現(xiàn)當前姿態(tài)檢測。

2.數(shù)字濾波算法的選擇

根據(jù)運動傳感器噪聲模型,一般以下濾波算法可供融合算法選擇:

a)互補濾波算法

b)擴展卡爾曼濾波算法

c)無跡卡爾曼濾波算法

d)粒子濾波算法

e)Mahony互補濾波算法

3.ST姿態(tài)檢測融合算法

ST能提供完整的,高性能姿態(tài)檢測融合算法--MotionFX/iNemoEngine。其能最大限度規(guī)避因加速度和地磁感應(yīng)傳感器數(shù)據(jù)異常,或者陀螺儀零飄帶來的誤差。多種數(shù)據(jù)輸出選擇,包括四元素,歐拉角,線性加速度以及重力矢量。

還有9軸和6軸兩種選擇:9軸的話需要3軸加速度,3軸陀螺儀和3軸地磁感應(yīng),能夠提供當前三維空間的絕對方向信息,可以用作導(dǎo)航及無人機姿態(tài)檢測等應(yīng)用;6軸需要3軸加速度和3軸陀螺儀數(shù)據(jù),可用于游戲,AR/VR等應(yīng)用。

應(yīng)用案例——GD32F103+MPU9150四旋翼飛行器第一步:姿態(tài)融合算法

前言:

相比直升機來說,四旋翼乃至多旋翼飛行器的機械結(jié)構(gòu)簡單,操控靈活,飛行穩(wěn)定,體積也能做的更小,當然也能更大,它將直升機復(fù)雜的機械結(jié)構(gòu)設(shè)計難度轉(zhuǎn)化到了電子電路和算法上面,因此四旋翼飛行器的設(shè)計更容易上手,更民眾化。

四旋翼飛行器的軟件核心包括兩大部分:姿態(tài)融合算法和控制算法;硬件核心便是MCU和傳感器。

先介紹下姿態(tài)融合算法,姿態(tài)融合說白了就是將3軸加速度、3軸角速度和3軸磁場強度融合成四元數(shù),再將四元數(shù)轉(zhuǎn)化為歐拉角,最后將歐拉角最為控制量輸送到所有電機以達控制飛行器姿態(tài)的目的。歐拉角包括偏航角Yaw、俯仰角Pitch和滾動角Roll。我用的算法是Madgwick寫的AHRSUpdate和IMUUpdate,簡單有效,其中AHRSUpdate是融合了陀螺儀、加速度計和磁力計,而IMUUpdate只融合了陀螺儀和加速度計,就優(yōu)缺點來說,IMUupdate算法只融合了加速度計和陀螺儀的數(shù)據(jù),還需要使用互補濾波算法來融合磁力計以修正偏航角Yaw,不然飛行器會找不到北,但是這種互補濾波有個小問題,就是假如定義偏航角的范圍是0-360度,那么當機頭大概從北偏西1度轉(zhuǎn)到北偏東364度時,機頭會經(jīng)過0度(360度)這個點,那么這時,yaw不會直接1-0-364這么變化,而是會被逆向積分從1-20-180-270-364這么轉(zhuǎn)一圈,這是個不好的現(xiàn)象,實驗了半天也沒有解決,而AHRSupdate很好的解決了這個問題,不過由于AHRSupdate把磁力計的數(shù)據(jù)融合進了所有歐拉角,因此當傳感器受到外圍強磁場干擾時,就會造成全方位失控,導(dǎo)致墜機,而使用IMUupdate算法,頂多飛行器會轉(zhuǎn)圈而已。

傳感器我用的是invensense公司的MPU9150,MPU9150芯片集成了加速度計、陀螺儀和磁力計,并且內(nèi)置硬件DMP用于姿態(tài)融合,不過不好用;MCU則用是Gigadevice公司的GD32F103系列,由于我也是剛接觸四旋翼飛行器,第一個目的當然是能夠平穩(wěn)的飛起來,暫不考慮加入其他外圍設(shè)備。后續(xù)可能會考慮使用GD32F107或者GD32F2xx系列,可擴展攝像頭小玩一把航拍,當然更好的是GD32F4xx系列(期盼中),自帶浮點運算單元,由于我軟件太菜,算法中出現(xiàn)大量的浮點運算導(dǎo)致姿態(tài)更新頻率和控制頻率達不到很高。

做四軸飛行器也是為了好玩,目前我只完成了第一步:姿態(tài)融合。接下來才是更重要的,選擇合適的機架、電調(diào)、電機、螺旋槳,寫PID控制代碼,系統(tǒng)整合以后還要調(diào)試各種參數(shù),抗干擾,抗震動,最后還要加各種應(yīng)用器件。在此鼓勵一下自己,堅持就是勝利,慢慢磨洋工。

我現(xiàn)在軟件實現(xiàn)的功能:算法用AHRSupdate、陀螺儀零偏校準、加速度計平滑濾波、磁力計平面校準,以后看情況可能會慢慢更新加速度計精確校準、磁力計橢球擬合校準、陀螺儀溫度補償?shù)取?/p>

第一部分:硬件

1.傳感器:MPU9150(INVENSENSE公司的,單芯片內(nèi)集成了加速度計、陀螺儀和磁力計,并且內(nèi)置DMP用于姿態(tài)融合,不過只融合了加速度計和陀螺儀,沒有融合磁力計進去,具有自校準功能,價格比MPU6050貴很多,但是省PCB面積,省事,軸向重合度高。實際上就是把MPU6050和磁力計AK8975放在同一個芯片里,程序還是使用MPU6050的驅(qū)動,缺點是會偶爾丟失數(shù)據(jù),自帶的姿態(tài)融合算法的更新頻率不高);

2.MCU:GD32F103CB(Gigadevice公司的,ARMcortex-M3內(nèi)核,32位MCU,主頻最高108Mhz,48Pin,與ST同型號的32位MCU 直接兼容,性價比更高,外接8M晶振,也可使用內(nèi)部8M晶振,晶振遠離傳感器,避免干擾磁力計,不過當時考慮不周,這個芯片的timer太少了,以后會先采用GD32F103VCT6或者GD32F107VCT6);

3.電源芯片:TLV70233DBVR(TI的LDO,輸入2-6V,輸出3.3V,只需要外接2個X7R無極性陶瓷電容,價格太高)

4.串口:MAX3232(方便調(diào)試)

5.USB供電,輸出電壓5V

6.目前機架、電調(diào)、電池、電機和螺旋槳已買好,來張圖,比較大眾化:

上圖:

圖1:PCB的3D效果圖,測試版,先追求調(diào)通得出姿態(tài)角,后續(xù)改版會做大的調(diào)整:

第二部分:軟件

1.使用keil,uvision4.1.0,工具鏈:RealViewMDK-ARM Version4.12;

2.驅(qū)動:官方的MPU6050驅(qū)動inv_mpu.c和inv_mpu_dmp_motion_driver.c;

先看幾個圖,然后再說坐標軸的設(shè)定和算法部分。

上圖:

圖1:系統(tǒng)初始化,順序從上到下依次是:初始化MPU、設(shè)置需要使用哪些傳感器、設(shè)置陀螺儀測量范圍(我設(shè)的是正負500度/s)、設(shè)置加速度計測量范圍(我設(shè)的是正負4g)、配置fifo、設(shè)置采樣率、裝載DMP、設(shè)置陀螺儀軸向(比較重要)、使能DMP的一些玩意兒、設(shè)置DMP的FIFO、自校準陀螺儀和加速度計、開啟DMP、開始姿態(tài)融合,見下圖:

圖2:由四元數(shù)求出的最終姿態(tài)角,其中Yaw為航向角,表示機頭偏離正北方多少度,范

圍-180到+180;Pitch為俯仰角,表示機頭正方向與水平線的夾角,范圍-90到+90;Roll為翻滾角,表示機翼與水平線的夾角,范圍:-180到+180。下圖為機身水平,且機頭正北偏西37度左右的數(shù)據(jù):

圖3:下圖為機翼水平,機頭指向正北,且機頭向下25度的數(shù)據(jù)

圖4:下圖為機頭指向正北,保持水平,且機翼的右翼向下傾斜23度的數(shù)據(jù)

圖5:看下歐拉角的奇異點,在奇異點處一個轉(zhuǎn)動狀態(tài)對應(yīng)無窮多組自由度值,當物體轉(zhuǎn)到這些奇異點附近,便沒法求解。圖中當Pitch為+90度時,機體的姿態(tài)便沒法控制,Roll的軸向發(fā)生了變化。如下圖:

第三部分:如何確定自己的軸向

首先,軸向的定義跟初始化四元數(shù)和最后結(jié)算的歐拉角有關(guān),跟四元數(shù)更新算法無關(guān),換句話說,不管你的軸向如何定義,姿態(tài)融合算法隨便用,但是初始化四元數(shù)的公式和最后結(jié)算歐拉角的公式要做適當?shù)母淖?,這個后面算法中有說。加速度計也好,陀螺儀也好,磁力計也好,他們的軸向都要滿足右手定理,如下圖:

再附上一段注釋用于解釋如何定義合理的軸向,以及如何正確旋轉(zhuǎn)傳感器的軸向,解釋這么多其實就是說定義好的軸向要滿足右手定理,如下圖:

下圖,旋轉(zhuǎn)前是[x y z],旋轉(zhuǎn)后就是[-y x z]:

下圖是如何確定旋轉(zhuǎn)角度的正方向,用右手握住坐標軸,拇指指向軸向的正方向,四個指頭彎曲的方向就是旋轉(zhuǎn)角度的正方向,在初始化四元數(shù)時,計算出的歐拉角的正方向也要滿足這個條件:

我的程序使用的軸向如下圖所示,未作任何改變:

第四部分:算法

第一步是校準,加速度計和陀螺儀我用的是MPU9150內(nèi)部自校準,磁力計的校準采用如下方法:見附件-磁力計校準

第二步是初始化四元數(shù),常見的軸向定義是繞x軸旋轉(zhuǎn)是Roll,繞y軸旋轉(zhuǎn)是Pitch,繞z軸旋轉(zhuǎn)是Yaw,我的程序中也有這樣的定義,不過被我注釋掉了,這里舉個另外一種軸向定義來對初始化四元數(shù)進行說明,方便比較,也是我目前正在用的軸定義。

下面我們來定義繞x軸旋轉(zhuǎn)是Pitch,繞y軸旋轉(zhuǎn)是Roll,繞z軸旋轉(zhuǎn)是Yaw,軸向的正方向如上圖一樣,不變。

先對加速度計和磁力計的數(shù)據(jù)進行處理,得到init_xx來供我們使用如下圖:

然后通過公式計算出初始化的Roll、Pitch、Yaw,注意加負號保證旋轉(zhuǎn)角度的正方向,如下圖:

其中Yaw的正方向未必對,可以自己去驗證下,具體參考公式見附件-ST電子羅盤計算Yaw

然后由上面的歐拉角求出初始化四元數(shù),這時要注意旋轉(zhuǎn)順序的不同,公式也不同,大部分旋轉(zhuǎn)順序是Z-Y-X,我的程序里也用的這個順序,在這里我們按Z-X-Y的順序來旋轉(zhuǎn),并得出求四元數(shù)的公式以做比較,其旋轉(zhuǎn)矩陣:

q=qyaw*qpitch*qroll=

(cos(0.5*Yaw)+ksin(0.5*Yaw)) *(cos(0.5*Pitch)+isin(0.5* Pitch)) * (cos(0.5*Roll)+jsin(0.5* Roll))

得出初始化四元數(shù)計算公式如下圖所示:

其中i,j,k之間相乘的順序不能隨意變,在前的先計算,在后的后計算相乘的公式如下圖:

至此初始化四元數(shù)完成。

第三步就是使用AHRSUpdate算法了,用完以后再根據(jù)公式計算出歐拉角,此公式跟旋轉(zhuǎn)順序和旋轉(zhuǎn)使用的軸向有關(guān),我們的旋轉(zhuǎn)順序是Z-X-Y,且繞Z是Yaw,繞X是Pitch,繞Y是Roll,推到過程如下圖:

首先得出3個方向余旋矩陣:

下圖繞Z軸Yaw:

下圖繞X軸pitch:

下圖繞Y軸Roll:

然后按照我們的Z-X-Y順序求得C=Croll * Cpitch * Cyaw,如下圖:

將上圖的方向余旋矩陣C與下圖的四元數(shù)姿態(tài)矩陣做對比,即可求出歐拉角,注意上圖的方向余旋矩陣C是隨著我們對坐標軸的定義變化而變化的,而下圖的四元數(shù)姿態(tài)矩陣是固定的:

最后一步就是求出歐拉角,公式如下圖:

以下是靜止時,剛上電時的數(shù)據(jù):

以下是上電半個小時以后的數(shù)據(jù):

可以看出正常的靜止狀態(tài)下,數(shù)據(jù)的波動范圍是不超過1度的,也不會有漂移。具體效果還需要上機架飛起來以后再做調(diào)整。

最后總結(jié)一下:

我的代碼中,0°

注意跑108Mhz時,需要修改延遲函數(shù)和串口函數(shù),適當增加一下延遲函數(shù)的數(shù)值避免I2C通信失敗,修改串口函數(shù)是為了避免108Mhz下串口亂碼問題


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 意法半導(dǎo)體
    +關(guān)注

    關(guān)注

    31

    文章

    3257

    瀏覽量

    109956
  • 運動傳感器
    +關(guān)注

    關(guān)注

    9

    文章

    168

    瀏覽量

    31146
  • 地磁傳感器
    +關(guān)注

    關(guān)注

    1

    文章

    45

    瀏覽量

    18374
  • 3軸陀螺儀
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    5591
  • 3軸加速度計
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    7302

原文標題:ST sensor fusion-姿態(tài)檢測融合算法簡介

文章出處:【微信號:St_AMSChina,微信公眾號:意法半導(dǎo)體AMG】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    無人機導(dǎo)航的革命性突破:愛盛科技磁傳感器導(dǎo)航增強系統(tǒng)

    和任務(wù)需求的精細化,無人機對精準導(dǎo)航系統(tǒng)的依賴也日益凸顯。在這一背景下,磁力計作為無人機導(dǎo)航的核心組件之一,其性能直接決定了無人機的飛行穩(wěn)定
    的頭像 發(fā)表于 07-10 12:02 ?215次閱讀
    <b class='flag-5'>無人機</b><b class='flag-5'>導(dǎo)航</b>的革命性突破:愛盛科技磁傳感器<b class='flag-5'>導(dǎo)航</b>增強系統(tǒng)

    無人機氣密性檢測儀:保障飛行安全的關(guān)鍵設(shè)備

    隨著無人機技術(shù)的迅猛發(fā)展,其在航拍、農(nóng)業(yè)、物流等領(lǐng)域的應(yīng)用日益廣泛。然而,無人機在復(fù)雜環(huán)境中的穩(wěn)定飛行很大程度上依賴于其內(nèi)部電子元件的保護,這就對無人機外殼的氣密性提出了嚴格要求。無人機
    的頭像 發(fā)表于 07-09 11:16 ?115次閱讀
    <b class='flag-5'>無人機</b>氣密性<b class='flag-5'>檢測</b>儀:保障飛行安全的關(guān)鍵設(shè)備

    為什么高端無人機不會在IMU精度上妥協(xié)?

    姿態(tài)控制精度與系統(tǒng)集成度現(xiàn)已成為制約無人機性能提升的關(guān)鍵瓶頸。無人機通過IMU集成的陀螺儀與加速度計,實現(xiàn)對三維空間姿態(tài)(角速度、加速度)數(shù)據(jù)的實時測量,數(shù)據(jù)傳遞至飛控系統(tǒng),能得到
    的頭像 發(fā)表于 07-07 16:16 ?123次閱讀

    適用于無人機的 IMU 有哪些要求?

    慣性測量單元(IMU)作為無人機飛行時運動感知的核心部件,它通過整合陀螺儀、加速度計,有時還包括磁力計、氣壓計等多種傳感器的數(shù)據(jù),全面掌握無人機的運動狀態(tài)。這些信息對于飛行控制、姿態(tài)穩(wěn)定和導(dǎo)航
    的頭像 發(fā)表于 07-04 11:33 ?198次閱讀
    適用于<b class='flag-5'>無人機</b>的 IMU 有哪些要求?

    愛普生M-G370PDS慣性測量單元在無人機導(dǎo)航中的應(yīng)用

    (IMU),專為無人機導(dǎo)航、姿態(tài)控制和振動監(jiān)測等應(yīng)用而設(shè)計。它具備六自由度測量能力,能夠提供三軸角速率和線性加速度的高精度數(shù)據(jù),幫助無人機實現(xiàn)精準的
    的頭像 發(fā)表于 06-19 15:53 ?200次閱讀
    愛普生M-G370PDS慣性測量單元在<b class='flag-5'>無人機</b><b class='flag-5'>導(dǎo)航</b>中的應(yīng)用

    愛普生TG2520SMN溫補晶振在無人機導(dǎo)航與通信的應(yīng)用

    無人機在現(xiàn)代社會的應(yīng)用場景不斷拓展,從農(nóng)業(yè)植保、電力巡檢到地理測繪、應(yīng)急救援,其高效、靈活的作業(yè)能力備受青睞。而在無人機穩(wěn)定飛行與精準作業(yè)的背后,精準的導(dǎo)航與可靠的通信至關(guān)重要。愛普生
    的頭像 發(fā)表于 04-24 10:53 ?246次閱讀
    愛普生TG2520SMN溫補晶振在<b class='flag-5'>無人機</b><b class='flag-5'>導(dǎo)航</b>與通信的應(yīng)用

    革新無人機導(dǎo)航:如何重新定義IMU高性能低成本

    隨著無人機在農(nóng)業(yè)測繪、物流運輸、應(yīng)急救援等領(lǐng)域的廣泛應(yīng)用,市場對高精度、高可靠性導(dǎo)航系統(tǒng)的需求激增。每一次精準的姿態(tài)調(diào)整與運動響應(yīng),都離不開IMU。ER-MIMU-08 應(yīng)運而生——成為無人機
    的頭像 發(fā)表于 02-19 09:15 ?570次閱讀

    精準導(dǎo)航的關(guān)鍵:揭秘GNSS模擬器在無人機行業(yè)的核心作用

    不斷提高,但這些新形式的設(shè)備帶來了獨特的定位、安全性和穩(wěn)健性挑戰(zhàn)。無人機依賴于全球衛(wèi)星導(dǎo)航系統(tǒng)(GNSS)來實現(xiàn)精確的位置、航向控制和導(dǎo)航,因此在研發(fā)、調(diào)試和性能驗證階段,模擬器扮演了至關(guān)重要的角色。 ? 二、
    的頭像 發(fā)表于 01-20 17:16 ?654次閱讀
    精準<b class='flag-5'>導(dǎo)航</b>的關(guān)鍵:揭秘GNSS模擬器在<b class='flag-5'>無人機</b>行業(yè)的核心作用

    無人機飛行控制器的組成部件和工作原理

    控制、導(dǎo)航以及任務(wù)執(zhí)行等功能。通過編程和算法優(yōu)化,飛行控制器能夠賦予無人機一定程度上的自主飛行能力,使其能夠在沒有人類直接干預(yù)的情況下完成特定任務(wù)。
    的頭像 發(fā)表于 12-24 16:30 ?3573次閱讀
    <b class='flag-5'>無人機</b>飛行控制器的組成部件和工作原理

    姿態(tài)到飛行控制,IMU全方位守護無人機飛行

    IMU為無人機提供關(guān)鍵飛行數(shù)據(jù),可以幫助無人機實現(xiàn)姿態(tài)控制、導(dǎo)航、飛行控制等多個功能。提供的數(shù)據(jù)被飛控系統(tǒng)用于生成控制指令,在飛行中做出快速反應(yīng),保持穩(wěn)定,實現(xiàn)精準的飛行控制。
    的頭像 發(fā)表于 12-13 09:51 ?577次閱讀
    從<b class='flag-5'>姿態(tài)</b>到飛行控制,IMU全方位守護<b class='flag-5'>無人機</b>飛行

    霍爾傳感器在無人機中的應(yīng)用

    高精度絕對角度霍爾傳感器,可滿足無人機機翼伺服系統(tǒng)對角度測量的特殊需求,提升飛行性能和穩(wěn)定性. 導(dǎo)航與定位:結(jié)合磁力計等傳感器,霍爾元件可檢測地球磁場,為無人機提供方向信息,輔助GPS
    的頭像 發(fā)表于 11-27 18:10 ?1119次閱讀
    霍爾傳感器在<b class='flag-5'>無人機</b>中的應(yīng)用

    DIY了一臺無人機,全志T113芯片

    SBUS接收機,來實現(xiàn)本地的數(shù)據(jù)傳輸與遠程控制。 如下圖中的畫面所示,左側(cè)是飛控通過WiFi與QGC連接后將無人機姿態(tài)數(shù)據(jù)返回的顯示界面,右側(cè)的畫面則是T113芯片的負載情況顯示,T113是雙核處理器
    發(fā)表于 11-13 09:43

    無人機慣導(dǎo)IMU和航姿參考系統(tǒng)

    無人機飛行姿態(tài)的控制是其飛行性能和任務(wù)執(zhí)行能力的核心,依賴于精確的傳感器數(shù)據(jù)、高效的控制算法和可靠的執(zhí)行機構(gòu)
    的頭像 發(fā)表于 11-06 17:45 ?1230次閱讀
    <b class='flag-5'>無人機</b>慣導(dǎo)IMU和航姿參考系統(tǒng)

    開源項目!DIY了一臺無人機全志T113芯片

    無人機姿態(tài)數(shù)據(jù)返回的顯示界面,右側(cè)的畫面則是T113芯片的負載情況顯示,T113是雙核處理器,作者這里只把T113的核心1做了隔離,只運行PX4程序,所以可以通過核心1的反饋直接看運行PX4程序的負載情況
    發(fā)表于 10-22 13:50

    探索無人機云臺的奧秘與組裝調(diào)試技巧

    技術(shù)操作的奇妙世界。 www.abitions.com 無人機云臺,簡單來說,就是安裝在無人機上用于穩(wěn)定相機或其他設(shè)備的裝置。它能夠通過一系列復(fù)雜的傳感器和算法,實時感知無人機
    的頭像 發(fā)表于 10-18 17:56 ?1152次閱讀
    探索<b class='flag-5'>無人機</b>云臺的奧秘與組裝調(diào)試技巧