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

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

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

3天內不再提示

導航及無人機姿態檢測融合算法很難?用sensor fusion來搞定!

意法半導體AMG ? 來源:未知 ? 作者:電子大兵 ? 2017-09-05 09:47 ? 次閱讀

1.什么是姿態融合算法

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

2.數字濾波算法的選擇

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

a)互補濾波算法

b)擴展卡爾曼濾波算法

c)無跡卡爾曼濾波算法

d)粒子濾波算法

e)Mahony互補濾波算法

3.ST姿態檢測融合算法

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

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

應用案例——GD32F103+MPU9150四旋翼飛行器第一步:姿態融合算法

前言:

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

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

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

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

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

我現在軟件實現的功能:算法用AHRSupdate、陀螺儀零偏校準、加速度計平滑濾波、磁力計平面校準,以后看情況可能會慢慢更新加速度計精確校準、磁力計橢球擬合校準、陀螺儀溫度補償等。

第一部分:硬件

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

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

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

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

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

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

上圖:

圖1:PCB的3D效果圖,測試版,先追求調通得出姿態角,后續改版會做大的調整:

第二部分:軟件

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

2.驅動:官方的MPU6050驅動inv_mpu.c和inv_mpu_dmp_motion_driver.c;

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

上圖:

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

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

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

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

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

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

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

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

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

下圖,旋轉前是[x y z],旋轉后就是[-y x z]:

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

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

第四部分:算法

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

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

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

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

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

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

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

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))

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

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

至此初始化四元數完成。

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

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

下圖繞Z軸Yaw:

下圖繞X軸pitch:

下圖繞Y軸Roll:

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

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

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

以下是靜止時,剛上電時的數據:

以下是上電半個小時以后的數據:

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

最后總結一下:

我的代碼中,0°

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


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

    關注

    31

    文章

    3137

    瀏覽量

    108631
  • 運動傳感器
    +關注

    關注

    9

    文章

    164

    瀏覽量

    30769
  • 地磁傳感器
    +關注

    關注

    1

    文章

    44

    瀏覽量

    18104
  • 3軸陀螺儀
    +關注

    關注

    0

    文章

    5

    瀏覽量

    5548
  • 3軸加速度計

    關注

    0

    文章

    5

    瀏覽量

    7240

原文標題:ST sensor fusion-姿態檢測融合算法簡介

