国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

帶機械臂的旋翼無人飛行系統(tǒng)實驗平臺設(shè)計與實現(xiàn)

2022-03-25 03:11周祖鵬睢志成莫小章王義華
現(xiàn)代電子技術(shù) 2022年6期
關(guān)鍵詞:飛控旋翼控制算法

周祖鵬,睢志成,莫小章,衛(wèi) 歡,鹿 浪,王義華

(桂林電子科技大學 機電工程學院,廣西 桂林 541000)

0 引 言

近年來,帶機械臂的旋翼無人機在科研與商業(yè)領(lǐng)域中得到越來越高的關(guān)注度。帶機械臂的旋翼無人飛行系統(tǒng)實驗平臺是在旋翼無人機上裝配一個多自由度的機械臂,在此基礎(chǔ)上,亦可安裝其他需要的傳感器,如激光雷達光流傳感器、深度攝像頭等以豐富其功能。物聯(lián)網(wǎng)的快速發(fā)展也促進了無人機在商業(yè)領(lǐng)域的廣泛應(yīng)用,目前無人機更多的用于航拍、植保、電力巡檢、環(huán)境監(jiān)測、民用基礎(chǔ)設(shè)施等。

旋翼無人機作為一種搭載平臺,帶機械臂后采用分開獨立控制和整體控制一直是研究控制的兩個方向。獨立控制方法簡單、易于實現(xiàn)但控制精度低,而整體控制較為復(fù)雜但控制精度有所提高。與此同時,一個簡單合理的機械結(jié)構(gòu)也可以減少無人機與機械臂之間的耦合性及控制器的復(fù)雜性,從而提升系統(tǒng)的控制性能。在多旋翼無人機結(jié)構(gòu)研究方面,北京理工大學研究了一種新型涵道風扇無人機,印度馬德拉斯理工學院設(shè)計了一種螺旋槳有重疊的新型多旋翼無人機,兩者均在提高飛行效率上取得一定效果。蘇黎世聯(lián)邦理工學院和米蘭工學院設(shè)計了一種易攜帶、體積小、結(jié)構(gòu)上可以收縮的旋翼無人機,滿足了其適應(yīng)不同任務(wù)要求的能力。在機械臂結(jié)構(gòu)研究方面,哈爾濱工業(yè)大學胡永麗等設(shè)計了仿人體雙臂的無人機載雙臂機器人,首爾國立大學設(shè)計了一種可折疊成緊湊尺寸并具有足夠剛度的機械臂。據(jù)文獻[8-9]可知,目前國內(nèi)外帶機械臂的旋翼無人飛行系統(tǒng)實驗平臺研究有以下特點:第一,大多在室內(nèi)使用外設(shè)設(shè)備如VICON、OPTITRACK 等實現(xiàn)無人機姿態(tài)位置解算;第二,算法需要較為復(fù)雜的運動學、動力學建模且大多處于仿真階段;第三,不易于實際應(yīng)用的開展。當然,隨著機載計算機和通信的發(fā)展,帶機械臂的旋翼無人飛行系統(tǒng)實驗平臺耦合控制算法因其控制精度高、低延遲等優(yōu)點,在未來一定會得到更多的關(guān)注,但設(shè)計一款簡單有效的帶機械臂的旋翼無人飛行系統(tǒng)實驗平臺,用以獨立控制算法的驗證和頂層應(yīng)用的開發(fā)也是十分重要的。四旋翼無人機系統(tǒng)是一個欠驅(qū)動系統(tǒng),其控制的難點在于它有6 個自由度,但只有4 個驅(qū)動器。所以,最終只能控制6 個自由度中的4 個,另外2 個自由度無法控制。

本文設(shè)計了一種低成本、結(jié)構(gòu)簡單且硬件易于實現(xiàn)的帶機械臂的旋翼無人飛行系統(tǒng)實驗平臺。飛行試驗表明,該平臺結(jié)構(gòu)合理、運行穩(wěn)定,可為驗證帶機械臂的旋翼無人飛行系統(tǒng)實驗平臺的控制算法和其他頂層應(yīng)用的開發(fā)提供參考。

1 總體概述

