導航:首頁 > 源碼編譯 > 飛控演算法

飛控演算法

發布時間:2022-02-21 07:24:09

① 無人機控制律演算法燒錄到飛控晶元上嗎

不可以亂燒的,不同的晶元,不同的方案,不可以燒同一個程序,億普電子專業代燒錄的經驗,望採納,謝謝

② 你了解無人機飛控么

世界變化快,我們雖在不知不覺間經歷著事物的變化,未必能夠意識到變化的發生,至於思考就更是奢求。而在無人機行業,思考卻比什麼都重要。

九十年代商務潮人標配大哥大+BP機,千禧年後出現了「手機」這個詞,功能上實現了大哥大與BP機的結合:Dial+Massage。之後手機的結構實現了從按鍵到鍵盤再到觸屏的變化過程,現如今哪款手機沒有系統,沒有APP,沒有網路功能都不敢加上「手機」二字。對於手機概念的理解不同,技術與產品方向也會不同。看似明確的變化過程中無數企業灰飛煙滅。
對於無人機行業而言,飛控系統是當之無愧的系統核心,而它又處在怎樣的變化之中呢?
二十一世紀之前國內很少聽到「無人機」這個詞,更多的是遙控飛機或者航模。八零後的朋友們應該還記得「舒克和貝塔」這部動畫片,第四集中兩只小老鼠幫助皮皮魯贏得了航模比賽。那時的航模還沒有「控」,因此除了舒克操控的直升機航模外,其他小朋友都使用相對容易操控的固定翼航模。
2000年以後隨著MEMS技術的發展以及電子航空發燒友的增加,從航模向無人機的轉變趨勢日趨明顯,很多FCM,FCU(Flight Control Mole/Unit,詞條解釋請移步:城堡里學無人機:無人機行業用語詞典(Keep 更新ing),下同)開始出現在人們面前:國內的KK,QQ,玉兔等,法國的MWC,德國的MikroKopter,Auto Quad,美國的Apm系列,穿越機常見的CC3d,Naze32,F3等。這些FCU通過相應的控制演算法,對無人機系統反饋的狀態信息(城堡里學無人機:狀態視角深入無人機硬體與演算法)進行解算,根據解算出的狀態數據結合演算法(一般為線性控制演算法)計算控制量並輸出。FCU本身往往只涉及很小一部分狀態信息的採集,同時內部演算法一般只針對無人機本身的姿態控制或者軌跡跟蹤(很少)。因此在系統硬體構成上不包含某些狀態信息獲取單元如GPS,超聲,紅外,光流,雙目等,或者不對某些狀態信息進行處理(如某些不處理外環狀態)。
在2012年之後,隨著航拍等市場需求的挖掘,無人機控制開始從FCM,FCU轉向FCS(Flight Control System),無人機廠家開始生產各自的飛控產品,該類產品更多是應用在該企業無人機產品所面對的市場領域。這類產品與FCU在系統范圍(或元素組成)上有著明顯的區別,一般不止包括FCU所涵蓋的范疇,也包括數據獲取(如雲台、攝像頭等)模塊,數據通訊模塊,GPS模塊,配套的地面站(PC端,移動端),SDK等。
但這種轉型並沒有徹底完成,由於FCS的系統架構,系統設計,相關演算法,地面站功能等各個方面都與無人機本身的應用行業息息相關,對於企業而言,真正的難點在於如何實現無人機技術與行業應用的銜接,即FCS的產品設計與技術發展不止於無人機,更重要的是延伸到無人機應用的行業中去。
在無人機行業應用中一批企業已經走在前面,有的企業提供整機服務如極飛、DJI等。也有企業專注於提供行業FCS,其中成熟的產品如上海TopXGun(拓攻)的植保機專用飛控:T1-A及行業飛控Top-D1(第十三屆上海模型展覽會就快召開了,包括拓攻這兩款FCS在內的很多產品都會參展,有興趣的朋友可以在讀完本文後面內容後去展會現場看一看行業級FCS產品與實機演示效果)

