一种多目标点的任务执行规划方法及装置与流程

文档序号:17606366发布日期:2019-05-07 20:45阅读:192来源:国知局
一种多目标点的任务执行规划方法及装置与流程

本发明涉及任务执行规划技术领域,尤其涉及一种多目标点的任务执行规划方法及装置。



背景技术:

传统作业中,变电站、工厂园区等场景中的巡检作业任务主要由人工完成,由于大部分场景面积大、设备多,造成巡检工作费时费力,工人巡检工作、任务执行容易出现遗漏差错等,可能会对设备安全、财产保护等造成威胁,而且部分场景存在着一定的危险性,比如高压变电站等。而随着智能机器人技术的发展,由于其具有高效、稳定、节省人力、节约成本等优势,智能移动机器人逐步替代传统中的人工巡检作业任务。

然而,现有技术中,智能机器人仅能够替代的人工巡检作业任务中在那些简单、重复性的单点或较少目标点的任务,而针对有多样性的多目标点的任务执行,如何进行多目标点的任务执行规划,以提升多目标点的执行效率是一个需要解决的技术问题。



技术实现要素:

本发明实施例提供一种多目标点的任务执行规划方法及装置,用于提升多目标点的执行效率。

一方面,本发明实施例提供了一种多目标点的任务执行规划方法,包括:

将多目标点的任务执行对应的场景地图划分成多个分区,每个分区中包括多个节点以及由相邻节点之间形成的边,节点是指所述场景地图中需要转向的点;

从所述多个分区中,确定所述多个目标点所在的多个目标分区,其中,每个目标分区中的目标点分布在该分区的节点上和\或分布在边上;

根据所述多个目标分区中任意两个目标分区之间的通行代价,获取所述多个目标分区的通行顺序,以及根据每个目标分区中的任意两个节点的通行代价,获得该目标分区内节点的通行顺序;

根据所述多个目标分区的通行顺序以及每个目标分区内节点的通行顺序,执行所述多个目标点的任务。

可选的,所述将多目标点的任务执行对应的场景地图划分成多个分区,具体包括:

为所述场景地图的每个节点设置唯一标号;

从所述场景地图的多个节点中确定关节点,其中,关节点是指影响所述场景地图的任意两个节点的互通性的点;

对所述场景地图的多个节点中除去所述关节点之外的任一节点的标号进行迭代更新,并根据迭代更新结果,将具有相同标号的节点归为同一个分区,从而获得所述场景地图的多个分区。

可选的,所述对所述场景地图的多个节点中除去所述关节点之外的任一节点的标号进行迭代更新,具体包括:

确定所述场景地图的多个节点中除去所述关节点之外的任一节点与其每一个单步邻居节点的隶属度,所述隶属度是指相邻两个节点属于同一个分区的程度;

针对所述场景地图的多个节点中除去所述关节点之外的任一节点,选取该节点对应的隶属度最大的单步邻居节点的标号,对该节点的标号进行更新;

其中,若当次迭代更新中标号更新的节点个数小于阈值时,则停止迭代更新。

可选的,所述根据所述多个目标分区中任意两个目标分区之间的通行代价,获取所述多个目标分区的通行顺序,具体包括:

针对所述多个目标分区中的任一目标分区,选取该目标分区在所述场景地图中的标识点,从而获得多个目标分区的多个标识点;

获取任意两个标识点之间的通行代价;

从所述多个目标分区中确定任务执行起点所在的目标分区为第一目标分区;

根据任意两个标识点之间的通行代价,获得以所述第一目标分区为第一通行区域的所述多个目标分区的通行顺序。

可选的,所述选取该目标分区在所述场景地图中的标识点,具体包括:

确定该目标分区中目标点分布中心点;

选取所述中心点以及该目标区域中的关节点作为该目标分区在所述场景地图中的标识点,或者

确定该目标分区中距离所述中心点最近的节点,选取所述最近的节点以及该目标区域中的关节点作为该目标分区在所述场景地图中的标识点。

可选的,所述根据每个目标分区中的任意两个节点的通行代价,获得该目标分区内节点的通行顺序,具体包括:

针对每个目标分区,确定该目标分区中目标点所在的边以及节点;

由确定的边以及节点形成该目标区域新的子分区;

根据所述子分区中任意两个节点的通行代价,确定所述子分区内节点的通行顺序;