文章出處:【微信號:St_AMSChina,微信公眾號:意法半導體AMG】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    姿態到飛行控制,IMU全方位守護無人機飛行

    IMU為無人機提供關鍵飛行數據,可以幫助無人機實現姿態控制、導航、飛行控制等多個功能。提供的數據被飛控系統用于生成控制指令,在飛行中做出快速反應,保持穩定,實現精準的飛行控制。
    的頭像 發表于 12-13 09:51 ?149次閱讀
    從<b class='flag-5'>姿態</b>到飛行控制,IMU全方位守護<b class='flag-5'>無人機</b>飛行

    霍爾傳感器在無人機中的應用

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

    無人機慣導IMU和航姿參考系統

    無人機飛行姿態的控制是其飛行性能和任務執行能力的核心,依賴于精確的傳感器數據、高效的控制算法和可靠的執行機構
    的頭像 發表于 11-06 17:45 ?346次閱讀
    <b class='flag-5'>無人機</b>慣導IMU和航姿參考系統

    基于深度學習的無人機檢測與識別技術

    隨著無人機技術的快速發展,無人機在軍事、民用、商業等多個領域的應用日益廣泛。然而,無人機的廣泛使用也帶來了諸多挑戰,如空域安全、隱私保護等問題。因此,開發高效、準確的無人機
    的頭像 發表于 07-08 10:32 ?1235次閱讀

    無人機干擾器對網絡的影響

    對網絡的干擾。無人機干擾器是一種專門用于干擾無人機通信、導航、控制等系統的設備,其目的是阻止無人機的正常飛行和任務執行。 無人機干擾器的原理
    的頭像 發表于 07-08 10:01 ?891次閱讀

    反制無人機導航誘騙系統 #無人機反制系統 #無人機 #大疆無人機

    無人機
    高子航
    發布于 :2024年05月14日 17:52:32

    揭秘無人機反制系統:如何精準檢測無人機

    反制系統應運而生,用于檢測并控制非法或違規的無人機。本文深圳市特信電子有限公司小編將詳細探討無人機反制系統是如何檢測無人機的。
    的頭像 發表于 05-14 09:19 ?894次閱讀

    第四集 知語云智能科技無人機反制技術與應用--無人機的組成與工作原理

    轉彎等動作。 姿態控制:無人機姿態控制依賴于飛控系統和傳感器。傳感器實時感知無人機姿態、速度和位置信息,飛控系統根據這些信息計算出控制指
    發表于 03-12 11:28

    第三集 知語云智能科技無人機反制技術與應用--無人機的應用領域

    應對突發情況。 智能識別:通過先進的算法和數據庫,能夠識別不同品牌和型號的無人機,實現個性化反制。 四、無人機反制技術的應用前景 隨著無人機技術的不斷發展,
    發表于 03-12 11:13

    第二集 知語云智能科技無人機反制技術與應用--無人機的發展歷程

    等問題層出不窮,給社會安全帶來了嚴重威脅。為了解決這些問題,知語云智能科技投入大量研發力量,推出了一系列無人機反制技術。 知語云智能科技的無人機反制技術涵蓋了檢測、識別、追蹤、干擾等多個環節。通過
    發表于 03-12 10:56

    第一集 知語科技無人機反制技術與應用--無人機的定義與分類

    技術的崛起 隨著無人機技術的普及,無人機侵犯隱私、干擾航空安全等問題日益突出。為了應對這些挑戰,無人機反制技術應運而生。無人機反制技術主要包括無線電干擾、
    發表于 03-12 10:42

    知語云智能科技無人機防御系統:應對新興威脅的先鋒力量

    作為知語云智能科技的創新產品,具備高效、智能、安全等特點。該系統通過先進的雷達探測技術,能夠迅速發現目標無人機,并進行精確跟蹤。同時,結合高速計算機處理技術和智能算法無人機防御系統能夠準確判斷
    發表于 02-26 16:35

    無人機全景監測:空域管理的新革命

    、交通管理、城市規劃等多個領域發揮更大的作用。同時,隨著5G、物聯網等技術的融合應用,無人機全景監測技術也將迎來更多的創新和發展機遇。 結語 無人機全景監測技術作為提升空域管理效率的關鍵,正逐漸改變
    發表于 02-20 15:23

    \"【重磅推出】知語云智能科技:革新低空無人機反制系統,守護領空安全!

    的低空無人機反制系統。 知語云智能科技的無人機反制系統,集成了先進的雷達探測、無線電干擾、導航誘騙等多項技術。能夠在復雜的低空環境中,迅速發現、識別、定位并有效管控無人機。同時,該系統
    發表于 01-26 16:10

    Spring Boot和飛騰派融合構建的農業物聯網系統-改進自適應加權融合算法

    數據融合之前需用箱線圖法檢測和剔除異常值。箱線圖法中反映數據結構的參數有:第一四分位數 Q1、第三四分位數 Q3以及四分位間距IQR。 2自適應加權融合算法 為了確保參數估計的準確性和穩定性,本文
    發表于 01-06 12:18
    主站蜘蛛池模板: 亚洲伊人久久网| 免费观看黄色在线视频| 精品国产免费人成高清| 午夜视频在线观看视频| 无遮挡很污很爽很黄的网站| 曰本三级香港三级人妇99视频| 模特精品视频一区| 天天插日日干| 国产精品三级| 激情五月宗合网| 长腿丝袜美女被啪啪| 久久88色综合色鬼| 美女bbbb视频| 在线免费成人| 国产主播精品在线| 天天天天添天天拍天天谢| japanesexxx日本69| 中文字幕一精品亚洲无线一区| 你懂的网址在线观看| 天天综合色网| 日本在线一区| 久久人成| www.五月激情| 四虎影院在线免费| 夜夜综合网| 亚洲成人网页| 六九视频在线观看| 国产亚洲精品久久午夜| 五月婷婷开心综合| 在线观看一级片| 日本欧美一区二区三区免费不卡| 欧美日韩在线成人免费| 欧美成人免费观看bbb| 在线观看中文字幕第一页| 给我免费播放片黄色| 久久国产午夜精品理论篇小说 | 深深激情网| 五月激情综合网| 蝌蚪自拍网二区| 国产三级精品三级在线观看| h视频免费在线|