PIXHAWK飛控系統(固定翼)二次開發培訓大綱
1基礎部分
PIXHAWK系統(tong)介紹(shao):簡述APM、PX4、PIXHAWK之(zhi)間(jian)的歷史變遷關(guan)系,以及平(ping)臺間(jian)優勢和劣勢的比較(jiao)。
系(xi)統架構(gou)概(gai)述:概(gai)述PX4源碼組織結構(gou),讓大家從整(zheng)體對PX4有所感知(zhi),了解每(mei)個文件(jian)的(de)作用。
系統(tong)編譯(yi)過(guo)程:講述系統(tong)從上電開(kai)始(shi)所(suo)執行(xing)的動(dong)作,如何由(you)單片機的啟動(dong)過(guo)渡到操作系統(tong),過(guo)渡到應用程序(xu),后執行(xing)啟動(dong)腳本(ben)。
啟(qi)動過(guo)程(cheng)描(miao)述(shu):簡述(shu)啟(qi)動過(guo)程(cheng)中mavlink的(de)啟(qi)動、sensor的(de)啟(qi)動、算法的(de)啟(qi)動等,加深(shen)對(dui)系統的(de)理解(jie),鋪墊二次開發。
進(jin)程(cheng)機制uORB:uORB是PX4系(xi)統中(zhong)進(jin)程(cheng)間(jian)通(tong)(tong)信(xin)(IPC)的一種機制,在PX4系(xi)統掌管著(zhu)系(xi)統中(zhong)所有的信(xin)息流,通(tong)(tong)過實例(li)教授(shou)大家如何使用uORB打通(tong)(tong)進(jin)程(cheng)間(jian)通(tong)(tong)信(xin)。
串(chuan)級PID簡(jian)(jian)介:PID是(shi)一種簡(jian)(jian)單而又極美的控制(zhi)算(suan)法,系統中的控制(zhi)過(guo)程使用PID了,而且是(shi)串(chuan)級過(guo)程。
系統參(can)數介紹:對系統級別關鍵參(can)數進行解釋說明,如安全開關,解算(suan)帶速,USB的鏈接檢查,日志模式,機架類型等。
2 邏輯理解
功能模塊整(zheng)體介紹(shao):高(gao)屋(wu)建瓴的介紹(shao)飛控(kong)整(zheng)體數據流的執行過程,以(yi)及模塊間的相互(hu)關系,對飛行控(kong)制有(you)個系統的認識(shi)和整(zheng)體的把(ba)握。
多(duo)冗余(yu)設計(ji):介紹系統冗余(yu)設計(ji)的概念,多(duo)傳(chuan)感(gan)器的冗余(yu)設計(ji),主(zhu)副處理器的協同(tong)工作,源(yuan)碼(ma)分(fen)析(xi)多(duo)傳(chuan)感(gan)器的選擇機制。
Commander決策分析:飛行模(mo)式的決策部分,結(jie)合源碼學習模(mo)式切換的后退機(ji)制(zhi)和故障保護策略,了解commander是(shi)如何影響(xiang)姿態和位置的控制(zhi)過(guo)程。
Navigator之(zhi)takeoff:梳(shu)理navigator,模塊(kuai)的功能作用,分析數據的處理流程(cheng),結合源(yuan)碼學習takeoff的執行(xing)過程(cheng)。
Navigator之land:分析數據處理(li)流程,結合源碼學習navigator中land的執行過(guo)程。
Navigator之loiter:分析數據處理流(liu)程,結合源碼學習navigator中loiter的執行過程。
Navigator之missition:分析(xi)數據處(chu)理流程,結合源碼(ma)學習(xi)navigator中missition的執(zhi)行過程。
3 算法分析
姿態(tai)解(jie)算(suan):簡述(shu)EKF基礎知識,闡述(shu)EKF2融合多傳感器解(jie)算(suan)姿態(tai)的過(guo)程,結合源碼分析解(jie)算(suan)過(guo)程,說明注意事項。
位置(zhi)解算(suan):簡(jian)述位置(zhi)坐(zuo)標系間的轉(zhuan)換關系,梳理EKF2中位置(zhi)估計(ji)的過(guo)程(cheng),結合源碼理解算(suan)法(fa)的實現。
姿態控制:梳理PX4中固(gu)定翼姿態控制的實現(xian)流(liu)程,講述手(shou)動(dong)或(huo)自動(dong)下(xia)姿態控制響應的不(bu)同,補(bu)充(chong)歐拉角速(su)(su)度和機體角速(su)(su)度之(zhi)間的區別(bie),結合(he)源碼學習(xi)姿態控制算法實現(xian)的過(guo)程。
L1控制:講述制導算法基礎知識(shi)以及在固定翼位置控制中的(de)應(ying)用和源(yuan)碼(ma)的(de)實現。
TECS算(suan)法:簡(jian)述總(zong)能量控制算(suan)法的(de)理論(lun)依據,以及(ji)在固定翼中的(de)應(ying)用(yong)和(he)源(yuan)碼(ma)實現。
位(wei)(wei)置(zhi)控(kong)制(zhi)(zhi):闡述固定翼源碼中位(wei)(wei)置(zhi)控(kong)制(zhi)(zhi)的實(shi)現過程,手動模(mo)式的下位(wei)(wei)置(zhi)控(kong)制(zhi)(zhi)、定高模(mo)式下的位(wei)(wei)置(zhi)控(kong)制(zhi)(zhi)、定點模(mo)式下的位(wei)(wei)置(zhi)控(kong)制(zhi)(zhi)的不(bu)同實(shi)現過程。
AUTO模(mo)式:講述固(gu)定翼位置控制源碼中部分AUTO的控制實(shi)現,如(ru)takeoff在位置控制中的多情況(kuang)分類處理,以及land的復雜邏輯。
4 實踐嘗試
自定義信息流(liu):利用uorb創建新的msg,鋪墊功能的二次開發。
NSH調試:簡述NSH的調試過程,分析(xi)進程的運行頻率。
Log日志(zhi)分析:簡述系統(tong)中兩種Logger的不(bu)同,以及初步分析的簡介。
Mixer實踐:闡(chan)述Mixer腳(jiao)本的定義以及PWM輸(shu)出配置。 |