李 論,彭曉燕,楊程富,周蔚勇
(貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025)
隨著人工智能技術(shù)的飛速發(fā)展,無人飛行器(Unmanned Aerial Vehicle,UAV)+行業(yè)應(yīng)用成為人工智能發(fā)展的剛需。以智能化為主要依托的四旋翼飛行器技術(shù),越來越多地應(yīng)用于影視航拍、交通巡查、植保施肥、電力輸配電巡檢、災(zāi)難救援、測繪跟蹤和快遞運(yùn)輸?shù)阮I(lǐng)域[1-6]。特別是飛行巡線機(jī)器人作為電力輸配電巡檢網(wǎng)絡(luò)發(fā)展領(lǐng)域的重要分支,已成為我國乃至世界科技創(chuàng)新戰(zhàn)略中的重要成員之一[7-8]。然而,四旋翼飛行器因其性能卓越、成本低廉和結(jié)構(gòu)新穎,被廣泛應(yīng)用于電力線路巡檢任務(wù)[9]。傳統(tǒng)的輸配電網(wǎng)絡(luò)巡檢是巡檢電工攜帶檢測儀器裝備沿著輸配電網(wǎng)絡(luò)線路步行對架空輸電線路進(jìn)行逐一排查,人為判斷或發(fā)現(xiàn)故障點(diǎn)[10-11]。這種巡檢方式存在工作效率低、檢測質(zhì)量不高、山區(qū)惡劣環(huán)境下電工步行危險性大等缺點(diǎn)。
近年來,無人機(jī)被全面用于電力線路巡線作業(yè),主要應(yīng)用于國家電網(wǎng)等電力傳輸行業(yè)領(lǐng)域,具有巡線速度快、應(yīng)急瞬速等優(yōu)點(diǎn),為保障人員高空危險作業(yè)安全立下了汗馬功勞。然而,使用電力智能巡檢飛行機(jī)器人能夠?qū)σ巴饧芸针娏€纜進(jìn)行自動化高空作業(yè)是智能電網(wǎng)發(fā)展的重要方向[12-13]。巡線機(jī)器人自動巡檢在提升勞動效率、降低營運(yùn)成本、優(yōu)化人力資源結(jié)構(gòu)以及減少高空危險作業(yè)安全事故等方面做出了重大貢獻(xiàn)。根據(jù)電子設(shè)計(jì)競賽賽題的設(shè)計(jì)要求和架空輸配電電纜環(huán)境特點(diǎn),本文設(shè)計(jì)提出一種基于TI 公司的Tiva ?C 系列TM4C123GH6PM微控制器的巡線機(jī)器人的設(shè)計(jì)方案。采用高性能微控制器作為巡線機(jī)器人的飛控主處理器[14],為了滿足自動巡檢任務(wù),在飛控板上增加了視覺Open MV傳感器、激光筆、姿態(tài)傳感器、超聲波模塊以及視覺圖像智能分析算法協(xié)同作用來識別線纜、定高和測距。
基于四旋翼飛行器的巡線機(jī)器人的設(shè)計(jì)任務(wù)是通過四旋翼飛行器搭載視覺Open MV 傳感器模塊,對架空電力線纜及桿塔狀態(tài)進(jìn)行實(shí)時監(jiān)測和監(jiān)控,發(fā)現(xiàn)異常或故障時拍攝存儲,當(dāng)巡檢任務(wù)結(jié)束后將巡檢過程實(shí)時傳送到地面顯示裝置上顯示數(shù)據(jù)信息。飛行巡線機(jī)器人是一個相當(dāng)復(fù)雜的控制系統(tǒng),主要由飛行控制系統(tǒng)、姿態(tài)解算系統(tǒng)、圖像采集系統(tǒng)、數(shù)據(jù)傳輸系統(tǒng)和地面數(shù)據(jù)分析系統(tǒng)等組成。飛行巡線機(jī)器人同時是一個欠驅(qū)動系統(tǒng),由4 個輸入來完成6 個輸出的飛行控制系統(tǒng)[15]。工作原理是飛行控制處理器輸出4 路PWM 波調(diào)整控制4 個電機(jī)的轉(zhuǎn)速,從而改變兩對相互交叉對稱的旋翼轉(zhuǎn)動和轉(zhuǎn)向產(chǎn)生的上升力來實(shí)現(xiàn)各種飛行姿態(tài)。飛行巡線機(jī)器人硬件結(jié)構(gòu)如圖1 所示,主要由3 個單元模塊構(gòu)成,分別是四旋翼機(jī)架單元模塊、飛行控制器單元模塊和視覺傳感器單元模塊。
圖1 飛行巡線機(jī)器人硬件系統(tǒng)框架
作為飛行巡線機(jī)器人的主體構(gòu)件,在設(shè)計(jì)方案中選擇F330 鋁制機(jī)架,軸距為330 mm,小巧輕便;機(jī)臂采用一體化注塑設(shè)計(jì),可簡化安裝,降低共振,耐沖擊。配合使用8045 螺旋槳(直徑為8 英寸),同時選擇2212 無刷電機(jī)和電調(diào)模塊。相對于直流有刷電機(jī)來說,在運(yùn)行時間和電壓方面較穩(wěn)定且標(biāo)配穩(wěn)壓器,具備低干擾、低電損耗和低發(fā)熱量等優(yōu)點(diǎn)。電機(jī)的KV 值為930,較合適螺旋槳旋轉(zhuǎn)(KV值越高,電機(jī)轉(zhuǎn)速越快,力氣就越?。?。電調(diào)選擇好盈樂天的20 A 電調(diào),穩(wěn)定且兼容性較好。飛行巡線機(jī)器人的供電由航模電源管理模塊鋰電池提供,選用LiPo-3S 電池,每塊4.2 V,共12.6 V 電壓。供電包含兩部分,為飛控板和電機(jī)輸送電源。由于飛控板的電壓為5 V,鋰電池的電壓在11 ~12.6 V,所以需要一個降壓穩(wěn)壓模塊進(jìn)行電壓轉(zhuǎn)換。
飛行巡線機(jī)器人的核心控制處理單元模塊包括飛控主板、自主設(shè)計(jì)和繪制電路板。焊接如圖2 所示的飛控主板。該四旋翼飛行器主控板可以實(shí)現(xiàn)一鍵起飛/降落、空中平衡定點(diǎn)光流懸停、SDK 開發(fā)者模式、自主尋跡模式以及自動追蹤移動模式等。飛控模塊由主控芯片、遙控通信模塊、慣性測量模塊、光流模塊、電源供電模塊和電機(jī)及驅(qū)動模塊構(gòu)成。其中,主芯片使用基于TI 公司的Tiva ?C 系列TM4C123GH6PM,其內(nèi)部構(gòu)造是基于ARM Cortex M4 的內(nèi)核32 位處理器,主頻高達(dá)80 MHz,包含256K 程序存儲器和32K 的數(shù)據(jù)存儲器、12 位高分辨率的DAC、12 個定時器Timer、串口多達(dá)8 路、I2C 通信接口多達(dá)6 路、PWM 輸出多達(dá)16 路以及多路USART 接口。
圖2 飛行控制主處理器板
傳感器部分由光流模塊(定位懸停)、US-100 超聲波模塊(測高、測距,可實(shí)現(xiàn)探測距離為2 ~450 cm的非接觸測距功能,具有串口等多種通信方式)、MPU-6050 姿態(tài)傳感器(穩(wěn)定飛行姿態(tài),由加速度計(jì)和陀螺儀組成,前者主要測量加速度,后者主要測量轉(zhuǎn)動角速度)、SPL06 氣壓計(jì)(與加速度計(jì)同時作用于定高,起飛前需要校準(zhǔn))和IST8310 磁力計(jì)組成。其中,光流模塊和超聲波模塊通過USART協(xié)議與飛控主板通信,MPU6050 姿態(tài)傳感器、磁力計(jì)和氣壓計(jì)通過I2C 總線協(xié)議與飛控主板通信。
作為飛行巡線機(jī)器人的視覺圖像傳感器模塊,主要由Open MV 模塊組成。Open MV 模塊打造的是一款低價位、可擴(kuò)展、支持Python 編程調(diào)用圖像處理算法的機(jī)器視覺傳感器,包含STM32H743VIT6芯片和OV7725 攝像頭。這款芯片使用ARM Cortex M7 的處理器,所有的I/O 口均可用于中斷和PWM,且所有的I/O 引腳輸出3.3 V 和5 V 兼容。OV7725 攝像頭在80FPS 下可處理640×480 分辨率8 bit 灰度圖或320×240 分辨率16 bit 彩色圖。飛行巡線機(jī)器人完成巡線任務(wù)(包含電力線纜上異物檢測和桿塔二維碼識別拍照),主要依靠如圖3 所示的超聲波模塊、Open MV 模塊、MPU-6050 傳感器和光流模塊進(jìn)行圖像和數(shù)據(jù)采集處理。
圖3 飛行巡線機(jī)器人視覺傳感器結(jié)構(gòu)
下面主要對超聲波模塊和Open MV 模塊進(jìn)行詳細(xì)概述。
(1)超聲波模塊。飛行巡線機(jī)器人要以1 m 定高繞桿A 至B 逐一巡檢,且巡線區(qū)域?yàn)椤?0 cm,飛行最大軸間距不大于420 mm。飛行期間既要保證高度,又要防止飛出巡線區(qū)域。因此,將Open MV 模塊安裝在分電板兩側(cè),即機(jī)頭方向,分電板前后側(cè)各安裝一個超聲波模塊。前側(cè)與攝像頭保持水平,后側(cè)與地面保持水平,巡線期間機(jī)器人沿線纜橫向飛行。
(2)視覺Open MV 模塊。該傳感器模塊主要是對輸配電網(wǎng)絡(luò)電纜和桿塔進(jìn)行拍照錄相,而桿塔及電纜是架空電路中包含的主要成員。在飛行巡線機(jī)器人飛行巡檢過程中,電纜和桿塔的正確識別與定位是視覺傳感器的首要任務(wù)。在視覺傳感器模塊中,通過數(shù)字圖像處理技術(shù)計(jì)算和判斷識別成功率,圖像處理算法在本文不加以討論。電力線纜上粘貼有圓環(huán)狀的黃底黑色8 位數(shù)條形碼,飛行巡線機(jī)器人在巡線期間要求機(jī)器人發(fā)現(xiàn)線纜上異物,并在與異物距離不超過30 cm 的范圍內(nèi)用聲音或燈光提示報警。考慮到機(jī)器人起飛后螺旋槳轉(zhuǎn)動的噪聲雜音較大,如果安裝蜂鳴器進(jìn)行聲音提示很大程度會影響飛行實(shí)驗(yàn)結(jié)果,聽不到聲響報警。所以,采用燈光提示,設(shè)置兩個LED 燈(藍(lán)色和綠色)依次閃亮。LED 燈的亮度較大,提示對線纜或桿塔識別比較明顯。
巡線機(jī)器人軟件設(shè)計(jì)部分是采用C語言在MDK5軟件上編寫飛控主程序,并在TM4C123GH6PM芯片上下載和調(diào)試實(shí)現(xiàn);視覺傳感器模塊程序是在Open MV 軟件上采用Python 語言開發(fā)實(shí)現(xiàn)線纜和桿塔數(shù)據(jù)采集的分析和計(jì)算。巡線機(jī)器人在空中執(zhí)行巡線任務(wù)的技術(shù)路線如圖4 所示。為了讓飛行巡線機(jī)器人一鍵起飛后連貫地執(zhí)行賽題要求的各項(xiàng)動作任務(wù),在主程序中設(shè)定了針對賽題要求進(jìn)行分段分時飛行。
圖4 飛行巡線機(jī)器人軟件系統(tǒng)結(jié)構(gòu)
飛行巡線機(jī)器人的飛控系統(tǒng)主程序部分核心代碼:
int main(void)
{
WP_Init();//芯片資源、飛控外設(shè)初始化
while(1)//主循環(huán)
{
Get_Battery_Voltage();//測量電池電壓
Key_Scan(Key_Right_Release);//按鍵掃描
QuadShow();//OLED 顯示
Vcan_Send();//山外地面站
ANO_SEND_StateMachine();//ANO 地面站發(fā)送
Accel_Calibartion();//加速度計(jì)6 面校準(zhǔn)
Mag_Calibartion_LS(&WP_Sensor.mag_raw,Circle_Angle);//磁力計(jì)橢球校準(zhǔn)
RC_Calibration_Check(PPM_Databuf);//遙控器行程校準(zhǔn)
Save_Or_Reset_PID_Parameter();//運(yùn)用地面站,修改控制參數(shù)
}}
根據(jù)電子競賽賽題給出的多項(xiàng)飛行任務(wù)要求,本文設(shè)置一個游戲模式來控制飛行巡線機(jī)器人在巡線過程中的相關(guān)動作。
(1)定高飛行。這是四旋翼飛行器保持巡線檢查前最重要的環(huán)節(jié)。賽題設(shè)定線纜的高度為1 m,在飛行巡線過程中通過Open MV 模塊不斷檢測線纜在視野中的位置,同時設(shè)置一個關(guān)鍵性標(biāo)志,給光流發(fā)出指示動作來控制飛行巡線機(jī)器人的速度。如果飛行巡檢視野中沒有檢測到線纜異物或是桿塔物體,則飛行巡線機(jī)器人保持懸停狀態(tài),自動進(jìn)入高度調(diào)整控制,停止速度控制。此時,需要知道線纜高度。設(shè)定Left 為上方有線,值為+1 cm 到+3 cm;Right 為下方有線,值為-1 cm 到-3 cm。通過檢測線纜的高度判斷飛行巡線機(jī)器人下一步的飛行姿態(tài),即向上飛行使線纜出現(xiàn)在視覺傳感器攝像頭的中間或者自動調(diào)整機(jī)身向下飛行時使線纜居中。
(2)檢測線纜上是否存在異物并提示。異物是黃色管狀物體,而線纜是黑色,所以檢測異物即色塊識別,用到了Open MV 模塊中的find_blobs函數(shù)來尋找色塊,通過設(shè)置pixels_threshold=25 和area_threshold=25 過濾識別到的一些干擾點(diǎn)。這些干擾點(diǎn)的像素值和面積均小于25,可以很好地識別色塊。識別到異物報警時,用到了2 號超聲波模塊(與地面垂直放置)來檢測飛行器與線纜之間的距離。當(dāng)超聲波模塊檢測到距離小于30 cm 時,調(diào)用alarm()函數(shù)發(fā)出警報,通過延時來控制藍(lán)色和綠色兩個LED 燈光閃爍,同時要關(guān)閉速度控制,保持飛行巡線機(jī)器人懸停姿態(tài),立即進(jìn)行條碼識別與拍照存儲。
(3)條碼識別。由于條形碼貼在黃色管物體塊上,認(rèn)為僅需要識別出異物并拍照便可得到條形碼圖片。條碼識別步驟如下。
步驟1:設(shè)定異物顏色閾值,設(shè)定常量值t=7;
步驟2:利用find_blobs 方法,輸入異物顏色閾值、最小色塊像素、最小色塊面積等參數(shù),并過濾掉條形碼,從而識別色塊,調(diào)用blob.cx()方法和blob.cy()方法得到色塊在窗口的橫坐標(biāo),最后利用for 語句遍歷所有異物顏色色塊;
步驟3:通過條件篩選出異物,得到異物橫坐標(biāo)和縱坐標(biāo);
步驟4:當(dāng)檢測到異物的橫坐標(biāo)在x 軸的中間部分時,t-1,flag1 置1;
步驟5:將條形碼坐標(biāo)和flag1 返回,此時t 自減,當(dāng)取值為3、2、1 時,調(diào)用save 方法拍照并依次將圖片保存進(jìn)SD 卡;
步驟6:當(dāng)t 自減至0 時,不再進(jìn)行異物識別判斷,不再拍照,從而控制照片數(shù)量為3,flag1 置0 返回;
(4)二維碼識別。由于二維碼存在許多關(guān)鍵點(diǎn),認(rèn)為可以將需要識別的二維碼特征點(diǎn)提前保存并通過特征點(diǎn)檢測便可識別出二維碼。
步驟1:將要檢測的二維碼特征點(diǎn)提前保存,設(shè)定常量值q=7;
步驟2:利用load_descriptor 方法讀取sd 卡內(nèi)的特征點(diǎn),存入kpts1;
步驟3:利用find_keypoints 方法尋找特征點(diǎn)存入kpts2;
步驟4:利用match_descriptor 方法將kpts2 與二維碼的特征點(diǎn)相匹配;
步驟5:設(shè)定條件語句,當(dāng)相匹配的特征點(diǎn)個數(shù)超過設(shè)定的個數(shù)時為匹配成功,此時返回檢測對象的坐標(biāo);
步驟6:當(dāng)檢測對象進(jìn)入鏡頭中間時,flag2 置1,調(diào)用save 方法將圖片保存進(jìn)SD 卡,q-1 直到q=0時不再拍照,從而控制照片數(shù)量,flag 置0 時返回;
(5)繞桿塔飛行。飛行巡線機(jī)器人繞桿塔飛行需要考慮兩個因素:一是檢測到桿塔B;二是巡線機(jī)器人繞過桿塔B。巡線機(jī)器人檢測到桿塔B,需要視野中上、下、左三側(cè)呈現(xiàn)有線纜的現(xiàn)象。對于視覺Open MV 模塊來說,是Left、Right、Up 三個參數(shù)為1。繞過桿塔飛行需要在保持飛行高度的情況下不斷調(diào)整橫滾的速度和偏航的角度,即調(diào)整橫滾和偏航的參數(shù)實(shí)現(xiàn)繞過桿塔B 繼續(xù)呈直線飛行巡檢。
本文設(shè)計(jì)制作的飛行巡線機(jī)器人如圖5 所示。根據(jù)2019 年全國大學(xué)生電子設(shè)計(jì)競賽試題要求,為解決架空輸電線路人工巡檢存在的困難現(xiàn)狀,團(tuán)隊(duì)在比賽現(xiàn)場進(jìn)行了方案論證、飛行設(shè)計(jì)和飛行實(shí)測。
圖5 飛行巡線機(jī)器人
按照全國競賽賽題飛行測試任務(wù)要求,設(shè)計(jì)的飛行巡線機(jī)器人沿著圖6 桿塔與線纜測試圖進(jìn)行了6 項(xiàng)試驗(yàn),成功完成了賽題基礎(chǔ)部分3 項(xiàng)和發(fā)揮部分3 項(xiàng)(①、②和④項(xiàng))的飛行實(shí)測,如表1 所示。
圖6 實(shí)驗(yàn)測試桿塔與線纜示意圖(摘自2019 競賽試題)
針對賽題任務(wù)以及架空線纜巡檢環(huán)境繁雜,本設(shè)計(jì)硬件系統(tǒng)結(jié)構(gòu)簡潔,按賽題選項(xiàng)每一單項(xiàng)重復(fù)巡檢測試飛行3 次,最后取飛行平衡、效果最佳的一次作為最后實(shí)驗(yàn)成績。機(jī)器人設(shè)備在巡線巡檢飛行中全程飛行平穩(wěn),唯一有兩個單次飛行巡檢測試失敗,兩單次條形碼/二維碼未正確識別??梢姡疚脑O(shè)計(jì)提出的飛行巡線機(jī)器人飛行測試實(shí)時性和精準(zhǔn)性較高,并取得了2019 年貴州賽區(qū)兩項(xiàng)二等獎和一項(xiàng)三等獎。實(shí)驗(yàn)結(jié)果表明,飛行巡線機(jī)器人系統(tǒng)的魯棒性、實(shí)時性、可擴(kuò)展性以及可移植性得到了有效論證。
表1 飛行實(shí)測表
本文提出一種飛行巡線機(jī)器人的設(shè)計(jì)方法,自主設(shè)計(jì)與繪制四旋翼飛行控制器主板,詳細(xì)闡述了四旋翼飛行器搭載視覺Open MV 傳感器模塊、光流模塊、超聲波模塊以及MPU-6050 傳感器模塊在TI公司Tiva ?C 系列TM4C123GH6PM 主控芯片上實(shí)現(xiàn)飛行巡線巡檢方案,采用圖像處理技術(shù)算法處理自動飛行巡檢功能。在軟件系統(tǒng)設(shè)計(jì)方面,采用通用的C&Python 語言程序協(xié)同開發(fā)并執(zhí)行巡線機(jī)器人在巡線巡檢過程中的定高、測距、線纜檢測異物、條形碼/二維碼識別等任務(wù)?,F(xiàn)場比賽和飛行實(shí)測,驗(yàn)證了本文設(shè)計(jì)的飛行巡線機(jī)器人的綜合性能。這種設(shè)計(jì)方案降低了人工巡檢架空輸配電網(wǎng)絡(luò)電力線纜和桿塔的危險性,提高了工作效率和巡檢質(zhì)量,為智能巡檢機(jī)器人提供了一種新的參考方案。