陶雄俊,阮 峻,王安軍
(中國南方電網(wǎng)有限責任公司 超高壓輸電公司 昆明局,昆明 650217)
無人機高空巡檢是確保電力輸電線路安全穩(wěn)定的有效方式[1],它在輸配電線路災害分析、故障預警預報告和電力資源調(diào)配等方面發(fā)揮著重要優(yōu)勢,提高了對電力巡檢工作的效率.自主導航[2,3]是無人機巡檢研究的重點內(nèi)容,其核心問題是從預設(shè)位置點到停留點的一個運動路徑,采取特定的控制策略調(diào)整無人機的行為,使其移動位置逐步逼近最佳期望位置值,實現(xiàn)在每個線段上的自主導航功能.針對路徑導航控制問題,國內(nèi)外專家學者提出了不同的觀點和方法,主要分為基于視覺圖像[4,5]的控制方法和基于信息交互的[6,7]控制方法.其中,信息交互的控制方法是對外界環(huán)境進行信息建模,實現(xiàn)交互感知的過程,可以構(gòu)建精準的環(huán)境模型,解決高空復雜環(huán)境不確定信息和外界因素的干擾.
隨著智能信息交互技術(shù)的迅速發(fā)展,通過自然語言實現(xiàn)遠程人機交互成為了救災救援、事故快速處理、任務出行的應用熱點[8].類似人與人之間的語言交流,它的基礎(chǔ)是一個相互理解的過程,操作人員發(fā)出自然語言的指令,機器載體接收指令完成相應的動作或任務.文獻[9]提出將自然語言用于機器載體的導航,但更多采用編程語言處理特定的人機交互,沒有涉及到對環(huán)境的知識建模,使機器載體不能夠很好地感知周邊環(huán)境并對導航做出實時調(diào)整;文獻[10]研究了基于自然語言的物體空間關(guān)系,運用空間角色標注方法為路徑的導航提供了語義知識標注;而文獻[11]通過對復雜的語義地圖進行探索,實現(xiàn)層級式的空間表達模型和自然語言處理方法,并以基于描述邏輯的本體語言的形式儲存,但針對輸電線路上的巡檢需要從三維空間角度構(gòu)建電力系統(tǒng)實體,進而更有效地提供導航服務.
綜合以上所述,由于語義交互方法大都應用與地面機器人的導航[12,13],較少涉及無人機的應用,因此本文引入語義知識的概念,以構(gòu)建輸電線路人機交互的語義拓撲關(guān)系為基礎(chǔ),目的是為無人機應用于電力巡檢過程的自然語言交互方式,將環(huán)境信息作為先驗知識和推理的基礎(chǔ),服務于無人機電力巡檢的導航控制.
語義交互導航框架分為感知運動數(shù)據(jù)處理層和人機交互層.如圖1所示,它是整個系統(tǒng)的底層框架.

