输电线路巡检无人机导航的语义交互方法①

2020-09-22 07:45陶雄俊王安军
计算机系统应用 2020年9期
关键词:知识库杆塔实例

陶雄俊,阮 峻,王安军

(中国南方电网有限责任公司 超高压输电公司 昆明局,昆明 650217)

无人机高空巡检是确保电力输电线路安全稳定的有效方式[1],它在输配电线路灾害分析、故障预警预报告和电力资源调配等方面发挥着重要优势,提高了对电力巡检工作的效率.自主导航[2,3]是无人机巡检研究的重点内容,其核心问题是从预设位置点到停留点的一个运动路径,采取特定的控制策略调整无人机的行为,使其移动位置逐步逼近最佳期望位置值,实现在每个线段上的自主导航功能.针对路径导航控制问题,国内外专家学者提出了不同的观点和方法,主要分为基于视觉图像[4,5]的控制方法和基于信息交互的[6,7]控制方法.其中,信息交互的控制方法是对外界环境进行信息建模,实现交互感知的过程,可以构建精准的环境模型,解决高空复杂环境不确定信息和外界因素的干扰.

随着智能信息交互技术的迅速发展,通过自然语言实现远程人机交互成为了救灾救援、事故快速处理、任务出行的应用热点[8].类似人与人之间的语言交流,它的基础是一个相互理解的过程,操作人员发出自然语言的指令,机器载体接收指令完成相应的动作或任务.文献[9]提出将自然语言用于机器载体的导航,但更多采用编程语言处理特定的人机交互,没有涉及到对环境的知识建模,使机器载体不能够很好地感知周边环境并对导航做出实时调整;文献[10]研究了基于自然语言的物体空间关系,运用空间角色标注方法为路径的导航提供了语义知识标注;而文献[11]通过对复杂的语义地图进行探索,实现层级式的空间表达模型和自然语言处理方法,并以基于描述逻辑的本体语言的形式储存,但针对输电线路上的巡检需要从三维空间角度构建电力系统实体,进而更有效地提供导航服务.

综合以上所述,由于语义交互方法大都应用与地面机器人的导航[12,13],较少涉及无人机的应用,因此本文引入语义知识的概念,以构建输电线路人机交互的语义拓扑关系为基础,目的是为无人机应用于电力巡检过程的自然语言交互方式,将环境信息作为先验知识和推理的基础,服务于无人机电力巡检的导航控制.

1 系统架构

1.1 框架模型

语义交互导航框架分为感知运动数据处理层和人机交互层.如图1所示,它是整个系统的底层框架.

图1 语义交互导航框架图

感知运动数据处理层用于对无人机的感知数据进行处理的过程,包括数据存储器、领域知识库和自然语言文本,领域知识库将当前无人机感知的信息实体通过自然语言文本在线构建为拓扑网络关系,用逻辑形式化描述具体的概念、实例和关系,并生成自然语言理解的解析器,存储于无人机的数据存储器中;人机交互层,包括导航控制和巡检监视服务器,用于将数据存储器的知识信息导入到巡检监视系统服务器,巡检服务器将自然语言的解析接口进行算法控制,从而实现人机的语义交互控制.

1.2 领域知识库构建

本文的研究目的是对无人机基于自然语言的巡检导航,控制的巡检无人机在处于高空环境,导航用语中有大量的输配电线路上的知识概念,将这些知识层次的概念描述为一个领域知识库[14]SemTrans,根据其定义由实体对象信息和环境信息构成,并表示为:无人机在未知环境中发生位置和姿态变化,构建增量式的语义拓扑关系,同时在变化过程中,根据传感器数据估计自身所在位置,从而实现无人机电力巡检的导航.巡检过程由两部分组成:(1)定位:无人机需要找到自身在环境中的位置;(2)建图:无人机需要对所处环境进行特征描述,并分析周边环境信息,而环境信息来源于层次概念定义,如图2所示,在Protégé[15]平台中,首先考虑描述巡检空间内的最小单位,即区域和节点.以杆塔为一个区域单位将巡检系统划分为n个区域,每个区域内设有实体对象,实体对象包括闸阀、绝缘子、输配线路等;周边环境信息包括树障、地形、断面、风偏、电磁等;节点为区域与区域之间的连接点,最小单元可按不同的视角归属为不同的类,形成输电线路上的领域知识本体模型.

