一种应用于变电站的矢量电子地图创建方法与流程

文档序号:12726118阅读:494来源:国知局
一种应用于变电站的矢量电子地图创建方法与流程

本发明属于地图创建技术领域,特别涉及一种应用于变电站的矢量电子地图创建方法。



背景技术:

电力安全是电力行业,关系到各行各业的一个重要问题,保证电力安全是电力行业的一个重要课题,变电站的安全就成了电力安全的重中之重。目前,变电站向着无人值守的方向发展,新一代的变电站采用智能设备,可以远程得到变电站的数据,遥控变电站的设备。但是,有更多的变电站是上一个世纪建设,变电站内设备陈旧,不具备新型设备的功能。倘若将这些变电站全部更换成新设备,更换设备成本大,施工难度大,施工窗口期短,影响正常生产生活用电等问题。

目前这些变电站在我国占了大多数,巡检不得不采用手持设备,工作人员去变电站进行拍照采集数据。变电站设别种类繁多,数量庞大,通常一个变电站有几千个数据采集点,人力投入成本相当高。下雨等恶劣天气还会对工作人员的安全造成一定的威胁。因此,在这种大环境下,采用智能巡检机器人代替人工巡检成为一个可行的方案。在不改变变电站设备,不影响变电站正常运行的前提下,通过巡检机器人及携带的设备获取变电站的运行状态,实现变电站的信息自动采集,自动控制等功能。变电站智能巡检机器人的总体设计包含机器人及携带设备等硬件系统、本地后台的软硬件系统以及远程集控后台的软硬件系统。现有变电站智能巡检机器人所使用的变电站电子地图采用位图形式,会失真,消耗计算机资源也多。



技术实现要素:

本发明的目的是为了提供一种能够实时稳定的显示机器人的位置、巡检路线、任务进度、发布任务等功能的应用于变电站的矢量电子地图创建方法。

为此,本发明的技术方案是:一种应用于变电站的矢量电子地图创建方法,适用于WPF 图形系统上,包括以下步骤:

1)机器人利用激光扫描变电站,创建导航地图;

2)按照所建立的导航地图画出相应的矢量电子地图;所述激光扫描得到的导航地图以位图的形式表现出来,导航地图与矢量电子地图之间的坐标具有旋转、平移、放缩的关系,坐标变换的公式为:

其中是矢量电子地图的坐标,是导航地图中的坐标,通过多组和的数值求出参数、、a和b的值,并带入公式,得到坐标转换公式;将激光扫描接收到的坐标带入公式中的,求出的即为电子地图中的像素坐标;

3)将矢量电子地图转化成相应的xaml格式的文件;

4) 在WPF图形系统中创建Canvas画布作为一个容器,读取xaml格式的文件作为一个对象,将矢量电子地图对象放在Canvas画布中;

5)读取导航地图路径信息,将线、点作为对象放在Canvas画布中相应的位置;

6)发布任务后,根据任务中的巡检点规划巡检路线,然后将相应的线、点对象放在Canvas中相应的位置;所述规划的巡检路线变为红色;

7)巡检过程中,机器人按照步骤6)中规划的路线进行巡检,在机器人走过后,走过的巡检路线变成灰色;

8)巡检结束后,变色后的巡检路线恢复为步骤6)之前未规划巡检路线时的状态。

进一步地,所述步骤2)中导航地图转变为相应的矢量电子地图,坐标变换包括以下步骤:

a1) 在变电站中找5个距离相对较远并且不在一条线上的点;

a2) 控制机器人行走到这5个点的位置,机器人通过激光扫描获得这5个点相对于导航地图的坐标;

a3) 在矢量电子地图中找到这5个点的位置,并记录5个点相应的像素坐标,即矢量电子地图上的坐标;

a4) 将步骤a2)中的相应导航地图的坐标与步骤a3)中相应的像素坐标两两分为一组,将得到的5组数据任意3组数据带入坐标变换的公式:

将步骤a3)中得到的像素坐标代入,步骤a2)中得到的导航地图中的坐标代入,求出多组参数、、a和b的值;

a5)将步骤a4)中得到的多组参数、、a和b的值求平均值,并带入公式,得到坐标转换公式;

a6) 最终将接激光扫描收到的导航地图上的坐标带入公式中的,求出矢量电子地图上的像素坐标。

进一步地,所述步骤7)中巡检过程的具体步骤为:

b1)首先判断当前巡检任务是否结束;若任务结束,跳转到步骤b7);若巡检任务没有结束,进入步骤b2);

b2) 判断到达的点是否为步骤6)中规划的路线上的巡检点;若是巡检点,则进入步骤b3);反之,进入步骤b4);

b3) 删除上一条巡检路线,矢量电子地图添加当前巡检点和上一个巡检点之间的路线,并设置路线颜色为灰色覆盖原来的规划路线;然后标记上一个点是巡检点,置当前点为空,进入到步骤b1);