圖1 語義交互導航框架圖
感知運動數(shù)據(jù)處理層用于對無人機的感知數(shù)據(jù)進行處理的過程,包括數(shù)據(jù)存儲器、領(lǐng)域知識庫和自然語言文本,領(lǐng)域知識庫將當前無人機感知的信息實體通過自然語言文本在線構(gòu)建為拓撲網(wǎng)絡關(guān)系,用邏輯形式化描述具體的概念、實例和關(guān)系,并生成自然語言理解的解析器,存儲于無人機的數(shù)據(jù)存儲器中;人機交互層,包括導航控制和巡檢監(jiān)視服務器,用于將數(shù)據(jù)存儲器的知識信息導入到巡檢監(jiān)視系統(tǒng)服務器,巡檢服務器將自然語言的解析接口進行算法控制,從而實現(xiàn)人機的語義交互控制.
本文的研究目的是對無人機基于自然語言的巡檢導航,控制的巡檢無人機在處于高空環(huán)境,導航用語中有大量的輸配電線路上的知識概念,將這些知識層次的概念描述為一個領(lǐng)域知識庫[14]SemTrans,根據(jù)其定義由實體對象信息和環(huán)境信息構(gòu)成,并表示為:無人機在未知環(huán)境中發(fā)生位置和姿態(tài)變化,構(gòu)建增量式的語義拓撲關(guān)系,同時在變化過程中,根據(jù)傳感器數(shù)據(jù)估計自身所在位置,從而實現(xiàn)無人機電力巡檢的導航.巡檢過程由兩部分組成:(1)定位:無人機需要找到自身在環(huán)境中的位置;(2)建圖:無人機需要對所處環(huán)境進行特征描述,并分析周邊環(huán)境信息,而環(huán)境信息來源于層次概念定義,如圖2所示,在Protégé[15]平臺中,首先考慮描述巡檢空間內(nèi)的最小單位,即區(qū)域和節(jié)點.以桿塔為一個區(qū)域單位將巡檢系統(tǒng)劃分為n個區(qū)域,每個區(qū)域內(nèi)設(shè)有實體對象,實體對象包括閘閥、絕緣子、輸配線路等;周邊環(huán)境信息包括樹障、地形、斷面、風偏、電磁等;節(jié)點為區(qū)域與區(qū)域之間的連接點,最小單元可按不同的視角歸屬為不同的類,形成輸電線路上的領(lǐng)域知識本體模型.