其中,所述子分区内节点的通行顺序即为所述子分区对应的目标分区内节点的通行顺序。

可选的,若所述多个目标分区中相邻两个目标分区之间存在连接边,则该连接边通过分布在该连接边上的目标点或由该两个目标分区之间路径最短确定的。

一方面,本发明实施例提供了一种多目标点的任务执行规划装置,包括:

分区单元,用于将多目标点的任务执行对应的场景地图划分成多个分区,每个分区中包括多个节点以及由相邻节点之间形成的边,节点是指所述场景地图中需要转向的点;

确定单元,用于从所述多个分区中,确定所述多个目标点所在的多个目标分区,其中,每个目标分区中的目标点分布在该分区的节点上和\或分布在边上;

获取单元,用于根据所述多个目标分区中任意两个目标分区之间的通行代价,获取所述多个目标分区的通行顺序,以及根据每个目标分区中的任意两个节点的通行代价,获得该目标分区内节点的通行顺序;

执行单元,用于根据所述多个目标分区的通行顺序以及每个目标分区内节点的通行顺序,执行所述多个目标点的任务。

可选的,所述分区单元,用于:

为所述场景地图的每个节点设置唯一标号;

从所述场景地图的多个节点中确定关节点,其中,关节点是指影响所述场景地图的任意两个节点的互通性的点;

对所述场景地图的多个节点中除去所述关节点之外的任一节点的标号进行迭代更新,并根据迭代更新结果,将具有相同标号的节点归为同一个分区,从而获得所述场景地图的多个分区。

可选的,所述分区单元,用于:

确定所述场景地图的多个节点中除去所述关节点之外的任一节点与其每一个单步邻居节点的隶属度,所述隶属度是指相邻两个节点属于同一个分区的程度;

针对所述场景地图的多个节点中除去所述关节点之外的任一节点,选取该节点对应的隶属度最大的单步邻居节点的标号,对该节点的标号进行更新;

其中,若当次迭代更新中标号更新的节点个数小于阈值时,则停止迭代更新。

可选的,所述获取单元,还用于:

针对所述多个目标分区中的任一目标分区,选取该目标分区在所述场景地图中的标识点,从而获得多个目标分区的多个标识点;

获取任意两个标识点之间的通行代价;

从所述多个目标分区中确定任务执行起点所在的目标分区为第一目标分区;

根据任意两个标识点之间的通行代价,获得以所述第一目标分区为第一通行区域的所述多个目标分区的通行顺序。

可选的,所述获取单元,还用于:

针对每个目标分区,确定该目标分区中目标点所在的边以及节点;

由确定的边以及节点形成该目标区域新的子分区;

根据所述子分区中任意两个节点的通行代价,确定所述子分区内节点的通行顺序;

其中,所述子分区内节点的通行顺序即为所述子分区对应的目标分区内节点的通行顺序。

可选的,所述获取单元,还用于:

确定该目标分区中目标点分布中心点;

选取所述中心点以及该目标区域中的关节点作为该目标分区在所述场景地图中的标识点,或者

确定该目标分区中距离所述中心点最近的节点,选取所述最近的节点以及该目标区域中的关节点作为该目标分区在所述场景地图中的标识点。

可选的,若所述多个目标分区中相邻两个目标分区之间存在连接边,则该连接边通过分布在该连接边上的目标点或由该两个目标分区之间路径最短确定的。

在本发明实施例中,在将多目标点的任务执行对应的场景地图划分成多个分区之后,可从多个分区中,确定多个目标点所在的多个目标分区,然后根据多个目标分区中任意两个目标分区之间的通行代价,获取所述多个目标分区的通行顺序,以及根据每个目标分区中的任意两个节点的通行代价,获得该目标分区内节点的通行顺序;并根据所述多个目标分区的通行顺序以及每个目标分区内节点的通行顺序,执行所述多个目标点的任务。可见,在本发明实施例中,针对多目标点的任务执行,提出了先计算多目标点所在的多个分区之间的通行代价,即先完成分区之间的多目标点的任务执行规划,然后,再分别针对各个分区内部的多目标的任务执行进行规划的方案,即按照多目标所在的分区,进行分区之间的规划,然后按照分区内的目标点的分布,进行各分区内的规划,所以,实现了多目标点的任务的逐层规划,使得规划有序进行,提升了规划的效率,且能够精确针对多目标点所在的分区进行规划,缩小了没有目标点任务的其他分区的对规划的影响,提升了规划的准确度。