MR.城堡將以這一類產品為例與大家分享行業FCS在設計與實現中需要考慮的問題與處理方案。
無人機是基於任務的智能機器人系統,整體設計要根據專門的行業應用進行調整。這種調整勢必面臨來自穩定性、控制精度、行業適應性三個方面的挑戰。
1.穩定性
穩定性方面,行業無人機需要面對更加復雜的外部環境:強風干擾,強磁干擾,以及特殊情況下的系統穩定性,如大電流情況下的系統穩定性,高溫度作業環境中的系統穩定性等等。無論哪種情況,FCS都會首當其沖。如強風干擾下能否在維持快速響應的同時降低相應超調?高溫度下任何一個環節出現問題都有可能導致FCS系統部分或全部喪失能力。更多的挑戰是在消費應用中往往不會意識到的問題(或者影響有限),如定位系統穩定性,定位數據精度等,當面對長航時,情況多變,要求提高的行業應用時卻可能嚴重影響無人機任務完成情況甚至造成重大事故。
面對穩定性問題,從硬體角度出發一般有三類解決方案。最直接的方式是增加備份系統或備份單元(也可稱為增加「余度」,但該詞多義,謹慎使用)。比如DJI精靈4中雙目視覺有兩套,IMU兩個,強磁計兩個。拓攻的Top-D1,T1-S等採用備份FCU來降低系統風險。再有,Top-D1採用了差分GPS(DGPS)系統,支持GPS L1/L2、BDS B1/B2/B3雙星五頻與雙星解算,為行業應用提供更精確的定位信息(有關於DGPS技術,MR.城堡也會在以後的專欄文章中展開)。另外一種方式是增加FCS核心元件質量。比如無人機系統最容易出現數據誤差與干擾的強磁計,在FCS設計時根據行業要求與任務情況進行選擇。

上面的兩類硬體改進途徑一方面可以在很大程度上解決行業FCS系統面對的穩定性問題,但另外一個方面也勢必會增加系統成本。第三種方法是通過合理的硬體結構設計與製造工藝達到事半功倍的效果。

上圖是拓攻Top-D1的硬體圖,在每個子模塊中採用單獨處理器的分布式結構,一方面提高了整個系統以及各子系統的的性能,更重要的是保證了FCS中最關鍵部分FCU的安全性。從圖中看出,FCS通過IMU,OSD,PMU等模塊與FCU剝離實現分布式系統結構,這樣的設計方式,大家也可以在自己的設計中使用。
演算法方面,雖然不清楚拓攻或類似FCS設計商在行業級FCS中是否使用了特殊演算法架構,但在行業應用中演算法設計不是單獨進行的,要配合硬體系統設計以及產品功能實現,這部分內容MR.城堡會在專欄後續文章中進一步展開。
2.功能適應性
不同的行業對無人機硬體系統的內容,軟體功能,演算法要求都會不同。比如在植保領域,無人機介入該行業的最基本功能是噴灑農葯。面對大面積作業范圍,要求無人機能夠自動完成相關作業任務,否則在全部人為操作下,這項工作很難保證高效實現,且無法進行量化評價。這要求FCS不止針對無人機實現自動控制控制,也要能夠將水泵,葯夜噴灌系統納入到控制范疇。從設計角度講,FCS的設計范疇需要越過無人機進入相關行業。
FCS在面對不同行業時,對於功能適應的實現能力有著非常現實的要求。由於DJI、極飛這類提供整機產品的廠家沒找到對應的FCS結構圖,因此從專門的行業FCS廠商產品分析會容易些。比如拓攻的植保機飛控T1-A(上圖),該飛控在硬體結構上專門增添了DCU模塊處理噴灌過程的數據反饋,動作信號等。同時將液位數據轉化為噴灌量,進一步將噴灌量與飛行速度關聯,實現噴葯量與作業面積的統一,最後將這種數據關聯帶入到FCS對應的「智能作業」功能中。
大家可以從類似T1-A這樣的行業產品中體會FCS是如何一步步通過硬體結構、演算法關聯、系統要素最終匹配到植保領域的功能需求上來。這個過程中不同的行業理解,不同的設計方式,會產生不同的行業FCS產品。
3.研發鏈條延伸
在消費級無人機中,由於環境,法規,硬體成熟度,系統成熟度等原因,研發過程基本能夠壓縮在產品面世之前,在產品面世之後更多的是固件升級(往往也不會有很多升級版本)。但行業無人機的發展還處在萌芽階段,對於FCS在各個行業中的應用情況,需求情況,系統匹配等方面存在諸多不確定性(甚至評價方法都不明確),這就要求飛控企業能夠找到合適的方式實現產品面市之後的研發鏈條延伸。