圖2 輸電線路領(lǐng)域知識庫模型SemTrans
為將無人機所感覺數(shù)據(jù)處理映射為計算機可理解的語義符號,根據(jù)姿態(tài)位置變化使用激光掃描儀形成帶標簽的位置,采用RGB 視覺識別和動力學原理確定自身位置是否監(jiān)視到故障或異常事件.
從連續(xù)的感知數(shù)據(jù)到離散符號的映射,數(shù)據(jù)由謂詞邏輯程序Prolog 語言完成,每個狀態(tài)謂詞都是在自身的謂詞邏輯模塊中定義,并通過數(shù)據(jù)存儲器計算輸出.例如:由無人機飛行檢測到故障事件的位置At,相應的實體對象為Object,Leftdirection 和Rightdirection表示Object 在UAV_At 位置上的水平方向.謂詞邏輯程序通過訪問其它組件來評估位置狀態(tài),如Object_At謂詞邏輯程序使用檢測到的對象與位置標簽的中心坐標之間的距離來確定是否應將對象視為當前位于此位置.在操作執(zhí)行期間,僅跟蹤完成特定任務所需的對象,在符號級別上操作的更高級別組件生成在特定位置識別特定對象的請求.事實上,Object_At(object,location)描述為巡檢對象位置,UAV_At(UAV,location)描述為無人機停留位置,而inspection(object,inspect,UAV)描述為無人機對巡檢對象的監(jiān)視.
無人機巡檢的領(lǐng)域知識構(gòu)建離不開精準定位,精準定位依賴于領(lǐng)域知識.在領(lǐng)域知識SemTrans 中,采用Prolog 語言進行相關(guān)知識的描述并生成拓撲關(guān)系,對輸電線路中每一個實體單元進行定義,每個實體單元包含名稱和坐標兩個基本內(nèi)容.根據(jù)Prolog 語言規(guī)則,所有設(shè)計的程序均在SWI 中調(diào)試通過.
例如一個被劃分的區(qū)域?qū)嶓w描述為:
area(P128,[coordinate(255 810,470 512,21 900),coordinate (260 922,484 491,21 900),coordinate(261 958,495 512,21 900),coordinate(262 960,506 526,21 900),coordinate (263 966,524 548,21 900),coordinate (263 129,516 487,21 900)])
由區(qū)域描述可知,6 個坐標位置序列點構(gòu)成了一個多邊形實體區(qū)域,實體單元描述為node(P128D1,coordinate(255 810,470 512,21 900)),表示為一個位置點的三維坐標.生成拓撲關(guān)系就是建立實體所在區(qū)域之間的連接關(guān)系,通過謂詞connect/4 可推理出直接連接的兩個區(qū)域Area1 和Area2.
connect(Area1,Area2,Node,Dis):-
in_area(Node,Area1),in_area(Node,Area2),
not(Area1==Area2),
area_distance(Area1,Area2,Node,Dis)
參數(shù)node 為連接兩個區(qū)域的節(jié)點,Dis 為區(qū)域之間的歐式距離,以上代碼片段的描述邏輯表示為:“如果節(jié)點Node 既在區(qū)域 Area1 內(nèi),又在區(qū)域Area2 內(nèi),則Area1 和Area2 通過node 直接相連.
有了上述的謂詞后,由SemTrans 的實體單元庫生成一個擴展實體單元庫SemTrans_expend.pl,并通過流寫入SemTrans 中成為SemTrans 中的一部分.
open(' SemTrans _expend.pl',write,Out),
findall(connect(Area1,Area2,node,dis),(connect(Area1,Area2,node,dis)),SemTrans),
writeSemTrans(SemTrans,Out),
close(Out).
writeSemTrans ([],Out).%
writeSemTrans ([X|Rest],Out):-
write(Out,X),write(Out,.),nl(Out).
擴展單元庫SemTrans_expend 描述了當前巡檢無人機感知的所有區(qū)域之間的連接關(guān)系,將這種新的實時關(guān)系更新到領(lǐng)域知識庫SemTrans 中,生成關(guān)于當前巡檢區(qū)域的語義地圖數(shù)據(jù).
在生成拓撲關(guān)系后,可通過基本規(guī)則描述該概念下的實例.在電力巡檢無人機中,實例相當于每次巡檢過程生成的案例,案例包含了巡檢的具體數(shù)據(jù),如絕緣子、閘閥、高壓輸電線、桿塔等電力設(shè)備的參數(shù)、標準和性能.這里給出通過當前區(qū)域和位置坐標推理輸電線路與桿塔之間的過程.根據(jù)區(qū)域信息推理:若無人機從人機交互中獲得桿塔所在區(qū)域的名稱,則根據(jù)桿塔及其命名規(guī)則推理出輸電線路、閘閥或者絕緣子的相應信息.
一個未知環(huán)境中命名的實體EntityName 屬于某一桿塔的基本規(guī)則可描述為:
Tower_by_EntityName(EntityName,Tower):-
(node(EntityName,_),!;Area(EntityName,_)),
sub_atom(EntityName,0,1,_,First),
Tower=First.
一個未知環(huán)境中命名的實體EntityName 屬于某一輸電線路的基本規(guī)則可描述為:
TrLine_by_EntityName(EntityName,TrLine):-
(node(EntityName,_),!;Area(EntityName,_)),
sub_atom(EntityName,0,1,_,Second),
TrLine=Second.
上述中First 和Second 分別為取出EntityName 的第一個字母和第二個字母用以表示.
導航路徑生成流程如圖3所示,文本或語音輸入由語義解析器進行處理,解析器輸出為文本的邏輯形式,該形式與無人機存儲內(nèi)存中觀測結(jié)果以及詞匯和語義拓撲關(guān)系一起構(gòu)成了擴展推理引擎的輸入,該引擎作為實體導入槽映射至領(lǐng)域知識,以生成成導航路徑.