进一步的,由于本发明实施例中,先获取的是多个目标分区的通行顺序,也即先获取了多目标点所在的多个目标分区之间的任务执行顺序,所以在执行第一通行分区的任务同时,可以按照本发明中的方法获取下一个待执行的目标分区内节点的通行顺序,即先完成区域层(分区之间)的任务规划,再对各个区域内部的子任务(分区内目标点的任务)进行规划,而且子区域的任务规划可以分时进行,实现了分时、高效、准确的全局任务规划,提高了规划效率,从而提升多目标点的执行效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。

图1为本发明实施例提供的一种应用场景示意图;

图2为本发明实施例提供的一种多目标点的任务执行规划方法流程图;

图3为本发明实施例提供的场景地图划分成多个分区的示意图;

图4为本发明实施例提供的多个目标点标识所在目标分区中的示意图;

图5为本发明实施例提供的获取多个目标分区通行顺序的流程图;

图6为本发明实施例提供的新的区域间示意图;

图7为本发明实施例提供的获取各目标分区内节点通行顺序的流程图;

图8为本发明实施例提供的子分区示意图;

图9为本发明实施例提供的将场景地图划分成多个分区的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明技术方案保护的范围。

下面对本发明实施例中涉及的部分概念进行介绍。

中国邮递员问题:邮递员在某一地区的信件投递路程问题。邮递员每天从邮局出发,走遍该区域所有街道再返回邮局,问题是他应如何安排送信的路线可以使所走的总路程最短。这个问题由中国学者管梅谷在1960年首先提出,并给出了解法—奇偶点图上作业法,被国际上统称为“中国邮递员问题”。在图论中的描述就是给定一个连通图g,每边e有非负权重,要求一条回路经过每个条边至少一次,而且满足总权重最小。

本发明实施例中的多目标点的任务执行规划方法应用于如图1所示的应用场景,该应用场景中包括移动机器人10、以及移动机器人10待执行任务对应的场景地图11,其中场景地图11可以为使用slam(simultaneouslocalizationandmapping,即时定位与地图构建)算法获得二维栅格地图,场景地图11中包括多个节点以及由相邻节点组成的边(图1中未示出),场景地图11中节点也可称为道路点,是指场景地图中移动机器人需要转向的点,相邻节点组成的边又可称为道路边,节点和边组成场景地图11的拓扑结构,移动机器人10执行任务的多目标点位于节点上和\或道路边上。其中,移动机器人10设置有能够按照程序运行,自动、高速处理大量数据的处理器装置,移动机器人10可以按照本发明实施例中发生对多目标点的任务执行进行规划,下文将进行详细介绍。

需要注意的是,上文提及的应用场景仅是为了便于理解本发明的精神和原理而示出,本发明实施例在此方面不受任何限制。相反,本发明实施例可以应用于适用的任何场景。

下面结合图1所示的应用场景,对本发明实施例提供的一种多目标点的任务执行规划方法进行说明。

如图2所示,本发明实施例提供的一种多目标点的任务执行规划方法包括:

步骤201:将多目标点的任务执行对应的场景地图划分成多个分区,每个分区中包括多个节点以及由相邻节点之间形成的边。

其中,节点是指所述场景地图中需要转向的点。

在本发明实施例中,场景地图中包括多个节点以及由相邻节点组成的边,将多目标点的任务执行对应的场景地图划分成多个分区之后,每个分区中就包括场景地图中一部分节点以及由该部分节点中相邻节点之间形成的边,在实际应用中,将多目标点的任务执行对应的场景地图划分的多个分区又可称为多个社区,通常,分区之间的连接相对稀疏、分区内部的连接相对稠密。

在本发明实施例中,为了提升场景地图划分成多个分区的精确度,即减小将不属于同一个分区的节点划分到同一个分区的情况,本发明实施例在对场景地图进行划分区时,可以先提取场景地图多个节点中的关节点,然后在节点的标号传播的过程中,阻碍标号(节点的标号,下文将进行详述)的值通过关节点的路径传播,从而降低属于不同分区之间的节点的标号值相互传播,导致将不属于同一个分区的节点划分到同一个分区的情况。同时在迭代过程中引入了节点之间的隶属度函数,每次迭代由衰减因子等组成的隶属度函数值作为权重值决定更新的标号,提高更新迭代效率,避免误传播引入最终区域分割误差,下文将对此进行详细叙述。