國內專門進行無人機飛控設計與生產的公司往往比較「年輕」。以拓攻為例,成立時間約一年左右,有五款飛控產品面市,這個速度是非常快的,其中通用飛控三款(T1,T1-S,T1-Pro),行業飛控Top-D1,T1-A共兩款。這么多產品從側面說明在實際應用中對於FCS要求上存在著多麼大的靈活性與不確定性。產品發布之後,如何實現有效的行業數據反饋?如何在保證用戶權益的前提下匹配FCS升級要求?如何實現硬體系統擴展?到底要擴展哪些硬體?如何通過行業指標評價FCS的使用效果?這些都意味這更大的挑戰,更多的工作,當然也意味著更多的機遇。
FCS的設計無論是在消費領域還是行業領域都處於非常初始的階段,產品體系,技術體系,研發脈絡,反饋修正方式,硬體設計,演算法設計,功能設計,硬體系統擴展,功能擴展等方面都有著很多可以探索的內容。從FCS「組裝製作」到FCS「設計」,你能收獲的不止是快樂。
城堡無人機工作室公眾號:CastleUAVStudio
文中圖片來自於互聯網

③ PID演算法的參數怎麼確定

PID是自動控制理論里的一種控制方法,PID的意思分別代表了比例、積分和微分。具體是什麼意思呢?解釋如下:

首先,我們有一個狀態量,這個狀態量在整個過程中,我們希望通過輸入一個控制量,使這個狀態量發生變化,並盡量的接近目標量。比如,在航線控制中,狀態量是飛機當前的飛行航向,目標量是飛機為到達目標點而應該飛行的目標航向,控制量則是我們對其進行控制的方向舵面,或橫滾角度。我們通過調整方向舵面、橫滾角度來控制飛機的當前飛行航向,使之盡量接近為壓航線而應該飛行的目標航向。

那麼我們如何給出這個控制量,比如給哪個方向的、多大的方向舵量呢?最簡單的考慮,是按照當前航向與目標航向的偏差大小來決定給多大的方向舵量:方向舵量p = P * (目標航向 – 當前航向)。這個方向舵量p,就是PID控制里的P部分,即比例部分。

那麼,是不是只要有了P,我們的控制就完成了呢?實際上有了P,在大多數情況下,我們可以控制飛機朝目標量去接近,但可能會出現一些情況,比如,當飛機的安裝有偏差(我們稱之為系統誤差),導致我們輸出一個左5方向舵給舵機的時候,飛機才能直飛;當不給方向舵,即方向舵放在中位時,飛機會右偏。我們想像一下這個時候如果只有P項控制會有什麼後果:假設初始狀態是飛機飛行航向和目標航向一致,按P輸出飛機方向舵應該在中位。而這時候,由於系統安裝誤差的存在,會導致飛機偏右,於是偏離了目標航向,然後P項控制會輸出一個左舵,來修正航向偏差,剛開始的時候由於偏差量很小,輸出的這個左舵也很小,於是飛機繼續右偏,然後導致這個左舵加大,最終到達5,使飛機直飛,但這時候的飛行航向與目標航向始終存在一個偏差,這就是P的局限,無法修正系統誤差。於是I項積分控制就出場了。