帶機械臂的旋翼無人飛行系統(tǒng)實驗平臺總體架構(gòu)如圖1 所示,主要包括四旋翼無人機、三自由度機械臂、板載計算機、地面站、WiFi 基站等。該平臺可用于航線規(guī)劃、避障、機械臂抓取、無人機底層控制算法的驗證等,同時也可外接其他傳感器,如激光雷達、超聲波、深度相機等用以SLAM(Simultaneous Localization And Mapping)、路徑規(guī)劃、圖像處理等。無人機底層飛行控制建立在運行PX4(一個開源飛控項目)固件的PixHawk上,樹莓派通過TELEM2 接口與飛控通信,機械臂與配備控制板的樹莓派通過總線連接。飛行控制板(以下簡稱飛控)PixHawk 主要負責飛行的穩(wěn)定控制和MAVLink的通信,裝有Raspbian 系統(tǒng)的機載計算機樹莓派負責三個功能:機械臂控制、超聲波測距和ROS 節(jié)點的運行。其他適用的機載計算機有Odroid 系列、Intel Edison、Intel NUC、Gigabyte Brix、Nvidia Jetson TK1 等。PC 使用VNC(Virtual Network Console)通過WiFi 訪問到樹莓派的系統(tǒng)界面,從而實現(xiàn)機械臂的遠程控制以及攝像頭、超聲波的使用。QGC(QGroud Control)通過數(shù)傳與飛控通信可實現(xiàn)航線規(guī)劃、初始化設(shè)置、飛行日志下載與分析、PID 參數(shù)調(diào)整等功能。

圖1 實驗平臺總體架構(gòu)圖

PixHawk 的固件燒錄是一切的基礎(chǔ),若要做算法的二次開發(fā)需先從GitHub 上下載PX4 固件源代碼(需匹配所使用硬件版本,PixHawk 有不同硬件版本,所需固件版本也不同),再替換掉對應(yīng)的算法源碼,然后編譯、燒錄到PixHawk 中。本文配置的開發(fā)環(huán)境是基于Linux系統(tǒng)的,編譯環(huán)境的配置可以參考PX4 官網(wǎng)。對于環(huán)境配置所需的各種安裝包已經(jīng)集成到腳本中,網(wǎng)絡(luò)順利的情況下很快就可以配置成功。也可以通過其他方法,如地面站QGC 或者Matlab 實現(xiàn)代碼燒錄。固件燒錄完成后需在地面站上完成傳感器的校準、遙控器校準、電調(diào)校準、飛行模式設(shè)置、PID 調(diào)參等前期工作才能實現(xiàn)基本的飛行控制。

1.1 硬件結(jié)構(gòu)

帶機械臂的四旋翼無人飛行系統(tǒng)實驗平臺實物如圖2 所示。四旋翼無人機搭載PixHawk 2.4.8 版本飛控,使用Raspberry 4B 作為機載電腦;電池參數(shù)為3S、放電倍率為30,容量為3 900 mA;電調(diào)規(guī)格為好盈(Hobby wing)XRotor40A;無刷電機規(guī)格為朗宇X2216-1100KV;螺旋槳碳纖維材質(zhì),外徑9 英寸、螺距5 英寸;機械臂使用兩個LX-824 串行總線舵機和一個LX-1501串行總線舵機;攝像頭為RGB 攝像頭;超聲波模塊為US-016。為保證一定的強度和較輕的質(zhì)量,機架材料為碳纖維,腳架為PP 塑料,機械臂連接部分為鋁合金。

圖2 實驗平臺實物圖

PixHawk 是PX4 飛行堆棧的標準微控制器平臺。PX4 由兩個部分組成:一是飛行控制棧(Flight Stack);二是中間件,可以支持很多類型的機型,包括固定翼、多旋翼以及垂直起降無人機等。PX4 的飛行控制棧包含各種無人機的導航和底層控制算法,包括估計器、控制器、混控器三部分。底層姿態(tài)、位置的控制是基于內(nèi)外環(huán)PID 算法實現(xiàn),PID 參數(shù)可根據(jù)實際飛行性能來調(diào)節(jié)以達到較好的控制效果。PixHawk 在NUTTX 操作系統(tǒng)上運行PX4 中間件。

PX4 中間件主要包括內(nèi)置傳感器的驅(qū)動和基于發(fā)布-訂閱的通信機制。PX4 的飛控程序架構(gòu)非常柔性,可被編譯成適用于不同平臺的可執(zhí)行程序。PixHawk系列主控芯片和I/O 芯片均使用的是STM32 單片機。不同PixHawk 版本在編譯時輸入命令選項不同,本文使用px4fmu-v3 或px4io-v2,在編譯時將NUTTX 實時操作系統(tǒng)與底層飛控程序編譯為一個整體,最后再燒錄到單片機上。

