IARC第7代任務(wù)的機(jī)載計(jì)算解決方案
摘要:根據(jù)國(guó)際空中機(jī)器人大賽的第7代任務(wù)以及現(xiàn)場(chǎng)的比賽環(huán)境,本文提出了一種單純依靠機(jī)載設(shè)備的任務(wù)實(shí)現(xiàn)方法,完成了該方法的硬件電路設(shè)計(jì)以及平臺(tái)搭建、軟件算法的設(shè)計(jì)與調(diào)試,并進(jìn)行了對(duì)地面機(jī)器人的跟蹤實(shí)驗(yàn)。該方法硬件平臺(tái)由STM32微控制器、威盛P910 X86嵌入式工控機(jī)、悟空飛控系統(tǒng)以及外圍傳感器組成。軟件在機(jī)器人操作系統(tǒng)框架下編寫,主要包括定位模塊、目標(biāo)識(shí)別與追蹤控制模塊、高度控制模塊、障礙規(guī)避模塊和驅(qū)趕策略模塊。
本文引用地址:http://butianyuan.cn/article/269818.htm引言
國(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)說,通過調(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ī)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼
激光器相關(guān)文章:激光器原理
評(píng)論