机器人叉取托盘的路径规划方法、装置、设备和介质与流程

未命名 10-08 阅读:64 评论:0


1.本发明涉及路径规划技术领域,尤其涉及一种机器人叉取托盘的路径规划方法、装置、设备和介质。


背景技术:

2.自主移动机器人是一种工业机器人,可以用来运输托盘等物料,随着信息技术的进步和自动化水平的成熟,机器人被广泛应用在搬运、堆垛、物流等各个领域。
3.机器人在叉取托盘前需要规划从机器人当前位置到托盘位置之间的行驶路径,现有技术中一般采取根据障碍物信息直接规划出机器人的最短行驶路径。
4.但是规划出的机器人行驶路径一般为平滑曲线路径,曲线路径的跟随度较低,导致机器人行驶需要频繁变换行驶角度。


技术实现要素:

5.本发明提供了一种机器人叉取托盘的路径规划方法、装置、设备和介质,以解决机器人行驶路径的跟随度较低的问题,提高机器人叉取托盘过程中的行驶效率。
6.根据本发明的一方面,提供了一种机器人叉取托盘的路径规划方法,包括:
7.确定机器人对托盘叉取进行路径规划时的当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息;
8.根据所述当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息,确定机器人从当前节点到终止节点的直线行驶路径的障碍物碰撞检测结果;
9.若存在障碍物碰撞,则根据机器人的当前节点位姿信息确定至少两个候选下一节点方向;
10.根据机器人自旋角度代价和终止节点角度偏差代价对所述至少两个候选下一节点方向进行排序;其中,所述机器人自旋角度代价根据机器人的当前节点位姿信息与所述候选下一节点方向之间的旋转角度差进行确定,所述终止节点角度偏差代价根据机器人的终止节点位姿信息与所述候选下一节点方向之间的角度偏差进行确定;
11.基于方向排序结果,分别根据机器人从所述当前节点沿着所述候选下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息,直至目标下一节点与所述终止节点重合完成机器人叉取托盘的路径规划。
12.根据本发明的另一方面,提供了一种机器人叉取托盘的路径规划装置,包括:
13.信息确定模块,用于确定机器人对托盘叉取进行路径规划时的当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息;
14.第一路径碰撞检测模块,用于根据所述当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息,确定机器人从当前节点到终止节点的直线行驶路径的障碍物碰撞检测结果;
15.候选节点方向确定模块,用于若存在障碍物碰撞,则根据机器人的当前节点位姿
信息确定至少两个候选下一节点方向;
16.候选节点方向排序模块,用于根据机器人自旋角度代价和终止节点角度偏差代价对所述至少两个候选下一节点方向进行排序;其中,所述机器人自旋角度代价根据机器人的当前节点位姿信息与所述候选下一节点方向之间的旋转角度差进行确定,所述终止节点角度偏差代价根据机器人的终止节点位姿信息与所述候选下一节点方向之间的角度偏差进行确定;
17.第二路径碰撞检测模块,用于基于方向排序结果,分别根据机器人从所述当前节点沿着所述候选下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息,直至目标下一节点与所述终止节点重合完成机器人叉取托盘的路径规划。
18.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
19.至少一个处理器;以及
20.与所述至少一个处理器通信连接的存储器;其中,
21.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的机器人叉取托盘的路径规划方法。
22.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的机器人叉取托盘的路径规划方法。
23.本发明实施例的技术方案,通过规划机器人从当前节点到终止节点的直线行驶路径,解决了机器人对行驶路径跟随度低的问题;并且在确定机器人在行驶路径的中间节点时引入机器人自旋角度代价和终止节点角度偏差代价,提高了机器人规划路径的行驶效率。
24.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
25.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1是根据本发明实施例一提供的一种机器人叉取托盘的路径规划方法的流程图;
27.图2是根据本发明实施例二提供的另一种机器人叉取托盘的路径规划方法的流程图;
28.图3是机器人叉取托盘的路径规划结果的示意图;
29.图4是根据本发明实施例三提供的一种机器人叉取托盘的路径规划装置的结构示意图;
30.图5是实现本发明实施例的机器人叉取托盘的路径规划方法的电子设备的结构示意图。
具体实施方式
31.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
32.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“候选”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
33.实施例一
34.图1为本发明实施例一提供了一种机器人叉取托盘的路径规划方法的流程图,本实施例可适用于在窄空间下机器人对托盘进行叉取时确定行驶路径的情况,该方法可以由机器人叉取托盘的路径规划装置来执行,该机器人叉取托盘的路径规划装置可以采用硬件和/或软件的形式实现,该机器人叉取托盘的路径规划装置可配置于机器人或服务器等具有通信和计算能力的设备中。如图1所示,该方法包括:
35.s110、确定机器人对托盘叉取进行路径规划时的当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息。
36.其中,机器人的当前节点位姿信息包括当前节点位置信息和当前节点朝向角,机器人的终止节点位姿信息包括终止节点位置信息和终止节点朝向角,障碍物凸包信息是指通过机器人上的感知传感器获取到的障碍物边界信息,例如通过雷达传感器获取到的障碍物三维点云边界数据为障碍物凸包信息。
37.具体的,当前节点位姿信息可以根据机器人的起点位置和姿态进行确定,终止节点位姿信息可以根据托盘摆放位置和姿态进行确定。示例性的,在规划路径之前,根据机器人停放位置点和停放姿态确定当前节点位姿信息,在规划路径过程中,根据机器人的当前行驶路径确定当前节点位置点和行驶方向不断更新当前节点位姿信息。由于机器人在叉取托盘时只能从托盘的固定方向进行叉取,才能保证机器人叉取托盘的稳固性,因此机器人的终止节点位姿信息需要根据机器人完全叉取托盘时的方向和托盘位置进行确定。例如,为了提高路径规划效率,本发明实施例中的位姿信息采用在机器人行驶空间的鸟瞰图视角下进行确定,避免三维路径规划的低效率。
38.s120、根据当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息,确定机器人从当前节点到终止节点的直线行驶路径的障碍物碰撞检测结果。
39.在规划路径过程中,每次对当前节点的后续路径进行规划时,首先确定当前节点和终止节点的直线行驶路径是否可以直接行驶,即对该当前节点和终止节点的直线行驶路径进行障碍物碰撞检测,若该直线行驶路径上不存在障碍物,则直接采用该直线行驶路径作为路径规划结果。若存在障碍物,则确定当前节点和终止节点之间的中间节点。
40.示例性的,确定当前节点和终止节点的直线行驶路径是否存在与任一障碍物凸包信息之间的距离小于预设避障距离,若存在,则确定机器人按照该直线行驶路径行驶会发生障碍物碰撞风险;若与所有障碍物凸包信息之间的距离均大于或等于预设避障距离,则确定不存在障碍物碰撞风险。
41.由于机器人所采用的控制方式是直线行驶配合自旋,因此通过确定当前节点和终止节点是否可以直接直线行驶,以及后续所规划的路径为直线路径,可以提高机器人规划路径的行驶效率。
42.s130、若存在障碍物碰撞,则根据机器人的当前节点位姿信息确定至少两个候选下一节点方向。
43.若机器人从当前节点到终止节点的直线行驶路径上存在障碍物碰撞,则机器人需要在当前节点和终止节点之间确定中间节点,以使得机器人通过当前节点直线行驶到中间节点后,再通过中间节点行驶到终止节点,以避开障碍物碰撞。具体的,机器人需要确定前往下一节点的候选下一方向,例如根据当前节点位姿信息中的当前节点朝向角向左或向右偏移预设角度为候选下一节点方向,其中,预设角度可以是一个或多个。
44.s140、根据机器人自旋角度代价和终止节点角度偏差代价对至少两个候选下一节点方向进行排序。
45.其中,机器人自旋角度代价根据机器人的当前节点位姿信息与候选下一节点方向之间的旋转角度差进行确定,终止节点角度偏差代价根据机器人的终止节点位姿信息与候选下一节点方向之间的角度偏差进行确定。
46.由于机器人按照不同候选下一节点方向行驶会导致机器人与终止节点之间的距离变化不同,进而导致规划路径的行驶效率不同;并且机器人按照不同候选下一节点方向行驶时的旋转角度也不同,进而导致机器人的行驶效率也不同。
47.因此,本发明实施例中结合机器人自旋角度代价和终止节点角度偏差代价对候选下一节点方向进行选择,提高对下一节点方向确定的准确度,进而提高规划路径的行驶效率。
48.具体的,机器人自旋角度代价表征了机器人从当前节点的朝向角旋转到候选下一节点方向的旋转角度代价,通过该旋转角度代价对候选下一节点方向进行排序避免机器人在相邻两个节点之间变化直线行驶路径时需要旋转过多角度;终止节点角度偏差代价表征了候选下一节点方向与机器人的终止节点的朝向角之间的角度偏差代价,该角度偏差代价表征了该候选下一节点与终止节点之间的偏离度,以避免以偏离终止节点过多角度进行规划路径,使得通过下一节点的行驶路径可以更快接近终止节点。
49.在一个可行的实施例中,机器人自旋角度代价的计算公式如下:
50.k_turn=1+abs(d
yaw
)/π;
51.其中,k_turn表示机器人自旋角度代价,d
yaw
表示机器人的当前节点位姿信息与候选下一节点方向之间的旋转角度差;
52.d
yaw
=mod(yaw-yaw_tmp*2*π);
53.其中,yaw表示当前节点位姿信息中的当前节点朝向角,yaw_tmp表示候选下一节点方向;
54.终止节点角度偏差代价的计算公式如下:
55.k_diff=1+(abs(d
theta
/π))*dg/kd;
56.其中,k_diff表示终止节点角度偏差代价,d
theta
表示机器人的终止节点位姿信息中的终止节点朝向角与候选下一节点方向之间的角度偏差,dg表示机器人的终止节点位姿信息中的终止节点位置信息与候选下一节点方向对应的候选下一节点位置信息之间的距离,kd表示预设距离缩放系数。
57.具体的,分别确定机器人当前节点朝向角与各个候选下一节点方向之间的旋转角度差,通过mod取模操作,保证旋转角度差范围在[-π,π]。预设距离缩放系数可以根据实际行驶区域进行确定,在此并不限制,例如可以设置为2米。
[0058]
示例性的,确定总代价计算公式f=a*k_turn+b*k_diff,其中,a和b为机器人自旋角度代价和终止节点角度偏差代价的影响参数,根据机器人的机械属性和托盘叉取场景进行预先确定。按照总代价计算公式分别确定每个候选下一节点方向的总代价参数,并按照总代价参数的大小对候选下一节点方向进行升序排序。
[0059]
s150、基于方向排序结果,分别根据机器人从当前节点沿着候选下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息,直至目标下一节点与终止节点重合完成机器人叉取托盘的路径规划。
[0060]
按照方向排序结果,依次确定每个候选下一节点方向的直线行驶路径上是否存在障碍物碰撞风险,若存在,则根据排序结果继续确定下一个候选下一节点方向,若不存在,则确定该候选下一节点方向为目标下一节点方向。
[0061]
示例性的,基于方向排序结果依次遍历候选下一节点方向,在遍历过程中,确定机器人从当前节点沿着候选下一节点方向的预设长度直线行驶路径的障碍物碰撞检测结果,若存在障碍物碰撞,则继续对候选下一节点方向进行遍历;若不存在,则将从当前节点沿着候选下一节点方向的预设长度的位置确定为目标下一节点位置信息,并将该候选下一节点方向设置为机器人的目标下一节点朝向角,即旋转到候选下一节点方向进行直线行驶。
[0062]
从候选下一节点方向中确定目标下一节点方向,并确定目标下一节点位姿信息后,将目标下一节点位姿信息作为当前节点位姿信息,首先根据当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息,确定机器人从更新后的当前节点到终止节点的直线行驶路径的障碍物碰撞检测结果,再根据障碍物碰撞检测结果确定后续规划路径,直至路径到达终止节点完成路径规划。
[0063]
本发明实施例,通过规划机器人从当前节点到终止节点的直线行驶路径,解决了机器人对行驶路径跟随度低的问题;并且在确定机器人在行驶路径的中间节点时引入机器人自旋角度代价和终止节点角度偏差代价,提高了机器人规划路径的行驶效率。
[0064]
实施例二
[0065]
图2为本发明实施例二提供的一种机器人叉取托盘的路径规划方法的流程图,本实施例对上述实施例进行进一步的细化。如图2所示,该方法包括:
[0066]
s210、确定机器人对托盘叉取进行路径规划时的当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息。
[0067]
在一个可行的实施例中,确定机器人对托盘叉取进行路径规划时的终止节点位姿信息,包括:
[0068]
获取托盘位姿信息,并根据托盘位姿信息确定机器人终点叉取位姿信息;其中,机
器人终点叉取位姿信息包括机器人叉取朝向角和机器人终点叉取位置信息;
[0069]
根据机器人终点叉取位置信息向机器人叉取朝向角的方向延伸预设叉取长度的位置为路径规划的终止节点位置信息;
[0070]
根据终止节点位置信息和机器人叉取朝向角确定终止节点位姿信息。
[0071]
由于机器人在叉取托盘时,需要在托盘固定方向才能完全叉取托盘,因此为了提高机器人根据规划的路径行驶到托盘附近时对托盘的叉取效率,避免行驶到托盘附件机器人还需要调整自身角度和位置才能完成叉取,本实施例将机器人进行路径规划的终止节点设置在托盘叉取方向的直线延伸线上,使得机器人按照终止节点进行规划路径时,可以实现机器人行驶到路径终点时,可以直接以在终点的朝向角对托盘进行叉取,提高在窄路场景下路径规划失败的问题。
[0072]
具体的,托盘位姿信息中包括托盘位置信息和托盘姿态信息,根据托盘姿态信息可以确定机器人可以实现完全叉取托盘时的机器人终点叉取位姿信息。以机器人终点叉取位置信息为起点,向机器人叉取朝向角方向直线延伸预设叉取长度的位置为终止节点位置信息。其中,预设叉取长度根据机器人的叉臂长度进行确定,保证机器人在该延伸点自旋时不会碰到托盘。
[0073]
如图3所示为机器人叉取托盘的路径规划结果,其中,标号为1的直线路段为根据机器人终点叉取位置信息向机器人叉取朝向角的方向延伸的预设叉取长度路径,标号为2的路径为机器人从当前节点到终止节点的路径规划结果。
[0074]
s220、对机器人行驶区域进行区域划分,得到多个候选栅格;根据障碍物凸包信息确定每个候选栅格对应的障碍物集合。
[0075]
其中,机器人行驶区域根据机器人的起点位置和托盘位置进行确定,机器人行驶区域完全包括机器人和托盘。示例性的,根据机器人和托盘位置计算得到的[x_min,x_max,y_min,y_max],x_min、x_max、y_min和y_max为机器人和托盘坐标位置信息中的最大值和最小值,则机器人行驶区域范围取[x_min

d,x_max+d,y_min

d,y_max+d],d的取值可以根据场景大小进行确定,在此不作限制。
[0076]
按照预设栅格分辨率大小对机器人行驶区域进行划分,得到多个候选栅格网格,并对障碍物凸包信息进行膨胀,将膨胀后的障碍物凸包信息投影到行驶区域的栅格图中,确定每个栅格网格中包括的障碍物id集合。示例性的,障碍物凸包信息可以是由机器人的感知传感器多帧采集信息确定的,因此每个候选栅格对应的障碍物集合中可以为空或者包括一个或多个障碍物。
[0077]
可选的,为了避免路径规划时机器人行驶到托盘的不能进行叉取的位置上,获取托盘区域的凸包信息,并在托盘凸包信息的不能进行叉取的位置处设置虚拟障碍物,并将该虚拟障碍物投影到栅格图中。
[0078]
s230、从候选栅格中确定从当前节点到终止节点的直线行驶路径所对应的目标栅格。
[0079]
在进行障碍物碰撞检测时,将从当前节点到终止节点的直线行驶路径在栅格图中所覆盖的候选栅格作为目标栅格。
[0080]
s240、若目标栅格对应的障碍物集合非空,则根据目标栅格对应的障碍物集合中的每个障碍物凸包信息与直线行驶路径之间的距离确定障碍物碰撞检测结果。
[0081]
遍历目标栅格对应的障碍物集合,若所有目标栅格对应的障碍物集合为空,则表示从当前节点到终止节点的直线行驶路径不存在障碍物碰撞风险,则路径规划结束;若存在任一目标栅格对应的障碍物集合为非空,则遍历该目标栅格对应的障碍物集合中的每个障碍物凸包信息,确定该障碍物原始凸包信息确定与该直线行驶路径之间的距离是否小于预设避障距离,若存在任一障碍物凸包信息对应的距离小于预设避障距离,则确定机器人按照该直线行驶路径行驶与该障碍物会存在碰撞风险;若所有障碍物凸包信息对应的距离均大于或等于预设避障距离,则确定机器人按照该直线行驶路径行驶不会存在障碍物碰撞风险。
[0082]
将障碍物凸包信息投影到栅格图中有利于提高障碍物碰撞检测的效率;而由于托盘放置在窄空间场景下,若直接根据直线行驶路径覆盖的目标栅格是否包括障碍物凸包信息判断是否有碰撞风险,会导致可能存在目标栅格虽然有障碍物集合,但是集合中的每个障碍物凸包信息与直线行驶路径之间的距离相对较远,并不影响机器人的行驶。因此根据障碍物凸包信息结合栅格图的方式进行障碍物碰撞检测,可以提高碰撞检测的精度,进而尽可能的压榨窄通道的行驶空间,提高机器人规划路径的行驶效率。
[0083]
s250、若存在障碍物碰撞,则以当前节点位姿信息中的当前节点位置信息为中心,根据八邻域的方向和指向终止节点位置信息的方向确定九个候选下一节点方向。
[0084]
在确定候选下一节点方向时,以当前节点位置信息为中心向八邻域扩展的方向再加上一个直接指向终点节点位置信息的方向。
[0085]
通过八邻域的方向确定候选下一节点方向可以从当前节点的各个方向寻找通往终止节点的中间节点,进而提高中间节点确定过程中的覆盖度;通过指向终止节点位置信息的方向确定候选下一节点方向可以减小路径规划过程中与托盘方向的偏离度,进而提高路径规划准确度。
[0086]
在一个可行的实施例中,在根据机器人自旋角度代价和终止节点角度偏差代价对至少两个候选下一节点方向进行排序之前,该方法还包括:
[0087]
根据机器人的当前节点位姿信息中的当前节点朝向角和候选下一节点方向之间的角度差,确定候选下一节点方向对应的机器人旋转角度差;
[0088]
根据机器人旋转角度差确定候选下一节点方向是否与当前节点朝向角的行驶方向相同;
[0089]
若行驶方向不同,则删除对应的候选下一节点方向。
[0090]
分别确定机器人当前节点朝向角与各个候选下一节点方向之间的旋转角度差,例如根据公式d
yaw
=mod(yaw-yaw_tmp*2*π)确定候选下一节点方向对应的机器人旋转角度差,其中,yaw表示当前节点位姿信息中的当前节点朝向角,yaw_tmp表示候选下一节点方向。
[0091]
根旋转角度差确定该候选下一节点方向与机器人在当前节点的行驶方向是否相同,具体的,确定abs(d
yaw
)是否小于90度,若是,则确定该候选下一节点的行驶方向与当前节点的行驶方向相同;否则,确定该候选下一节点的行驶方向与当前节点的行驶方向不同,为了保证路径规划的准确性,对于与当前节点行驶方向不同的候选下一节点方向进行删除,仅保留与当前节点行驶方向相同的候选下一节点方向进行障碍物碰撞检测。
[0092]
s260、根据机器人自旋角度代价和终止节点角度偏差代价对候选下一节点方向进
行排序。
[0093]
s270、基于方向排序结果,分别根据机器人从当前节点沿着候选下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息,直至目标下一节点与终止节点重合完成机器人叉取托盘的路径规划。
[0094]
在一个可行的实施例中,基于方向排序结果,分别根据机器人从当前节点沿着候选下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息,包括:
[0095]
基于方向排序结果,依次确定候选目标下一节点方向;
[0096]
按照预设搜索步长依次增加搜索步数,确定机器人从当前节点沿着候选目标下一节点方向的直线行驶路径的障碍物碰撞检测结果;
[0097]
若达到预设搜索步数上限,且与预设搜索步数上限对应的直线行驶路径的障碍物碰撞检测结果为无碰撞,则将候选目标下一节点方向确定为目标下一节点朝向角,并根据预设搜索步数上限确定目标下一节点位置信息;
[0098]
若在未达到预设搜索步数上限时,与当前搜索步数对应的直线行驶路径的障碍物碰撞检测结果为存在碰撞,则确定当前搜索步数是否大于或等于预设搜索步数下限;
[0099]
若是,则将候选目标下一节点方向确定为目标下一节点朝向角,并根据当前搜索步数确定目标下一节点位置信息;
[0100]
否则,根据机器人从当前节点沿着后续候选目标下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息。
[0101]
基于方向排序结果,首先确定代价最小的候选下一节点方向为候选目标下一节点方向,并以当前节点位置信息为起点,沿着该候选目标下一节点方向依次增加搜索步长的数量,每增加一个预设搜索步长的直线路径,对该直线路径进行障碍物碰撞检测,障碍物碰撞检测的方法参考上述从当前节点到终止节点的直线行驶路径的障碍物碰撞检测,在此不再赘述。
[0102]
若该直线路径无障碍物碰撞,则继续增加搜索步数,直至增加到预设搜索步数上限时,所对应的直线行驶路径仍不存在障碍物碰撞,则将以当前节点位置信息为起点,沿着该候选目标下一节点方向延伸预设搜索步数上限对应的直线路径为下一节点规划的路径。
[0103]
若在增加搜索步数的过程中,在未达到预设搜索步数上限时,与当前搜索步数对应的直线路径存在障碍物碰撞,则确定当前搜索步数是否大于或等于预设搜索步数下限,若当前搜索步数大于或等于预设搜索步数下限,则表示机器人可以按照该候选目标下一节点方向进行行驶;若当前搜索步数小于预设搜索步数下限,则表示机器人若按照该候选目标下一节点方向行驶,则在行驶短距离后又面对要更换朝向角的情况,则会导致机器人对路径的跟随度减小,因此若当前搜索步数小于预设搜索步数下限,则排除该候选目标下一节点方向,按照方向排序结果,继续确定下一个代价较小的候选下一节点方向。
[0104]
在完成规划路径后,规划完成的路径是由一段段直线路径连接组成,机器人按照该轨迹进行轨迹跟随,对于每段直线路径,机器人先自旋到与该直线路径对应的朝向角后再直线行驶,机器人在每条路径上的朝向角与该路径的方向相同。
[0105]
本发明实施例,通过根据托盘位置进行直线延伸确定机器人规划路径的终止节点,提高机器人根据规划路径行驶后对托盘的叉取效率;同时根据障碍物凸包信息进行障
碍物碰撞检测可以提高机器人在窄场景行驶下的空间利用率;并且通过搜索步数上限和搜索步数下限限制机器人从当前节点到下一节点的路径长度,提高了机器人路径的规划行驶效率,提高了机器人的路径跟随度。
[0106]
实施例三
[0107]
图4为本发明实施例三提供的一种机器人叉取托盘的路径规划装置的结构示意图。如图4所示,该装置包括:
[0108]
信息确定模块410,用于确定机器人对托盘叉取进行路径规划时的当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息;
[0109]
第一路径碰撞检测模块420,用于根据所述当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息,确定机器人从当前节点到终止节点的直线行驶路径的障碍物碰撞检测结果;
[0110]
候选节点方向确定模块430,用于若存在障碍物碰撞,则根据机器人的当前节点位姿信息确定至少两个候选下一节点方向;
[0111]
候选节点方向排序模块440,用于根据机器人自旋角度代价和终止节点角度偏差代价对所述至少两个候选下一节点方向进行排序;其中,所述机器人自旋角度代价根据机器人的当前节点位姿信息与所述候选下一节点方向之间的旋转角度差进行确定,所述终止节点角度偏差代价根据机器人的终止节点位姿信息与所述候选下一节点方向之间的角度偏差进行确定;
[0112]
第二路径碰撞检测模块450,用于基于方向排序结果,分别根据机器人从所述当前节点沿着所述候选下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息,直至目标下一节点与所述终止节点重合完成机器人叉取托盘的路径规划。
[0113]
可选的,信息确定模块中包括终止节点位姿信息单元,具体用于:
[0114]
获取托盘位姿信息,并根据托盘位姿信息确定机器人终点叉取位姿信息;其中,所述机器人终点叉取位姿信息包括机器人叉取朝向角和机器人终点叉取位置信息;
[0115]
根据所述机器人终点叉取位置信息向所述机器人叉取朝向角的方向延伸预设叉取长度的位置为路径规划的终止节点位置信息;
[0116]
根据所述终止节点位置信息和所述机器人叉取朝向角确定所述终止节点位姿信息。
[0117]
可选的,所述装置还包括栅格划分模块,用于
[0118]
在确定机器人对托盘叉取进行路径规划时的当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息之后,对机器人行驶区域进行区域划分,得到多个候选栅格;
[0119]
根据所述障碍物凸包信息确定每个候选栅格对应的障碍物集合;
[0120]
相应的,第一路径碰撞检测模块,具体用于:
[0121]
从所述候选栅格中确定所述从当前节点到终止节点的直线行驶路径所对应的目标栅格;
[0122]
若所述目标栅格对应的障碍物集合非空,则根据所述目标栅格对应的障碍物集合中的每个障碍物凸包信息与所述直线行驶路径之间的距离确定障碍物碰撞检测结果。
[0123]
可选的,候选节点方向确定模块,具体用于:
[0124]
以所述当前节点位姿信息中的当前节点位置信息为中心,根据八邻域的方向和指
向终止节点位置信息的方向确定九个候选下一节点方向。
[0125]
可选的,所述装置还包括候选节点方向筛选模块,具体用于:
[0126]
在根据机器人自旋角度代价和终止节点角度偏差代价对所述至少两个候选下一节点方向进行排序之前,根据所述机器人的当前节点位姿信息中的当前节点朝向角和所述候选下一节点方向之间的角度差,确定所述候选下一节点方向对应的机器人旋转角度差;
[0127]
根据所述机器人旋转角度差确定所述候选下一节点方向是否与所述当前节点朝向角的行驶方向相同;
[0128]
若行驶方向不同,则删除对应的候选下一节点方向。
[0129]
可选的,第二路径碰撞检测模块,具体用于:
[0130]
基于方向排序结果,依次确定候选目标下一节点方向;
[0131]
按照预设搜索步长依次增加搜索步数,确定机器人从所述当前节点沿着所述候选目标下一节点方向的直线行驶路径的障碍物碰撞检测结果;
[0132]
若达到预设搜索步数上限,且与所述预设搜索步数上限对应的直线行驶路径的障碍物碰撞检测结果为无碰撞,则将所述候选目标下一节点方向确定为目标下一节点朝向角,并根据所述预设搜索步数上限确定目标下一节点位置信息;
[0133]
若在未达到预设搜索步数上限时,与当前搜索步数对应的直线行驶路径的障碍物碰撞检测结果为存在碰撞,则确定所述当前搜索步数是否大于或等于预设搜索步数下限;
[0134]
若是,则将所述候选目标下一节点方向确定为目标下一节点朝向角,并根据所述当前搜索步数确定目标下一节点位置信息;
[0135]
否则,根据机器人从所述当前节点沿着后续候选目标下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息。
[0136]
可选的,所述机器人自旋角度代价的计算公式如下:
[0137]
k_turn=1+abs(d
yaw
)/π;
[0138]
其中,k_turn表示所述机器人自旋角度代价,d
yaw
表示所述机器人的当前节点位姿信息与所述候选下一节点方向之间的旋转角度差;
[0139]dyaw
=mod(yaw-yaw_tmp*2*π);
[0140]
其中,yaw表示所述当前节点位姿信息中的当前节点朝向角,yaw_tmp表示所述候选下一节点方向;
[0141]
所述终止节点角度偏差代价的计算公式如下:
[0142]
k_diff=1+(abs(d
theta
/π))*dg/kd;
[0143]
其中,k_diff表示所述终止节点角度偏差代价,d
theta
表示机器人的终止节点位姿信息中的终止节点朝向角与所述候选下一节点方向之间的角度偏差,dg表示机器人的终止节点位姿信息中的终止节点位置信息与所述候选下一节点方向对应的候选下一节点位置信息之间的距离,kd表示预设距离缩放系数。
[0144]
本发明实施例所提供的机器人叉取托盘的路径规划装置可执行本发明任意实施例所提供的机器人叉取托盘的路径规划方法,具备执行方法相应的功能模块和有益效果。
[0145]
本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定,且不违背公序良俗。
[0146]
实施例四
[0147]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0148]
图5示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0149]
如图5所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
[0150]
电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0151]
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如机器人叉取托盘的路径规划方法。
[0152]
在一些实施例中,机器人叉取托盘的路径规划方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的机器人叉取托盘的路径规划方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行机器人叉取托盘的路径规划方法。
[0153]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用参考产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0154]
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置
的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0155]
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0156]
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0157]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
[0158]
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0159]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0160]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