步骤202:从所述多个分区中,确定所述多个目标点所在的多个目标分区,其中,每个目标分区中的目标点分布在该分区的节点上和\或分布在边上。

在本发明实施例中,对场景地图划分成多个分区之后,还可以从多个分区中确定多个目标点所在的多个目标分区,这里假设通过步骤201对场景地图的分区结果如图3所示,包括标号为1的分区、标号为5的分区、标号为6的分区以及标号为7的分区,其中,各分区中圆圈表示一个节点,圆圈之间的连接线表示节点之间的边,圆圈中的数值表示该节点的标号,灰色圆圈表示该该节点为分区中的关节点,例如标号为1的分区中,有5个圆圈,每个圆圈表示的节点的标号为1,包含一个关节点。那么,就可以根据多个目标点各自的坐标,从多个分区中,确定各目标点所在的目标分区,例如图4所示,可以按照每个目标点的坐标将该目标点表示在分区后的地图场景中,从而能够确定每个目标的所在的目标分区,图4中的黑色点表示目标点,由图4可知,多个目标点所在的目标分区就包括标号为1的分区,以及标号为5的分区、标号为6的分区,其中,标号为1的分区与标号为5的分区之间的包括连接边,该连接线上分布有目标点,在实际应用中,可以选取两个目标分区之间的分布有目标点的边作为两个目标分区的连接边,若两个目标分区之间的边上没有分布目标点,则可以选择两个目标分区之间路径最短的边作为两个目标分区的连接边。

步骤203:根据所述多个目标分区中任意两个目标分区之间的通行代价,获取所述多个目标分区的通行顺序。

在本发明实施例中,在确定多个目标点所在的多个目标分区之后,可计算多个目标分区中任意两个目标分区之间的通行代价,以便根据任意两个目标分区之间的通行代价,对多个目标分区的通行顺序进行规划。

在本发明实施例中,步骤203可以按照图5所示的流程执行,图5所示的流程包括:

步骤501:针对所述多个目标分区中的任一目标分区,选取该目标分区在所述场景地图中的标识点,从而获得多个目标分区的多个标识点;

步骤502:获取任意两个标识点之间的通行代价

步骤503:从所述多个目标分区中确定任务执行起点所在的目标分区为第一目标分区;

步骤504:根据任意两个标识点之间的通行代价,获得以所述第一目标分区为第一通行区域的所述多个目标分区的通行顺序。

这里继续以图4所示的多目标点所在的目标分区包括标号为1的分区,以及标号为5的分区、以及标号为6的分区为例,为叙述方便,将标号为1的分区称为分区1,将标号为5的分区称为分区5,将标号为6的分区称为分区6,那么,针对分区1、分区5、分区6中任一分区,选取该任一分区在场景地图中的标识点,其中,选取该任一分区在场景地图中的标识点的方式包括多种,这里以任一区域为分区1为例,那么,可以先确定分区1中目标点分布的中心点,那么,就可以选取该中心点与分区1中的关节点作为分区1在场景地图中的标识点,也可以先确定分区1中目标点分布的中心点之后,再确定分区1中与该中心点距离最近的节点,然后选择该节点与分区1中的关节点作为分区1在场景地图中的标识点。

同理可以分别选择出分区5和分区6在场景地图中的标识点,在选择出所有目标分区的标识点之后,由这些标识点可以生成如图6所示的新的区域间即分区之间的图,图6中标号为1的白色圆圈表征分区1,该白色圆圈可以为分区1中目标点分布的中心点或为与该中心点距离最近的节点,标号为1的灰色圆圈表征分区1的关节点;标号为5的白色圆圈表征分区5,该白色圆圈可以为分区5中目标点分布的中心点或为与该中心点距离最近的节点,标号为5的灰色圆圈表征分区1的关节点;标号为6的白色圆圈表征分区6,该白色圆圈可以为分区6中目标点分布的中心点或为与该中心点距离最近的节点。

其中,标识0表示任务执行起点,即图1所示的移动机器人所在的位置。