图2 输电线路领域知识库模型SemTrans

2 语义拓扑关系

2.1 感知数据映射

为将无人机所感觉数据处理映射为计算机可理解的语义符号,根据姿态位置变化使用激光扫描仪形成带标签的位置,采用RGB 视觉识别和动力学原理确定自身位置是否监视到故障或异常事件.

从连续的感知数据到离散符号的映射,数据由谓词逻辑程序Prolog 语言完成,每个状态谓词都是在自身的谓词逻辑模块中定义,并通过数据存储器计算输出.例如:由无人机飞行检测到故障事件的位置At,相应的实体对象为Object,Leftdirection 和Rightdirection表示Object 在UAV_At 位置上的水平方向.谓词逻辑程序通过访问其它组件来评估位置状态,如Object_At谓词逻辑程序使用检测到的对象与位置标签的中心坐标之间的距离来确定是否应将对象视为当前位于此位置.在操作执行期间,仅跟踪完成特定任务所需的对象,在符号级别上操作的更高级别组件生成在特定位置识别特定对象的请求.事实上,Object_At(object,location)描述为巡检对象位置,UAV_At(UAV,location)描述为无人机停留位置,而inspection(object,inspect,UAV)描述为无人机对巡检对象的监视.

2.2 生成拓扑关系

无人机巡检的领域知识构建离不开精准定位,精准定位依赖于领域知识.在领域知识SemTrans 中,采用Prolog 语言进行相关知识的描述并生成拓扑关系,对输电线路中每一个实体单元进行定义,每个实体单元包含名称和坐标两个基本内容.根据Prolog 语言规则,所有设计的程序均在SWI 中调试通过.

例如一个被划分的区域实体描述为:

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)])

由区域描述可知,6 个坐标位置序列点构成了一个多边形实体区域,实体单元描述为node(P128D1,coordinate(255 810,470 512,21 900)),表示为一个位置点的三维坐标.生成拓扑关系就是建立实体所在区域之间的连接关系,通过谓词connect/4 可推理出直接连接的两个区域Area1 和Area2.

connect(Area1,Area2,Node,Dis):-

in_area(Node,Area1),in_area(Node,Area2),

not(Area1==Area2),

area_distance(Area1,Area2,Node,Dis)

参数node 为连接两个区域的节点,Dis 为区域之间的欧式距离,以上代码片段的描述逻辑表示为:“如果节点Node 既在区域 Area1 内,又在区域Area2 内,则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 描述了当前巡检无人机感知的所有区域之间的连接关系,将这种新的实时关系更新到领域知识库SemTrans 中,生成关于当前巡检区域的语义地图数据.

2.3 实体实例扩充

在生成拓扑关系后,可通过基本规则描述该概念下的实例.在电力巡检无人机中,实例相当于每次巡检过程生成的案例,案例包含了巡检的具体数据,如绝缘子、闸阀、高压输电线、杆塔等电力设备的参数、标准和性能.这里给出通过当前区域和位置坐标推理输电线路与杆塔之间的过程.根据区域信息推理:若无人机从人机交互中获得杆塔所在区域的名称,则根据杆塔及其命名规则推理出输电线路、闸阀或者绝缘子的相应信息.

一个未知环境中命名的实体EntityName 属于某一杆塔的基本规则可描述为:

Tower_by_EntityName(EntityName,Tower):-

(node(EntityName,_),!;Area(EntityName,_)),

sub_atom(EntityName,0,1,_,First),

Tower=First.

一个未知环境中命名的实体EntityName 属于某一输电线路的基本规则可描述为:

TrLine_by_EntityName(EntityName,TrLine):-