Raspberry Pi4 提供與普通64 位計算機系統(tǒng)性能相當?shù)奶幚砥?,其主要功能包括:處理器Broadcom BCM2711、高性能64 位四核處理器、支持4K 分辨率雙顯示器、雙頻2.4/5.0 GHz 無線局域網(wǎng)、藍牙5.0、千兆以太網(wǎng)、USB 3.0 和POE(Power Over Ethernet)功能??紤]所需計算資源及成本,實驗平臺采用4 GB RAM 樹莓派,系統(tǒng)為Raspbian Buster,并安裝有ROS Melodic 以供后續(xù)二次開發(fā)使用。

實驗平臺其他參數(shù)如表1 所示。其中飛行時間與剩余負載參數(shù)數(shù)值的獲得參考北航可靠性飛行研究組設(shè)計的飛行評測算法,輸入相關(guān)零件的型號和預(yù)設(shè)的參數(shù)即可獲得無人機相關(guān)性能的信息,如懸停時間、飛行時間、抗風等級等。

表1 實驗平臺參數(shù)

1.2 傳感器應(yīng)用擴展

除了基本的慣性測量單元、氣壓計、GPS 等傳感器,在所設(shè)計的帶機械臂的旋翼無人飛行系統(tǒng)實驗平臺上亦可配備其他傳感器,從而擴展其應(yīng)用開發(fā)的范圍。

1.2.1 光流傳感器

光流傳感器利用攝像頭采集圖像的變化來檢測路面的狀態(tài),間接監(jiān)測無人機的水平飛行狀況,可以使用PixHawk 上的IC 接口與其進行連接。光流使用豎直向下的攝像頭和距離傳感器(超聲波、紅外等)進行位置的估計。其主要用于保持無人機水平位置的穩(wěn)定,以及在室內(nèi)完成固定高度飛行或懸停,但光流傳感器必須要指向路面。為了使光流傳感器性能穩(wěn)定的發(fā)揮,較好的方法是將其放置在無人機的底部,同時要盡可能地減少機身的震動。

1.2.2 激光雷達

在旋翼無人機研究中,獲取周圍障礙物和環(huán)境的輪廓形狀是非常重要的,使用激光雷達可以實現(xiàn)這個目的。利用掃描得到的周圍環(huán)境信息,無人機就可以實現(xiàn)避障、SLAM 和路徑規(guī)劃等。主流的激光雷達基于兩種原理:一種是三角測距法,另一種是飛行時間(TOF)測距法。一般激光雷達通過串口與機載計算機相連接,無人機通過在ROS 中運行雷達的驅(qū)動,來實現(xiàn)讀取串口的雷達數(shù)據(jù)和將雷達數(shù)據(jù)發(fā)布到一個主題,這樣計算機上的其他ROS 節(jié)點就可以通過訂閱該主題來獲取激光雷達數(shù)據(jù)。

1.2.3 計算機視覺

本實驗平臺可以使用計算機視覺來實現(xiàn)下面的應(yīng)用開發(fā):

1)上述提到的光流;

2)外部的視覺運動捕捉系統(tǒng)的使用可以進行無人機在空間上的姿態(tài)、位置估計;

3)通過機載的視覺處理系統(tǒng)和慣性測量單元,用視覺慣性測距法可以估計無人機的三維姿態(tài)和速度信息,且當 GPS 無信號或不可靠時可實現(xiàn)導航。XTDrone 是一個基于ROS 和PX4 的無人機仿真平臺,XTDrone 中可以實現(xiàn)SLAM、運動規(guī)劃以及多機協(xié)同等仿真。另外,在此功能包上驗證過的算法,可以較容易地應(yīng)用在真實的無人機上。

2 生態(tài)系統(tǒng)

基于PX4 的帶機械臂的旋翼無人飛行系統(tǒng)實驗平臺允許通過API(Application Programming Interface)使用機載計算機或外部設(shè)備對無人機進行控制。 API 通過MAVLink 或RTPS(Real Time Publish Subscribe Protocol)實現(xiàn)與PX4 的通信。PX4 可以與MAVSDK 和ROS 等API 一起使用,DroneKit 也可以單獨使用,但優(yōu)化不夠好。其生態(tài)系統(tǒng)如圖3 所示。以PX4 為中心向周圍拓展開,相鄰的模塊間大都有一定的聯(lián)系,問號表示以后可能加入這個生態(tài)的新模塊。

圖3 生態(tài)系統(tǒng)圖

2.1 MAVLink