在本发明实施例中,可以根据图6所示的新的区域间图,计算该区域间图中任意两个标识点之间的通行代价,通行代价是指两个点之间的最短路径长度,然后,根据任意两个标识点之间的通行代价以及任务执行起点所在的目标分区为第一目标分区(即第一个任务执行的区域),可以直接采用枚举所有解空间,或者采用求解“中国邮递员问题”的方法来求解最优的区域通行顺序,该最优的区域通行顺序即为以第一目标分区为第一通行区域的所述多个目标分区的通行顺序。

步骤204:根据每个目标分区中的任意两个节点的通行代价,获得该目标分区内节点的通行顺序。

需要说明的是,步骤203和步骤204可以同时执行,即分区任务执行规划顺序可以和每个分区内的任务执行规划同步进行。

在本发明实施例中,还可以确定每个分区内节点的通行顺序,具体的可以按照图7所示的流程确定每个分区内节点的通行顺序,图7所示的流程包括:

步骤701:针对每个目标分区,确定该目标分区中目标点所在的边以及节点;

步骤702:由确定的边以及节点形成该目标区域新的子分区;

步骤703:根据所述子分区中任意两个节点的通行代价,确定所述子分区内节点的通行顺序;

其中,所述子分区内节点的通行顺序即为所述子分区对应的目标分区内节点的通行顺序。

即在本发明实施例中,针对任一个目标分区,可以先确定该目标分区中目标点所在的边以及节点,然后由目标点所在的边和节点形成该目标区域新的子分区,在次,继续以图4为例,那么在分区1中,可以根据该分区1中的目标点的分布,确定分区1中目标点所在的边以及节点,然后由确定的边以及节点形成如图8所示的子分区1(即图8中子域内1),子分区1中包括4个节点,计算该4个节点中任意两个节点之间的通行代价,也可以直接采用枚举所有解空间,或者采用求解“中国邮递员问题”的方法来求解最优的子分区内的通行顺序,从而获得子分区1中节点的通行顺序,同理,可以获得分区5对应的子分区5(即图8中子域内5)以及子分区5内节点的通行顺序,以及获得分区6对应的子分区6(即图8中子域内6)以及子分区6内节点的通行顺序。

步骤205:根据所述多个目标分区的通行顺序以及每个目标分区内节点的通行顺序,执行所述多个目标点的任务。

在本发明实施例中,可以在获得多个目标分区的通行顺序以及第一通行区域(第一个执行任务的目标分区)内节点的通行顺序之后,移动机器人就可以开始执行第一通行分区的任务,并按照该分区中节点的通行顺序,执行该分区中的目标点的任务,由于本发明实施例中,先获取的是多个目标分区的通行顺序,也即先获取了多目标点所在的多个目标分区之间的任务执行顺序,所以在执行第一通行分区的任务同时,可以按照本发明中的方法获取下一个待执行的目标分区内节点的通行顺序,即先完成区域层(分区之间)的任务规划,再对各个区域内部的子任务(分区内目标点的任务)进行规划,而且子区域的任务规划可以分时进行,实现了分时、高效、准确的全局任务规划,提高了规划效率,从而提升多目标点的执行效率。

作为一种可选的方式,在本发明实施例中,考虑到现有技术中,在对场景地图划分成多个分区时采用的方法主要包括先为场景地图每个节点指派唯一的标号,在每一步迭代中,每个节点将自己的标号更新为其邻居节点中出现次数最多的标号,若存在多个相同的最多标号,一般采取随机选择一个作为更新值,若干次迭代后密集连接的节点会收敛于同一标号,那么同一标号的节点就归为一个社区,该方法由于其在标号的更新过程中平等地对待了每一个邻居节点的标号,导致本属于不同社区间的标号很容易相互传播,从而导致划分的社区不够准确,因此,在本发明实施例中,可以按照图9所示的方式将场景地图划分成多个分区。

图9所示的流程,包括:

步骤901:为场景地图的每个节点设置唯一标号;

步骤902:从场景地图的多个节点中确定关节点,其中,关节点是指影响所述场景地图的任意两个节点的互通性的点;

步骤903:确定所述场景地图的多个节点中除去所述关节点之外的任一节点与其每一个单步邻居节点的隶属度,其中,隶属度是指相邻两个节点属于同一个分区的程度;

