CN111780762A - 巡检路径生成方法、装置和存储介质 - Google Patents
巡检路径生成方法、装置和存储介质 Download PDFInfo
- Publication number
- CN111780762A CN111780762A CN202010615349.1A CN202010615349A CN111780762A CN 111780762 A CN111780762 A CN 111780762A CN 202010615349 A CN202010615349 A CN 202010615349A CN 111780762 A CN111780762 A CN 111780762A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- task
- inspection
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
- Testing Or Measuring Of Semiconductors Or The Like (AREA)
Abstract
本申请实施例提供一种巡检路径生成方法、装置和存储介质,涉及巡检技术领域,可以根据现场部署的情况自动生成巡检路径,从而提高了巡检的灵活性。该巡检路径生成方法包括:获取节点拓扑地图;根据类型将节点拓扑地图中的任务节点分层,每层中用于连接其他层的任务节点为接口节点;获取所有层中任意属于不同层的两个接口节点之间的最短路径,并根据最短路径得到对所有层进行不同排序的排序结果中的目标排序结果,目标排序结果对应的层间路径为所有排序结果中最短的层间路径;根据所述目标排序结果生成第一巡检路径。
Description
技术领域
本申请涉及巡检技术领域,特别涉及一种巡检路径生成方法、装置和存储介质。
背景技术
随着机器人自动化的技术发展,在例如变电站等场景中,可以利用巡检机器人来代替人工实现巡检功能,巡检机器人是一种自动运行的地面移动机器人,其可以携带可见光摄像头、红外热像仪等传感器,以实现对电力设备进行自动巡检,以降低人工巡检的强度。目前的巡检机器人一般按照人为预设的巡检路径进行巡检,一旦现场部署情况发生变化,则需要对原本设定的路径进行人为调整,巡检的灵活性较差。
发明内容
本申请技术方案提供了一种巡检路径生成方法、装置和存储介质,可以根据现场部署的情况自动生成巡检路径,从而提高了巡检的灵活性。
第一方面,本申请技术方案提供了一种巡检路径生成方法,包括:
进入第一巡检路径生成过程,所述第一巡检路径生成过程包括:
获取节点拓扑地图,所述节点拓扑地图包括不同类型的任务节点;
根据类型将所述节点拓扑地图中的任务节点分层,每层中用于连接其他层的任务节点为接口节点;
获取所有层中任意属于不同层的两个接口节点之间的最短路径,并根据所述最短路径得到对所有层进行不同排序的排序结果中的目标排序结果,所述目标排序结果对应的层间路径为所有排序结果中最短的层间路径;
根据所述目标排序结果生成第一巡检路径。
可选地,所述根据所述目标排序结果生成第一巡检路径包括:
获取每层中任意相邻的两个任务节点之间的最短路径;
根据每层中任意相邻的两个任务节点之间的最短路径和所述目标排序结果生成第一巡检路径。
可选地,所述不同类型的任务节点包括回头路节点、分叉口节点和普通节点,所述回头路节点只有一个相邻节点,或所述回头路节点只有两个相邻节点且其中至少一个相邻节点为回头路节点,所述分叉口节点为具有n个相邻的非回头路节点的节点,n>2,所述普通节点为所述回头路节点和所述分叉口节点之外的节点;
所述根据类型将所述节点拓扑地图中的任务节点分层包括:
从分叉口节点开始对任务节点进行深度优先的遍历,每次遍历对应一个层,当遇到下一个分叉口节点时结束本次遍历,将本次遍历到的任务节点依次加入本次遍历所对应的层中,直到所有的任务节点均被分层。
可选地,所述获取节点拓扑地图包括:
获取初始节点拓扑地图,所述初始节点拓扑地图包括末端节点和非末端节点,所述末端节点为只有一个相邻节点的节点,所述非末端节点为具有至少两个相邻节点的节点;
遍历所述初始节点拓扑地图中的每个末端节点,将末端节点标记为回头路节点;
将每个末端节点标记为回头路节点之后,遍历每个回头路节点,将与回头路节点相邻的仅有另外一个相邻任务节点的非末端节点标记为回头路节点,直到回头路节点不再增加;
遍历每个末端节点和每个回头路节点结束后,遍历所述初始节点拓扑地图中的每个任务节点,将其中具有n个相邻的未标记为回头路节点的任务节点标记为分叉口节点,n>2;
将所述初始节点拓扑地图中除所述回头路节点和所述分叉口节点之外的节点标记为普通节点,得到所述节点拓扑地图。
可选地,所述任务节点中的一个节点为开始节点,所述任务节点中的另一个节点为结束节点;
所述根据类型将所述节点拓扑地图中的任务节点分层包括:
将所述开始节点单独分层且作为所有层中的第一层,将所述结束节点单独分层且作为所有层中的最后一层;
对于所述开始节点和所述结束节点之外的其他任务节点,从分叉口节点开始对任务节点进行深度优先的遍历,每次遍历对应一个层,当遇到下一个为分叉口节点的任务节点时结束本次遍历,将本次遍历到的任务节点依次加入本次遍历所对应的层中,直到所有的任务节点均被分层;
在所述对所有层进行不同排序的排序结果中,保持所述第一层和所述最后一层的顺序不变。
可选地,在所述进入第一巡检路径生成过程之前,还包括:
获取任务信息,并根据所述任务信息确定巡检任务类型,若所述巡检任务类型为多任务巡检,则进入第一巡检路径生成过程,若所述巡检任务类型为单任务巡检,则进入第二巡检路径生成过程,所述第二巡检路径生成过程包括:
获取巡检机器人的当前位置和指定任务位置;
确定所述巡检机器人的当前位置在所述节点拓扑地图上对应的出边,所述出边为不同节点之间的路径连接线;
计算在所述节点拓扑地图上,所述巡检机器人的当前位置在所述节点拓扑地图上对应的出边与所述指定任务位置之间的最短路径,并根据所述巡检机器人的当前位置在所述节点拓扑地图上对应的出边与所述指定任务位置之间的最短路径生成所述第二巡检路径。
可选地,所述确定所述巡检机器人的当前位置在所述节点拓扑地图上对应的出边包括:
遍历所述节点拓扑地图上每个节点,在其中每个节点的遍历过程中,计算节点距离,所述节点距离为所述巡检机器人的当前位置与所述节点之间的距离,若当前遍历过程中计算得到的所述节点距离小于预设值,且所述节点的出边满足目标条件,则将满足目标条件的出边与所述巡检机器人的当前位置之间的距离作为待选择出边距离,所述目标条件为出边的每个端点线段与出边之间的夹角均为锐角,所述端点线段为所述当前位置与出边端点之间的连接线段,所述出边距离为所述当前位置与出边之间的垂直连接线段的长度;
所述遍历所述节点拓扑地图上每个节点之后,将所有待选择出边距离中长度最小的一者对应的节点的出边作为所述巡检机器人的当前位置在所述节点拓扑地图上对应的出边。
第二方面,本申请技术方案提供了一种巡检路径生成装置,包括:
地图获取单元,用于获取节点拓扑地图,所述节点拓扑地图包括不同类型的任务节点;
分层单元,用于根据类型将所述节点拓扑地图中的任务节点分层,每层中用于连接其他层的任务节点为接口节点;
排序单元,用于获取所有层中任意属于不同层的两个接口节点之间的最短路径,并根据所述最短路径得到对所有层进行不同排序的排序结果中的目标排序结果,所述目标排序结果对应的层间路径为所有排序结果中最短的层间路径;
路径生成单元,用于根据所述目标排序结果生成第一巡检路径。
第三方面,本申请技术方案提供了一种巡检路径生成装置,包括:
处理器和存储器,所述存储器用于存储至少一条指令,所述指令由所述处理器加载并执行时以实现上述的方法。
第四方面,本申请技术方案提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述的方法。
本申请实施例中的巡检路径生成方法、装置和存储介质,根据类型将节点拓扑地图中的任务节点分层,并根据最短路径得到对所有层进行不同排序结果中的目标排序结果,并根据目标排序结果生成第一巡检路径,从而实现了可以根据现场部署的情况自动生成巡检路径,且使所生成的巡检路径具有较高的巡检效率,提高了巡检的灵活性。
附图说明
图1为本申请实施例中一种巡检路径生成方法的流程示意图;
图2为本申请实施例中一种节点拓扑地图;
图3为本申请实施例中一种初始节点拓扑地图;
图4为本申请实施例中另一种巡检路径生成方法的流程示意图;
图5为本申请实施例中一种计算巡检机器人的当前位置与节点拓扑地图上出边的关系示意图;
图6为本申请实施例中一种巡检路径生成装置的结构框图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
如图1所示,图1为本申请实施例中一种巡检路径生成方法的流程示意图,本申请实施例提供了一种巡检路径生成方法,包括:进入第一巡检路径生成过程,第一巡检路径生成过程包括:
步骤101、获取节点拓扑地图,节点拓扑地图包括不同类型的任务节点;
步骤102、根据类型将节点拓扑地图中的任务节点分层,每层中用于连接其他层的任务节点为接口节点;
步骤103、获取所有层中任意属于不同层的两个接口节点之间的最短路径,并根据该最短路径得到对所有层进行不同排序的排序结果中的目标排序结果,目标排序结果对应的层间路径为所有排序结果中最短的层间路径;
步骤104、根据目标排序结果生成第一巡检路径。
具体地,第一巡检路径生成过程用于生成多任务节点巡检的巡检路径,多任务节点巡检是指对多个或所有的任务节点进行遍历巡检,所需要巡检的任务节点数量较多,属于基本巡检,通常为从起点出发,将选中的所有任务点检查一遍后回到终点位置。如图2所示,图2为本申请实施例中一种节点拓扑地图,节点拓扑地图中示意了所有的任务节点(图2中的圆点即为任务节点),需要说明的是,节点拓扑地图中包括的节点可以为任务节点,也可以为非任务节点,只是在图2所示意的地图中,仅示意了所有的节点均为任务节点的情况,在其他可实现的实施方式中,节点拓扑地图中所包括的所有节点中有部分节点为任务节点,另外一部分节点为非任务节点,任务节点是指需要进行巡检操作任务(例如拍摄检查等)的节点,非任务节点是指无需进行巡检操作任务的节点,但是在构建地图时需要定义的节点。可以看出,在众多的节点中,某些节点处具有多个分支,即巡检机器人可以从该节点处沿不同的分支进行巡检,而对于另外某些节点,巡检机器人只需要经过该节点即可,也就是说,节点具有不同的类型,其中的任务节点属于节点,自然也具有相应的类型,根据任务节点的类型不同,可以将所有的任务节点划分至不同层中(图2中的虚线框即为层),对于同一层中的任务节点,由于没有分叉路,只要任意两个任务节点之间的路径是确定的,那么该层中的任务节点巡检路径即为确定的,因此可以根据预设的规则或算法确定层内的任意两个任务节点之间的路径。例如,某层内包括任务节点C2、B8、B9和B10,可见,在该层中,巡检的路径可以为依次排列的C2、B8、B9和B10,也可以为依次排列的B10、B9、B8和C2,但是无论顺序如何,层内的任务节点起点和任务节点终点中的一者为B10,另外一者为C2,因此,两者用于连接其他层中的节点,因此C2和B10为该层的两个接口节点,如果某层只有一个任务节点,那么该层仅有一个接口节点,即其中所包含的任务节点。例如,图2中将任务节点划分至F1至F7七个层,其中F1层的接口节点为C1,F2层的接口节点为B1和C3,F3层的接口节点为B10和C2,F4层的接口节点为B11和C4,F5层的接口节点为C6和B12,F6层的接口节点为B17和B15,F7层的接口节点为C5,需要说明的是,在图2中仅示意了所有的任务节点,实际上各任务节点之间的路径并非唯一,因此需要在步骤103中计算这些接口节点中任意属于不同层的两个接口节点之间的最短路径,具体可以利用路径搜索算法,例如A*(A-Star)算法或Dijkstra算法来计算最短路径。巡检的目的是对所有的任务节点进行检查,那么在对所有的任务节点继续检查的过程中,巡检机器人所经过路径越短则巡检效率越高,在每层内的巡检路径确定的前提下,层间路径越短,则巡检机器人的巡检效率越高,层间路径是指在经过所有的层后,将任意相邻两层之间的路径相加后的总路径。在步骤103中,得到对所有层进行不同排序结果中的目标排序结果的过程可以类比于旅行推销员问题(TravelingSalesman Problem,TSP),旅行推销员问题是假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。在步骤103中,可以将“层”类比为“城市”,将“巡检机器人”类比为“旅行商人”,如何将所有的层走完并且所走的路径最短,即可以应用解决TSP问题的算法来得到,得到各层之间的目标排序以及层内两个接口节点之间的前后顺序。最后根据目标排序结果即可以得到最终的巡检路径。这里以一种最容易理解的全排列的方法为例对步骤103中得到目标排序结果的原理进行说明,例如,第一种排序结果为从F1层的C1节点至F2层的B1节点,从F2层从B1节点至C3节点,从F2层的C3节点至F3层的B10节点,从F3层的B10节点至C2节点,从F3层的C2节点至F4层的B11节点,从F4层的B11节点至C4节点,从F4层的C4节点至F5层的C6节点,从F5层的C6节点至B12节点,从F5层的B12节点至F6层的B15节点,从F6层的B15节点至B17节点,从F6层的B17节点至F7层的C5节点,第一种排序节点可以简化为下面的表达,F1(C1)-F2(B1-C3)-F3(B10-C2)-F4(B11-C4)-F5(C6-B12)-F6(B15-B17)-F7(C5),其中,括号内表示层内接口节点之间的排序关系,括号中前一个接口节点为入口,括号中后一个接口节点为出口,横杠表示不同层之间的排序关系,表示从横杠前面的层至横杠后面的层。由于C1-B1之间的最短路径即为F1和F2之间的层间最短路径,假设为S1,C3-B10之间的最短路径即为F2和F3之间的最短路径,假设为S2,以此类推,F3-F4之间的最短路径为C2-B11之间的最短路径,假设为S3,F4和F5之间的最短路径为C4-C6之间的最短路径,假设为S4,F5和F6之间的最短路径为B12-B15之间的最短路路径,假设为S5,F6和F7之间的最短路径为B17-C5之间的最短路径,假设为S6,因此可以获取该排序结果下的层间路径,也就是总的层间路径为S1+S2+S3+S4+S5+S6;第二种排序结果为F1(C1)-F2(C3-B1)-F3(B10-C2)-F4(B11-C4)-F5(C6-B12)-F6(B15-B17)-F7(C5),即相较于第一种排序结果,改变了F2内的顺序,此时同样可以获取该排序结果下的层间路径;第三种排序结果为F1(C1)-F3(B10-C2)-F2(B1-C3)-F4(B11-C4)-F5(C6-B12)-F6(B15-B17)-F7(C5),即相较于第一种排序结果,改变了F2和F3之间顺序,此时同样可以获取该排序结果下的层间路径;依次类推,可以获取所有排序结果对应的层间路径,其中最短路径所对应的排序结果即为目标排序结果。需要说明的是,这种全排列的方法仅用于说明问题,实际上可以通过例如模拟退火算法等现有的算法解决该问题,本申请实施例对于得到目标排序结果的具体算法不作限定。
本申请实施例中的巡检路径生成方法,根据类型将节点拓扑地图中的任务节点分层,并根据最短路径得到对所有层进行不同排序结果中的目标排序结果,并根据目标排序结果生成第一巡检路径,从而实现了可以根据现场部署的情况自动生成巡检路径,且使所生成的巡检路径具有较高的巡检效率,提高了巡检的灵活性。
可选地,上述步骤104、根据目标排序结果生成第一巡检路径包括:获取每层中任意相邻的两个任务节点之间的最短路径;根据每层中任意相邻的两个任务节点之间的最短路径和目标排序结果生成第一巡检路径。每层中任意相邻的两个任务节点之间的最短路径具体可以利用路径搜索算法,例如A*(A-Star)算法或Dijkstra算法来获得。
可选地,不同类型的任务节点包括回头路节点(图2中以A+数字表示)、分叉口节点(图2中以C+数字表示)和普通节点(图2中以B+数字表示),回头路节点只有一个相邻节点,或回头路节点只有两个相邻节点且其中至少一个相邻节点为回头路节点,例如,A1节点只有一个相邻节点A2,A1节点即为回头路节点,A2节点具有A1和B1两个相邻节点且其中A1节点为回头路节点,那么A2节点也为回头路节点,分叉口节点为具有n个相邻的非回头路节点的节点,n>2,例如,C1节点具有三个相邻的节点B1、C5和C2,这三个节点均不是回头路节点,那么C1节点即为分叉口节点,普通节点为回头路节点和分叉口节点之外的节点;上述步骤102、根据类型将节点拓扑地图中的任务节点分层包括:从分叉口节点开始对任务节点进行深度优先的遍历,每次遍历对应一个层,当遇到下一个为分叉口节点的任务节点时结束本次遍历,将本次遍历到的任务节点依次加入本次遍历所对应的层中,直到所有的任务节点均被分层。
具体地,例如,从分叉口节点C1向上开始遍历,首先遇到普通节点B1,此时根据深度优先原则,优先经过回头路节点A2、A1,在A1节点返回,再次经过A2达到B1,然后向右经过B2,根据深度优先原则,优先经过回头路节点A3,在A3节点返回,再次经过B2达到B3,以此类推,直到遇到下一个分叉口节点C3,结束本次遍历,本次遍历所遇到的所有节点均被划分至F2层,已经划分至层中的任务节点不会再次被划分至其他层,也就是说,不同的层中不允许包括相同的任务节点。在F2层划分完毕之后,可以从分叉口节点C3开始下一次遍历,也可以从与分叉口节点C3相邻的其他分叉口节点开始下一次遍历,例如从分叉口节点C3开始向左依次遇到B10、B9、B8和C2,由于C2是分叉口节点,因此结束本次遍历,所遇到的B10、B9、B8和C2被划分至本次遍历所对应的F3层中;在F3层划分完毕之后,可以从与分叉口节点C3相邻的分叉口节点C4开始向左遍历,遇到B11后又遇到分叉口节点C2,结束本次遍历,将其中经过的C4、B11两个节点划分至F4层;以此类推,直到任务节点拓扑图中的所有任务节点均被划分至不同层中。需要说明的是,本申请实施例中仅限定每层的划分是从分叉口节点开始,直到遇到下一个分叉口节点结束,但是至于边界处的分叉口节点被划分至前后哪一个层中,不做限定,例如如果一次遍历结束时所遇到的分叉口节点没有被划分至层中,则可以将其划分至本层中,或者可以将每个分叉口节点单独划分为一层。对于一次新的遍历,可以从已经划分至层中的分叉口开始,也可以从未划分至层中的分叉口开始,例如在其他可实现的实施方式中,例如,在F3层划分完毕之后,也可以不从C4开始遍历,而是从分叉口节点C3继续向下遍历,遇到分叉口节点C4后结束本次遍历,将其中的C4单独划分为一层。本申请实施例从属性为分叉口的任务节点开始进行深度优先的遍历,并在遇到一个为分叉口属性的任务节点时结束本次遍历,如此可以将每次遍历到的未分层的任务节点划分至同一层,以使同一层中的任务节点之间具有确定的最短路径,可以使每层内的任务节点之间通过路径搜索算法得到最短的层内路径,以便于在后续确定目标排序结果的过程更加简单,不需要再考虑不同排序结果与层内路径的关系,即不同层之间可以利用旅行推销员问题的算法得到具有最短层间路径的层排序,最短的层内路径和最短的层间路径相配合可以得到最高效率的巡检路径。
可选地,上述步骤101、获取节点拓扑地图包括:获取初始节点拓扑地图,如图3所示,图3为本申请实施例中一种初始节点拓扑地图,初始节点拓扑地图包括末端节点(具有填充的圆点)和非末端节点(非填充的圆点),末端节点为只有一个相邻节点的节点,非末端节点为具有至少两个相邻节点的节点,也就是说,在初始节点拓扑地图中,A1、A3、A4、A5、A7和A8这些节点为末端节点,其他节点为非末端节点;遍历初始节点拓扑地图中的每个末端节点,将末端节点标记为回头路节点;将每个末端节点标记为回头路节点之后,遍历每个回头路节点,将与回头路节点相邻的仅有另外一个相邻任务节点的非末端节点标记为回头路节点,直到回头路节点不再增加,例如,将A1、A3、A4、A5、A7和A8标记为回头路节点之后,遍历每个回头路节点,例如从A1节点开始,与其相邻的A2节点仅有另外一个相邻的任务节点B1,因此将A2标记为回头路节点,继续遍历到A2节点,与其相邻的B1节点有另外两个相邻的任务节点C1和B2,因此不会将B1标记为回头路节点,依次类推,直到回头路节点不再增加,最终将A2和A6标记为回头路节点;遍历每个末端节点和每个回头路节点结束后,遍历初始节点拓扑地图中的每个任务节点,将其中具有n个相邻的未标记为回头路节点的任务节点标记为分叉口节点,n>2,即将其中C+数字表示的任务节点标记为分叉口节点;将初始节点拓扑地图中除回头路节点和分叉口节点之外的节点标记为普通节点,得到节点拓扑地图,即将其中B+数字表示的节点标记为普通节点,即将图3标记为图2,以便于根据图2执行步骤102。
可选地,任务节点中的一个节点为开始节点,任务节点中的另一个节点为结束节点,开始节点和结束节点可以为预先设定的固定节点,也可以为可以根据用户选择设置的节点,例如,设置C1为开始节点,设置C5为结束节点;上述步骤102、根据类型将节点拓扑地图中的任务节点分层包括:将开始节点C1单独分层且作为所有层中的第一层F1,将结束节点C5单独分层且作为所有层中的最后一层F7;对于开始节点C1和结束节点C5之外的其他任务节点,从分叉口节点开始对任务节点进行深度优先的遍历,每次遍历对应一个层,当遇到下一个分叉口节点时结束本次遍历,将本次遍历到的任务节点依次加入本次遍历所对应的层中,直到所有的任务节点均被分层,具体的层划分过程可以与上述过程相同,在此不再赘述,其中,除F1和F7之外,还划分了F2、F3、F4、F5和F6这五个层;在对所有层进行不同排序的排序结果中,保持第一层和最后一层的顺序不变,例如,采用模拟退火法,保持F1为首层,F7为最后一层的位置不变,改变其他几个层之间的排序,直到出现具有最短层间路径的层排序,该排序即为目标排序结果。
可选地,如图4所示,图4为本申请实施例中另一种巡检路径生成方法的流程示意图,在进入第一巡检路径生成过程之前,还包括:
步骤1001、获取任务信息,并进入步骤1002;
步骤1002、根据任务信息确定巡检任务类型,若巡检任务类型为多任务巡检,则进入第一巡检路径生成过程,即进入上述步骤101-104,若巡检任务类型为单任务巡检,则进入第二巡检路径生成过程,第二巡检路径生成过程包括:
步骤201、获取巡检机器人的当前位置和指定任务位置;
步骤202、确定巡检机器人的当前位置在节点拓扑地图上对应的出边,出边为不同节点之间的路径连接线;
步骤203、计算在节点拓扑地图上,巡检机器人的当前位置在节点拓扑地图上对应的出边与指定任务位置之间的最短路径,并根据巡检机器人的当前位置在节点拓扑地图上对应的出边与指定任务位置之间的最短路径生成第二巡检路径。
具体地,任务信息用于确定当前的巡检任务属于多任务巡检还是属于单任务巡检,多任务巡检是指对多个或所有的任务节点进行遍历巡检,所需要巡检的任务节点数量较多,属于基本巡检,通常为从起点出发,将选中的所有任务点检查一遍,单任务巡检是指对某个特定任务点进行巡检。对于单任务巡检来说,重要的是确定巡检机器人在节点拓扑地图上的位置,节点拓扑地图中包括节点和出边。在步骤201中,首先获取巡检机器人的当前位置和指定任务位置,在步骤202中,是指确定巡检机器人在节点拓扑地图上对应的出边,即巡检机器人在节点拓扑地图上所对应的位置,当确定了巡检机器人所对应的出边之后,即可以在步骤203中通过路径搜索算法得到从巡检机器人的当前位置到指定任务位置之间的最短路径,例如,当确定了巡检机器人所对应的出边之后,既可以确定该出边的两端的节点,根据路径搜索算法可以得到从其中一个节点到指定任务位置之间的最短路径,同样可以得到从其中另一个节点到指定任务位置之间的最短路径,将两者中的较小者作为第二巡检路径。
可选地,上述步骤202、确定巡检机器人的当前位置在节点拓扑地图上对应的出边包括:遍历节点拓扑地图上每个节点,在其中每个节点的遍历过程中,计算节点距离,节点距离为巡检机器人的当前位置与节点之间的距离,若当前遍历过程中计算得到的节点距离小于预设值,且节点的出边满足目标条件,则将满足目标条件的出边与巡检机器人的当前位置之间的距离作为待选择出边距离,目标条件为出边的每个端点线段与出边之间的夹角均为锐角,端点线段为当前位置与出边端点之间的连接线段,出边距离为当前位置与出边之间的垂直连接线段的长度;遍历节点拓扑地图上每个节点之后,将所有待选择出边距离中长度最小的一者对应的节点的出边作为巡检机器人的当前位置在节点拓扑地图上对应的出边。
具体地,节点拓扑地图上具有大量的节点,因此,首先遍历每个节点,计算节点距离,即计算节点与巡检机器人当前位置之间的距离,找到其中距离巡检机器人距离较近的节点,对于这些节点进一步进行判断,例如,图5为本申请实施例中一种计算巡检机器人的当前位置与节点拓扑地图上出边的关系示意图,图5中仅示意了节点拓扑地图中的节点E、节点S、节点M和节点L,N点为巡检机器人的当前位置,节点的出边是指不同节点之间的路径连接线,例如Lse即为节点E的一条出边,同时为节点S的一条出边,当前位置N的端点线段是指巡检机器人的当前位置N与出边Lse端点之间的连接线段,一条出边具有两条端点线段,例如出边Lse具有端点线段Lns和端点线段Lne,节点E的坐标为(Xe,Ye),节点S的坐标为(Xs,Ys),当前位置N的坐标为(X,Y),假设节点S、节点E、节点M和节点L的节点距离均小于预设值,接下来确定每个出边对应的端点线段与该出边之间的夹角是否均为锐角,如果是,则将该出边对应的出边距离作为待选择出边距离。例如,首先遍历节点S,图5中具有以下向量表示,lse_x=Xe-Xs,lse_y=Ye-Ys,lne_x=X-Xe,lne_y=Y-Ye,lns_x=X-Xs,lns_y=Y-Ys,当点乘结果dote=-lse_x*lne_x-lse_y*lne_y为正数,则说明角a为锐角,当点乘结果dots=lse_*lns_x+lse_*lns_y为正数,则说明角b为锐角,若角a和角b均为锐角,则将出边Lse与N点之间的距离作为待选择出边距离,出边距离是指巡检机器人的当前位置N与出边Lse之间的垂直连接线段的长度;然后遍历至节点E,其对应的一条出边Lse已经完成了判断,因此对其对应的另一条出边EM进行判断,可知,线段EM与线段EN之间的夹角为钝角,不满足将其对应的出边距离作为待选择出边距离的条件,需要说明的是,当遍历至某个节点时,需要对该节点的每条出边均判断是否满足两个端点线段的夹角要求;接下来遍历至节点L,根据同样的判断条件,将出边ML与节点N之间的距离作为待选择出边距离。当节点拓扑地图中的所有节点遍历完成之后,将得到的所有待选择出边距离的长度进行比较,找到其中最短的一个,例如,Lse与N之间的距离小于ML与N之间的距离,将该出边距离对应的出边(例如图5中的Lse)作为巡检机器人的当前位置在节点拓扑地图上对应的出边,进而便于得到巡检路径。
如图6所示,图6为本申请实施例中一种巡检路径生成装置的结构框图,本申请实施例还提供一种巡检路径生成装置,包括:地图获取单元1,用于获取节点拓扑地图,节点拓扑地图包括不同类型的任务节点;分层单元2,用于根据类型将节点拓扑地图中的任务节点分层,每层中用于连接其他层的任务节点为接口节点;排序结果确定单元3,用于获取所有层中任意属于不同层的两个接口节点之间的最短路径,并根据最短路径得到对所有层进行不同排序的排序结果中的目标排序结果,目标排序结果对应的层间路径为所有排序结果中最短的层间路径;路径生成单元4,用于根据目标排序结果生成第一巡检路径。
该巡检路径生成装置可以应用上述的巡检路径生成方法,其具体过程和原理与上述实施例相同,在此不再赘述。
应理解以上图6所示巡检路径生成装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,地图获取单元可以为单独设立的处理元件,也可以集成在某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由某一个处理元件调用并执行以上各个模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,ASIC),或,一个或多个微处理器(digital singnal processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)等。再如,当以上某个模块通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central ProcessingUnit,CPU)或其它可以调用程序的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
可选地,本申请实施例还提供了一种巡检路径生成装置,包括:处理器和存储器,存储器用于存储至少一条指令,指令由处理器加载并执行时以实现上述的巡检路径生成方法。
处理器的数量可以为一个或多个,处理器和存储器可以通过总线或者其他方式连接。存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的图像检测方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行各种功能应用以及数据处理,即实现上述任意方法实施例中的方法。存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;以及必要数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。
可选地,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述的巡检路径生成方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种巡检路径生成方法,其特征在于,包括:
进入第一巡检路径生成过程,所述第一巡检路径生成过程包括:
获取节点拓扑地图,所述节点拓扑地图包括不同类型的任务节点;
根据类型将所述节点拓扑地图中的任务节点分层,每层中用于连接其他层的任务节点为接口节点;
获取所有层中任意属于不同层的两个接口节点之间的最短路径,并根据所述最短路径得到对所有层进行不同排序的排序结果中的目标排序结果,所述目标排序结果对应的层间路径为所有排序结果中最短的层间路径;
根据所述目标排序结果生成第一巡检路径。
2.根据权利要求1所述的巡检路径生成方法,其特征在于,
所述根据所述目标排序结果生成第一巡检路径包括:
获取每层中任意相邻的两个任务节点之间的最短路径;
根据每层中任意相邻的两个任务节点之间的最短路径和所述目标排序结果生成第一巡检路径。
3.根据权利要求1所述的巡检路径生成方法,其特征在于,
所述不同类型的节点包括回头路节点、分叉口节点和普通节点,所述回头路节点只有一个相邻节点,或所述回头路节点只有两个相邻节点且其中至少一个相邻节点为回头路节点,所述分叉口节点为具有n个相邻的非回头路节点的节点,n>2,所述普通节点为所述回头路节点和所述分叉口节点之外的节点;
所述根据类型将所述节点拓扑地图中的任务节点分层包括:
从分叉口节点开始对任务节点进行深度优先的遍历,每次遍历对应一个层,当遇到下一个分叉口节点时结束本次遍历,将本次遍历到的任务节点依次加入本次遍历所对应的层中,直到所有的任务节点均被分层。
4.根据权利要求3所述的巡检路径生成方法,其特征在于,
所述获取节点拓扑地图包括:
获取初始节点拓扑地图,所述初始节点拓扑地图包括末端节点和非末端节点,所述末端节点为只有一个相邻节点的节点,所述非末端节点为具有至少两个相邻节点的节点;
遍历所述初始节点拓扑地图中的每个末端节点,将末端节点标记为回头路节点;
将每个末端节点标记为回头路节点之后,遍历每个回头路节点,将与回头路节点相邻的仅有另外一个相邻任务节点的非末端节点标记为回头路节点,直到回头路节点不再增加;
遍历每个末端节点和每个回头路节点结束后,遍历所述初始节点拓扑地图中的每个任务节点,将其中具有n个相邻的未标记为回头路节点的任务节点标记为分叉口节点,n>2;
将所述初始节点拓扑地图中除所述回头路节点和所述分叉口节点之外的节点标记为普通节点,得到所述节点拓扑地图。
5.根据权利要求3所述的巡检路径生成方法,其特征在于,
所述任务节点中的一个节点为开始节点,所述任务节点中的另一个节点为结束节点;
所述根据类型将所述节点拓扑地图中的任务节点分层包括:
将所述开始节点单独分层且作为所有层中的第一层,将所述结束节点单独分层且作为所有层中的最后一层;
对于所述开始节点和所述结束节点之外的其他任务节点,从分叉口节点开始对任务节点进行深度优先的遍历,每次遍历对应一个层,当遇到下一个为分叉口节点的任务节点时结束本次遍历,将本次遍历到的任务节点依次加入本次遍历所对应的层中,直到所有的任务节点均被分层;
在所述对所有层进行不同排序的排序结果中,保持所述第一层和所述最后一层的顺序不变。
6.根据权利要求1所述的巡检路径生成方法,其特征在于,
在所述进入第一巡检路径生成过程之前,还包括:
获取任务信息,并根据所述任务信息确定巡检任务类型,若所述巡检任务类型为多任务节点巡检,则进入第一巡检路径生成过程,若所述巡检任务类型为单任务节点巡检,则进入第二巡检路径生成过程,所述第二巡检路径生成过程包括:
获取巡检机器人的当前位置和指定任务位置;
确定所述巡检机器人的当前位置在所述节点拓扑地图上对应的出边,所述出边为不同节点之间的路径连接线;
计算在所述节点拓扑地图上,所述巡检机器人的当前位置在所述节点拓扑地图上对应的出边与所述指定任务位置之间的最短路径,并根据所述巡检机器人的当前位置在所述节点拓扑地图上对应的出边与所述指定任务位置之间的最短路径生成所述第二巡检路径。
7.根据权利要求6所述的巡检路径生成方法,其特征在于,
所述确定所述巡检机器人的当前位置在所述节点拓扑地图上对应的出边包括:
遍历所述节点拓扑地图上每个节点,在其中每个节点的遍历过程中,计算节点距离,所述节点距离为所述巡检机器人的当前位置与所述节点之间的距离,若当前遍历过程中计算得到的所述节点距离小于预设值,且所述节点的出边满足目标条件,则将满足所述目标条件的出边与所述巡检机器人的当前位置之间的距离作为待选择出边距离,所述目标条件为出边的每个端点线段与出边之间的夹角均为锐角,所述端点线段为所述当前位置与出边端点之间的连接线段,所述出边距离为所述当前位置与出边之间的垂直连接线段的长度;
所述遍历所述节点拓扑地图上每个节点之后,将所有待选择出边距离中长度最小的一者对应的节点的出边作为所述巡检机器人的当前位置在所述节点拓扑地图上对应的出边。
8.一种巡检路径生成装置,其特征在于,包括:
地图获取单元,用于获取节点拓扑地图,所述节点拓扑地图包括不同类型的任务节点;
分层单元,用于根据类型将所述节点拓扑地图中的任务节点分层,每层中用于连接其他层的任务节点为接口节点;
排序单元,用于获取所有层中任意属于不同层的两个接口节点之间的最短路径,并根据所述最短路径得到对所有层进行不同排序的排序结果中的目标排序结果,所述目标排序结果对应的层间路径为所有排序结果中最短的层间路径;
路径生成单元,用于根据所述目标排序结果生成第一巡检路径。
9.一种巡检路径生成装置,其特征在于,包括:
处理器和存储器,所述存储器用于存储至少一条指令,所述指令由所述处理器加载并执行时以实现如权利要求1至7中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615349.1A CN111780762B (zh) | 2020-06-30 | 2020-06-30 | 巡检路径生成方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615349.1A CN111780762B (zh) | 2020-06-30 | 2020-06-30 | 巡检路径生成方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111780762A true CN111780762A (zh) | 2020-10-16 |
CN111780762B CN111780762B (zh) | 2022-04-22 |
Family
ID=72759996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010615349.1A Active CN111780762B (zh) | 2020-06-30 | 2020-06-30 | 巡检路径生成方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111780762B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756034A (zh) * | 2022-06-13 | 2022-07-15 | 北京蒙帕信创科技有限公司 | 一种机器人实时避障路径规划方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040184441A1 (en) * | 2003-03-19 | 2004-09-23 | Fuming Wu | Inter-domain constraint-based shortest path first technique for supporting hierarchical routing in interconnected multi-domain optical transport networks |
CN103900600A (zh) * | 2012-12-25 | 2014-07-02 | 中国电信股份有限公司 | 室内跨楼层地图路径导航方法及系统 |
US20170336219A1 (en) * | 2015-05-19 | 2017-11-23 | Fleetmatics Development Limited | System and method for accelerating route search |
CN107677269A (zh) * | 2017-08-28 | 2018-02-09 | 广东工业大学 | 一种基于拓扑地图的弱信号区域智能导航方法 |
CN107784380A (zh) * | 2016-08-30 | 2018-03-09 | 上海创和亿电子科技发展有限公司 | 一种巡检最短路径的优化方法及优化系统 |
WO2018121448A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳市杉川机器人有限公司 | 移动机器人的拓扑地图创建方法、导航方法、可编程设备及计算机可读介质 |
CN109724612A (zh) * | 2019-01-14 | 2019-05-07 | 浙江大华技术股份有限公司 | 一种基于拓扑地图的agv路径规划方法及设备 |
-
2020
- 2020-06-30 CN CN202010615349.1A patent/CN111780762B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040184441A1 (en) * | 2003-03-19 | 2004-09-23 | Fuming Wu | Inter-domain constraint-based shortest path first technique for supporting hierarchical routing in interconnected multi-domain optical transport networks |
CN103900600A (zh) * | 2012-12-25 | 2014-07-02 | 中国电信股份有限公司 | 室内跨楼层地图路径导航方法及系统 |
US20170336219A1 (en) * | 2015-05-19 | 2017-11-23 | Fleetmatics Development Limited | System and method for accelerating route search |
CN107784380A (zh) * | 2016-08-30 | 2018-03-09 | 上海创和亿电子科技发展有限公司 | 一种巡检最短路径的优化方法及优化系统 |
WO2018121448A1 (zh) * | 2016-12-30 | 2018-07-05 | 深圳市杉川机器人有限公司 | 移动机器人的拓扑地图创建方法、导航方法、可编程设备及计算机可读介质 |
CN107677269A (zh) * | 2017-08-28 | 2018-02-09 | 广东工业大学 | 一种基于拓扑地图的弱信号区域智能导航方法 |
CN109724612A (zh) * | 2019-01-14 | 2019-05-07 | 浙江大华技术股份有限公司 | 一种基于拓扑地图的agv路径规划方法及设备 |
Non-Patent Citations (3)
Title |
---|
王建元等: "基于图论的电力巡检机器人智能寻迹方案", 《电力系统自动化》 * |
禹鑫燚等: "基于线性时序逻辑的移动端快递派送路径规划", 《高技术通讯》 * |
黄科佳等: "基于室内路网的跨楼层路径规划技术的设计与实现", 《地理信息世界》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756034A (zh) * | 2022-06-13 | 2022-07-15 | 北京蒙帕信创科技有限公司 | 一种机器人实时避障路径规划方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111780762B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Carletti et al. | Challenging the time complexity of exact subgraph isomorphism for huge and dense graphs with VF3 | |
Liu et al. | NCTU-GR 2.0: Multithreaded collision-aware global routing with bounded-length maze routing | |
US10984588B2 (en) | Obstacle distribution simulation method and device based on multiple models, and storage medium | |
CN111640218A (zh) | 一种无人机巡检路线规划方法、装置、终端及存储介质 | |
CN104317886B (zh) | 断层约束下网格节点插值时近邻条件数据点的搜索选取方法 | |
CN113223078B (zh) | 标志点的匹配方法、装置、计算机设备和存储介质 | |
CN111780762B (zh) | 巡检路径生成方法、装置和存储介质 | |
CN106709503A (zh) | 一种基于密度的大型空间数据聚类算法k‑dbscan | |
Baressi Šegota et al. | On the traveling salesman problem in nautical environments: an evolutionary computing approach to optimization of tourist route paths in Medulin, Croatia | |
CN108875914B (zh) | 对神经网络数据进行预处理和后处理的方法和装置 | |
US8060849B2 (en) | Automatic bus routing | |
CN109412954A (zh) | 基于无序节点约束的路由确定方法、装置以及存储介质 | |
CN104376084B (zh) | 路径相似度计算方法和装置 | |
CN115062784A (zh) | 针对神经网络算子融合的端云协同推理方法及装置 | |
CN104408263B (zh) | 一种自动处理闭环回路的图形元件分组排序方法 | |
CN112333101B (zh) | 网络拓扑寻路方法、装置、设备及存储介质 | |
KR102039244B1 (ko) | 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템 | |
CN108052743B (zh) | 一种阶梯接近中心度确定方法及系统 | |
CN113901275A (zh) | 一种获取指定顶点拓扑序列的方法和设备 | |
CN109155846A (zh) | 一种场景的三维重建方法、装置、电子设备及存储介质 | |
KR102185690B1 (ko) | 스마트 시티에서 2-sat을 이용한 도로망 일방통행 결정 방법 | |
CN115392539A (zh) | 一种基于贪婪算法的路径规划算法 | |
CN114694377B (zh) | 多场景交通干线协调子区的识别方法、系统及装置 | |
CN111623790A (zh) | 一种面向动态城市交通路网的快速路径规划方法 | |
Aboulhassan et al. | A novel framework for visual detection and exploration of performance bottlenecks in organic photovoltaic solar cell materials |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou Hikvision Robot Co.,Ltd. Address before: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |