目前,四旋翼無人機在農業植保、物流配送、競技飛行及科研實驗等領域得到廣泛應用。許多公司、科研機構與無人機愛好者都會開發自己的飛控平臺,在眾多開源飛控平臺中,PX4以其完善的功能、優異的性能以及友好的生態脫穎而出。
不僅是科研機構大量使用PX4,許多公司也會基于PX4進行改進完善,實現工業級的需求。因此,能夠基于PX4進行二次開發對于學習和工作都有著重要的價值和意義。飛控平臺是一個復雜的軟硬件系統,軟件系統大致可以分為嵌入式、導航與控制三大部分,每一部分都需要專業的知識和經驗。本課程針對控制這一大模塊,分三步走,旨在讓學員能夠學懂PX4的控制器系統并具備二次開發的能力。
飛控學習三步走
第一步,飛起來
擁有配套的無人機平臺,支持PX4代碼,通過選擇合適的硬件系統,該無人機具備良好的飛行性能。該無人機搭配光流與GPS等模塊,支持室內室外飛行。課程將介紹組裝、傳感器與遙控器校準、參數調試、代碼下載及實際飛行測試等基本內容,讓學員在最短的時間內完成整機飛行測試。對于初接觸飛控的小白,如果自行摸索,這個過程可能要花費數月時間,而且內容零散難以形成完整的知識體系,實驗測試甚至有炸機風險。
第二步,讀代碼
這個過程是向PX4學習的過程。PX4有著完善的功能,但這也意味著有復雜的代碼。初次閱讀可能無從下手,找不到重點。
控制模塊可以分為控制邏輯和控制算法兩大部分,邏輯用于處理各種輸入輸出的選擇、切換等,算法是輸入輸出具體關系的數學表示。
PX4使用的控制算法是基于四元數的PID,但是相比于傳統的單級PID要復雜很多,一是因為多個PID串聯,二是因為是改進的PID,例如微分項不對期望進行微分且加入濾波,又如使用了飽和積分算法。
如果缺乏控制算法的知識是很難理解代碼內容的。除了上述的控制算法,控制邏輯也至關重要。課程還會講解PX4中各種模式的切換、一鍵起飛、一鍵降落等過程。為了實現一個良好的飛行效果與用戶體驗,這些模塊都值得專門地研究。
PX4速度控制框圖
第三步,改代碼
盡管PX4已經很強大,但也不能說完美無缺,而且不可能完全滿足需求。課程將以兩個典型例子展開,幫助學員實現改代碼的能力。
第一個例子是在科研領域熱門的SO(3)控制。
PX4雖然使用了四元數作為姿態控制,但是其中涉及歐拉角的計算,并不能完全避免歐拉角奇異值的問題?;赟O(3)的控制器能夠完美地避免歐拉角的缺陷,實現任意姿態的飛行控制,而且基于SO(3)的姿態控制能夠方便地與軌跡規劃結合。
第二個例子是自抗擾控制器(ADRC),和PID一樣,該控制算法在工業界得到廣泛的應用和驗證。
通過加入觀測器,ADRC實現更魯棒的控制,抗擾動能力更強。通過學習這個例子,學員不僅能夠學會這兩個控制器算法,而且能夠實現算法與邏輯的對接,實現自定義數據格式與日志記錄,為日后的創新打下堅實的基礎。
審核編輯:黃飛
-
PID
+關注
關注
35文章
1447瀏覽量
83911 -
無人機
+關注
關注
224文章
9898瀏覽量
175145 -
px4
+關注
關注
0文章
6瀏覽量
3897 -
控制邏輯
+關注
關注
0文章
13瀏覽量
2266
原文標題:基于PX4實現的四旋翼建模與控制[理論+實戰]
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論