作者:葉長(zhǎng)春;王鐘雷;韓滔;朱疆成
引言
國(guó)際空中機(jī)器人大賽 (International Aerial Robotics Competition, IARC)自1991年首次開展以來(lái),已經(jīng)成為當(dāng)今歷史最長(zhǎng)、最具挑戰(zhàn)性的無(wú)人機(jī)大賽之一。該賽事在23年的歷程中,先后完成了6代任務(wù),2014年進(jìn)入第7代任務(wù)。比賽目的是推動(dòng)無(wú)人機(jī)技術(shù)向前發(fā)展。
當(dāng)前的第7代任務(wù)需要無(wú)人機(jī)驅(qū)趕地面機(jī)器人越過指定邊界,同時(shí)還要躲避障礙物并滿足飛行高度和邊界限制。由于比賽場(chǎng)地是邊長(zhǎng)為20米的正方形區(qū)域,如圖1所示,且無(wú)人機(jī)只能在沒有先驗(yàn)地圖的情況下完成比賽,所以成熟的無(wú)人機(jī)實(shí)時(shí)定位與地圖構(gòu)建(Simutaneously Locating and Mapping, SLAM)方法[1-2]是不適用的,必須重新設(shè)計(jì)新的實(shí)現(xiàn)方法。
多旋翼無(wú)人機(jī)是一種多軸飛行器,有多個(gè)旋翼來(lái)懸停、維持姿態(tài)及平飛。和固定翼飛機(jī)不同,它通過旋翼提供的推力使飛機(jī)升空,其旋翼大小相同,分布位置接近對(duì)稱,比較常見的是四旋翼和六旋翼。簡(jiǎn)單來(lái)說(shuō),通過調(diào)整不同旋翼之間的相對(duì)速度來(lái)調(diào)節(jié)不同位置的推力,并克服每個(gè)旋翼之間的反扭力矩,就可以控制飛機(jī)維持姿態(tài)、或完成各種機(jī)動(dòng)飛行。出于比賽對(duì)飛行器尺寸的限制以及平臺(tái)的成熟度考慮,這里選用四旋翼作為無(wú)人機(jī)平臺(tái),搭建的無(wú)人機(jī)平臺(tái)如圖2所示。
第7代任務(wù)的技術(shù)重點(diǎn)是移動(dòng)目標(biāo)跟蹤與降落、移動(dòng)障礙物規(guī)避和驅(qū)趕策略制定。這些任務(wù)的完成需要激光雷達(dá)、攝像頭,超聲波和慣性測(cè)量單元(Inertial Measurement Unit, IMU)等傳感器,同時(shí)在軟件層面需要多任務(wù)同時(shí)運(yùn)行。這對(duì)編程提出了很大的挑戰(zhàn),為了方便程序的多任務(wù)管理、程序復(fù)用和多任務(wù)通信,引入機(jī)器人操作系統(tǒng)(Robotic Operating System,ROS)框架。ROS是基于Linux,針對(duì)機(jī)器人任務(wù)而深度定制的操作系統(tǒng)[3]。ROS以其節(jié)點(diǎn)化的組織結(jié)構(gòu)和多編程語(yǔ)言的支持使程序員能更加專注于算法的實(shí)現(xiàn),ROS內(nèi)部有專門的節(jié)點(diǎn)管理器負(fù)責(zé)節(jié)點(diǎn)間的通信,還能對(duì)同一個(gè)WIFI網(wǎng)段的節(jié)點(diǎn)進(jìn)行管理。考慮到比賽現(xiàn)場(chǎng)復(fù)雜的電磁環(huán)境,將圖像傳回地面站進(jìn)行計(jì)算存在傳輸延時(shí)以及連接中斷的風(fēng)險(xiǎn),將計(jì)算主要放在無(wú)人機(jī)機(jī)載設(shè)備上是一個(gè)可靠的選擇,地面站則負(fù)責(zé)一些飛行狀態(tài)的顯示。
1 硬件平臺(tái)
平臺(tái)采用XAircraft X650 Pro碳纖可折疊四旋翼機(jī)架,TMOTOR 3110電機(jī)和配套電調(diào)。底層飛行器姿態(tài)控制選用悟空飛控系統(tǒng),遙控器選用天地飛7通道遙控器,使用STM32做手自動(dòng)切換。上層部分選用X86嵌入式微控制器負(fù)責(zé)圖像獲取、激光雷達(dá)數(shù)據(jù)獲取、控制指令計(jì)算和飛行數(shù)據(jù)反饋,圖3是飛行器的整體框架,由于各個(gè)模塊所需的電壓不同,這里的供電部分采用虛線連接,下面具體介紹各個(gè)硬件模塊。
1.1 手動(dòng)自動(dòng)切換
由于悟空飛控系統(tǒng)整體是不開源的,不能獲得其姿態(tài)解算數(shù)據(jù),只能通過改變其輸入信號(hào)來(lái)改變其飛行方向,經(jīng)過測(cè)試發(fā)現(xiàn)接收機(jī)信號(hào)是周期為21ms的PWM信號(hào)。為了滿足程序自動(dòng)控制和遙控器手動(dòng)控制的切換,這里引入STM32單片機(jī)實(shí)現(xiàn)手/自動(dòng)控制的切換和模擬接收機(jī)信號(hào)。接收機(jī)5路信號(hào)即油門、俯仰、偏航、橫滾和手動(dòng)自動(dòng)切換,STM32的5個(gè)定時(shí)器負(fù)責(zé)捕捉5路接收機(jī)信號(hào),1個(gè)定時(shí)產(chǎn)生4路周期相同的PWM信號(hào)來(lái)模擬實(shí)際的接收機(jī)信號(hào)并輸出給悟空飛控,具體見圖4。
1.2 視覺部分
四旋翼的視覺部分主要由攝像頭、嵌入式工控機(jī)組成,攝像頭選用羅技HD720P廣角USB攝像頭。視覺算法需要一定的硬件計(jì)算資源,考慮到ARM架構(gòu)的控制板的計(jì)算能力有限且存在交叉編譯的問題,這里選用X86架構(gòu)的工控機(jī)作為機(jī)載計(jì)算平臺(tái),參考市面上的一些微工控機(jī)以及尺寸功耗的考慮,最終選用威盛P910工控機(jī)。
1.3 避障部分
避障部分主要由激光雷達(dá)組成,激光雷達(dá)測(cè)距系統(tǒng)包括一個(gè)單束窄帶激光器和一個(gè)接收系統(tǒng)。這里選用日本北陽(yáng)株式會(huì)社產(chǎn)的Hokuyo UTM-30LX激光雷達(dá),如圖5所示,此款雷達(dá)有270度的測(cè)量范圍和30米的測(cè)試距離,總重270g,滿足飛行器避障模塊的要求。
2 軟件結(jié)構(gòu)
軟件結(jié)構(gòu)主要可以分為4個(gè)部分:定位、目標(biāo)識(shí)別與跟蹤、高度控制和避障。幾個(gè)模塊之間是互相獨(dú)立又互相聯(lián)系的,整個(gè)控制回路最后數(shù)據(jù)融合輸出到飛行器硬件平臺(tái)。在ROS框架下有很多開源的包可以利用,各個(gè)軟件模塊都在ROS下實(shí)現(xiàn)。軟件整體結(jié)構(gòu)如圖6所示,下面分塊介紹逐個(gè)模塊的實(shí)現(xiàn)。
2.1 TLD算法
TLD(Tracking-Learning-Detecting)由英國(guó)薩利大學(xué)的Zdenek Kalal提出[5]。TLD是一種穩(wěn)定、魯棒、可靠的長(zhǎng)時(shí)間跟蹤算法。該算法研究的出發(fā)點(diǎn)是單獨(dú)地運(yùn)用現(xiàn)有跟蹤算法或檢測(cè)算法都無(wú)法長(zhǎng)時(shí)間地跟蹤目標(biāo)。Kalal創(chuàng)造性地將跟蹤算法和檢測(cè)算法相結(jié)合來(lái)解決跟蹤目標(biāo)在被跟蹤過程中發(fā)生的形變、部分遮擋等問題,同時(shí),通過一種改進(jìn)的在線學(xué)習(xí)機(jī)制不斷更新跟蹤模塊的“顯著特征點(diǎn)”和檢測(cè)模塊的目標(biāo)模型及相關(guān)參數(shù),從而使得跟蹤效果更加理想。
在此系統(tǒng)中,為了保持好的追蹤效果。根據(jù)地面機(jī)器人在圖像中的位置,引入一個(gè)PD控制器,使飛行器保持在地面機(jī)器人上方。控制器的輸入是攝像頭畫面中央的像素位置,反饋值是實(shí)際捕捉到的地面機(jī)器人在圖像中的位置,控制框圖如圖7所示,根據(jù)實(shí)驗(yàn)調(diào)整PD參數(shù)而使地面機(jī)器人保持在圖像的中央。圖8顯示了飛行器識(shí)別出的地面機(jī)器人,圖9顯示飛行器正在跟蹤地面機(jī)器人。
2.2 高度控制算法
根據(jù)實(shí)際飛行器實(shí)驗(yàn)和悟空控制系統(tǒng)的說(shuō)明[6],測(cè)試到油門信號(hào)與飛行器的實(shí)際升降有對(duì)應(yīng)關(guān)系,具體如圖10所示。油門PWM信號(hào)占空比分子在1000到2000之間變化,當(dāng)在1450到1550之間時(shí),悟空控制系統(tǒng)會(huì)使飛行器會(huì)自動(dòng)鎖定當(dāng)前高度,根據(jù)這一特點(diǎn)設(shè)計(jì)了開關(guān)控制器,當(dāng)高度低于給定值將占空比分子設(shè)置成1580,這樣飛行器會(huì)緩緩上升。當(dāng)高度高于給定值時(shí)設(shè)成1430,這樣飛行器緩緩下降。并設(shè)置實(shí)際值在給定值上下5cm不作控制,即自動(dòng)鎖定當(dāng)前高度。如圖11,實(shí)驗(yàn)時(shí)給定值在0.5m—1m—1.5m切換時(shí),飛行器能及時(shí)達(dá)到給定值。在打舵的時(shí)候,飛行器高度會(huì)有所改變,該控制器也能及時(shí)調(diào)整達(dá)到設(shè)定高度。圖11中直線表示給定高度,綠線表示飛行器的實(shí)際高度,在時(shí)間10s附近開啟高度控制器。
3 結(jié)束語(yǔ)
基于國(guó)際空中機(jī)器人大賽第7代任務(wù),本文提出了一種機(jī)載設(shè)備的實(shí)現(xiàn)方法,并詳細(xì)介紹了該方法的硬件平臺(tái)和軟件模塊。此方法完成了定位、高度控制、障礙物規(guī)避和單一地面機(jī)器人識(shí)別與跟蹤。飛行器續(xù)航能力有限且比賽時(shí)間有一定要求,所以要完成比賽a階段的追趕目標(biāo),上層的策略模塊還需要進(jìn)一步完善。比賽的b階段增加了飛行器的同臺(tái)博弈,因此還需要更多的實(shí)驗(yàn)以增加系統(tǒng)的魯棒性。
責(zé)任編輯:gt
-
機(jī)器人
+關(guān)注
關(guān)注
212文章
29176瀏覽量
210637 -
攝像頭
+關(guān)注
關(guān)注
60文章
4913瀏覽量
97289 -
激光雷達(dá)
+關(guān)注
關(guān)注
970文章
4126瀏覽量
191428
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
通過利用單片機(jī)實(shí)現(xiàn)機(jī)載電氣盒測(cè)試儀的應(yīng)用方案

同步控制的大功率機(jī)載相控陣?yán)走_(dá)電源設(shè)計(jì)
怎么設(shè)計(jì)便攜式ARINC429總線通信設(shè)備?
如何基于FPGA設(shè)計(jì)MIII總線與RS422通信協(xié)議轉(zhuǎn)換板?
軍用機(jī)載通信設(shè)備的安全水平怎么提高?
基于SOPC的某機(jī)載數(shù)傳設(shè)備板級(jí)檢測(cè)實(shí)現(xiàn)
機(jī)載設(shè)備機(jī)箱的電磁屏蔽設(shè)計(jì)
RTCA-DO-160F 機(jī)載設(shè)備的環(huán)境條件和測(cè)試程序
儀表著陸系統(tǒng)機(jī)載設(shè)備檢測(cè)系統(tǒng)研制

機(jī)載設(shè)備故障診斷知識(shí)庫(kù)的設(shè)計(jì)

1553B總線通信在某型測(cè)試系統(tǒng)中的硬件和軟件設(shè)計(jì)方法

評(píng)論