最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

PX4軟件架構(gòu)和飛控系統(tǒng)概述

2022-08-25 17:03 作者:西湖大學(xué)空中機器人  | 我要投稿

1.前言

翱翔藍(lán)天是人類一直以來的夢想,隨著科學(xué)技術(shù)的不斷發(fā)展,時至今日這個夢想已經(jīng)基本實現(xiàn)。與有人機相比,無人機憑借其可遠(yuǎn)程操控完成任務(wù)、不會對操縱員帶來安全隱患等優(yōu)點,得到了快速發(fā)展,其中最核心的部分就是無人機飛控系統(tǒng)。

廣義上的無人機飛行控制是一個非常復(fù)雜的系統(tǒng)工程,包含傳感器、機載計算機、伺服作動裝置、地面站等模塊及相應(yīng)的軟件程序和硬件設(shè)備。狹義上的飛控系統(tǒng)則指運行在無人機飛行控制板上的飛控程序。對于希望了解無人飛控系統(tǒng)的同學(xué)而言,較好的入門方式是首先學(xué)習(xí)目前現(xiàn)有的已經(jīng)相對完善的飛控系統(tǒng),在充分理解和掌握現(xiàn)有飛控系統(tǒng)的基礎(chǔ)上,針對自己的需要進(jìn)行設(shè)計和開發(fā)。

PX4由瑞士蘇黎世聯(lián)邦理工學(xué)院(ETH)計算機視覺與幾何實驗室的一個軟硬件項目PIXHAWK演變而來,該飛控系統(tǒng)完全開源,為全球各地的飛控愛好者和研究團(tuán)隊提供一款低成本高性能的高端自駕儀。[1]經(jīng)過來自工業(yè)界和學(xué)術(shù)界的世界級開發(fā)人員多年的開發(fā)與完善,目前PX4飛控系統(tǒng)已經(jīng)形成完善合理的軟件架構(gòu),可支持單旋翼、多旋翼、飛艇等多種載具。

本文將首先介紹PX4軟件架構(gòu),包括中間層、飛行控制棧和運行環(huán)境,隨后介紹無人機飛控系統(tǒng)架構(gòu)。下圖是Pixhawk 4實物飛控板,PX4可在其上運行。


圖 1 Pixhawk 4飛控板[2]


2.PX4軟件架構(gòu)

PX4軟件架構(gòu)主要包括兩部分,分別是:

·飛行控制棧(Flight Stack):用于估計和控制無人系統(tǒng);

·中間層(Middleware)提供內(nèi)部及外部的通信和硬件集成。

需要注意的是,針對各種載具機型,PX4都共用一個代碼庫,完整的系統(tǒng)設(shè)計是反應(yīng)式的,這意味著:

·所有的功能都可分為可交換和可重復(fù)使用的;

·通信是通過異步通信完成的;

·該系統(tǒng)可處理大量工作。

下圖展示的是PX4軟件架構(gòu)概述。

圖 2 PX4軟件架構(gòu)[3]

實際運行中PX4信息傳遞十分復(fù)雜,上圖箭頭僅表明部分重要信號傳遞的方向,如參數(shù)更新的消息在多數(shù)模型中都有調(diào)用,而在上圖中并未標(biāo)出。圖 2上半部分包括外部通信(External Connectivity)、存儲(Storage)、驅(qū)動(Drivers)以及信息總線(Message Bus)就是PX4中間層的內(nèi)容,而下半部分飛行控制(Flight Control)指的就是飛行控制棧。

其中飛控內(nèi)部模塊之間的通信使用訂閱-發(fā)布機制,將其命名為微對象請求代理器(Micro Object Request Broker,uORB),其具有以下特點:

·系統(tǒng)是響應(yīng)式的,即異步通信;

·所有的操作和通信都同步進(jìn)行;

·系統(tǒng)組件可以以線程安全的方式使用來自任何地方的數(shù)據(jù);

·這種結(jié)構(gòu)使得即使是在運行的過程中,模塊也可以方便地被替換或修改。

2.1中間層

除上圖 2標(biāo)示的中間層具有的存儲、傳感器驅(qū)動、與外部設(shè)備和內(nèi)部模塊間通信之外,中間層還包括仿真功能,可使PX4運行在桌面操作系統(tǒng)下,并控制仿真環(huán)境中的無人機模型,實現(xiàn)對飛控程序正確性的驗證。

2.2飛行控制棧

飛行控制棧是無人器導(dǎo)航、制導(dǎo)與控制的集成,負(fù)責(zé)各種類型載具的控制與位姿估計,其結(jié)構(gòu)框圖如下所示。


圖 3 飛行棧的結(jié)構(gòu)框圖[3]

其中:

·傳感器(Sersors)包括板載IMU、GPS、氣壓計等模塊,獲取原始的無人機位置姿態(tài)信息;

·位置和姿態(tài)估計器(Estimator)接收一個或多個傳感器的輸入,它們進(jìn)行融合并計算無人器的實時位置和姿態(tài)信息;

·控制器(Controller)將設(shè)定點和測量值或估計值作為輸入,計算控制量使得無人器達(dá)到設(shè)定點;

·導(dǎo)航(Navigator)模塊生成無人器參考軌跡;

·混控器(Mixer)將無人器的力和力矩分配至每個執(zhí)行器,并且確保不超過其限度;

·執(zhí)行器(Actuator)在傳統(tǒng)多旋翼中即是旋翼動力單元,包括電子調(diào)速器、電機和螺旋槳三個部分,在其他類型的載具中可能還有起落架、舵面等其他類型執(zhí)行器。

2.3運行環(huán)境

PX4可運行在提供POSIX-API的多種操作系統(tǒng)下(如Linux, macOS, Nuttx等),內(nèi)部模塊間通信的uORB機制基于共享內(nèi)存,整個PX4中間層運行在單個地址空間下。

執(zhí)行模塊有兩種不同的方式:

·任務(wù)(Tasks),模塊在自己的任務(wù)中運行,具有自己的堆棧和進(jìn)程優(yōu)先級;

·工作隊列(Work Queue Tasks),模塊運行在一個共享的工作隊列中,與隊列上的其他模塊共享相同的堆棧和工作隊列線程優(yōu)先級。

在工作隊列上運行模塊的優(yōu)點是它使用更少的RAM,并可能導(dǎo)致更少的任務(wù)切換,缺點是不允許工作隊列任務(wù)對消息進(jìn)行休眠或輪詢,也不允許執(zhí)行阻塞IO(比如從文件中讀取)。長時間運行的任務(wù)(執(zhí)行大量計算)應(yīng)該在單獨的任務(wù)中運行,或者至少在單獨的工作隊列中運行。

3.飛控系統(tǒng)架構(gòu)

正如本文開頭所述,廣義上的無人機飛行控制系統(tǒng)包含傳感器、機載計算機、地面站、手持遙控器等設(shè)備。下圖展示的是典型飛控系統(tǒng)結(jié)構(gòu)。


圖 4 典型飛控系統(tǒng)結(jié)構(gòu)[4]

其中:

·飛行控制器(Flight Controller)在Pixhawk飛控板上運行PX4程序;

·傳感器(Sensors,GPS,磁力計,氣壓計,光流等)通過I2C, SPI等與飛控連接,獲取無人機位置姿態(tài)等原始數(shù)據(jù);

·負(fù)載(Payload,如相機等)使用PWM或MAVLINK連接,執(zhí)行特定任務(wù);

·遙控數(shù)傳(Telemetry Radio)連接到地面站,可在地面站上進(jìn)行遠(yuǎn)程監(jiān)控;

·手持遙控器(RC Radio)則用于手動發(fā)送控制指令;

·地面站(Ground station)常用的有QGC和MP,用于地面人員實時監(jiān)視和控制無人機狀態(tài)。

該系統(tǒng)結(jié)構(gòu)較為簡單,由于沒有自主航跡規(guī)劃、避障等功能,因此僅可實現(xiàn)自主起飛著陸、地面站發(fā)送的航路點飛行等較為簡單的任務(wù)。

在無人機執(zhí)行復(fù)雜任務(wù)時,往往需要其他性能更強的計算機輔助計算,運行如障礙物檢測與避障、運動物體跟隨,精確著陸等任務(wù)。此時,飛控系統(tǒng)與上位機的組成大致如下:

圖 5 含上位機的飛控系統(tǒng)結(jié)構(gòu)[4]

除與圖 4相同的組件外,該系統(tǒng)結(jié)構(gòu)還增加了用于分析處理復(fù)雜數(shù)據(jù)的任務(wù)計算機(Mission Computer),也可稱之為上位機。

·上位機與飛控之間通常使用MAVLink協(xié)議進(jìn)行通信;

·通常使用上位機與地面站或云端進(jìn)行通信;

·上位機一般運行在Linux操作系統(tǒng)上。

4.總結(jié)

無人機飛行控制本身是一個復(fù)雜的系統(tǒng)工程,本文以PX4開源飛行程序為例,對PX4軟件架構(gòu)和無人機飛控系統(tǒng)架構(gòu)進(jìn)行介紹,基本理清了兩者之間的關(guān)系和各自的組成部分。后續(xù)將深入研究PX4飛控程序,探究其啟動流程和運行邏輯,并對其進(jìn)行二次開發(fā),敬請期待。

參考資料

[1]https://blog.csdn.net/qq_38768959/article/details/122473186

[2]http://docs.px4.io/master/en/flight_controller/pixhawk4.html

[3]http://docs.px4.io/master/en/concept/architecture.html

[4]http://docs.px4.io/master/en/concept/px4_systems_architecture.html

封面:https://blog.csdn.net/qq_38768959/article/details/122473186

本文共2167字

由西湖大學(xué)智能無人系統(tǒng)實驗室工程師沈佳豪原創(chuàng)

申請文章授權(quán)請聯(lián)系后臺相關(guān)運營人員


▌微信公眾號:空中機器人前沿

▌知乎:空中機器人前沿(本文鏈接:https://zhuanlan.zhihu.com/p/554225718)

▌Youtube:Aerial robotics @ Westlake University

▌實驗室網(wǎng)站:https://shiyuzhao.westlake.edu.cn


PX4軟件架構(gòu)和飛控系統(tǒng)概述的評論 (共 條)

分享到微博請遵守國家法律
塔河县| 武汉市| 青州市| 平江县| 西峡县| 阿拉善右旗| 石柱| 隆回县| 锡林郭勒盟| 雷州市| 左权县| 印江| 吉水县| 汝州市| 姚安县| 扶余县| 西乡县| 东乡| 怀柔区| 清远市| 铜川市| 财经| 青浦区| 石城县| 沙洋县| 建阳市| 六安市| 威海市| 驻马店市| 拜泉县| 普兰店市| 武鸣县| 凤阳县| 巢湖市| 和田县| 镇坪县| 张家界市| 邓州市| 太仓市| 岳普湖县| 汕尾市|