(node(EntityName,_),!;Area(EntityName,_)),

sub_atom(EntityName,0,1,_,Second),

TrLine=Second.

上述中First 和Second 分别为取出EntityName 的第一个字母和第二个字母用以表示.

3 导航路径生成

导航路径生成流程如图3所示,文本或语音输入由语义解析器进行处理,解析器输出为文本的逻辑形式,该形式与无人机存储内存中观测结果以及词汇和语义拓扑关系一起构成了扩展推理引擎的输入,该引擎作为实体导入槽映射至领域知识,以生成成导航路径.

图3 导航路径生成流程

3.1 逻辑形式化

逻辑形式[16](Logic Form,LF)是命题和变量不等式的结合,它们具有表示短语成分之间关系的参数链接,例如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,观测数据O,假设有H∪SemTrans|=O,H∪SemTrans|≠⊥,其中SemTrans、O、H 为一阶逻辑公式.自然语言的逻辑形式表示了观测结果,需要用背景知识来解释,推理器将逻辑形式和背景知识相互连接.背景知识库B 用一阶逻辑形式化表示为:

式中,和Qi为谓词参数,wi为公理权重.这些逻辑形式化表示路径导航提供规范的知识背景.

3.2 路径结构化

本文借鉴文献[17]中路径描述原理,但在自然语言结构中不能规定具体输入语句的结构,因此需要重新定义路径结构.设L=f(N)为路径自然语言N所对应的路径为L,由于实体歧义和语义模糊性问题,考虑电力巡检无人机对输电线路涉及的路径为一对一的关系,则N和L为一对一的关系,N的结构定义为:

N可分为若干路径单元N={ni},ni={ri,fi}.其中,ri表示路径的方向和距离,为路径的单元向量.fi={lfi,di,lbi} 表示路径的其它导航信息,l fi为开始位置前向路标,lbi为 终点位置后向路标,di为第i个路径单元方向的单位向量,li为该径单元的距离.如果包含路径单元路径,则无人机以此为参照进行导航且每个路径只表示一个运动方向.

3.3 语义信息提取

语义信息提取的目的是将巡检知识本体模型中的有效信息组成一系列的路径单元.将当前环境与巡检语料库中的模型进行匹配,先获得巡检语料知识库中的名称实体,用Prolog 的处理方法确定该实体所在的杆塔和线路,然后导入扩充实体实例Instance 槽中.考虑无人机飞行过程中对实体识别的名称、距离、方向、转角等信息,在导入实体实例槽过程中,主要依靠词性来确定哪些词导入哪些实例槽.相关实例槽包括前向路标(路径结构定义的路标)、后向路标(路径结构定义的路标)、方向(无人机关于方向的词,如左右、南北等)、动作(无人机自身的姿态变化,如转弯、斜行等)、参数(相关距离、弯角度)、副词(无人机动作的幅度或者属性)等.

3.4 路径生成

对于每一个路径单元ri=di×li,该部分工作是从经过实体槽导入操作获得的各个依次排列实体中获取单元路径.在提取过程中,将默认的单位距离表示为1,初始方向为前进,则初始路径向量为r0=(0,1).根据路径结构定义,在当前路径下定义一个用于保存前一个路径向量的路径指标rfi,将一阶逻辑命令的语言组块输入为C=∪cj=1,2,···,n,在生成路径单元时,顺序读入各实体实例Instance 槽体,生成方法如算法1.

算法1.导航路径生成算法1) 输入一个命令语言组块 ;Ci 2) 加载至背景知识SemTrans,逻辑形式化为;pw1 1 ∧pw22 ···∧pwn n→Q1∧Q2∧···∧Qm