MAVLink(Micro Air Vehicle Link)是一種輕量型的消息傳輸協(xié)議,用于無人機之間或者機載組件的通信,其相關(guān)源碼遵循MIT 協(xié)議,可以無限制地在閉源應(yīng)用中使用。MAVLink 工具鏈可以通過指定的XML 文件生成支持多種編程語言(C、C++、Python、Java 等)的MAVLink庫。常見的地面站(QGC、Mission Planer 等)、飛控(PX4、APM 等)及其他MAVLink 系統(tǒng)(MAVROS、MAVSDK 等)均是使用生成得到的MAVLink 庫進行開發(fā)的。

2.1.1 MAVSDK

MAVSDK 是一個帶有C++、iOS、Python 和Android API 的MAVLink 庫。該庫提供了一個簡單的API 來管理一個或多個無人機,提供對無人機信息和遙測的編程訪問,以及對飛行任務(wù)的控制,也可以獲取無人機狀態(tài)信息、發(fā)送命令控制無人機移動。

2.1.2 MAVROS

MAVROS 是 一 個ROS 功 能 包,實 現(xiàn) 了ROS 與MAVLink 之間的集成。其主要作用是為運行ROS 的機載計算機、支持MAVLink 的地面站和支持MAVLink 協(xié)議的飛控板這三者之間提供通信功能。

2.1.3 DroneKit

DroneKit - Python 是 一 個 允 許 開 發(fā) 人 員 通 過MAVLink 協(xié)議與無人機通信的Python 應(yīng)用程序。類似MAVSDK,它也可以實現(xiàn)對連接的無人機狀態(tài)信息的獲取和對無人機移動的直接控制,其與PX4 的兼容性較好。另外,DroneKit 可以為無人機開發(fā)豐富的應(yīng)用程序,增強人機的交互。

2.2 ROS

ROS 是一個開源且面向機器人的元操作系統(tǒng)。它不僅提供用戶期望從操作系統(tǒng)獲得的服務(wù)(如底層控制、進程之間的消息傳遞和包管理),還提供在多臺計算機上獲取、構(gòu)建、編寫和運行代碼的工具和庫。ROS 在某些層面與Player、YARP、CARMEN、Orca、MOOS 和微軟機器人工作室等機器人框架類似。使用ROS 最重要的一點是ROS 實現(xiàn)了服務(wù)上的同步RPC 式通信、主題上的異步數(shù)據(jù)流和參數(shù)服務(wù)器上的數(shù)據(jù)存儲。盡管ROS 可以實現(xiàn)與實時代碼的集成,但它不是一個實時框架,所以在實際應(yīng)用時會存在高延遲的缺點。因此,雖然ROS 提供了便利的消息通信機制,在進行單無人機的算法開發(fā)時具有較高效率,但是它在大規(guī)模集群算法以及產(chǎn)品化應(yīng)用方面存在較大不足。

3 在環(huán)仿真

在環(huán)仿真是一種快速、簡單、安全的方法,可用來測試更改前后的PX4 代碼。當還沒有實物可以試驗時,使用在環(huán)仿真來模擬飛行是一種較好的方法。

PX4 支持SITL(Software In The Loop)仿真,其中飛行堆棧在PC 上運行(同一臺PC 或同一網(wǎng)絡(luò)上的另一臺計算機);也支持HITL(Hardware In The Loop)仿真,即使用真實的硬件電路板來運行仿真,從而測試飛行代碼。其中三維仿真軟件Gazebo(其他仿真軟件還有JMAVSim、Flightgear、JSBSim 等)通過USB 或者串口完成與PixHawk 的連接。仿真軟件Gazebo 充當在無人機和QGC 之間共享MAVLink 數(shù)據(jù)的網(wǎng)關(guān)。實際應(yīng)用中Gazebo 通常與ROS 一起使用,ROS 可以理解成離線模式下無人機自動飛行控制的API 工具包。

為了驗證PX4 固件源代碼(或修改后的)的飛行性能,進行SITL 仿真實驗。在模型代碼中將無人機質(zhì)量、慣性系數(shù)等修改為實際無人機的參數(shù)。為模擬機械臂給無人機帶來的的干擾,適當增大模型中陀螺儀和加速度計的噪聲,最后在QGC 上規(guī)劃航線。在航線的規(guī)劃中,需要合理設(shè)置每個航點的高度、位置等,實驗中設(shè)置飛行高度為3 m,實驗結(jié)果如圖4 所示,4 個標記點的連線圍成的矩形為無人機的預(yù)設(shè)航線,另外一條為仿真實驗飛行軌跡。由圖4 實驗結(jié)果可見,除在轉(zhuǎn)彎處偏差較大,位置誤差在20 cm 以內(nèi),仿真飛行軌跡與預(yù)設(shè)的航線基本吻合。

