机器人路径规划方法、装置、电子设备及存储介质

文档序号:32439909发布日期:2022-12-06 21:05阅读:43来源:国知局
机器人路径规划方法、装置、电子设备及存储介质

1.本发明涉及人工智能技术领域,尤其涉及一种机器人路径规划方法、装置、电子设备及存储介质。


背景技术:

2.随着人工智能技术的发展,机器人也逐渐应用于一些复杂的工业场景中,例如工业装配。由于工作任务的复杂性,通常需要多个机器人共同协作来完成协作任务。在多机器人系统中,通常是将一组协作任务拆解为多个子任务并分配给一组机器人,以达到优化生产效率和满足操作约束的目的,这能够给企业带来非常大的生产价值。
3.然而在相关技术中,各机器人在执行协同任务的过程中,需要移动到各子任务对应的位置,并且各机器人在执行各子任务时还需要获取与子任务对应的资源,否则各子任务无法顺利执行。
4.因此,在多个机器人执行任务及获取资源时,如何对多个机器人的移动路径进行合理规划,从而提高各机器人的生产效率是目前业界亟待解决的重要课题。


技术实现要素:

5.针对现有技术存在的问题,本发明提供一种机器人路径规划方法、装置、电子设备及存储介质。
6.本发明提供一种机器人路径规划方法,包括:
7.基于至少一个协同任务,为各机器人分配目标子任务,每一个所述协同任务包括多个子任务,各所述协同任务中的目标子任务位于距离机器人的最短路径上;
8.基于每一个目标子任务,为各机器人分配目标资源,所述目标资源是距离机器人路径最短、且与所述目标子任务相匹配的资源;
9.基于所述目标子任务和所述目标资源,确定各机器人的运动路径。
10.可选地,所述基于至少一个协同任务,为各机器人分配目标子任务,包括:
11.基于各所述协同任务的笛卡尔空间位置坐标,确定各所述协同任务在任务空间中的执行顺序;
12.基于各所述协同任务在任务空间中的执行顺序,构建第一有向图,所述第一有向图包括m个表示所述协同任务的图层,每一个图层包括n个顶点,所述顶点表示当前图层对应的协同任务的子任务,每一图层的顶点与相邻图层的顶点相互连接;m、n为正整数,m、n大于等于1;
13.基于所述第一有向图,为各机器人分配所述目标子任务。
14.可选地,所述基于所述第一有向图,为各机器人分配所述目标子任务,包括:
15.针对每一个机器人,在所述第一有向图的第一个图层之前设置第一起始顶点,在第m个图层之后设置第一目标顶点,所述第一起始顶点表示机器人的初始位置坐标,所述第一目标顶点表示机器人执行完毕第m个协同任务时的位置坐标;
16.基于图搜索算法确定第一目标路径,所述第一目标路径是所述第一起始顶点与所述第一目标顶点之间的最短路径;
17.将所述第一目标路径上的顶点所对应的子任务作为目标子任务分配至机器人,并将所述第一目标路径上的顶点从所述第一有向图中删除。
18.可选地,所述基于每一个目标子任务,为各机器人分配目标资源,包括:
19.针对每一个机器人,获取各所述目标子任务的执行顺序及所述各目标子任务对应的有效资源集合;
20.基于各所述目标子任务的执行顺序和所述有效资源集合,构建第二有向图,所述第二有向图包括l个表示所述目标子任务的图层,每一个图层包括p个顶点,所述顶点表示当前图层对应的目标子任务的有效资源,每一图层的顶点与相邻图层的顶点相互连接;l、p为正整数,l、p大于等于1;
21.基于所述第二有向图,为各机器人分配所述目标资源。
22.可选地,所述基于所述第二有向图,为各机器人分配所述目标资源,包括:
23.针对每一个机器人,在所述第二有向图的第一个图层之前设置第二起始顶点,在第l个图层之后设置第二目标顶点,所述第二起始顶点表示机器人的初始位置坐标,所述第二目标顶点表示机器人执行完毕第m个目标子任务时的位置坐标;
24.基于图搜索算法确定第二目标路径,所述第二目标路径是所述第二起始顶点与所述第二目标顶点之间的最短路径;
25.将所述第二目标路径上的顶点所对应的有效资源作为目标资源分配至机器人。
26.可选地,所述基于所述目标子任务和所述目标资源,确定各机器人的运动路径,包括:
27.针对每一个机器人,基于所述第一有向图中所述目标子任务对应的顶点和所述第二有向图中所述目标资源对应的顶点,确定所述目标子任务和所述目标资源对应的多个逆向运动学解;
28.基于各所述逆向运动学解,确定所述目标子任务和所述目标资源在关节空间中对应的目标关节点;
29.基于各机器人的各所述目标关节点,调整各所述协同任务的执行顺序;基于调整后各所述协同任务的执行顺序,确定各机器人的运动路径。
30.可选地,在所述确定各机器人的运动路径之后,所述方法还包括:
31.获取每个机器人的运动自由度,将每个机器人的运动自由度相加得到总运动自由度;
32.基于所述总运动自由度,从目标关节空间内随机采样机器人无碰撞的路径点,所述目标关节空间的维度与所述总运动自由度相同;
33.基于所述无碰撞的路径点对所述运动路径进行更新。
34.本发明还提供一种机器人路径规划装置,包括:
35.第一分配模块,用于基于至少一个协同任务,为各机器人分配目标子任务,每一个所述协同任务包括多个子任务,各所述协同任务中的目标子任务位于距离机器人的最短路径上;
36.第二分配模块,用于基于每一个目标子任务,为各机器人分配目标资源,所述目标
资源是距离机器人路径最短、且与所述目标子任务相匹配的资源;
37.确定模块,用于基于所述目标子任务和所述目标资源,确定各机器人的运动路径。
38.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述机器人路径规划方法法。
39.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述机器人路径规划方法方法。
40.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述机器人路径规划方法方法。
41.本发明提供的机器人路径规划方法、装置、电子设备及存储介质,在为各机器人分配路径最短的目标子任务的同时,充分考虑了目标子任务与目标资源之间的依赖关系,即,基于每一个目标子任务,能够为各机器人分配路径最短、且与目标子任务相匹配的资源;在此基础上,基于目标子任务和目标资源,能够规划出各机器人执行协同任务的最短运动路径,进而提高了各机器人执行协同任务的效率。
附图说明
42.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1是本发明提供的机器人路径规划方法的流程示意图之一;
44.图2是本发明提供的第一有向图的示意图;
45.图3是本发明提供的第二有向图的示意图;
46.图4是本发明提供的机器人路径规划方法的流程示意图之二;
47.图5是本发明提供的机器人路径规划装置的结构示意图;
48.图6是本发明提供的电子设备的结构示意图。
具体实施方式
49.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.随着人工智能技术的发展,机器人也逐渐应用于一些复杂的工业场景中,例如工业装配。由于工作任务的复杂性,通常需要多个机器人共同协作来完成协作任务。在多机器人系统中,通常是将一组协作任务拆解为多个子任务并分配给一组机器人,以达到优化生产效率和满足操作约束的目的,这能够给企业带来非常大的生产价值。
51.然而在相关技术中,各机器人在执行协同任务的过程中,需要移动到各子任务对应的位置,并且各机器人在执行各子任务时还需要获取与子任务对应的资源,否则各子任务无法顺利执行。
52.在实际应用中,例如在工业生产的过程中,需要考虑到有些子任务之间具有先后顺序的指定,例如需要先打孔,然后才能进行拧螺栓的操作。同时,一些子任务还需要先获取相对应的资源,才能够进行。
53.例如,打5mm的螺纹,需要5mm的钻头,而如果改为打10mm的螺纹,机器人前往获取10mm的钻头。通常由于成本的限制,资源并不是无限的,在生产过程中需要对资源进行调度与分配。需要注意的是,如果不对任务分配合理的资源,任务无法进行。
54.任务与资源之间有很强的依赖关系。在资源有限和资源依赖的情况下,如果不对各机器人的移动路径进行合理规划,会导致各机器人在执行协同任务时的生产效率大打折扣。
55.基于上述技术问题,本发明提供一种机器人路径规划方法,能够规划出各机器人执行协同任务的最短运动路径,进而提高了各机器人执行协同任务的效率。
56.下面结合图1-图2描述本发明的机器人路径规划方法。
57.参见图1,图1是本发明提供的机器人路径规划方法的流程示意图之一,具体包括步骤101-步骤103:
58.步骤101、基于至少一个协同任务,为各机器人分配目标子任务,每一个所述协同任务包括多个子任务,各所述协同任务中的目标子任务位于距离机器人的最短路径上。
59.本发明的执行主体可以是具有机器人路径规划功能的任何电子设备,例如可以为智能手机、智能手表、台式电脑、手提电脑等任何一种。
60.在本实施例中,首先需要获取至少一个协同任务,其中,协同任务是指需要至少两个机器人共同完成的任务,例如工业装配、设备检修等任务。
61.然后基于至少一个协同任务,为各机器人分配目标子任务。需要说明的是,每一个协同任务中包括多个子任务,其中,各机器人的目标子任务是每一个协同任务中距离各机器人路径最短的子任务。
62.也就是说,每一个机器人都会分配到各协同任务中距离该机器人路径最短的一个目标子任务。
63.例如,协同任务1中有子任务a、子任务b、子任务c;协同任务2中有子任务d、子任务e、子任务f。
64.针对机器人r,在为机器人r分配目标任务时,需要将协同任务1中距离机器人r路径最短的子任务a以及协同任务2中距离机器人r路径最短的子任务e作为目标任务分配至机器人r。
65.步骤102、基于每一个目标子任务,为各机器人分配目标资源,所述目标资源是距离机器人路径最短、且与所述目标子任务相匹配的资源。
66.在本实施例中,各机器人分配到目标子任务时,需要利用与目标子任务相匹配的目标资源来顺利完成目标子任务。例如,机器人r在执行目标子任务“打5mm的螺纹”时,需要利用与目标子任务相匹配的目标资源“5mm的钻头”来顺利完成目标子任务。
67.因此,在为各机器人分配目标子任务的同时,还需要基于每一个目标子任务,为各机器人分配距离机器人路径最短,并且与目标子任务相匹配的目标资源,从而是各机器人能够利用目标资源顺利执行与之相匹配的目标子任务。
68.步骤103、基于所述目标子任务和所述目标资源,确定各机器人的运动路径。
69.在本实施例中,在为各机器人分配到目标子任务以及与目标子任务相匹配的目标资源之后,便需要基于目标子任务和目标资源,确定各机器人的运动路径,其中,运动路径是指各机器人完成各协同任务的最短运动路径。
70.本发明提供的机器人路径规划方法,在为各机器人分配路径最短的目标子任务的同时,充分考虑了目标子任务与目标资源之间的依赖关系,即,基于每一个目标子任务,能够为各机器人分配路径最短、且与目标子任务相匹配的资源;在此基础上,基于目标子任务和目标资源,能够规划出各机器人执行协同任务的最短运动路径,进而提高了各机器人执行协同任务的效率。
71.在本发明实施例一种可能的实现方式中,所述基于至少一个协同任务,为各机器人分配目标子任务,具体可以通过以下方式实现,具体包括步骤1)-步骤3):
72.步骤1)、基于各所述协同任务的笛卡尔空间位置坐标,确定各所述协同任务在任务空间中的执行顺序;
73.步骤2)、基于各所述协同任务在任务空间中的执行顺序,构建第一有向图,所述第一有向图包括m个表示所述协同任务的图层,每一个图层包括n个顶点,所述顶点表示当前图层对应的协同任务的子任务,每一图层的顶点与相邻图层的顶点相互连接;m、n为正整数,m、n大于等于1;
74.步骤3)、基于所述第一有向图,为各机器人分配所述目标子任务。
75.在本实施例中,每一个协同任务都需要多个机器人来共同完成,每个协同任务都可以分解为多个子任务,每一个子任务可以由一个机器人(例如机械臂)来完成。
76.在获取到至少一个协同任务之后,首先需要基于各协同任务的笛卡尔空间位置坐标,确定各协同任务在任务空间中的执行顺序。
77.需要说明的是,针对各协同任务中的每个子任务,都可以用笛卡尔空间中的一个位置坐标来表示。基于每一个子任务在笛卡尔空间中的位置坐标,可以确定出协同任务在笛卡尔空间中的位置坐标。
78.例如,针对协同任务1,用协同任务1中所有子任务在笛卡尔空间中位置坐标的加权平均值来表示协同任务1在笛卡尔空间中的位置坐标,具体可以通过以下公式(1)表示:
[0079][0080]
其中,ti表示协同任务的笛卡尔空间位置坐标;m表示协同任务中子任务的个数;j表示协同任务中的子任务;ω表示第j个协同任务所对应的权重,且0≤ωj≤1;t
ij
表示协同任务ti中第j个子任务的笛卡尔空间位置坐标。
[0081]
在获取到各协同任务的笛卡尔空间位置坐标之后,需要确定遍历所有协同任务位置坐标的最短路线,并基于该最短路线确定各协同任务在任务空间中的执行顺序。
[0082]
需要说明的是,基于短路线确定各协同任务在任务空间中的执行顺序,可以将其看作是要求解一个旅行商问题。在实际应用中,可以使用两元素优化算法(也称2-optimization算法)来求解各协同任务在任务空间中的执行顺序。
[0083]
在确定出各协同任务在任务空间中的执行顺序之后,需要基于各执行顺序,构建第一有向图。图2是本发明提供的第一有向图的示意图,参见图2所示:
[0084]
第一有向图包括m个表示协同任务的图层(每个虚线框表示一个图层,共有m个虚线框,即共有m个图层),m个图层以各协同任务的执行顺序相互连接;每一个图层包括n个顶点(即每个图层中包括顶点1、顶点2、...、顶点n),顶点表示当前图层对应的协同任务的子任务,每一图层的顶点与相邻图层的顶点相互连接;需要说明的是,当前图层的顶点与下一图层的顶点连接的边都对应有权值,权值由两顶点的欧氏距离决定。权值表示机器人从当前图层顶点对应的子任务移动到下一图层顶点对应的子任务所需要的时间,权值越大表示所需的时间越多。
[0085]
在构建完成第一有向图之后,便基于第一有向图,为各机器人分配目标子任务。
[0086]
在上述实施方式中,基于各协同任务在任务空间中的执行顺序,构建第一有向图,第一有向图可以清晰表达出各协同任务的执行顺序以及相邻协同任务的子任务之间的执行路径;在此基础上,基于第一有向图,从而可以为各机器人分配路径最短的目标子任务,进而提高了各机器人执行协同任务的效率。
[0087]
在本发明实施例一种可能的实现方式中,所述基于所述第一有向图,为各机器人分配所述目标子任务,可以通过以下方式实现,具体包括步骤a)-步骤c):
[0088]
步骤a)、针对每一个机器人,在所述第一有向图的第一个图层之前设置第一起始顶点,在第m个图层之后设置第一目标顶点,所述第一起始顶点表示机器人的初始位置坐标,所述第一目标顶点表示机器人执行完毕第m个协同任务时的位置坐标;
[0089]
步骤b)、基于图搜索算法确定第一目标路径,所述第一目标路径是所述第一起始顶点与所述第一目标顶点之间的最短路径;
[0090]
步骤c)、将所述第一目标路径上的顶点所对应的子任务作为目标子任务分配至机器人,并将所述第一目标路径上的顶点从所述第一有向图中删除。
[0091]
在本实施例中,每一个机器人有一个初始位置的坐标。在构建完成第一有向图之后,针对每一个机器人,需要在第一有向图中添加两个特殊的顶点,具体参见图2所示。
[0092]
即,在第一有向图的第一个图层之前设置第一起始顶点(即图2中所示的顶点x),在第m个图层之后设置第一目标顶点(即图2中所示顶点y),第一起始顶点表示机器人的初始位置坐标,第一目标顶点表示机器人执行完毕第m个协同任务时的位置坐标。
[0093]
然后基于图搜索算法(例如深度优先搜索算法(depth first search,dfs)、启发式搜索算法、迪杰斯特拉算法等)确定连接第一起始顶点和第一目标顶点的最短路径作为第一目标路径。
[0094]
最后,将第一目标路径上的各顶点所对应的子任务作为目标子任务分配至机器人。
[0095]
需要注意的是,为了避免并将一个目标子任务分配给多个机器人,在将第一目标路径上的顶点所对应的子任务分配至机器人之后,便将第一目标路径上的顶点从第一有向图中删除。然后针对新的机器人,重复执行步骤a)-步骤c),从而使每个机器人都能够分配到距离各自路径最短的目标子任务。同时,在将目标子任务分配至各机器人之后,还需要对目标子任务的分配方式进行检查,若如果存在冲突,则对分配方式进行相应地调整。
[0096]
在上述实施方式中,针对每一个机器人,可以在第一有向图中清晰的确定出每一个机器人从起始位置开始执行第一个子任务到执行最后一个子任务的所有路径;然后基于图搜索算法能够确定出第一起始顶点与第一目标顶点之间的最短路径,即,能够确定出每
一个机器人从起始位置开始执行第一个子任务到执行最后一个子任务的最短路径,进而提高了各机器人执行协同任务的效率。
[0097]
可选地,在本发明实施例一种可能的实现方式中,所述基于每一个目标子任务,为各机器人分配目标资源,可以通过以下步骤实现,具体包括步骤(1)-步骤(3):
[0098]
步骤(1)、针对每一个机器人,获取各所述目标子任务的执行顺序及所述各目标子任务对应的有效资源集合;
[0099]
步骤(2)、基于各所述目标子任务的执行顺序和所述有效资源集合,构建第二有向图,所述第二有向图包括l个表示所述目标子任务的图层,每一个图层包括p个顶点,所述顶点表示当前图层对应的目标子任务的有效资源,每一图层的顶点与相邻图层的顶点相互连接;l、p为正整数,l、p大于等于1;
[0100]
步骤(3)、基于所述第二有向图,为各机器人分配所述目标资源。
[0101]
在本实施例中,当一个机器人在完成一个目标子任务之后,前往执行下一个目标子任务的情况下,必须先获取执行下一个目标子任务所要求的资源。
[0102]
假设机器人当前获取的资源为gc,下一个目标子任务要求的资源为gn,由此产生的资源切换带来的时间开销用t(gc,gn)来表示,资源分配的目标是给每一个机器人对应的目标子任务分配一个合适的目标资源保证其能够执行,并且令资源切换带来的时间开销最小。
[0103]
因此,在为各机器人分配目标任务的同时,还需要为各机器人分配与目标任务相匹配且距离各机器人路径最短的目标资源。
[0104]
具体地,首先需要针对每一个机器人,获取各目标子任务的执行顺序及各目标子任务对应的有效资源集合,其中,各目标子任务的执行顺序可以基于第一有向图获取;有效资源是指在工作空间中能够保障一个目标子任务完成的资源,例如,一个目标子任务为“在木板上打5mm的螺纹”,则该目标子任务对应的有效资源为“木板”、“5mm的钻头”;相应地,各目标子任务对应的有效资源集合是指在工作空间中能够保障一个目标子任务完成的所有资源。
[0105]
也就是说,对于单个机器人分配到的各目标子任务,从工作空间中存在的资源中选出能够保障该目标子任务完成的有效资源,作为该子任务的有效资源集合。如果该资源已经被所属协同任务的其他子任务占有,该资源不可以被视为有效资源。
[0106]
针对每一个机器人,在获取到各目标子任务的执行顺序及各目标子任务对应的有效资源集合之后,便基于各目标子任务的执行顺序和有效资源集合,构建第二有向图,图3是本发明提供的第二有向图的示意图,参见图3所示:
[0107]
第二有向图包括l个表示目标子任务的图层(每个虚线框表示一个图层,共有l个虚线框,即共有l个图层),l个图层以各目标子任务的执行顺序相互连接;每一个图层包括p个顶点(即每个图层中包括顶点1、顶点2、...、顶点p),顶点表示当前图层对应的目标子任务的有效资源,每一图层的顶点与相邻图层的顶点相互连接;需要说明的是,当前图层的顶点与下一图层的顶点连接的边都对应有权值,权值由两顶点的欧氏距离决定。权值表示机器人从当前图层顶点对应的有效资源切换到下一图层顶点对应的有效资源所需要的时间,权值越大表示所需的时间越多。
[0108]
在构建完成第二有向图之后,便基于第二有向图,为各机器人分配目标资源。
[0109]
在上述实施方式中,基于各目标子任务的执行顺序和有效资源集合,构建第二有向图,第二有向图可以清晰表达出每一个机器人对应的各目标子任务的执行顺序以及相邻目标子任务之间获取各有效资源的路径;在此基础上,充分考虑了目标子任务与目标资源之间的依赖关系,并基于第二有向图,可以为各机器人分配路径最短、且与目标子任务相匹配的目标资源,进而提高了各机器人执行协同任务的效率。
[0110]
在本发明实施例一种可能的实现方式中,所述基于所述第二有向图,为各机器人分配所述目标资源,具体可以通过以下步骤实现,具体包括步骤(a)-步骤(c):
[0111]
步骤(a)、针对每一个机器人,在所述第二有向图的第一个图层之前设置第二起始顶点,在第l个图层之后设置第二目标顶点,所述第二起始顶点表示机器人的初始位置坐标,所述第二目标顶点表示机器人执行完毕第m个目标子任务时的位置坐标;
[0112]
步骤(b)、基于图搜索算法确定第二目标路径,所述第二目标路径是所述第二起始顶点与所述第二目标顶点之间的最短路径;
[0113]
步骤(c)、将所述第二目标路径上的顶点所对应的有效资源作为目标资源分配至机器人。
[0114]
在本实施例中,每一个机器人有一个初始位置的坐标。在构建完成第二有向图之后,针对每一个机器人,需要在第二有向图中添加两个特殊的顶点,具体参见图3所示。
[0115]
即,在第二有向图的第一个图层之前设置第二起始顶点(即图3中所示的顶点s),在第l个图层之后设置第二目标顶点(即图3中所示顶点e),第二起始顶点表示机器人的初始位置坐标,第二目标顶点表示机器人执行完毕第l个协同任务时的位置坐标。
[0116]
然后基于图搜索算法(例如dfs算法、启发式搜索算法、迪杰斯特拉算法等)确定连接第二起始顶点和第二目标顶点的最短路径作为第一目标路径。
[0117]
最后,将第二目标路径上的各顶点所对应的有效资源作为目标资源分配至机器人。
[0118]
需要注意的是,为了避免并将一个目标资源分配给多个机器人,在将第二目标路径上的顶点所对应的有效资源分配至机器人之后,便将第二目标路径上的顶点从第二有向图中删除。然后针对新的机器人,重复执行步骤(a)-步骤(c),从而使每个机器人都能够分配到距离各自路径最短、且与目标子任务相匹配的目标资源。
[0119]
在上述实施方式中,针对每一个机器人,可以在第二有向图中清晰的确定出每一个机器人从起始位置获取第一个有效资源到获取最后一个有效资源的所有路径;然后基于图搜索算法能够确定出第二起始顶点与第二目标顶点之间的最短路径,即,能够确定出每一个机器人从起始位置开始获取第一个有效资源到获取最后一个有效资源的最短路径,从而使每个机器人都能够分配到距离各自路径最短、且与目标子任务相匹配的目标资源,进而可以为各进而提高了各机器人执行协同任务的效率。
[0120]
可选地,在本发明实施例一种可能的实现方式中,所述基于所述目标子任务和所述目标资源,确定各机器人的运动路径,具体可以通过以下步骤实现,具体包括步骤[1]-步骤[3]:
[0121]
步骤[1]、针对每一个机器人,基于所述第一有向图中所述目标子任务对应的顶点和所述第二有向图中所述目标资源对应的顶点,确定所述目标子任务和所述目标资源对应的多个逆向运动学解;
[0122]
步骤[2]、基于各所述逆向运动学解,确定所述目标子任务和所述目标资源在关节空间中对应的目标关节点;
[0123]
步骤[3]、基于各机器人的各所述目标关节点,调整各所述协同任务的执行顺序;基于调整后各所述协同任务的执行顺序,确定各机器人的运动路径。
[0124]
在本实施例中,在为各机器人分配完成目标子任务以及目标资源之后,需要基于目标子任务以及目标资源,为每一个机器人规划执行协同任务的最短运动路径。
[0125]
具体地,针对每一个机器人,首先需要基于第一有向图中目标子任务对应的顶点和第二有向图中目标资源对应的顶点,确定目标子任务和目标资源对应的多个逆向运动学解,其中,逆向运动学解是指已知机器人末端的位置、姿态以及所有连杆的几何参数下,求解关节的位置。
[0126]
在实际应用中,对于串联结构的工业机器人来说,虽然对于机器人的任何一组关节坐标,都具有确定的机器人末端的位姿与之对应,但对于不同的两组关节坐标,可能对应相同的末端位姿。机器人的逆向运动学,描述的就是机器人的末端笛卡尔空间到关节空间的映射关系。
[0127]
通常,一个6自由度的工业机器人,其逆向运动学解最多有8个。在优化生产效率时,必须要考虑到机器人的多个逆向运动学的解对。机器人的逆向运动学的一个解对应关节空间中的一个关节点,也称机器人的关节配置。
[0128]
也就是说,在本实施例中,针对每一个机器人分配的目标子任务和目标资源,需要求出其对应的所有逆向运动学解,即,需要求出目标子任务和目标资源在关节空间中所有的点(关节配置)。
[0129]
在本实施例中,确定目标子任务和目标资源对应的逆向运动学解的方式有多种,例如雅克比求逆法(jacobian inverse),具体是通过计算机器人机械臂运动学雅克比矩阵。将关节速度映射到任务空间速度。然后,通过计算雅克比伪逆矩阵将机械臂末端执行器位姿误差(即任务误差)映射到关节位置,进而对关节位置矢量进行迭代更新以减小任务误差;又例如雅可比矩阵转置法(jacobian transpose),本发明对逆向运动学解的求解方式不做限定。
[0130]
在求出目标子任务和目标资源在关节空间中所有的关节配置之后,还需要确定出每一个机器人的最优关节配置,即目标关节配置。
[0131]
具体地,需要基于目标子任务以及目标资源对应的所有逆向运动学解,求解出目标子任务和目标资源在关节空间中所有的关节配置对应的最优性度量函数值,进而确定出每一个机器人的目标关节配置,其中,最优性度量函数值具体可以通过以下公式(2)计算得到:
[0132][0133]
其中,q表示每一个机器人的目标子任务和目标资源的逆向运动学解在关节空间中对应的点(即关节配置);qj表示每一个机器人的目标子任务和目标资源的第j个逆向运动学解在关节空间中对应的点;q0表示机器人初始位置对应的关节空间的点;ωj为非负数,表示对应关节的权重,其值可以为0,这时对应关节被认为是不需考虑的关节;dof表示机器
人运动自由度。
[0134]
最优性度量函数φ的值是非正的,拥有更接近0的φ值的关节配置被认为是更优的。因此,需要求解出目标子任务和目标资源在关节空间中所有的关节配置对应的最优性度量函数值,进而将最优性度量函数值最接近于0的关节配置作为最优关节配置,即目标关节配置。
[0135]
在确定出目标子任务和目标资源在关节空间中对应的目标关节点之后,便基于各机器人的各目标关节点,调整各协同任务的执行顺序,并基于调整后各协同任务的执行顺序,确定各机器人的运动路径。
[0136]
在实际应用中,基于调整后各协同任务的执行顺序,确定各机器人的运动路径,可以将其看作是要求解一个旅行商问题。在实际应用中,可以使用两元素优化算法(也称2-optimization算法)来求解关节空间里的协同任务的最优执行顺序,并进行调整,最后将协同任务的最优执行顺序作为各机器人的运动路径。
[0137]
在上述实施方式中,针对每一个机器人,通过确定目标子任务和目标资源对应的多个逆向运动学解,从而可以确定出每个机器人在关节空间中的目标关节点,从而可以实现在关节空间对每个机器人执行协同任务的顺序进行优化,得到每个机器人在关节空间中协同任务的最优执行顺序,并进行调整,最后将协同任务的最优执行顺序作为各机器人的运动路径,进而能够规划出各机器人执行协同任务的最短运动路径,提高了各机器人执行协同任务的效率。
[0138]
可选地,在本发明实施例一种可能的实现方式中,在所述确定各机器人的运动路径之后,各机器人有可能会在各自的运动路径上发生碰撞。因此,为了避免各机器人发生碰撞,还需要执行以下步骤,具体包括步骤[a]-步骤[c]:
[0139]
步骤[a]、获取每个机器人的运动自由度,将每个机器人的运动自由度相加得到总运动自由度;
[0140]
步骤[b]、基于所述总运动自由度,从目标关节空间内随机采样机器人无碰撞的路径点,所述目标关节空间的维度与所述总运动自由度相同;
[0141]
步骤[c]、基于所述无碰撞的路径点对所述运动路径进行更新。
[0142]
在本实施例中,为了避免各机器人在其各自的运动路径上发生碰撞,需要将各机器人看做是一个整体,并获取每个机器人的运动自由度,将每个其人其的运动自由度相加得到总运动自由度。
[0143]
基于总运动自由度,可以在一个更高维度的目标关节空间内随机采样机器人无碰撞的路径点,可以理解的是,由于目标关节空间是基于总运动自由度得到的,因此,目标关节空间的维度与总运动自由度相同。
[0144]
在从目标关节空间内随机采样机器人无碰撞的路径点的同时,基于各机器人的运动路径构建运动路线图,将随机采样的各机器人无碰撞的路径点加入到运动路线图中。
[0145]
在将所有无碰撞的路径点加入到运动路线图之后,生成目标运动路线图。针对每一个机器人,确定该机器人在目标运动路线图中的起始路径点以及结束路径点,然后利用图搜索算法从目标运动路线图中找从其实路径点到结束路径点的最短路径作为该机器人的更新运动路径,进而实现基于无碰撞的路径点对各机器人的运动路径进行更新。
[0146]
需要注意的是,在各机器人同时运动发生碰撞的情况下,通过引入等待时间让其
中某一机器人进行等待,从而可以实现对各机器人的运动路径进行协调,以此来避免各机器人发生碰撞。
[0147]
在上述实施方式中,通过将每个机器人的自由度相加,将多机器人的路径规划问题看作是一个多维运动规划问题,从而可以在一个更高维度的目标关节空间内得到各机器人无碰撞的路径点,基于各无碰撞的路径点对各机器人的运动路径进行更新,从而能够规划各机器人执行协同任务的最短运动路径,同时也能够避免各机器人发生碰撞。
[0148]
图4是本发明提供的机器人路径规划方法的流程示意图之二,具体包括步骤401-步骤411:
[0149]
步骤401、基于各协同任务的笛卡尔空间位置坐标,确定各协同任务在任务空间中的执行顺序。
[0150]
步骤402、基于各协同任务在任务空间中的执行顺序,构建第一有向图;第一有向图包括m个表示协同任务的图层,每一个图层包括n个顶点,顶点表示当前图层对应的协同任务的子任务,每一图层的顶点与相邻图层的顶点相互连接;m、n为正整数,m、n大于等于1。
[0151]
步骤403、基于第一有向图,为各机器人分配目标子任务。
[0152]
步骤404、针对每一个机器人,获取各目标子任务的执行顺序及各目标子任务对应的有效资源集合。
[0153]
步骤405、基于各目标子任务的执行顺序和有效资源集合,构建第二有向图,第二有向图包括l个表示目标子任务的图层,每一个图层包括p个顶点,顶点表示当前图层对应的目标子任务的有效资源,每一图层的顶点与相邻图层的顶点相互连接;l、p为正整数,l、p大于等于1。
[0154]
步骤406、基于第二有向图,为各机器人分配所述目标资源。
[0155]
步骤407、针对每一个机器人,基于第一有向图中目标子任务对应的顶点和第二有向图中目标资源对应的顶点,确定目标子任务和目标资源对应的多个逆向运动学解。
[0156]
步骤408、基于各逆向运动学解,确定目标子任务和目标资源在关节空间中对应的目标关节点。
[0157]
步骤409、基于各机器人的各目标关节点,调整各协同任务的执行顺序;基于调整后各协同任务的执行顺序,确定各机器人的运动路径。
[0158]
步骤410、获取每个机器人的运动自由度,将每个机器人的运动自由度相加得到总运动自由度;基于总运动自由度,从目标关节空间内随机采样机器人无碰撞的路径点,目标关节空间的维度与所述总运动自由度相同。
[0159]
步骤411、基于无碰撞的路径点对运动路径进行更新。
[0160]
下面对本发明提供的机器人路径规划装置进行描述,下文描述的机器人路径规划装置与上文描述的机器人路径规划方法可相互对应参照。图5是本发明提供的机器人路径规划装置500的结构示意图。
[0161]
第一分配模块501,用于基于至少一个协同任务,为各机器人分配目标子任务,每一个所述协同任务包括多个子任务,各所述协同任务中的目标子任务位于距离机器人的最短路径上;
[0162]
第二分配模块502,用于基于每一个目标子任务,为各机器人分配目标资源,所述目标资源是距离机器人路径最短、且与所述目标子任务相匹配的资源;
[0163]
确定模块503,用于基于所述目标子任务和所述目标资源,确定各机器人的运动路径。
[0164]
本发明提供的机器人路径规划装置,在为各机器人分配路径最短的目标子任务的同时,充分考虑了目标子任务与目标资源之间的依赖关系,即,基于每一个目标子任务,能够为各机器人分配路径最短、且与目标子任务相匹配的资源;在此基础上,基于目标子任务和目标资源,能够规划出各机器人执行协同任务的最短运动路径,进而提高了各机器人执行协同任务的效率。
[0165]
可选地,第一分配模块501,进一步用于:
[0166]
基于各所述协同任务的笛卡尔空间位置坐标,确定各所述协同任务在任务空间中的执行顺序;
[0167]
基于各所述协同任务在任务空间中的执行顺序,构建第一有向图,所述第一有向图包括m个表示所述协同任务的图层,每一个图层包括n个顶点,所述顶点表示当前图层对应的协同任务的子任务,每一图层的顶点与相邻图层的顶点相互连接;m、n为正整数,m、n大于等于1;
[0168]
基于所述第一有向图,为各机器人分配所述目标子任务。
[0169]
可选地,第一分配模块501,进一步用于:
[0170]
针对每一个机器人,在所述第一有向图的第一个图层之前设置第一起始顶点,在第m个图层之后设置第一目标顶点,所述第一起始顶点表示机器人的初始位置坐标,所述第一目标顶点表示机器人执行完毕第m个协同任务时的位置坐标;
[0171]
基于图搜索算法确定第一目标路径,所述第一目标路径是所述第一起始顶点与所述第一目标顶点之间的最短路径;
[0172]
将所述第一目标路径上的顶点所对应的子任务作为目标子任务分配至机器人,并将所述第一目标路径上的顶点从所述第一有向图中删除。
[0173]
可选地,第二分配模块502,进一步用于:
[0174]
针对每一个机器人,获取各所述目标子任务的执行顺序及所述各目标子任务对应的有效资源集合;
[0175]
基于各所述目标子任务的执行顺序和所述有效资源集合,构建第二有向图,所述第二有向图包括l个表示所述目标子任务的图层,每一个图层包括p个顶点,所述顶点表示当前图层对应的目标子任务的有效资源,每一图层的顶点与相邻图层的顶点相互连接;l、p为正整数,l、p大于等于1;
[0176]
基于所述第二有向图,为各机器人分配所述目标资源。
[0177]
可选地,第二分配模块502,进一步用于:
[0178]
针对每一个机器人,在所述第二有向图的第一个图层之前设置第二起始顶点,在第l个图层之后设置第二目标顶点,所述第二起始顶点表示机器人的初始位置坐标,所述第二目标顶点表示机器人执行完毕第m个目标子任务时的位置坐标;
[0179]
基于图搜索算法确定第二目标路径,所述第二目标路径是所述第二起始顶点与所述第二目标顶点之间的最短路径;
[0180]
将所述第二目标路径上的顶点所对应的有效资源作为目标资源分配至机器人。
[0181]
可选地,确定模块503,进一步用于:
[0182]
针对每一个机器人,基于所述第一有向图中所述目标子任务对应的顶点和所述第二有向图中所述目标资源对应的顶点,确定所述目标子任务和所述目标资源对应的多个逆向运动学解;
[0183]
基于各所述逆向运动学解,确定所述目标子任务和所述目标资源在关节空间中对应的目标关节点;
[0184]
基于各机器人的各所述目标关节点,调整各所述协同任务的执行顺序;基于调整后各所述协同任务的执行顺序,确定各机器人的运动路径。
[0185]
可选地,确定模块503,进一步用于:
[0186]
获取每个机器人的运动自由度,将每个机器人的运动自由度相加得到总运动自由度;
[0187]
基于所述总运动自由度,从目标关节空间内随机采样机器人无碰撞的路径点,所述目标关节空间的维度与所述总运动自由度相同;
[0188]
基于所述无碰撞的路径点对所述运动路径进行更新。
[0189]
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行机器人路径规划方法,该方法包括:基于至少一个协同任务,为各机器人分配目标子任务,所述协同任务包括多个子任务,各所述协同任务中的目标子任务位于距离机器人的最短路径上;基于每一个目标子任务,为各机器人分配目标资源,所述目标资源是距离机器人路径最短、且与所述目标子任务相匹配的资源;基于所述目标子任务和所述目标资源,确定各机器人的运动路径。
[0190]
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0191]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的机器人路径规划方法,该方法包括:基于至少一个协同任务,为各机器人分配目标子任务,所述协同任务包括多个子任务,各所述协同任务中的目标子任务位于距离机器人的最短路径上;基于每一个目标子任务,为各机器人分配目标资源,所述目标资源是距离机器人路径最短、且与所述目标子任务相匹配的资源;基于所述目标子任务和所述目标资源,确定各机器人的运动路径。
[0192]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的机器人路径规划方法方法,该方法包括:基于至少一个协同任务,为各机器人分配目标子任务,所述协同任务包括
多个子任务,各所述协同任务中的目标子任务位于距离机器人的最短路径上;基于每一个目标子任务,为各机器人分配目标资源,所述目标资源是距离机器人路径最短、且与所述目标子任务相匹配的资源;基于所述目标子任务和所述目标资源,确定各机器人的运动路径。
[0193]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0194]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0195]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1