圖3 導航路徑生成流程
邏輯形式[16](Logic Form,LF)是命題和變量不等式的結(jié)合,它們具有表示短語成分之間關(guān)系的參數(shù)鏈接,例如LF 對應的命令:“檢測桿塔編號為ZS001 的絕緣子InsulatorB 片段”,則該過程需要將無人機的位置從預定位置點飛行至InsulatorB 片段上,用一階邏輯形式表示為:x1,x2,x3(inspect-v(A1,x1,x2,x3),UAV(x2)InsulatorB-n(x3) from objects.Telep-ole(A1,x1).其中xi表示objects.Telepole(桿塔對象),UAV,InsulatorB-n(絕緣子片段),A1表示檢測x1中x2到x3的動作事件.
給定背景知識庫SemTrans,觀測數(shù)據(jù)O,假設(shè)有H∪SemTrans|=O,H∪SemTrans|≠⊥,其中SemTrans、O、H 為一階邏輯公式.自然語言的邏輯形式表示了觀測結(jié)果,需要用背景知識來解釋,推理器將邏輯形式和背景知識相互連接.背景知識庫B 用一階邏輯形式化表示為:

式中,和Qi為謂詞參數(shù),wi為公理權(quán)重.這些邏輯形式化表示路徑導航提供規(guī)范的知識背景.
本文借鑒文獻[17]中路徑描述原理,但在自然語言結(jié)構(gòu)中不能規(guī)定具體輸入語句的結(jié)構(gòu),因此需要重新定義路徑結(jié)構(gòu).設(shè)L=f(N)為路徑自然語言N所對應的路徑為L,由于實體歧義和語義模糊性問題,考慮電力巡檢無人機對輸電線路涉及的路徑為一對一的關(guān)系,則N和L為一對一的關(guān)系,N的結(jié)構(gòu)定義為:
N可分為若干路徑單元N={ni},ni={ri,fi}.其中,ri表示路徑的方向和距離,為路徑的單元向量.fi={lfi,di,lbi} 表示路徑的其它導航信息,l fi為開始位置前向路標,lbi為 終點位置后向路標,di為第i個路徑單元方向的單位向量,li為該徑單元的距離.如果包含路徑單元路徑,則無人機以此為參照進行導航且每個路徑只表示一個運動方向.
語義信息提取的目的是將巡檢知識本體模型中的有效信息組成一系列的路徑單元.將當前環(huán)境與巡檢語料庫中的模型進行匹配,先獲得巡檢語料知識庫中的名稱實體,用Prolog 的處理方法確定該實體所在的桿塔和線路,然后導入擴充實體實例Instance 槽中.考慮無人機飛行過程中對實體識別的名稱、距離、方向、轉(zhuǎn)角等信息,在導入實體實例槽過程中,主要依靠詞性來確定哪些詞導入哪些實例槽.相關(guān)實例槽包括前向路標(路徑結(jié)構(gòu)定義的路標)、后向路標(路徑結(jié)構(gòu)定義的路標)、方向(無人機關(guān)于方向的詞,如左右、南北等)、動作(無人機自身的姿態(tài)變化,如轉(zhuǎn)彎、斜行等)、參數(shù)(相關(guān)距離、彎角度)、副詞(無人機動作的幅度或者屬性)等.
對于每一個路徑單元ri=di×li,該部分工作是從經(jīng)過實體槽導入操作獲得的各個依次排列實體中獲取單元路徑.在提取過程中,將默認的單位距離表示為1,初始方向為前進,則初始路徑向量為r0=(0,1).根據(jù)路徑結(jié)構(gòu)定義,在當前路徑下定義一個用于保存前一個路徑向量的路徑指標rfi,將一階邏輯命令的語言組塊輸入為C=∪cj=1,2,···,n,在生成路徑單元時,順序讀入各實體實例Instance 槽體,生成方法如算法1.

算法1.導航路徑生成算法1) 輸入一個命令語言組塊 ;Ci 2) 加載至背景知識SemTrans,邏輯形式化為;pw1 1 ∧pw22 ···∧pwn n→Q1∧Q2∧···∧Qm