技术特征:
1.一种机器人叉取托盘的路径规划方法,其特征在于,包括:确定机器人对托盘叉取进行路径规划时的当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息;根据所述当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息,确定机器人从当前节点到终止节点的直线行驶路径的障碍物碰撞检测结果;若存在障碍物碰撞,则根据机器人的当前节点位姿信息确定至少两个候选下一节点方向;根据机器人自旋角度代价和终止节点角度偏差代价对所述至少两个候选下一节点方向进行排序;其中,所述机器人自旋角度代价根据机器人的当前节点位姿信息与所述候选下一节点方向之间的旋转角度差进行确定,所述终止节点角度偏差代价根据机器人的终止节点位姿信息与所述候选下一节点方向之间的角度偏差进行确定;基于方向排序结果,分别根据机器人从所述当前节点沿着所述候选下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息,直至目标下一节点与所述终止节点重合完成机器人叉取托盘的路径规划。2.根据权利要求1所述的方法,其特征在于,确定机器人对托盘叉取进行路径规划时的终止节点位姿信息,包括:获取托盘位姿信息,并根据托盘位姿信息确定机器人终点叉取位姿信息;其中,所述机器人终点叉取位姿信息包括机器人叉取朝向角和机器人终点叉取位置信息;根据所述机器人终点叉取位置信息向所述机器人叉取朝向角的方向延伸预设叉取长度的位置为路径规划的终止节点位置信息;根据所述终止节点位置信息和所述机器人叉取朝向角确定所述终止节点位姿信息。3.根据权利要求1所述的方法,其特征在于,在确定机器人对托盘叉取进行路径规划时的当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息之后,所述方法还包括:对机器人行驶区域进行区域划分,得到多个候选栅格;根据所述障碍物凸包信息确定每个候选栅格对应的障碍物集合;相应的,确定机器人从当前节点到终止节点的直线行驶路径的障碍物碰撞检测结果,包括:从所述候选栅格中确定所述从当前节点到终止节点的直线行驶路径所对应的目标栅格;若所述目标栅格对应的障碍物集合非空,则根据所述目标栅格对应的障碍物集合中的每个障碍物凸包信息与所述直线行驶路径之间的距离确定障碍物碰撞检测结果。4.根据权利要求1所述的方法,其特征在于,根据机器人的当前节点位姿信息确定至少两个候选下一节点方向,包括:以所述当前节点位姿信息中的当前节点位置信息为中心,根据八邻域的方向和指向终止节点位置信息的方向确定九个候选下一节点方向。5.根据权利要求1所述的方法,其特征在于,在根据机器人自旋角度代价和终止节点角度偏差代价对所述至少两个候选下一节点方向进行排序之前,所述方法还包括:根据所述机器人的当前节点位姿信息中的当前节点朝向角和所述候选下一节点方向之间的角度差,确定所述候选下一节点方向对应的机器人旋转角度差;
根据所述机器人旋转角度差确定所述候选下一节点方向是否与所述当前节点朝向角的行驶方向相同;若行驶方向不同,则删除对应的候选下一节点方向。6.根据权利要求1所述的方法,其特征在于,基于方向排序结果,分别根据机器人从所述当前节点沿着所述候选下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息,包括:基于方向排序结果,依次确定候选目标下一节点方向;按照预设搜索步长依次增加搜索步数,确定机器人从所述当前节点沿着所述候选目标下一节点方向的直线行驶路径的障碍物碰撞检测结果;若达到预设搜索步数上限,且与所述预设搜索步数上限对应的直线行驶路径的障碍物碰撞检测结果为无碰撞,则将所述候选目标下一节点方向确定为目标下一节点朝向角,并根据所述预设搜索步数上限确定目标下一节点位置信息;若在未达到预设搜索步数上限时,与当前搜索步数对应的直线行驶路径的障碍物碰撞检测结果为存在碰撞,则确定所述当前搜索步数是否大于或等于预设搜索步数下限;若是,则将所述候选目标下一节点方向确定为目标下一节点朝向角,并根据所述当前搜索步数确定目标下一节点位置信息;否则,根据机器人从所述当前节点沿着后续候选目标下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息。7.根据权利要求1所述的方法,其特征在于,所述机器人自旋角度代价的计算公式如下:k_turn=1+abs(d
yaw
)/π;其中,k_turn表示所述机器人自旋角度代价,d
yaw
表示所述机器人的当前节点位姿信息与所述候选下一节点方向之间的旋转角度差;d
yaw
=mod(yaw-yaw_tmp*2*π);其中,yaw表示所述当前节点位姿信息中的当前节点朝向角,yaw_tmp表示所述候选下一节点方向;所述终止节点角度偏差代价的计算公式如下:k_diff=1+(abs(d
theta
/π))*dg/kd;其中,k_diff表示所述终止节点角度偏差代价,d
theta
表示机器人的终止节点位姿信息中的终止节点朝向角与所述候选下一节点方向之间的角度偏差,dg表示机器人的终止节点位姿信息中的终止节点位置信息与所述候选下一节点方向对应的候选下一节点位置信息之间的距离,kd表示预设距离缩放系数。8.一种机器人叉取托盘的路径规划装置,其特征在于,包括:信息确定模块,用于确定机器人对托盘叉取进行路径规划时的当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息;第一路径碰撞检测模块,用于根据所述当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息,确定机器人从当前节点到终止节点的直线行驶路径的障碍物碰撞检测结果;候选节点方向确定模块,用于若存在障碍物碰撞,则根据机器人的当前节点位姿信息
确定至少两个候选下一节点方向;候选节点方向排序模块,用于根据机器人自旋角度代价和终止节点角度偏差代价对所述至少两个候选下一节点方向进行排序;其中,所述机器人自旋角度代价根据机器人的当前节点位姿信息与所述候选下一节点方向之间的旋转角度差进行确定,所述终止节点角度偏差代价根据机器人的终止节点位姿信息与所述候选下一节点方向之间的角度偏差进行确定;第二路径碰撞检测模块,用于基于方向排序结果,分别根据机器人从所述当前节点沿着所述候选下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息,直至目标下一节点与所述终止节点重合完成机器人叉取托盘的路径规划。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的机器人叉取托盘的路径规划方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的机器人叉取托盘的路径规划方法。

技术总结
本发明公开了一种机器人叉取托盘的路径规划方法、装置、设备和介质。该方法包括:根据机器人对托盘叉取进行路径规划时的当前节点位姿信息、终止节点位姿信息以及障碍物凸包信息,确定机器人从当前节点到终止节点的直线行驶路径的障碍物碰撞检测结果;若存在障碍物碰撞,则根据机器人的当前节点位姿信息确定至少两个候选下一节点方向;根据机器人自旋角度代价和终止节点角度偏差代价对所述至少两个候选下一节点方向进行排序;基于方向排序结果,分别根据机器人从所述当前节点沿着所述候选下一节点方向的直线行驶路径的障碍物碰撞检测结果确定目标下一节点位姿信息。本发明提高了机器人行驶路径的跟随度,以及机器人叉取托盘过程中的行驶效率。盘过程中的行驶效率。盘过程中的行驶效率。


技术研发人员:国中元 蔡礼松 张硕 钱永强
受保护的技术使用者:上海木蚁机器人科技有限公司
技术研发日:2023.06.26
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