步骤904:针对所述场景地图的多个节点中除去所述关节点之外的任一节点,选取该节点对应的隶属度最大的单步邻居节点的标号,对该节点的标号进行更新;

步骤905:判断当次迭代更新中标号更新的节点个数是否小于阈值时,若是,则执行步骤906,否则执行步骤903;

步骤906:停止迭代更新,获取迭代更新结果;

步骤907:根据迭代更新结果,将具有相同标号的节点归为同一个分区,从而获得所述场景地图的多个分区。

即在本发明实施例中,步骤901可以与步骤902同时执行,也可以在步骤302之前或之后执行。其中,为场景地图中每个节点设置唯一标号,标号可以是字母、可以是数字等标识符号。

在本发明实施例中,可以具体采用深度优先生成树的方法,从场景地图的多个节点中确定关节点,下面,对深度优先生成树的方法进行简单说明:

深度优先生成树方法,是指从某一个顶点出发深度优先搜索遍历获取深度优先树,对于树中任一顶点v而言,其孩子节点为邻接点。由深度优先生成树可得出两类关节点的特性:

若生成树的根有两棵或两棵以上的子树,则此根顶点必为关节点。因为图中不存在连接不同自树的顶点的边,若删除此节点,则树便成为森林。

若生成树中某个非叶子顶点v,其某棵子树的根和子树中的其他节点均没有指向v的祖先的回路边,则v为关节点,因为删去v,则其子树和图的其它部分被分割开啦。

因此,对于图g=(v,e),定义遍历时的访问函数visited,并引入一个新的函数low,则由一次深度优先遍历便可获取连通图中存在的所有关节点。

其中,定义visited[v]为深度优先搜索遍历连通图时访问顶点v的次序号,low[v]定义如下:low[v]=min{visited[v],low[w],visited[k]}

其中,w是v在dfs生产树上的孩子节点,k是v在dfs生成树上由回边连接的祖先结点,(v,w)∈e,(v,k)∈e。

那么,对于某个顶点v,存在孩子结点w且low[w]≥visited[v],则该顶点v必为关节点。因为当w是v的孩子节点时,low[w]≥visited[v]就表明了w及其子孙均无指向v的祖先的回边。其中,visited[v]值即为v在深度优先生成树的前序序列的序号。

因此,在从场景地图的多个节点中确定关节点之后,可以确定场景地图的多个节点中除去关节点之外的任一节点与其每一个单步邻居节点的隶属度。

其中,隶属度是指相邻两个节点属于同一个分区的程度。

在本发明实施例中,可以通过以下公式(1)所示的隶属度函数,求取场景地图的多个节点中除去关节点之外的任一节点与其每一个单步邻居节点的隶属度:

其中,n(i)代表节点i的单步邻居节点的标签集合,d为衰减因子,取值范围为0~1,这里取0.8,d使得距离i,j越远的节点对其影响越小,m表示n(i)的元素,n表示n(j)中的元素,j表示节点i的一个单步邻居节点,n(j)表示节点j的单步邻居节点的标签集合,对于函数η(m,n),如果m与n是相同的标签则函数值为1,否则函数值为0。上述公式(1)的定义即为:如果两个节点标签相同,则为1,如果不同,则为两个节点的单步邻居的任意两两隶属度的均值,再乘以衰减系数d。

在本发明实施例中,在获得针对场景地图的多个节点中除去关节点之外的任一节点与其每一个单步邻居节点的隶属度之后,将同一个标号的单步邻居节点的隶属度进行求和,然后选择求和后的隶属度最大的标号,更新该节点,例如,节点1为场景地图的多个节点中除去关节点之外的一个节点,假设该节点1中单步邻居节点包括节点2、节点3、节点4,其中,节点1的标号为1,几点2的标号为2,节点3的标号为2,节点4的标号为4,节点1与节点2之间的隶属度0.5,节点1与节点3之间的隶属度0.5,节点1与节点4之间的隶属度0.4,由于节点2和节点3的标号相同均为标号2,所以,将节点1与节点2之间的隶属度,以及节点1与节点3之间的隶属度进行求和,得到求和后的隶属度为1,该隶属度大于节点1与节点4之间的隶属度0.4,那么,就将节点1的标号由1更新为2。