3) 判斷當前位置節(jié)點是否為SemTran 中的實例,如果是則將當前實例中名詞作為路標,如果當前實例為概念名詞則,保存為,;ni ri=r fini lbitstylelbiri=r0 nir fi=ri 4) 判斷前一個實例是否為Instance 槽體,如果是則保存為,若為非且i>1,則,保存為 ;Pi 5) 判斷是否為 中最后一個命令,若是則該過程結(jié)束,若不是則繼續(xù)運行;Ciri=ri×l 6)若當前命令語言組塊 中包含距離,則di=1,,否則di=0;7)若i>1 且di-1=1,則ri=rfi+ri,以此通過rfi 和方位詞來確定當前路徑單元的方向向量,從而增量路徑線段.
結(jié)合項目研究實景決策內(nèi)容研發(fā)設(shè)計了原型系統(tǒng)(Semantic Interaction of UVA Navigation For Transmission Line Inspection System,SIUNS),在輸電線路巡檢中初步試驗仿真,其圖形界面如圖4所示.數(shù)據(jù)源于本地山區(qū)線路數(shù)字地圖,通過Protégé中OWL SPARQL查詢語言返回所有結(jié)果;采用小型四旋翼無人機飛行于控制高度范圍內(nèi),原型系統(tǒng)實驗下環(huán)境下加載氣象和樹障因素,其功能包括樹障分析、地形斷面分析、風偏校驗、系統(tǒng)狀態(tài)分析等功能模塊.

圖4 巡檢導航語義交互原型系統(tǒng)
由于圖4可知,設(shè)定目標巡檢范圍,通過任務的形式,實時檢測當前輸電線路上的實體,首先觸發(fā)語義拓撲關(guān)系(領(lǐng)域知識本體),通過實體實例擴充和邏輯形式表示,然后提取語義信息生成導航路徑,為巡檢無人機提供了豐富的可視化服務.
為使輸電線路知識概念訓練語義達到最大化,實驗中采用交叉驗證方法對知識庫的實體名詞進行訓練,將300 余組語言樣本作為測試樣本,當前無人機感知數(shù)據(jù)集為訓練樣本,統(tǒng)計了各實驗的正確性(P)、召回率(R)和F值的區(qū)間分布.

式中,Nb表示正確標注的概念個數(shù),Nt表示標注概念的總個數(shù),Nz表示正確概念的總個數(shù),β=1,計算層次概念的正確性(P)、召回率(R)和F值的區(qū)間分布.
由圖5可知,大部分實驗準確率都在95%至100%,說明在路徑導航中.召回率與F值則在更小的區(qū)域分布較多,說明還有較多的實體概念沒有被識別出來,這是由于在飛行過程中由于航線較長,存在重復概念的提取現(xiàn)象,但準確率較高,對導航起到了有效作用.

圖5 概念提取實驗結(jié)果分布
采用PPK[18]的定位導航方式進一步說明本文方法控制精度的可行性,由圖6可知,通過與激光三維點云的方法[19]進行比較.

圖6 基于PPK 導航定位的精度控制比較
在500 公里范圍內(nèi)隨著公里數(shù)和時間的增加,本文所提方法在導航路徑的位置節(jié)點測量處理后,精度控制在2.55±0.05 mm 范圍內(nèi),這些性能得益于通過構(gòu)建輸電線路語義拓撲關(guān)系模型,為每個路徑加載了實體槽用于導入巡檢發(fā)現(xiàn)的路徑,推理形成了路徑方向向量和距離,從而提高了控制的精度.而激光三維點云的方法精度控制雖然比本文方法低,但在40 公里后陷入跳躍狀態(tài),在無參數(shù)控制情況下容易陷入不穩(wěn)定狀態(tài),影響全局的精準度.
本文提出了一種輸電線路巡檢無人機導航的語義交互方式,以輸電線路電力巡檢領(lǐng)域為知識背景,構(gòu)建人機交互的語義拓撲關(guān)系,形成具有感知運動數(shù)據(jù)處理的導航框架,構(gòu)建基于謂詞邏輯的形式化背景知識用于生成結(jié)構(gòu)化的導航路徑;通過研發(fā)原型系統(tǒng)和實驗分析證明本文所提方法的有效性.但隨著數(shù)據(jù)規(guī)模的增大,本文方法的語義拓撲關(guān)系由于實體規(guī)模較小,路徑生成算法上較難支撐海量信息,下一步將結(jié)合激光點云的方法開展大規(guī)模的數(shù)據(jù)應用,擴展改進語義拓撲結(jié)構(gòu)概念,提高對數(shù)據(jù)驅(qū)動的支持性.