I項的輸出這樣定義:方向舵量i = I * (偏差和)。偏差和是當前航向和目標航向的偏差,每計算一次累加一次,一直累加到上次的值,再加上這次計算時當前航向和目標航向的偏差。即這個偏差和是跟以前的累積誤差有關的。同樣是上面的例子,I項的效果就這樣體現:當飛機飛行航向與目標航向始終存在偏差時,I項將這個值累加上,比如說是5度吧,於是在P項之上,再疊加一個I*5的修正量,增加了一個左舵,比如說是2,然後導致飛機的飛行航向與目標航向的偏差會小一些。也許這一次計算輸出的控制量並沒有完全消除誤差,但下一次再計算時,如果還有誤差,於是會繼續再增加輸出控制量,使誤差再小,於是經過多次計算後,使I項始終輸出一個左5的舵量,使誤差歸零。這就是I項的作用,消除系統誤差。

D項的意思是微分。為了便於解釋,我們假設不存在系統誤差,I項為0。比如當目標航向為0度,當前航向為30度時,根據P項作用,會輸出一個左舵,假設為左15吧,使飛機向左轉向,於是當前航向逐漸減小,比如減小到20度的時候,P項輸出的左舵也會減小到左10。那麼,當飛機轉到0度時,跟目標航向一致時,P項輸出方向舵回到中立位,飛機是否就保持0度直飛了呢?XX是否定的。由於飛機的慣性,飛機在左轉彎時產生了一個左轉彎的速率,導致飛機航向回到目標航向無偏差且方向舵回中後,仍然還會繼續左轉,然後產生負的偏差,P項再輸出右方向舵,然後再回中。如果P項合適,我們看到的就是一個逐漸收斂於目標航向的飛行航向,即先左過頭,然後右過頭,再左過頭,再右過頭……最後過頭量越來越小,最終到達目標航向。而D項的作用,就是盡量消除這個過頭量,使之盡快貼近目標航向。

D項的定義是:方向舵d = D * (當前狀態量 – 上一次的狀態量)。在這個例子中,當飛機在從30度的航向,左轉彎到0度目標航向的過程中,D項的輸出實際上是轉彎角速率的比例值,並且方向與P項相反,這樣當飛機比較接近0度目標航向時,由於P值已經很小了,而這時候如果轉彎速率不小,D項就輸出一個右方向舵,抵消過快的轉彎速率,阻止飛機航向到達目標航向後繼續沖過頭。

最後,方向舵量 = 方向舵量p + 方向舵量i + 方向舵量d,為完整的輸出。根據飛行的表現,通過對P、I、D系數的調整,最終使輸出的控制量能夠盡快的控制狀態量貼近目標量,並消除系統誤差,避免過度震盪。

在完整的固定翼飛控系統中,除了航向通道需要PID控制外,其餘需要控制的通道還有:副翼舵->目標橫滾角、升降舵->目標俯仰角、目標俯仰角->高度差、油門舵->空速、目標航向->偏航距。

④ 如何用開源飛控PIXHAWK進行開發

想快速開發一個飛控,那首先要做的是了解apm的各種參數配置,了解每個參數的影響和起作用的代碼功能塊,用apm適配自己的機型還是需要修改,優化,和裁剪。正如克里斯安德森說希望APM做無人機行業的安卓,但是安卓的性能也只能是差強人意,比無人機行業的IOS大疆創新來說還差很多。
飛控行業或者研究領域應用,例如開發測繪手機app,無人機送快遞等等(傾向於demo性質)...這種應用不需要做一個飛控,首先大概了解飛控的原理,然後只要掌握apm的控制數據協議即可。
發燒級的愛好者或者開發者,迫切的想要了解apm的大部分演算法和邏輯,這個真的需要較長的時間,大致的思路就是:底層驅動-》感測器數據和物理意義-》姿態解算-》PID控制器-》飛行模式切換-》參數調優(包含gps懸停剎車什麼的很細但是影響手感和性能的參數)初學只是去看apm而不是自己動手去做很難搞懂,建議還是自己做飛控,哪怕復制apm部分功能代碼,做飛控的學習順序和讀飛控一樣,但對於apm這樣一個系統工程相對來說模塊更分立。

