方遠(yuǎn)征,劉洪偉,劉 霄,胡春生,王 偉
(國(guó)網(wǎng)山東省電力公司檢修公司,山東 濟(jì)南 250118)
超、特高壓線路已成為全國(guó)電力網(wǎng)絡(luò)系統(tǒng)的大動(dòng)脈,為確保電網(wǎng)系統(tǒng)主干網(wǎng)絡(luò)的安全穩(wěn)定運(yùn)行,需對(duì)輸電線路本體及線路通道內(nèi)出現(xiàn)的各類情況進(jìn)行掌握,盡早發(fā)現(xiàn)隱患,并及時(shí)進(jìn)行處理。在輸電線路巡檢中,無(wú)人機(jī)能夠近距離檢查輸電線路本體,其攜帶的各類傳感器能夠拍攝、存儲(chǔ)大量影像資料,給輸電線路運(yùn)維人員進(jìn)行比對(duì)、分析,能夠快速判定輸電線路存在的缺陷,相較于人工巡檢,具有檢查線路缺陷效率高、安全系數(shù)高等優(yōu)點(diǎn)[1]。無(wú)人機(jī)在巡檢過(guò)程中,需保證與帶電線路保持安全距離,利用無(wú)人機(jī)自動(dòng)避障技術(shù),有效避免了碰撞事故的發(fā)生,提高無(wú)人機(jī)巡檢的安全水平。
自主研發(fā)的多旋翼無(wú)人機(jī)避障系統(tǒng)依據(jù)其測(cè)距方法主要可分為3類:一是超聲波測(cè)距法;二是飛行時(shí)間測(cè)距法;三是由多種測(cè)距和圖像處理方法相結(jié)合的復(fù)合型測(cè)距法[2]。以上3種方法只應(yīng)用在某種特定的無(wú)人機(jī)飛控系統(tǒng)自主避障功能的開發(fā)設(shè)計(jì)中,當(dāng)開發(fā)者對(duì)無(wú)人機(jī)構(gòu)造不了解時(shí),以上測(cè)距方法不能與無(wú)人機(jī)飛控系統(tǒng)相適配。多旋翼無(wú)人機(jī)運(yùn)行機(jī)理為遙控器接收機(jī)接收飛行控制信號(hào)并將其傳遞給控制模塊,進(jìn)而傳送給無(wú)人機(jī)執(zhí)行機(jī)構(gòu)驅(qū)動(dòng)其飛行。根據(jù)無(wú)人機(jī)設(shè)計(jì)原理在遙控器接收機(jī)與飛控模塊之間增設(shè)自主避障模塊,其中自主避障模塊由超聲波傳感器和Arduino UNO平臺(tái)兩部分組成,如圖1所示。超聲波傳感器通過(guò)發(fā)射超聲波信號(hào)并收集由障礙物反射回的信息,實(shí)時(shí)檢測(cè)出無(wú)人機(jī)與其飛行環(huán)境周圍存在的障礙物之間的距離,并傳遞給Arduino UNO平臺(tái)。Arduino UNO平臺(tái)通過(guò)比對(duì)遙控器接收機(jī)接收的無(wú)人機(jī)飛行控制信號(hào)和采集到的超聲波傳感器檢測(cè)的無(wú)人機(jī)與障礙物之間的距離信息,進(jìn)行邏輯判斷,進(jìn)而重構(gòu)出飛行控制信號(hào),并將重構(gòu)出的飛行信息傳遞給無(wú)人機(jī)系統(tǒng)的執(zhí)行機(jī)構(gòu),當(dāng)無(wú)人機(jī)飛行中遇到障礙物時(shí)飛機(jī)能夠以準(zhǔn)確姿態(tài)避開,從而在不改變無(wú)人機(jī)飛控系統(tǒng)軟硬件的情況下實(shí)現(xiàn)精準(zhǔn)避障。
圖1 多適配性無(wú)人機(jī)避障系統(tǒng)方案
2.1.1 電源模塊
Arduino UNO控制板作為超聲波傳感器及遙控器接收機(jī)的信息存儲(chǔ)單元,為減少了外界信息的干擾,采用外部獨(dú)立電源供電,圖2為系統(tǒng)供電模塊原理圖,Vin為電源輸入端口,允許輸入電壓范圍為5~10 V,A4端連接二極管,其單向?qū)ǖ奶匦杂行П苊饬讼到y(tǒng)元器件因電源極性接反而被燒毀的問(wèn)題。
圖2 外部供電模塊
2.1.2 Arduino UNO與飛控接口設(shè)計(jì)
Arduino UNO芯片作為Arduino市場(chǎng)的主流產(chǎn)品,端口豐富,功能強(qiáng)大,用戶根據(jù)不同的需求可靈活選擇各類開發(fā)平臺(tái),選取該型號(hào)芯片作為自主避障模塊核心控制元件[3]。Arduino是當(dāng)前市場(chǎng)上比較受歡迎的嵌入式開發(fā)平臺(tái),該處理器無(wú)論硬件還是軟件都是開源的,用戶可以查看其源代碼、設(shè)計(jì)圖表等信息,設(shè)計(jì)方式極其靈活。主要包含兩大部分:Arduino電路板和Arduino IDE模塊,前者是起連接系統(tǒng)作用的硬件部分;后者根據(jù)傳感器來(lái)感知、反饋周圍環(huán)境的變化,開發(fā)板上的微控模塊可以應(yīng)用其自身的開發(fā)語(yǔ)言進(jìn)行編程,并將翻譯后的機(jī)器代碼,錄入控制芯片內(nèi)。
Arduino UNO控制板與飛控系統(tǒng)之間采用14路數(shù)字信號(hào)傳遞數(shù)據(jù)與控制信號(hào),端口工作電壓為5 V,端口輸出接入最大電流為40 mA,外部配置20~50 kΩ上拉電阻。Arduino UNO各芯片引腳的功能為:控制接收信號(hào)串口RX(1號(hào)),控制發(fā)送信號(hào)串口TX(2號(hào)),連接信息交換芯片,控制與外部芯片進(jìn)行信息交換;脈寬調(diào)制 PWM(2、3、4、5、6、7)引腳,輸出8位控制數(shù)據(jù)信號(hào);外部觸發(fā)中斷(8號(hào)和9號(hào))引腳,為跳沿觸發(fā)方式;SPI(10(SS),11(MOSI),12(MISO),13 (SCK)) 可以 SPI通信接口;LED 燈(13號(hào))測(cè)試接口,用于測(cè)試Arduino的LED接口,當(dāng)該端口輸出低電位時(shí)LED為熄滅狀態(tài),反之該燈被點(diǎn)亮。
2.1.3 超聲波傳感器選型
綜合分析超聲波傳感器測(cè)距范圍、測(cè)量精度及其質(zhì)量、體積與無(wú)人機(jī)負(fù)荷能力相適配等問(wèn)題,選取尺寸、重量適中,測(cè)量范圍較大、精度較高型號(hào)為 US100-Y401的超聲波測(cè)距傳感器,如圖3所示。
圖3 US100-Y401的超聲波測(cè)距傳感器
US100-Y401型超聲波測(cè)距系統(tǒng)通過(guò)軟硬件結(jié)合可實(shí)現(xiàn)串口的全雙工通信,通過(guò)設(shè)定不同訪問(wèn)地址,單個(gè)通信口可實(shí)現(xiàn)對(duì)16個(gè)不同地址的設(shè)備的訪問(wèn),且在測(cè)距中選擇其低功耗模式,能夠大量節(jié)省傳感器熱損耗,在實(shí)際應(yīng)用中選擇采集信息的指令校準(zhǔn)功能,能進(jìn)一步提高測(cè)量精度。其聲波輸出功率較強(qiáng),能在復(fù)雜的外界干擾條件下(電磁波和聲波),通過(guò)實(shí)時(shí)校準(zhǔn),實(shí)現(xiàn)對(duì)距離信號(hào)的精準(zhǔn)測(cè)量。該型號(hào)傳感器工作電壓為3.3~5 V,探測(cè)功能強(qiáng)大測(cè)距范圍可達(dá)700 cm,環(huán)境溫度在-40~65℃范圍內(nèi)正常工作,其高頻率聲波探測(cè)能力,避免了被探測(cè)物形狀、顏色等干擾因素的影響,從而獲取準(zhǔn)確的距離信息,達(dá)到精準(zhǔn)快速避障的目的。
在探測(cè)無(wú)人機(jī)飛行環(huán)境周圍的障礙物時(shí),為消除US100-Y401超聲波傳感器的檢測(cè)盲區(qū),飛控系統(tǒng)對(duì)測(cè)距結(jié)果將進(jìn)行分組處理。
2.2.1 軟件流程
基于以上硬件控制平臺(tái),無(wú)人機(jī)自主避障模塊軟件設(shè)計(jì)流程如圖4所示。Arduino UNO平臺(tái)首先接收用戶通過(guò)遙控器輸入的無(wú)人機(jī)的原始飛行控制信息,然后讀取超聲波傳感器檢測(cè)到的無(wú)人機(jī)與障礙物間的距離信號(hào),并進(jìn)行邏輯判斷。若通過(guò)系統(tǒng)判定得知無(wú)人機(jī)與被測(cè)量障礙物之間的距離大于系統(tǒng)設(shè)定的安全距離,則無(wú)人機(jī)按照遙控器接收機(jī)的原始輸入信息執(zhí)行飛行任務(wù);若通過(guò)系統(tǒng)判定知無(wú)人機(jī)與被測(cè)量障礙物之間的距離在系統(tǒng)設(shè)定的安全距離范圍之內(nèi),則無(wú)人機(jī)認(rèn)定障礙物對(duì)其安全飛行構(gòu)成威脅,飛控系統(tǒng)賦予飛行器執(zhí)行機(jī)構(gòu)值為K*(安全距離和測(cè)量距離之差)的控制信號(hào),使無(wú)人機(jī)遠(yuǎn)離障礙物到安全距離以外,其中K值為正系數(shù)避征值,其值越大,無(wú)人機(jī)避障反應(yīng)越明顯。
圖4 軟件流程
2.2.2 算法實(shí)現(xiàn)
基于以上設(shè)計(jì)思想,在設(shè)計(jì)完成的Arduino UNO硬件控制平臺(tái)上,完成自主避障飛控系統(tǒng)的軟件程序調(diào)試工作。設(shè)計(jì)中無(wú)人機(jī)的加速與方向舵通道為獨(dú)立控制單元,系統(tǒng)綜合信息判定的結(jié)果只控制升降舵與副翼的運(yùn)行,萬(wàn)一發(fā)生無(wú)法預(yù)料的情況時(shí),可直接控制加速與方向舵調(diào)整飛機(jī)運(yùn)行狀態(tài),避免意外狀況發(fā)生,保證飛機(jī)運(yùn)行安全。自主避障飛控系統(tǒng)軟件程序內(nèi)定義無(wú)人機(jī)與障礙物間的距離變量為distance,對(duì)于檢測(cè)結(jié)果系統(tǒng)首先進(jìn)行濾波處理,若測(cè)量距離大于等于40 cm,distance賦值為40 cm。無(wú)人機(jī)的安全距離設(shè)置為40 cm,其目的是在無(wú)人機(jī)與障礙物之間設(shè)定了一個(gè)0~40 cm敏感區(qū)域,若無(wú)人機(jī)進(jìn)入該范圍,系統(tǒng)認(rèn)定無(wú)人機(jī)為非安全飛行狀態(tài)。自主避障模塊運(yùn)行時(shí),由系統(tǒng)設(shè)定的安全距離減去變量distance并將差值賦予變量error,若error值為0,無(wú)人機(jī)機(jī)按照遙控器原始輸入信號(hào)飛行;若測(cè)量知無(wú)人機(jī)與障礙物之間的距離為30 cm,則error值為10 cm,通過(guò)調(diào)整比例系數(shù)飛控系統(tǒng)獲取控制信息驅(qū)動(dòng)無(wú)人機(jī)調(diào)速機(jī)構(gòu)飛離障礙物,至安全距離大于40 cm,從而實(shí)現(xiàn)準(zhǔn)確避開障礙物的目的,無(wú)人機(jī)避障反應(yīng)與變量error值成正比例關(guān)系。
為驗(yàn)證設(shè)計(jì)的有效性,需進(jìn)行飛行測(cè)試,選擇六軸六漿的多旋翼無(wú)人機(jī)平臺(tái)Wookong-M飛控系統(tǒng)進(jìn)行試驗(yàn)。試驗(yàn)時(shí),操作人員操作無(wú)人機(jī)勻速接近障礙物時(shí),無(wú)人機(jī)避障反應(yīng)明顯,當(dāng)無(wú)人在雷達(dá)區(qū)域外時(shí),可穩(wěn)定懸停在空中。無(wú)人機(jī)操作人員對(duì)其飛行環(huán)境周邊的障礙物做出提前預(yù)判,及時(shí)調(diào)整飛機(jī)運(yùn)行姿態(tài),為保障無(wú)人機(jī)與輸電線路的安全提供保障。該型號(hào)超聲波傳感器檢測(cè)障礙物的范圍達(dá)700 cm,辨識(shí)精確度達(dá)到0.1 cm[4]。此外,該型號(hào)傳感器對(duì)采樣數(shù)據(jù)可以進(jìn)行濾波處理,其指令集中有校準(zhǔn)功能指令,能進(jìn)一步提高測(cè)量精確度,通過(guò)實(shí)際驗(yàn)證測(cè)量模塊得出如下特點(diǎn):1)測(cè)量角度30°錐形;2)與地面平行飛行不受電磁干擾;3)超聲波傳感器波束方向與被測(cè)物因測(cè)量夾角存在的誤差,不影響其自主避障功能的實(shí)現(xiàn);4)測(cè)量最小能見(jiàn)度1.5 cm2左右;5)物體最大測(cè)量面積700 cm2左右。考慮無(wú)人機(jī)巡視輸電線路時(shí)的飛行環(huán)境,綜上可知選用US100-Y401型傳感器能夠滿足使用要求。
系統(tǒng)采用Arduino UNO和超聲波傳感器相結(jié)合的方式,超聲波傳感器探測(cè)無(wú)人機(jī)飛行環(huán)境周圍存在的障礙物,Arduino UNO平臺(tái)收集輸入的相關(guān)信息進(jìn)行邏輯信息重構(gòu),進(jìn)而驅(qū)動(dòng)無(wú)人機(jī)調(diào)速器改變飛機(jī)運(yùn)行姿態(tài),準(zhǔn)確避開障礙物。本設(shè)計(jì)具有超強(qiáng)的抗電磁干擾能力,整個(gè)系統(tǒng)按照國(guó)標(biāo)設(shè)計(jì),靜電抗擾度和電磁抗擾度等級(jí)均達(dá)到500 kV輸電線路運(yùn)行要求。 同時(shí)充分考慮了系統(tǒng)應(yīng)用環(huán)境的變化,系統(tǒng)應(yīng)用到不同型號(hào)無(wú)人機(jī),可根據(jù)環(huán)境的不同,用戶要求的不同,靈活地調(diào)整系統(tǒng)設(shè)置。
多適配性無(wú)人機(jī)避障模塊介于遙控接收機(jī)和飛行控制系統(tǒng)之間,采用外接電源進(jìn)行獨(dú)立供電,選用US100-401超聲波傳感器進(jìn)行測(cè)距,并將超聲波雷達(dá)與Arduino UNO硬件控制平臺(tái)相融合,發(fā)射探測(cè)信號(hào),采集反饋信息,接收遙控器接收機(jī)數(shù)據(jù),實(shí)現(xiàn)了接收機(jī)與飛控系統(tǒng)的互聯(lián)。通過(guò)對(duì)試飛過(guò)程的跟蹤觀察,和無(wú)人機(jī)在飛行過(guò)程中對(duì)障礙物的感知和躲避的分析確認(rèn),能夠?qū)崿F(xiàn)有效躲避障礙物,提高了無(wú)人機(jī)巡檢的安全性,推廣使用將充分發(fā)揮避障系統(tǒng)的實(shí)時(shí)性、可靠性、易用性和可擴(kuò)展性。