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