首页 > 五金工具 专利正文
机器人拾物序列确定方法与装置与流程

时间:2022-02-18 阅读: 作者:专利查询

机器人拾物序列确定方法与装置与流程

1.本公开涉及物体运输领域,尤其涉及机器人拾物序列确定方法与装置。


背景技术:

2.目前很多场景中使用机器人代替或者部分代替了人工,来进行物品的拾取、分拣、搬运等相关操作,但是机器人对物品的拾取次序却缺少规划,使得机器人耗费的资源增加,造成了机器人拾物效率的下降。


技术实现要素:

3.为了解决上述至少一个技术问题,本公开提出了机器人拾物序列确定方法与装置。
4.根据本公开的一些实施例中,提供了一种机器人拾物序列确定方法,所述方法包括:确定预设区域,所述预设区域中的物体用于被第一机器人或第二机器人拾取;获取所述预设区域中物体的分布;根据所述预设区域中物体的分布,确定所述第一机器人对应的第一拾物序列和所述第二机器人对应的第二拾物序列。
5.在一个实施例中,所述根据所述预设区域中物体的分布,确定所述第一机器人对应的第一拾物序列和所述第二机器人对应的第二拾物序列,包括:
6.将所述预设区域分为第一区域q1、第二区域q2和第三区域q3,所述第一区域为所述第一机器人可以触及并且不可能与所述第二机器人发生任何碰撞的区域,所述第二区域为所述第二机器人可以触及并且不可能与所述第一机器人发生任何碰撞的区域,所述第三区域为所述第一机器人和所述第二机器人均可触达并且可能产生碰撞的区域;
7.根据所述第一区域中物品的分布、所述第二区域中物品的分布以及所述第三区域中物品的分布,确定所述第一拾物序列以及所述第二拾物序列。
8.在一个实施例中,所述根据所述第一区域中物品的分布、所述第二区域中物品的分布以及所述第三区域中物品的分布,确定所述第一拾物序列以及所述第二拾物序列,包括,包括:
9.统计所述第一区域中的物品的第一数量、所述第二区域中的物品的第二数量以及所述第三区域中的物品的第三数量;
10.对所述第一区域中的物品排序,得到所述第一拾物序列,对所述第二区域中的物品排序,得到所述第二拾物序列。
11.在一个实施例中,所述对所述第一区域中的物品排序,得到所述第一拾物序列,包括:
12.在第一区域中选择与第一机器人当前位置距离最近的物品,作为当前物品,加入第一拾物序列;
13.在第一区域中选择之前没被选择的并且与当前物品距离最近的物品,作为新的当前物品,加入第一拾物序列;
14.在第一区域中仍然存在未被选择的物品的情况下,重复执行上一步骤。
15.在一个实施例中,若所述第一数量大于所述第二数量,所述方法还包括:
16.响应于所述第一数量大于所述第二数量的情况,确定所述第一数量和所述第二数量的差值;
17.响应于所述第三数量小于等于所述差值的情况,对所述第一区域的物品排序,得到第一拾物序列,对所述第二区域的物品以及第三区域的物品进行排序,得到所述第二拾物序列;
18.响应于所述第三数量大于所述差值的情况,对所述第一区域的物品进行排序,得到第一拾物序列,对所述第二区域的物品进行排序得到第三拾物序列,在所述第三区域中选取所述差值个物品进行排序得到第四拾物序列,连接所述第三拾物序列和所述第四拾物序列得到所述第二拾物序列。
19.在一个实施例中,所述方法还包括:
20.控制所述第一机器人依次提取所述第一拾物序列中的物品,控制所述第二机器人依次提取所述第二拾物系列中的物品。
21.根据本公开的另一些实施例中,提供了一种机器人拾物序列确定装置,所述装置包括:
22.第一模块,用于确定预设区域,所述预设区域中的物体用于被第一机器人或第二机器人拾取;
23.第二模块,用于获取所述预设区域中物体的分布;
24.第三模块,用于根据所述预设区域中物体的分布,确定所述第一机器人对应的第一拾物序列和所述第二机器人对应的第二拾物序列。
25.在一个实施例中,所述第三模块还用于执行下述操作:
26.将所述预设区域分为第一区域、第二区域和第三区域,所述第一区域为所述第一机器人可以触及并且不可能与所述第二机器人发生任何碰撞的区域,所述第二区域为所述第二机器人可以触及并且不可能与所述第一机器人发生任何碰撞的区域,所述第三区域为所述第一机器人和所述第二机器人均可触达并且可能产生碰撞的区域;
27.根据所述第一区域中物品的分布、所述第二区域中物品的分布以及所述第三区域中物品的分布,确定所述第一拾物序列以及所述第二拾物序列。
28.在一个实施例中,所述第三模块还用于执行下述操作:
29.统计所述第一区域中的物品的第一数量、所述第二区域中的物品的第二数量以及所述第三区域中的物品的第三数量;
30.对所述第一区域中的物品排序,得到所述第一拾物序列,对所述第二区域中的物品排序,得到所述第二拾物序列。
31.根据本公开的另一些实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现上述一些实施例中任意一项所述的机器人拾物序列确定方法。
32.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
33.根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得
清楚。
附图说明
34.为了更清楚地说明本说明书实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
35.图1示出根据本公开实施例的机器人拾物序列确定方法流程图;
36.图2示出根据本公开实施例的基于分布确定机器人拾物序列的流程图;
37.图3示出根据本公开实施例的一种情况下的分区示意图;
38.图4示出根据本公开实施例的另一种情况下的分区示意图;
39.图5示出根据本公开实施例的另一种情况下的分区示意图。
具体实施方式
40.下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
42.以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
43.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
44.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
45.另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
46.本公开实施例中着重研究了两个机器人对于预设区域中的物体进行协同拾取的情况,并且提出了机器人拾物序列确定方法,从最大限度地优化拾物序列,提升机器人作业
效率,加速对预设区域中物品的拾取速度。
47.如图1所示,本公开实施例方法,包括:
48.s101.确定预设区域,所述预设区域中的物体用于被第一机器人或第二机器人拾取。
49.s102.获取所述预设区域中物体的分布。
50.本公开实施例中物体的分布获取方法不做限定,可以预先设定,也可以通过与其他设备通信获取。
51.s103.根据所述预设区域中物体的分布,确定所述第一机器人对应的第一拾物序列和所述第二机器人对应的第二拾物序列。
52.具体来说,将所述预设区域分为第一区域q1、第二区域q2和第三区域q3,所述第一区域为所述第一机器人可以触及并且不可能与所述第二机器人发生任何碰撞的区域,所述第二区域为所述第二机器人可以触及并且不可能与所述第一机器人发生任何碰撞的区域,所述第三区域为所述第一机器人和所述第二机器人均可触达并且可能产生碰撞的区域。根据所述第一区域中物品的分布、所述第二区域中物品的分布以及所述第三区域中物品的分布,确定所述第一拾物序列以及所述第二拾物序列。
53.如图2所示,所述根据所述第一区域中物品的分布、所述第二区域中物品的分布以及所述第三区域中物品的分布,确定所述第一拾物序列以及所述第二拾物序列,包括:
54.s1.统计所述第一区域中的物品的第一数量、所述第二区域中的物品的第二数量以及所述第三区域中的物品的第三数量。
55.请参考图3,其示出一种情况下的分区示意图。第一区域中有三个物品a、 b、c,第二区域中有三个物品d、e、f,第三区域中有四个物品g,i,j,k,第一数量、第二数量和第三数量分别为3、3、4。
56.s2.对所述第一区域中的物品排序,得到所述第一拾物序列,对所述第二区域中的物品排序,得到所述第二拾物序列。
57.本公开实施例并不限定第一区域中物品排序的方法,以及不限定第二区域中物品排序的方法,这两种方法可以相同或者不同。可以随机排序,以第一拾物序列为例,排序结果可以为abc或者bca。在一些实施例中,对第一区域物品排序方法还可以为:
58.1.在第一区域中选择与第一机器人当前位置距离最近的物品,作为当前物品,加入第一拾物序列。以图3为例,第一拾物序列这个时候可以被表达为{a}。
59.2.在第一区域中选择之前没被选择的并且与当前物品距离最近的物品,作为新的当前物品,加入第一拾物序列。以图3为例,第一拾物序列这个时候可以被表达为{a、b}。
60.3.在第一区域中仍然存在未被选择的物品的情况下,重复执行上一步骤。以图3为例,第一拾物序列可以被表达为{a、b、c}。相应的,第二拾物序列可以被表达为{d、e、f}。
61.这种排序方式可以使得第一机器人末端执行器运动路径最短,尤其是对于末端执行器抓取到物品之后直接从与该末端执行器连通的输送空间输送走物品的情况。
62.如果第三数量为零,并且所述第一数量等于所述第二数量,第一拾物序列和第二拾物序列可以至此被完全确定。
63.如果所述第一数量不等于所述第二数量,以所述第一数量大于所述第二数量的情况为例,s2通过下述步骤执行,当然第一数量小于第二数量同理,不做赘述。
64.(a)响应于所述第一数量大于所述第二数量的情况,确定所述第一数量和所述第二数量的差值。
65.以图4为例,其示出另一种情况下的分区示意图。第一区域q1中有四个物品a1、b1、c1、d1,第二区域中有两个物品e1、f1,第三区域中有一个物品g1,第一数量、第二数量和第三数量分别为4、2、1。则第一数量和第二数量的差值为2。
66.(b)响应于所述第三数量小于等于所述差值的情况,对所述第一区域的物品排序,得到第一拾物序列,对所述第二区域的物品以及第三区域的物品进行排序,得到所述第二拾物序列。第一拾物序列和第二拾物序列可以至此被完全确定。
67.以图4为例,第一区域的四个物品被安排在第一拾物序列中,第二区域的两个物品和第三区域的全部物品被安排在第二拾物序列中。比如,第一拾物序列可以为{a1、b1、c1、d1},第二拾物序列可以为{e1、f1、g1}。
68.(c)响应于所述第三数量大于所述差值的情况,对所述第一区域的物品进行排序,得到第一拾物序列,对所述第二区域的物品进行排序得到第三拾物序列,在所述第三区域中选取所述差值个物品进行排序得到第四拾物序列,连接所述第三拾物序列和所述第四拾物序列得到所述第二拾物序列。
69.以图5为例,其示出另一种情况下的分区示意图。第一区域中有四个物品 a1、b1、c1、d1,第二区域中有两个物品e1、f1,第三区域中有三个物品k1、 g1、t1,第一数量、第二数量和第三数量分别为4、2、3。则第一数量和第二数量的差值为2。
70.图5中,第一区域q1的四个物品被安排在第一拾物序列中,第二区域的两个物品和第三区域的其中两个物品被安排在第二拾物序列中。比如,第一拾物序列可以为{a1、b1、c1、d1},第三拾物序列可以为{e1、f1},第四拾物序列可以为{g1、t1},则第二拾物序列可以为{e1、f1、g1、t1}。对于如何确定第四拾物序列,在一个实施例中可以采取下述方法确定:
71.10.在第三区域中选择与上述第三拾物序列最后一个物品距离最近的物品,作为当前物品,加入第四拾物序列。
72.20.在第三区域中随机选择之前未被选中的物品,作为新的当前物品,加入第四拾物序列。
73.30.在第三区域中选择的物品的数量没有达到上述差值的情况下,重复执行上一步骤。
74.这种第四拾物序列确定方式可以节省第二机器人的运动路径,并且保证第二拾物序列的生成速度。
75.在另一个实施例中,还可以提供另一确定第四拾物序列的方式:
76.100.在第三区域中选择与上述第三拾物序列最后一个物品距离最近的物品,作为当前物品,加入第四拾物序列。
77.200.在第三区域内之前未被选中的物品中,选择紧密度最高的物品作为新的当前物品,加入第四拾物序列。
78.紧密度表征的是物品的一种周围环境信息,如果一个物品w1周围较近的位置存在其它物品,另一个物品w2同样周围较近的位置不存在任何其它物品,则物品w1的紧密度大于物品w2的紧密度。紧密度就是表征物品所在的环境的拥堵程度,紧密度可以通过下述公
式计算得到其中w表示某个物品, we表示各个与物品w相邻的物品,||w-we||表示w与we的距离。
79.300.在第三区域中选择的物品的数量没有达到上述差值的情况下,重复执行上一步骤。
80.这种第四拾物序列确定方式可以较大概率增大第一机器人和第二机器人可以同步运行的时间。因为这一确定方式可以最大限度降低第三区域中物品之间的拥挤程度,物品拥挤程度降低有利于同步拾取。
81.步骤(a-c)中得到的第一拾物序列和第二拾物序列中的物品可以被同步拾取,提升拾取效率,细节的排序如果可以结合上文(1-3),还能同时达到缩短末端执行器运动路径的技术效果。
82.在执行完前文之后,如果符合第一预设情况还需要执行下述操作:执行第一算法,所述第一算法用于在第三区域中选择第一物品和第二物品,并基于所述第一物品扩充所述第一拾物序列,以及基于所述第二物品扩充所述第二拾物序列,所述第一机器人拾取所述第一物品的操作和所述第二机器人拾取所述第二物品的操作被限定为同步执行;重复执行所述第一算法直至达到第一终止执行条件。
83.第一预设情况包括两种:(1)第三数量不为零,并且所述第一数量等于所述第二数量。(2)第一数量不等于第二数量,但是在执行上述步骤之后第三区域中还存在未被选中的物品。
84.第一终止执行条件也包括两种情况:第三区域中不存在未被选择过的物品 (无法选择出第一物品)或者,在选择第一物品之后,无法选择出第二物品。
85.在一个实施例中,第一算法的执行过程可以被描述为a1-b1,这种第一算法的执行过程可以尽可能缩短第一机器人的运动路径,并且通过降低拥挤程度有利于同步拾取。
86.(a1)在未达到第一终止条件的情况下,将所述第三区域中未被选择过的物品中,与上述第一拾物序列中最后一个物品距离最近的物品作为第一物品;并且,将位于所述第三区域中并且位于所述第一物品的辐射区域之外紧密度最高的物品作为第二物品。第一物品的辐射区域的含义是只要某一物品不位于该辐射区域,则当第一机器人拾取该第一物品,并且第二机器人同步拾取该某一物品时,第一机器人和第二机器人不会发生碰撞。
87.(b1)在未达到第一终止条件的情况下,将上述第一物品追加到上述第一拾物序列,将上述第二物品追加到上述第二拾物序列,持续上述步骤直至达到第一终止条件。
88.在一个实施例中,第一算法的执行过程可以被描述为a10-b10,这种第一算法的执行过程可以尽可能缩短第一机器人和第二机器人的运动路径。
89.(a10)在未达到第一终止条件的情况下,将所述第三区域中未被选择过的物品中,与上述第一拾物序列中最后一个物品距离最近的物品作为第一物品;将位于所述第三区域中并且位于所述第一物品的辐射区域之外,与所述第二拾物序列中最后一个物品距离最近的物品作为第二物品。
90.(b10)在未达到第一终止条件的情况下,将上述第一物品追加到上述第一拾物序列,将上述第二物品追加到上述第二拾物序列,持续上述步骤直至达到第一终止条件。
91.如果第一终止条件被触发并且第三区域中不存在未被选择过的物品,则第一拾物
序列和第二拾物序列可以被完全确定。
92.在执行完前文之后,如果达到第一终止执行条件并且所述第三区域中存在待选物品时(待选物品为不属于第一拾物序列并且不属于第二拾物序列的物品),还需要执行下述操作:执行第二算法,所述第二算法用于在所述第三区域的待选物品中选择第三物品,基于所述第三物品扩充所述第一拾物序列,以及响应于所述第三区域中依然存在待选物品的情况,在所述第三区域的待选物品中选择第四物品,基于所述第四物品扩充所述第二拾物序列,所述第一机器人拾取所述第三物品的操作和所述第二机器人拾取所述第四物品的操作被限定为交替执行;重复执行所述第二算法直至达到第二终止执行条件。交替执行的含义是第一机器人拾取第三物品的操作完成后,第二机器人拾取第四物品。
93.第二终止执行条件包括两种情况:无法选择出第三物品或者无法选择出第四物品。在一个实施例中,第二算法的执行过程可以描述如下:
94.(a100)在未达到第二终止条件的情况下,将所述第三区域的待选物品中,与上述第一拾物序列中最后一个物品距离最近的物品作为第三物品,将所述第三物品追加入上述第一拾物序列。
95.(b100)在未达到第二终止条件的情况下,将所述第三区域的待选物品中,与上述第二拾物序列中最后一个物品距离最近的物品作为第四物品,将所述第四物品追加入上述第二拾物序列。
96.(c100)持续上述步骤直至达到第二终止条件。
97.(a100-c100)可以尽可能缩短第一机器人的运动路径,以及第二机器人的运动路径。在本公开实施例中通过步骤(a100-b100)被选择出来的物品都携带有异步标记。(a100-c100)被执行完毕后,第一拾物序列和第二拾物序列被完全确定,基于第一拾物序列和第二拾物序列即可控制第一机器人和第二机器人进行拾取了。接下来的动作就是只需要控制所述第一机器人依次提取所述第一拾物序列中的物品,控制所述第二机器人依次提取所述第二拾物系列中的物品。
98.本公开实施例还提供一种机器人拾物序列确定装置,所述装置包括:
99.第一模块,用于确定预设区域,所述预设区域中的物体用于被第一机器人或第二机器人拾取;
100.第二模块,用于获取所述预设区域中物体的分布;
101.第三模块,用于根据所述预设区域中物体的分布,确定所述第一机器人对应的第一拾物序列和所述第二机器人对应的第二拾物序列。
102.在一个实施例中,所述第三模块还用于执行下述操作:
103.将所述预设区域分为第一区域q1、第二区域q2和第三区域q3,所述第一区域为所述第一机器人可以触及并且不可能与所述第二机器人发生任何碰撞的区域,所述第二区域为所述第二机器人可以触及并且不可能与所述第一机器人发生任何碰撞的区域,所述第三区域为所述第一机器人和所述第二机器人均可触达并且可能产生碰撞的区域;
104.根据所述第一区域中物品的分布、所述第二区域中物品的分布以及所述第三区域中物品的分布,确定所述第一拾物序列以及所述第二拾物序列。
105.在一个实施例中,所述第三模块还用于执行下述操作:
106.统计所述第一区域中的物品的第一数量、所述第二区域中的物品的第二数量以及
所述第三区域中的物品的第三数量;
107.对所述第一区域中的物品排序,得到所述第一拾物序列,对所述第二区域中的物品排序,得到所述第二拾物序列。
108.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
109.本公开实施例还提出一种计算机可读存储介质,上述计算机可读存储介质中存储有至少一条指令或至少一段程序,上述至少一条指令或至少一段程序由处理器加载并执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
110.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。