圖4 仿真航線圖

航線仿真飛行過程中無人機實際的俯仰角和翻滾角的變化如圖5 所示??梢娫赟ITL 仿真中無人機每次轉(zhuǎn)彎時,俯仰角和翻滾角的變化比較平穩(wěn),在懸停狀態(tài)下俯仰角變化在2°以內(nèi),翻滾角變化在3°以內(nèi)。無人機方向位置隨時間的變化如圖6 所示,仿真中無人機位置的實際值與理論值誤差在10 cm 以內(nèi)。

圖5 無人機實際俯仰角和翻滾角變化圖

圖6 無人機z 方向位置變化

另外,在某些情況下當計算機的I/O 口或者CPU 性能不足以支撐仿真以設(shè)定的速度運行時,該速度會“自動”降低。在SITL 和HITL 仿真中,QGC 可以連接到一個USB 游戲手柄,允許直接控制仿真軟件中的模擬無人機,也可以選擇使用QGC 屏幕上的虛擬搖桿來控制。

4 飛行測試

為測試所設(shè)計實驗平臺實際飛行性能,進行四旋翼懸停狀態(tài)下飛行穩(wěn)定性及通信可靠性的實驗。測試當日天氣多云,風速1.6~3.3 m/s,體感溫度15 ℃,飛行高度5 m。飛行前需完成機體結(jié)構(gòu)的檢查、飛行模式設(shè)置、遙控器校準和電池電壓的檢查等。在無人機起飛前,需要通過WiFi 先實現(xiàn)PC 與樹莓派的通信,然后啟動攝像頭、設(shè)置機械臂初始位置等。PC 端通過串口連接數(shù)傳實現(xiàn)地面站與PixHawk 的通信,準備完成后進行飛行實驗。飛行中機械臂處于偏心靜止的狀態(tài),實驗起降過程良好,懸停時位置誤差在20 cm 以內(nèi),無人機姿態(tài)較穩(wěn)定,且具有一定的魯棒性。飛行測試實物圖如圖7 所示。

圖7 飛行測試實物圖

5 結(jié) 論

本文所設(shè)計的帶機械臂的旋翼無人飛行系統(tǒng)實驗平臺使用PixHawk 飛控硬件平臺與機載計算機樹莓派,分別實現(xiàn)無人機底層的穩(wěn)定性飛行控制、機械臂控制、攝像頭和超聲波的使用,簡單有效地解決了帶機械臂的旋翼無人機在二次開發(fā)設(shè)計的一系列問題。通過仿真與實際實驗得出,該實驗平臺整體結(jié)構(gòu)合理,實時通信延遲較低,飛行穩(wěn)定性較好且有一定的魯棒性,為帶機械臂的旋翼無人飛行控制算法及頂層應(yīng)用算法開發(fā)的實際驗證提供了參考。隨著未來人工智能的不斷發(fā)展,無人系統(tǒng)將有望獲得自主學習和自主創(chuàng)新的能力。以后人工智能可能會部分取代人腦的工作,無人系統(tǒng)將有可能自主完成其控制算法的編寫與更新。

猜你喜歡
飛控旋翼控制算法
改進型自抗擾四旋翼無人機控制系統(tǒng)設(shè)計與實現(xiàn)
大載重長航時油動多旋翼無人機
民用飛機飛控通電自檢測安全性研究
基于STM32的四旋翼飛行器的設(shè)計
無人機飛控軟件架構(gòu)設(shè)計初探
基于ARM+FPGA的模塊化同步控制算法研究
02 飛控技術(shù)與機場安保引關(guān)注
飛控系統(tǒng)故障告警實時監(jiān)控軟件的設(shè)計與實現(xiàn)
四旋翼無人機動態(tài)面控制
一種優(yōu)化的基于ARM Cortex-M3電池組均衡控制算法應(yīng)用
灵台县| 辰溪县| 西盟| 雷山县| 高青县| 交城县| 醴陵市| 康平县| 盐边县| 顺平县| 封丘县| 广元市| 乌鲁木齐市| 阿勒泰市| 安泽县| 集安市| 龙游县| 泰宁县| 诸暨市| 繁峙县| 峨边| 华池县| 博湖县| 儋州市| 行唐县| 平乐县| 家居| 临沂市| 阳泉市| 德昌县| 行唐县| 金门县| 东乡族自治县| 射洪县| 高邮市| 文昌市| 延川县| 黑龙江省| 临高县| 西畴县| 湄潭县|