3) 判断当前位置节点是否为SemTran 中的实例,如果是则将当前实例中名词作为路标,如果当前实例为概念名词则,保存为,;ni ri=r fini lbitstylelbiri=r0 nir fi=ri 4) 判断前一个实例是否为Instance 槽体,如果是则保存为,若为非且i>1,则,保存为 ;Pi 5) 判断是否为 中最后一个命令,若是则该过程结束,若不是则继续运行;Ciri=ri×l 6)若当前命令语言组块 中包含距离,则di=1,,否则di=0;7)若i>1 且di-1=1,则ri=rfi+ri,以此通过rfi 和方位词来确定当前路径单元的方向向量,从而增量路径线段.

4 实例验证与分析

4.1 系统模型

结合项目研究实景决策内容研发设计了原型系统(Semantic Interaction of UVA Navigation For Transmission Line Inspection System,SIUNS),在输电线路巡检中初步试验仿真,其图形界面如图4所示.数据源于本地山区线路数字地图,通过Protégé中OWL SPARQL查询语言返回所有结果;采用小型四旋翼无人机飞行于控制高度范围内,原型系统实验下环境下加载气象和树障因素,其功能包括树障分析、地形断面分析、风偏校验、系统状态分析等功能模块.

图4 巡检导航语义交互原型系统

由于图4可知,设定目标巡检范围,通过任务的形式,实时检测当前输电线路上的实体,首先触发语义拓扑关系(领域知识本体),通过实体实例扩充和逻辑形式表示,然后提取语义信息生成导航路径,为巡检无人机提供了丰富的可视化服务.

4.2 实体名词提取

为使输电线路知识概念训练语义达到最大化,实验中采用交叉验证方法对知识库的实体名词进行训练,将300 余组语言样本作为测试样本,当前无人机感知数据集为训练样本,统计了各实验的正确性(P)、召回率(R)和F值的区间分布.

式中,Nb表示正确标注的概念个数,Nt表示标注概念的总个数,Nz表示正确概念的总个数,β=1,计算层次概念的正确性(P)、召回率(R)和F值的区间分布.

由图5可知,大部分实验准确率都在95%至100%,说明在路径导航中.召回率与F值则在更小的区域分布较多,说明还有较多的实体概念没有被识别出来,这是由于在飞行过程中由于航线较长,存在重复概念的提取现象,但准确率较高,对导航起到了有效作用.

图5 概念提取实验结果分布

4.3 精准度测量

采用PPK[18]的定位导航方式进一步说明本文方法控制精度的可行性,由图6可知,通过与激光三维点云的方法[19]进行比较.

图6 基于PPK 导航定位的精度控制比较

在500 公里范围内随着公里数和时间的增加,本文所提方法在导航路径的位置节点测量处理后,精度控制在2.55±0.05 mm 范围内,这些性能得益于通过构建输电线路语义拓扑关系模型,为每个路径加载了实体槽用于导入巡检发现的路径,推理形成了路径方向向量和距离,从而提高了控制的精度.而激光三维点云的方法精度控制虽然比本文方法低,但在40 公里后陷入跳跃状态,在无参数控制情况下容易陷入不稳定状态,影响全局的精准度.

5 结论与展望

本文提出了一种输电线路巡检无人机导航的语义交互方式,以输电线路电力巡检领域为知识背景,构建人机交互的语义拓扑关系,形成具有感知运动数据处理的导航框架,构建基于谓词逻辑的形式化背景知识用于生成结构化的导航路径;通过研发原型系统和实验分析证明本文所提方法的有效性.但随着数据规模的增大,本文方法的语义拓扑关系由于实体规模较小,路径生成算法上较难支撑海量信息,下一步将结合激光点云的方法开展大规模的数据应用,扩展改进语义拓扑结构概念,提高对数据驱动的支持性.

猜你喜欢
知识库杆塔实例
基于北斗的高压输电杆塔智能实时监测技术与应用
汉语近义词辨析知识库构建研究
广东阳江地区500kV典型同塔双回杆塔防雷影响因素研究
220 kV输电线路杆塔设计及材料选择分析
完形填空Ⅱ
完形填空Ⅰ
我国联合虚拟参考咨询系统知识库现状研究*
——基于与QuestionPoint的对比
位置与方向测试题