那么,按照上述方式在一次迭代更新中将场景地图中所有的节点进行了上述更新操作(有些节点更新前和更新和的标号相同)之后,判断该次迭代更新中标号发送变化的节点的个数是否小于阈值,若是,表征场景地图中的节点的标号的变化趋于稳定,此时可以结束迭代更新,并根据迭代更新结果即场景地图中的节点的标号,将具有相同标号的节点归为同一个分区,从而获得场景地图的多个分区。

若该次迭代更新中标号发送变化的节点的个数大于或等于阈值,表征场景地图中的节点的标号的变化还没有趋于稳定,此时,可以进行下一次迭代更新,即执行步骤803,直到迭代更新中标号发送变化的节点的个数小于阈值。

作为一种可选的方式,在本发明实施例中,为了便于根据分区之间的通行顺序以及各分区内节点的通行顺序执行多个目标点的任务,还可以给多个目标点的任务建立索引,假设任务规划给定的任务目标点集合为p,目标点数量为n。假设,场景地图的分区结果为s集合,s={s1,s2,s3,…,sn}。给每个任务目标点(目标点)设定如公式(2)对应属性:

首先根据任务目标点坐标,为每个任务目标分配对应的分区即任务目标点所在的目标分区的索引,即index_s的值,然后针对每一个分区,为该分区任务目标点分配在分区没的执行顺序索引index_order的值。

基于同一发明构思,本发明实施例中提供了一种多目标点的任务执行规划装置,包括:

分区单元,用于将多目标点的任务执行对应的场景地图划分成多个分区,每个分区中包括多个节点以及由相邻节点之间形成的边,节点是指所述场景地图中需要转向的点;

确定单元,用于从所述多个分区中,确定所述多个目标点所在的多个目标分区,其中,每个目标分区中的目标点分布在该分区的节点上和\或分布在边上;

获取单元,用于根据所述多个目标分区中任意两个目标分区之间的通行代价,获取所述多个目标分区的通行顺序,以及根据每个目标分区中的任意两个节点的通行代价,获得该目标分区内节点的通行顺序;

执行单元,用于根据所述多个目标分区的通行顺序以及每个目标分区内节点的通行顺序,执行所述多个目标点的任务。

可选的,所述分区单元,用于:

为所述场景地图的每个节点设置唯一标号;

从所述场景地图的多个节点中确定关节点,其中,关节点是指影响所述场景地图的任意两个节点的互通性的点;

对所述场景地图的多个节点中除去所述关节点之外的任一节点的标号进行迭代更新,并根据迭代更新结果,将具有相同标号的节点归为同一个分区,从而获得所述场景地图的多个分区。

可选的,所述分区单元,用于:

确定所述场景地图的多个节点中除去所述关节点之外的任一节点与其每一个单步邻居节点的隶属度,所述隶属度是指相邻两个节点属于同一个分区的程度;

针对所述场景地图的多个节点中除去所述关节点之外的任一节点,选取该节点对应的隶属度最大的单步邻居节点的标号,对该节点的标号进行更新;

其中,若当次迭代更新中标号更新的节点个数小于阈值时,则停止迭代更新。

可选的,所述获取单元,还用于:

针对所述多个目标分区中的任一目标分区,选取该目标分区在所述场景地图中的标识点,从而获得多个目标分区的多个标识点;

获取任意两个标识点之间的通行代价;

从所述多个目标分区中确定任务执行起点所在的目标分区为第一目标分区;

根据任意两个标识点之间的通行代价,获得以所述第一目标分区为第一通行区域的所述多个目标分区的通行顺序。

可选的,所述获取单元,还用于:

针对每个目标分区,确定该目标分区中目标点所在的边以及节点;

由确定的边以及节点形成该目标区域新的子分区;

根据所述子分区中任意两个节点的通行代价,确定所述子分区内节点的通行顺序;

其中,所述子分区内节点的通行顺序即为所述子分区对应的目标分区内节点的通行顺序。

可选的,所述获取单元,还用于:

确定该目标分区中目标点分布中心点;

选取所述中心点以及该目标区域中的关节点作为该目标分区在所述场景地图中的标识点,或者

确定该目标分区中距离所述中心点最近的节点,选取所述最近的节点以及该目标区域中的关节点作为该目标分区在所述场景地图中的标识点。

可选的,若所述多个目标分区中相邻两个目标分区之间存在连接边,则该连接边通过分布在该连接边上的目标点或由该两个目标分区之间路径最短确定的。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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