⑤ 通過PID演算法,實現對四旋翼飛機的控制具體是怎麼回事,求程序

非要用51么

現在有更強大的ARDUINO,兩大開源飛控都是基於這個的(APM,Multiwii)

multiwii比較滿足你的要求,這只是個程序固件,你可以參考下,如果說要自己寫飛控程序難度不小,用一塊pro mini開發板+mpu6050模塊刷入簡單設置好的固件就可以實現飛控的功能,此外還兼容大量的其他模塊(地磁,氣壓),添加升級也很方便(只需要打開固件里的設置)。

要調PID

⑥ 有沒有應用到飛控上的成熟一點的神經網路PID控制演算法

您好,非常感謝您發出這個帖子。我現在也在考慮做或者學習相關四軸飛行器的神經網路控制演算法。之前我的飛機是用雙閉環PID控制演算法實現控制飛行的。最近在學習神經網路,我准備用神經網路控制演算法來對四軸飛行器姿態誤差進行修正,看看能不能實現穩定飛行,或者看是否穩定飛行效果會好點。現在我正處在學習神經網路過程中,之前的基礎就是對四軸飛行器的PID控制演算法了解的多一點,自己實現了PID演算法的編程,飛機可以穩定飛行,我想以後將神經網路控制應用於四軸飛行器中。您出了這個帖子,盡管現在沒有人回答,但是我希望您能夠更新一下,畢竟經過了這么長時間了,談談您的收獲吧。讓我們學習學習,也可以一起討論討論。謝謝!

⑦ 如何用開源飛控PIXHAWK進行二次開發

pix有兩個平台,一個是apm移植過來的固件,一個是px4原生固件,一般apm用得比較多,px4似乎是linux環境下開發的。有c基礎,最好還要有數學基礎,和控制理論基礎,才能看懂裡面的演算法。

⑧ 大家有了解AEE一電科技的嗎,飛控演算法工程師前景怎麼樣 求解答Q:1124308303

個人以為飛控演算法工程師是一個機遇與挑戰並存的職業。因為無人機的前景是非常廣闊的,以後無人機會更多的替代有人機執行任務,而飛控正是無人機的核心;演算法又是飛控的核心。但真正的工業級飛控的演算法是非常不容許寫好的。
至於去哪家公司,個人建議如果去也要去找家靠譜的干實事兒的公司。某些純靠胡編參數忽悠客戶的無人機公司,很快要倒掉一批。

閱讀全文

與飛控演算法相關的資料

熱點內容
ubuntu下搭建php環境 瀏覽:844
壓縮winsxs文件 瀏覽:174
安卓手機系統怎麼終止系統更新 瀏覽:703
程序員需要注重養生嗎 瀏覽:404
php框架網頁 瀏覽:916
sed腳本執行系統命令 瀏覽:911
linux選中命令 瀏覽:140
outlook發件加密 瀏覽:262
h3c歷史命令 瀏覽:511
曙光伺服器怎麼創建用戶 瀏覽:724
命令文案例 瀏覽:798
識別什麼花app 瀏覽:820
線上app是什麼意思 瀏覽:45
單片機屏蔽部分埠 瀏覽:329
蘋果版app是什麼 瀏覽:745
雲伺服器能更換地址 瀏覽:76
linux預讀演算法 瀏覽:558
視頻用什麼app編輯 瀏覽:70
編譯原理清華實驗 瀏覽:978
閑蛋app人氣怎麼樣 瀏覽:275