b4) 判断上一个点是否是巡检点;若是巡检点,则进入步骤b5),反之进入步骤b6);

b5) 添加当前点和上一个点之间的路线,设置路线颜色为灰色,然后置上一个点为当前点,进入步骤b1);

b6) 删除上一个巡检路线,添加当前点和上一个点之间的路线,设置路线颜色为灰色,然后置上一个点为当前点,进入步骤b1);

b7) 删除巡检任务过程中所有的巡检路线和点,对矢量电子地图进行初始化。

本发明涉及的WPF图形系统,为Windows Presentation Foundation,是基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。矢量电子地图格式为SVG,SVG指可伸缩矢量图形 (Scalable Vector Graphics),用来定义用于网络的基于矢量的图形,SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失。

机器人建图是指机器人利用激光扫描变电站,激光遇到障碍物反射,激光扫描完了整个变电站激光能过到达的地方就是空白,激光到达不了的地方变成了灰色。以此表示灰色区域是有障碍物,其他地方什么都没有。这样就形成了一个导航地图。节点是指电子地图上的点,机器人导航是按照节点来进行的,机器人每次只能从一个节点到另一个节点(相邻)直线行走,变电站内设置很多这样的节点。路线是由节点与节点之间的线段连接形成的机器人行走的路线,路线规划就是在节点之间规划一个连通域,并使之最小;节点和路线与计算机科学中的术语“图”类似,采用的路线规划算法也与之一样。机器人到达某点是指当机器人在移动过程中,如果距离节点小于10cm,那么就认为机器人到达了该节点。电子地图包含在上位机中,上位机是指机器人后台系统,控制机器人的行为,提供人机交互界面,是使用者控制机器人的一个软件后台系统。采点是指机器人巡检之前,要在变电站获取巡检设备的位置,当机器人走到一个合适的位置读取某个设备最清晰时,保存下当前的位置,也就形成了一个节点。

矢量电子地图的作用是用户可以直观的看到机器人的位置,图中可直观的看到任务的进度以及可以发布任务。矢量电子地图的放大缩小不会导致失真,在视觉上效果更好;矢量电子地图文件很小,远小于一般的位图,软件加载速度更快,系统占用资源更小;在实现方法上,我们将电子地图、线、点等都看成对象,相对于传统的GDI画图,需要的资源更少,地图也更加美观,实现的功能也更加丰富。

附图说明

以下结合附图和本发明的实施方式来作进一步详细说明

图1、图2为本发明巡检路线变色的示意图;

图3为本发明巡检路线变色的流程框图。

具体实施方式

本实施例采用WPF 图形系统进行电子地图创建,具体包括以下步骤:

1)机器人利用激光扫描变电站,创建导航地图;机器人利用激光扫描变电站,激光遇到障碍物反射,激光扫描完了整个变电站激光能过到达的地方就是空白,激光到达不了的地方变成了灰色;以此表示灰色区域是有障碍物,其他地方什么都没有,这样就形成了一个导航地图。导航地图的范围是一个大于变电站范围的地图。

机器人经过建图后,将激光扫描的结果以位图的形式表现出来。其中,像素与真实的距离具有固定的比例,1像素代表了1cm。因此在一个变电站中,变电站的大小一定,那就可以得到一个固定大小的位图。在导航地图的基础上进行处理,将障碍物用灰色的点和块表示,变电站中的房子、变压器等用块表示,变电站中的电线杆用点表示。如果有变电站的实景参考,很容易就能够根据这些障碍物画出包含变电站内物体的详细的地图。

上位机需要显示的就是变电站的区域,将这个区域截取下来,根据截取下来的这部分画一个详细、漂亮的SVG矢量电子地图。由于SVG是xml表示的,与xaml及其相似,所以转化非常方便快速,通过SharpVectors即可做到,这样就可以将得到的矢量地图加载到内存中,并显示出来。

2)按照所建立的导航地图画出相应的SVG矢量电子地图;按照原图画出相应的SVG矢量电子地图,美工进行相应的美化处理,得到一个更加漂亮的底图,这个SVG矢量电子地图将作为我们地图的基础。这原图中可以得到地图中各个物体的位置,在图中画出。

制作矢量电子地图,上位机直接显示给用户。但是,我们目前的电子地图与原来导航的地图并不一样,仅仅是其中的一部分。因此,受到机器人上传的位置信息时,并不能按照一个像素等于1cm来直接转换。

存在两个问题:第一个问题:我们计算机显示器的坐标系是以显示器左上角为原点,向右为x轴正方向,向下为y轴正方向。而导航地图以左下角为原点,向右为x轴正方向,向上为y轴正方向。两个地图坐标系不匹配,因此要考虑坐标系的问题。第二个问题:我们的矢量电子地图仅仅是导航地图的一部分,导航地图的原点并不是矢量电子地图的原点,但是两者之间是有关系的,他们之间是坐标的旋转、平移、放缩的关系,坐标变换的公式为:

其中是SVG矢量电子地图的坐标,是导航地图中的坐标,这个公式对应着导航地图上的坐标到SVG矢量电子地图上的坐标的一个变化关系。导航地图像素与真实距离一一对应,导航地图像素又与电子地图中的像素一一对应,都存在一个固定的比例,真实的距离与电子地图之间也是按固定比例一一对应的。

在公式中,、是未知的,、是本地监控系统上传的导航坐标,通过这个公式计算可以得到电子地图中的坐标、。此时,需要将、a、、和参数计算出来。计算参数时,需要借助、和、,将机器人运动到变电站中的某个位置,获取导航坐标,在电子地图中找到与机器人实际位置对应的位置获得像素坐标。为了是获得的参数更加准确,在变电站中找到5组这样的点,5组点距离要尽量的远且不再一条直线上。得到5组点之后,将5组坐标随机三个点带入公式计算,多次带入最后求平均值作为参数。

将通过多组和的数值求出参数、、a和b的值,并带入公式,得到坐标转换公式;将激光扫描接收到的坐标带入公式中的,求出的即为电子地图中的像素坐标。

机器人每次扫描地图得到的导航地图不同,每个变电站也不相同,因此对于不同的变电站,都要重新计算参数。但是,对于一个变电站来说,建图之后,会将之保存下来,不需要再重新建图,所以一个变电站的变换关系是唯一的。

3)将SVG矢量电子地图转化成相应的xaml格式的文件;WPF并不支持xml的SVG地图,但是WPF的显示采用xaml设计,xaml与xml极其相似,因此将SVG转化成相应的xaml文件,这个文件是直接显示的矢量地图。

4) 在WPF图形系统中创建Canvas画布作为一个容器,读取xaml格式的文件作为一个对象,将SVG矢量地图对象放在Canvas画布中;

5)读取导航地图路径信息,将线、点作为对象放在Canvas画布中相应的位置;

6)发布任务后,根据任务中的巡检点规划巡检路线,然后将相应的线、点对象放在Canvas中相应的位置;所述规划的巡检路线变为红色;

7)巡检过程中,机器人按照步骤6)中规划的路线进行巡检,在机器人走过后,走过的巡检路线变成灰色;

8)巡检结束后,变色后的巡检路线恢复为步骤6)之前未规划巡检路线时的状态。

为了更好地对机器人的运动路径进行显示,步骤6)~8)显示的是电子地图中增加的设计,机器人走过的路线会变色。

如图1所示,图中节点A1、节点A2、节点A3以及他们之间的路线代表一次路径规划之后的结果,在地图中显示的节点A1和节点A2之间的路线L1,节点A2和节点A3之间的路线L2均为红色。机器人从某个时间到达节点A1,接下来要去节点A2。在从节点A1到节点A2的过程中,机器人走过要路线变色。当走到位置B1时,新建一个Line1对象,设置起始点为节点A1的位置,终点为位置B1,然后将line1对象放置在地图中(其实是放在canvas中,地图也是放在canvas中,只不过路线和点的显示在地图上层),并将显示的界别设置高于原来的规划路线,这时候从上一个到达的节点与现在机器人的位置之间路线就变色了,即节点A1与位置B1之间的路线S1为灰色。接收到机器人下一个位置在位置B2,那么就新建了一个line2对象放在地图中,节点A1与位置B2之间的路线S2为灰色;判断上一次到达的位置B1是不是一个节点,若不是节点,则将节点A1到位置B1之间的line1对象删除(即删除节点A1与位置B1之间的路线S1)。如果上一次到达的位置B1是一个节点,也就是距离节点的距离不大于10cm。如图2所示,当机器人到达位置B4时,发现上一个到达的位置B3恰好是一个节点A2,所以节点A1到节点A2之间的路线就保留下来,不再删除,且节点A1到位置B3的灰色路线S3覆盖了节点A1到节点A2之间的红色路线L1,显示为线条变色。通过这样的方式,如果上一个点不是节点就删除上一条路线,如果上一个到达的点是节点就保留上一次路线,这样就实现了电子地图走过的路线变色的问题。流程图如图3所示。

需要说明的是,机器人导航的误差在1cm之内,所以不会出现图中灰色线(走过)与红色线(未走过)之间差距那么大,实际上误差几乎可以忽略不计,以人眼来看,就是红线在机器人走过之后变成了灰色。还有一点,上面所说的上一个点下一个点,我们在加载地图的时候,同时加载了节点的位置信息,规划路线时,保存了节点的编号,所以知道机器人上一个点是哪个节点,下一个点要到达哪个节点。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1