用于避免机器人碰撞的方法、装置和系统与流程

文档序号:15928816发布日期:2018-11-14 01:25阅读:352来源:国知局

本申请通常涉及机器人领域,更具体地,涉及用于避免机器人碰撞的方法、装置和系统。

背景技术

随着机器人行业的崛起,越来越多的行业已经引入了工业机器人。在工业机器人领域中,为了达到较大的工作效率,机器人的移动速度通常都比较大,很容易发生碰撞。一旦发生碰撞,比如机器人之间的碰撞或者机器人与处理对象(例如,所处理的工件)之间的碰撞,可能会导致机器人损坏或处理对象的损坏。因此,针对多机器人系统,如何避免机器人发生碰撞将是十分重要的。

为了避免机器人发生碰撞,在一种现有的防碰撞机器人系统中,在多个机器人具有重叠的工作区域时,每次仅仅允许一个机器人进入该重叠的工作区域,而其余机器人则在该重叠的工作区域之外等候,从而可以避免发生碰撞。然而,这种方案不能实现多个机器人在重叠工作区域的并行操作,由此导致机器人的工作效率非常低。

在一些防碰撞机器人系统中,提出了一些动态地进行避碰路径规划的方法。但是,这些方法通常都基于绝对坐标系进行位置坐标计算,并且在全局路径搜索空间中搜索机器人上的下一可能路径位置坐标,从而导致计算复杂度大,并且非常耗时,由此带来避碰路径规划效率不高。



技术实现要素:

提供下面的简介是为了以简单的形式介绍选择的一些概念,在后面的详细说明中会进一步描述这些概念。该简介不是想要突出所要求保护主题的关键特征或必要特征,也不是想要限制所要求保护主题的范围。

根据本申请的一个方面,提供了一种用于避免机器人碰撞的方法,包括:针对所述待规划的第一和/或第二机器人路径中的每个路径上的一个或多个目标位置,基于与待确定的一个或多个目标位置对应的第一和第二机器人的当前位置的位置坐标,构建各个对应的局部路径搜索空间,所述局部路径搜索空间包含由第一和第二机器人针对所述对应的当前位置的所有可能的下一移动位置构成的位置对;从各个所述局部路径搜索空间中获取最佳位置对,作为所述待规划的第一和/或第二机器人的各自路径上的所述一个或多个目标位置;以及根据所获取的最佳位置对,控制所述第一和/或第二机器人进行移动。

根据本申请的另一方面,提供了一种用于避免机器人碰撞的装置,包括:路径位置获取单元,配置为针对所述待规划的第一和/或第二机器人路径中的每个路径上的一个或多个目标位置,从与待确定的一个或多个目标位置对应的局部路径搜索空间中获取最佳位置对,作为所述待规划的第一和/或第二机器人的各自路径上的所述一个或多个目标位置,其中,所述与待确定的一个或多个目标位置对应的局部路径搜索空间是基于与待确定的目标位置对应的第一和第二机器人的当前位置的位置坐标构建的,所述局部路径搜索空间包含由第一和第二机器人针对所述对应的当前位置的所有可能的下一移动位置构成的位置对;以及控制单元,配置为根据所获取的最佳位置对,控制所述第一和/或第二机器人进行移动。

根据本申请的另一方面,提供了一种计算机系统,包括:一个或多个处理器;以及存储器,其存储计算机可执行指令,所述指令当被执行时使得所述一个或多个处理器如上所述的用于避免机器人碰撞的方法。

根据本申请的另一方面,提供了一种非暂态机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述一个或多个处理器执行如上所述的用于避免机器人碰撞的方法。

利用根据本申请的用于避免机器人碰撞的方法,通过基于第一和第二机器人的当前位置来构建局部路径搜索空间,并从局部路径搜索空间中获取最佳位置对作为第一和第二机器人的下一路径位置,可以使得避碰路径规划方法更加简单和高效,从而提高机器人避碰效率。

附图说明

通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。

图1示出了根据本申请的实施例能够得以实现的多机器人系统的方框图;

图2示出了根据本申请实施例的用于避免机器人碰撞的方法的一个示例的流程图;

图3示出了图2中的用于构建局部路径搜索空间的过程的一个示例的流程图;

图4示出了根据本申请实施例的用于避免机器人碰撞的方法的另一示例的流程图;

图5示出了根据本申请实施例的用于避免机器人碰撞的方法的另一示例的流程图;

图6示出了根据本申请实施例的用于避免机器人碰撞的方法的另一示例的流程图;

图7示出了根据本申请实施例的用于避免机器人碰撞的方法的另一示例的流程图;

图8示出了根据本申请实施例的用于避免机器人碰撞的装置的一个示例的方框图;

图9示出了图8中的路径位置获取单元的一个实现示例的方框图;

图10示出了图8中的路径位置获取单元的另一示例的方框图;

图11示出了图8中的路径位置获取单元的另一示例的方框图;

图12示出了根据本申请实施例的用于避免机器人碰撞的装置的另一示例的方框图;

图13示出了根据本申请实施例的用于避免机器人碰撞的装置的另一示例的方框图;和

图14示出了根据本申请的实施例的用于避免机器人碰撞的装置的计算机系统的方框图。

具体实施方式

现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。

如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。

本文中所使用的术语“机器人的位置”或“机器人的当前位置”是指机器人的末端执行器的中心点的位置或机器人的末端执行器的中心点的当期位置。机器人的末端执行器的中心点的位置可以是根据机器人的运动轨迹方程计算出的,也可以是利用机器人上设置的位置传感器感测到的。在本文中,术语“机器人的位置”和“机器人的末端执行器的中心点的位置”可互换使用。

短语“与待确定的一个或多个目标对应的第一和第二机器人的当前位置”是指待确定目标位置的第一和第二机器人的前一位置,即在确定该待确定目标位置时第一和第二机器人所处的当前位置。换言之,待确定目标位置的前一位置是机器人的当前位置。

术语“a*算法”是指一种静态路网中求解最短路径最有效的直接搜索方法。它是解决许多搜索问题的有效算法。在该算法中,距离估算值与实际值越接近,最终搜索速度越快。a*算法的具体过程对于本领域技术人员而言是公知的,在此不再描述。

术语“机器人的最小相对距离点”是指第一机器人和第二机器人的相对距离最小的点对中的对应机器人上的点。术语“机器人的当前最小相对距离”是指在第一和第二机器人的当前位置处,第一和第二机器人上的各点之间的相对距离中的最小相对距离。

图1示出了根据本申请的实施例的多机器人系统10的方框图。为了说明简略,在图1中示出的机器人系统10中仅仅包含两个机器人,但是所述机器人系统10也可以包含多于两个的机器人。如图1所示,多机器人系统10包括控制装置100、第一机器人210和第二机器人220。

第一机器人210和第二机器人220可以是具有几何形状的机器人,比如六自由度机器人或者其他自由度的链式机器人。比如,第一机器人210具有第一几何形状,以及第二机器人220具有第二几何形状。通常,第一机器人210和第二机器人220的几何形状被建模为规则的几何形状,比如胶囊或球形。在机器人具有几何形状的情况下,机器人(例如机械臂)上的各点的运动轨迹会不尽相同,例如,机器人的末端执行器的中心点的运动轨迹与其他各点的运动轨迹可能会不相同。通常,机器人的运动轨迹是指机器人的末端执行器的中心点(下文中简称为末端执行器)的运动轨迹。机器人的运动轨迹与机器人的运动学方程相关联。例如,第一运动轨迹与第一机器人的运动学方程(在下文中称为第一运动学方程)相关联,以及第二运动轨迹与第二机器人的运动学方程(在下文中称为第二运动学方程)相关联。

在获知机器人的运动轨迹(即,机器人的末端执行器的运动轨迹)后,一旦获知机器人的末端执行器在某个时刻的位置坐标后,就可以基于末端执行器的位置坐标、末端执行器的姿态信息、机器人的几何形状以及机器人的运动学方程,计算出该机器人上的各个位置在该时刻的位置坐标。如何基于末端执行器的位置坐标、末端执行器的姿态信息、机器人的几何形状以及机器人的运动学方程来计算出该机器人上的各个位置的位置坐标,这在本领域是公知的,在此不进行详细描述。

第一机器人210和第二机器人220与控制装置100通过有线或无线地方式通信。控制装置100可以是具有控制功能的各种计算设备,比如笔记本电脑、台式计算机、膝上型计算机、服务器、工作站、移动终端、个人数字助理(pda)或其他合适的设备。第一机器人210和第二机器人220可以例如通过接收控制装置100发送的控制命令,在控制装置100的控制下,按照预定的运动轨迹进行移动。例如,在控制装置100的控制下,第一机器人210可以按照第一运动轨迹移动,以及第二机器人220可以按照第二运动轨迹移动。所述第一运动轨迹和第二运动轨迹通常是预先编制的,并且存储在控制装置100中。

此外,除了控制机器人按照预定的运动轨迹进行移动之外,根据本申请实施例的控制装置还可以包括下述功能:检测第一机器人210和第二机器人220是否满足碰撞发生条件以及在满足碰撞发生条件时,对第一机器人210和第二机器人220的运动轨迹(即,运动路径)进行避碰路径规划,并且控制第一机器人210和第二机器人220按照规划后的路径移动,从而使得避免第一机器人210和第二机器人220发生碰撞。

图2示出了根据本申请实施例的用于避免机器人碰撞的方法的一个示例的流程图。

如图2所示,在步骤s100中,检测第一机器人和第二机器人是否满足碰撞发生条件。在一个示例中,所述碰撞发生条件可以包括:第一机器人和第二机器人的当前相对距离小于第一预定阈值,或者第一机器人和第二机器人自当前位置起预定时段后的相对距离小于所述第一预定阈值。

具体地,在一个示例中,检测第一机器人和第二机器人是否满足碰撞发生条件可以包括:获取第一机器人和第二机器人的位置坐标(即,末端执行器的中心点的位置坐标);基于所获取的第一和第二机器人的位置坐标,计算第一和第二机器人的相对距离;以及将所计算出的相对距离与第一预定阈值进行比较,以确定第一和第二机器人是否满足碰撞发生条件。在所计算出的相对距离小于第一预定阈值时,确定满足碰撞发生条件。在所计算出的相对距离不小于第一预定阈值时,确定不满足碰撞发生条件。

在另一示例中,检测第一机器人和第二机器人是否满足碰撞发生条件可以包括:获取第一机器人和第二机器人的位置坐标(即,末端执行器的位置坐标)和姿态信息;基于所获取的第一和第二机器人的位置坐标、姿态信息以及对应的几何形状和运动学方程,计算第一机器人和第二机器人上的各个点的位置坐标;利用所计算出的各个点的位置坐标,确定出第一机器人和第二机器人之间的最小相对距离;以及将所计算出的最小相对距离与第一预定阈值进行比较,以确定第一和第二机器人是否满足碰撞发生条件。在所计算出的最小相对距离小于第一预定阈值时,确定满足碰撞发生条件。在所计算出的最小相对距离不小于第一预定阈值时,确定不满足碰撞发生条件。

这里,在所述碰撞发生条件包括所述第一机器人和所述第二机器人的当前相对距离小于第一预定阈值时,所获取的第一和第二机器人的位置坐标是第一和第二机器人的当前位置坐标。在所述碰撞发生条件包括所述第一机器人和所述第二机器人自当前位置起预定时段后的相对距离小于所述第一预定阈值时,所获取的位置坐标是自当前位置起预定时段后的所述第一和第二机器人的位置坐标,所述位置坐标是分别基于第一和第二机器人的运动轨迹计算出的。

在检测出不满足碰撞发生条件后(即,s100的结果为否),返回到步骤s100,继续检测第一机器人和第二机器人是否满足碰撞发生条件。在检测出满足碰撞发生条件后,针对所述待规划的第一和/或第二机器人路径中的每个路径上的一个或多个目标位置,重复执行步骤s210到s240,直到第一和第二机器人都到达其各自的终点目标位置。这里,终点目标位置可以是用户预先设定或现场设定的终点目标位置,比如机器人的运动路径的实际终点目标位置或者用户设定的该运动路径上的某个目标位置。

具体,针对待确定目标位置,在步骤s210,基于与待确定的目标位置对应的第一和第二机器人的当前位置的位置坐标,构建对应的局部路径搜索空间,所述局部路径搜索空间包含由第一和第二机器人针对所述对应的当前位置的所有可能的下一移动位置构成的位置对。

具体地,首先,获取第一和第二机器人的当前位置的位置坐标,然后基于第一和第二机器人的当前位置的位置坐标,构建第一和第二机器人的与其各自的当前位置对应的局部路径搜索空间。这里,局部路径搜索空间是指用于搜索机器人的下一个路径位置的搜索空间,该搜索空间包含由第一和第二机器人针对对应的当前位置的所有可能的下一移动位置构成的位置对。

图3示出了图2中的用于构建局部路径搜索空间的过程的一个示例的流程图。

如图3所示,在步骤s211,基于所述第一和第二机器人的当前位置的位置坐标和对应的速度向量信息,创建局部路径搜索空间坐标系。在一个示例中,所述局部路径搜索空间坐标系可以按照下述方式创建:将所述当前位置指向绝对坐标系的z轴方向的水平方向确定为y轴方向;将所述当前位置处的速度向量方向确定为x轴方向;以及根据所确定的x轴方向和y轴方向,利用右手法则生成z轴方向。

接着,在步骤s213,根据所创建的局部路径搜索空间坐标系和预定步长,生成所述第一和第二机器人的可能的下步位移向量对集合。这里,所述预定步长可以是固定距离步长或固定时间步长。在固定时间步长的情况下,可以基于机器人的当前速度向量信息,将该固定时间步长转换为对应的位移向量。例如,可以根据局部搜索空间的x、y和z轴指向以及预定步长,确定三个轴向上各自的步长向量:δx,δy和δz。随后,按照机器人可能会沿着x、y和z轴的正方向或负方向移动对应步长向量或者停止不移动的方式进行组合,以生成所述第一和第二机器人的可能的下步位移向量集合。由于在每个轴向上可以存在前进、后退和静止三种状态,所以每个机器人的下步位移向量集合总共包括27个元素。

然后,在步骤s215,基于所生成的下步位移向量集合以及所述第一和第二机器人的当前位置的位置坐标,构建第一和第二机器人的对应局部路径搜索空间。即,基于所生成的下步位移向量集合以及所述第一和第二机器人的当前位置的位置坐标,计算出第一机器人和第二机器人的可能的下一移动位置坐标对,该下一移动位置坐标对具有27x27种可能值,即,可能的下步位移向量对集合包括27x27=729种可能值。在机器人是n个机器人的情况下,可能的下步位移向量集合包括27n种可能值,每个向量为n维向量。优选地,为了简化算法,可以通过优化方案,根据实际情况从27种运动选择中合理地选择出7种乃至最少三种运动选择而不影响机器人系统的整体运动优化指标。在选择出三种运动选择的情况下,每个机器人的下步位移向量集合总共包括3个值,由此可能的下步位移向量对集合包括3x3=9种可能值。在其他示例中,也可以采用本领域公知的其他选择下步位移向量对集合的可能值的方案。

在步骤s215中所构建出的局部路径搜索空间是与当前位置对应的局部路径搜索空间,包括与第一机器人的当前位置对应的局部路径搜索空间和与第二机器人的当前位置对应的局部路径搜索空间。在当前位置发生改变时,所对应的局部路径搜索空间也会发生改变。

在如上构建出对应的局部路径搜索空间后,在步骤s220,从所述局部路径搜索空间中获取第一和第二机器人的最佳位置对,作为所述待规划的第一和第二机器人的路径上的待确定目标位置。例如,在一个示例中,最佳位置对可以是具有最小路径成本的位置对。在这种情况下,从各个所述局部路径搜索空间中,获取最佳位置对,作为所述待规划的第一和第二机器人的路径上的对应待确定目标位置可以包括:从各个所述局部路径搜索空间中,获取具有最小路径成本的位置对,作为所述待规划的第一和第二机器人的路径上的对应待确定目标位置。在一个示例中,具有最小路径成本的位置对可以是利用a*算法来获取。

在如上获取到所述第一和第二机器人的下一位置的最佳位置对后,在步骤s400,将第一机器人和第二机器人移动到所述最佳位置对中的各自对应位置。然后,在步骤s230,确定第一机器人和第二机器人的各自位置是否是机器人的终点目标位置。在确定出第一和第二机器人的各自位置都是终点目标位置后,流程结束。在确定出不都是终点目标位置后,在步骤s240,将所计算出的下一位置坐标作为当前位置的位置坐标,返回到步骤s210,以继续计算下一位置的位置坐标,直到所计算出的第一和第二机器人的位置坐标都到达终点目标位置为止。

这里要说明的是,在上述方法中,s210到s240用于确定待规划的机器人路径上的目标位置的坐标的过程。s210到s240是循环执行的,直到所计算出的对应机器人的位置到达终点目标位置为止,该流程的初始位置坐标值是检测到满足碰撞发生条件时第一和第二机器人各自的位置的坐标值。这里,位置坐标信息可以是由控制装置根据运动轨迹计算出来的,或者是由上次计算过程所确定出的。速度向量信息可以根据当前位置和前一位置的位置坐标来确定出。

这里要说明的,虽然图2中示出的方法包括机器人碰撞检测步骤,但是在其他示例中,也可以不包括机器人碰撞检测步骤。

上面参照图2到图3描述了根据本申请实施例的用于避免机器人碰撞的方法。利用上述方法,通过在检测到第一和第二机器人满足碰撞发生条件时,基于第一和第二机器人的当前位置来构建局部路径搜索空间,并从局部路径搜索空间中获取最佳位置对作为第一和第二机器人的下一路径位置,可以使得避碰路径规划方法更加简单和高效,从而提高机器人避碰效率。

图4示出了根据本申请实施例的用于避免机器人碰撞的方法的另一示例的流程图。图4是对图3中示出的示例流程的改进,其不同之处在于,图4中示出的流程还包括有步骤s217,并且对步骤s220进行适应性修改,而其它步骤完全相同。为了避免重复说明,在此仅仅对不同之处进行描述。

在构建出对应的局部路径搜索空间(步骤s210)后,在步骤s217,从所述对应的局部路径搜索空间中去除满足预定条件的位置对。所述预定条件可以是第一机器人和第二机器人在该位置对时满足碰撞发生条件。例如,在该位置对处,第一和第二机器人的相对距离小于所述第一预定阈值(例如,步骤s100中提及的第一预定阈值)。在一个示例中,可以按照如下方式执行去除过程:首先,按照如上参照图2中的步骤s100相同的方式计算出第一和第二机器人的相对距离。接着,将所计算出的相对距离与第一预定阈值进行比较。在所计算出的相对距离小于第一预定阈值时,将该位置对从所述局部路径搜索空间中去除。

然后,在步骤s220’,从经过所述去除处理后的所述对应的局部路径搜索空间中获取最佳位置对,作为所述待规划的第一和第二机器人的路径上的对应待确定目标位置。

步骤s230、s240、s300和s400与图2中的对应步骤完全相同,在此不再描述。

利用图4中示出的方法,通过在从局部路径搜索空间中获取最佳位置对之前,从所构建的局部路径搜索空间中去除不满足预定条件的位置对,可以减少用于获取最佳位置对的局部路径搜索空间中的位置对的数量,由此减少获取最佳位置对所需的计算量,进而减少路径规划时间,进一步提高路径规划效率。

图5示出了根据本申请实施例的用于避免机器人碰撞的方法的另一示例的流程图。图5中示出的示例是对图2中示出的示例的修改。与图2中示出的流程的不同之处仅仅在于,图5中还包含有步骤s201和步骤s203,同时对步骤s400进行适应性修改,而其它步骤完全相同。为了避免重复,在此仅仅描述不同之处,其他步骤不再赘述。

在检测到满足碰撞发生条件(s100中的结果为是)后,在步骤s201,判断第一和第二机器人在当前位置处的相对距离(或最小相对距离)是否大于第二预定阈值。这里,所述第二预定阈值大于所述第一预定阈值。所述第二预定阈值可以由用户例如根据经验来设置。

在判断为不大于第二预定阈值时,进行到步骤s210,执行构建局部路径搜索空间的操作。在判断为大于第二预定阈值时,在步骤s203,利用预定位置计算方案确定下一目标位置的位置坐标。例如,在一个示例中,所述预定位置计算方案可以是基于第一和第二机器人的当前位置的位置坐标,按照第一和第二机器人的当前运动学方程来计算出各自的下一目标位置的位置坐标。或者,在另一示例中,所述预定位置计算方案可以是基于第一和第二机器人的当前位置的位置坐标,按照第一和第二机器人的当前位置到各自的目标位置的直线行进轨迹来计算出各自的下一目标位置的位置坐标。所述直线行进轨迹是指从当前位置到目标位置之间的直线所形成的轨迹。在步骤s203中确定出下一目标位置的位置坐标后,流程进行到步骤s400’。在步骤s400’中,控制第一和第二机器人移动到所确定出的各自的下一目标位置处。另外,当步骤s400’是根据步骤s220的结果执行时,在步骤s400’中,控制第一和第二机器人移动到所获取的最佳位置对中的各自的位置处。

利用图5中示出的方法,通过在构建局部路径搜索空间之前,判断第一和第二机器人的相对距离(或最小相对距离)是否大于第二预定阈值,并且在判断为大于第二预定阈值时,不再进行局部路径搜索空间的构建和相应的计算,而是利用预定位置计算方案来进行位置坐标确定,可以进一步简化路径规划方法,由此减少路径规划时间,提高路径规划效率。

图6示出了根据本申请实施例的用于避免机器人碰撞的方法的另一示例的流程图。图6中示出的示例是对图2中示出的示例的修改。与图2中示出的流程的不同之处仅仅在于。图6中还包含有步骤s205和步骤s207,并且对步骤s210进行适应性修改,而其它步骤完全相同。为了避免重复,在此仅仅描述不同之处,其他步骤不再赘述。

在检测到满足碰撞发生条件(步骤s100中的结果为是)后,在步骤s205,获取所述第一和第二机器人的当前运动状态信息,所述当前运动状态信息用于指示机器人是否已经到达终点目标位置。例如,所述当前运动状态信息可以例如通过设置标志来指示,当标志为1时,指示到达终点目标位置,而当标志为0时,指示未到达终点目标位置。或者,可以利用机器人的速度来指示。当速度为0时,指示到达终点目标位置,而当速度不为0时,指示未到达终点目标位置。

然后,在步骤s207,基于所获取的所述第一和所述第二机器人的当前运动状态信息,确定所述第一和第二机器人中的哪些机器人的路径要进行避碰路径规划。例如,在一个示例中,在所述第一和第二机器人的当前运动状态信息中仅仅一个机器人的当前运动状态信息指示已经到达终点目标位置时,确定对另一机器人进行避碰路径规划。或者,在所述第一和第二机器人的当前运动状态信息都指示对应的机器人未到达终点目标位置时,确定对所述第一和第二机器人进行避碰路径规划。

接着,针对待规划的机器人路径,在步骤s210’-s240中,确定该待规划的机器人路径上的一个或多个目标位置。这里,在步骤s210’中,构建对应的局部路径搜索空间。具体地,当确定要对第一机器人或第二机器人的路径进行规划时,可以通过将另一机器人的位置设置为固定不变,即,该另一机器人的位置移动量为零,来计算第一或第二机器人的下步位移向量对集合。相应地,在步骤s400”,控制对应的机器人移动到所确定出的下一目标位置。而在要对第一和第二机器人两者的路径进行规划时,局部路径搜索空间的构建与上面参照图3的方式完成相同。步骤s230和s240与上面参照图2的描述完全相同。

利用图6中示出的用于避免机器人碰撞的方法,通过在进行路径规划之前,基于机器人的当前运动状态信息来确定哪些机器人需要进行路径规划,从而可以避免针对不需要进行路径规划的机器人进行不必要的动作,比如获取位置坐标、确定最小相对距离点等操作,由此可以进一步减少处理时间和处理负载,从而提高避碰路径规划效率。

此外,利用图2到图6中示出的方法,可以在获得第一和第二机器人的下一位置坐标后,立即控制第一和第二机器人移动到所获得的下一位置处,而无需等到获取待规划路径上的所有位置坐标,从而可以实现实时碰撞规避。

图7示出了根据本申请实施例的用于避免机器人碰撞的方法的另一示例的流程图。图7中示出的示例是对图2中示出的示例的修改。与图2中示出的流程的不同之处仅仅在于,替代在步骤s220后执行步骤s400,而是在步骤s230后执行步骤s300,然后执行步骤s400,并且对步骤s400进行适应性修改。图7中包含的其它步骤与图2中的对应步骤完全相同,在此不再描述。

在确定第一和第二机器人都到达终点目标位置后,在步骤s300,基于所确定的待规划的第一和/或第二机器人的路径中的每个路径上的一个或多个目标位置的位置坐标,生成所述待规划的第一和/或第二机器人的规划路径。然后,在步骤s400”’,控制第一和/或第二机器人按照所规划出的对应路径进行移动。

利用图7中示出的方法,可以实现离线规划避碰路径方案,即,离线控制方案。

如上虽然参照具有两个机器人的机器人系统描述了根据本申请的用于避免机器人碰撞的方法,但是根据本申请的方法也可以适用于具有多于两个机器人的多机器人系统,在该多机器人系统中,利用根据本申请的方法可以实现对该多机器人系统中的任意两个机器人实现避碰路径规划。

图8示出了根据本申请实施例的用于避免双机器人系统中的机器人碰撞的装置100(下文中称为避碰装置100)的一个示例的方框图。图8中示出的装置可以利用软件、硬件或软硬件结合的方式来实现。

如图8所示,避碰装置100可以包括碰撞检测单元110、路径位置获取单元120和控制单元140。

碰撞检测单元110被配置为检测第一机器人和第二机器人是否满足碰撞发生条件。所述碰撞发生条件可以包括:所述第一机器人和所述第二机器人的当前相对距离小于第一预定阈值,或者所述第一机器人和所述第二机器人自当前位置起预定时段后的相对距离小于所述第一预定阈值。碰撞检测单元110的操作可以参考图2中针对步骤s100的描述。

路径位置获取单元120被配置为针对所述待规划的第一和/或第二机器人路径中的每个路径上的一个或多个目标位置,从与待确定的目标位置对应的局部路径搜索空间中获取最佳位置对,作为所述待规划的第一和/或第二机器人的各自路径上的所述待确定目标位置,其中,所述与待确定的目标位置对应的局部路径搜索空间是基于与待确定的目标位置对应的第一和第二机器人的当前位置的位置坐标构建的,所述局部路径搜索空间包含由第一和第二机器人针对所述对应的当前位置的所有可能的下一移动位置构成的位置对。路径位置获取单元120的操作可以参考图2中针对步骤s210和s220的描述。这里要说明的是,路径位置获取单元120也可以在无需监测第一机器人和第二机器人是否满足碰撞发生条件的情况下执行操作。

图9示出了路径位置获取单元120(120-1)的一个实现示例的方框图。如图9所示,路径位置获取单元120还可以包括坐标系创建模块121、位移向量对集合生成模块123、局部搜索空间构建模块125和路径位置获取模块127。

坐标系创建模块121被配置为基于所述第一和第二机器人的当前位置的位置坐标和对应的速度向量信息,创建局部路径搜索空间坐标系。位移向量对集合生成模块123被配置为根据所创建的局部路径搜索空间坐标系和预定步长,生成所述第一和第二机器人的可能的下步位移向量对集合。局部搜索空间构建模块125被配置为基于所生成的下步位移向量对集合以及所述第一和第二机器人的当前位置的位置坐标,构建第一和第二机器人的对应局部路径搜索空间。坐标系创建模块121、位移向量对集合生成模块123和局部搜索空间构建模块125的操作可以分别参考图3中针对步骤s211-s215的描述。

路径位置获取模块127被配置为从所构建的局部路径搜索空间中获取最佳位置对,作为所述待规划的第一和/或第二机器人的各自路径上的所述待确定目标位置。路径位置获取模块127的操作可以分别参考图3中针对步骤s220的描述。

控制单元140被配置为根据所获取的最佳位置对,控制所述第一和/或第二机器人进行移动。控制单元140的操作可以参考图2中针对步骤s400的描述。

图10示出了根据本申请实施例的路径位置获取单元120的另一实现示例(120-2)的方框图。与图9相比,不同之处仅仅在于,图10中示出的路径位置获取单元120-2还可以包括去除模块126,并且对路径位置获取模块127的功能进行适应性修改。图10中的其它模块的功能与图9中示出的对应模块完全相同,在此不再描述。

去除模块126被配置为在从对应的局部路径搜索空间中获取最佳位置对之前,从所述对应的局部路径搜索空间中去除不满足预定条件的位置对。去除模块126的操作可以参照图5中针对步骤s217的描述。然后,路径位置获取模块127被进一步配置为从经过所述去除处理后的所述对应的局部路径搜索空间中获取最佳位置对。

图11示出了根据本申请实施例的路径位置获取单元120的另一实现示例(120-3)的方框图。与图9相比,不同之处仅仅在于,图11中示出的路径位置获取单元120-3还可以包括判断模块122和位置坐标确定模块124。图11中的其它模块的功能与图9中示出的对应模块基本相同,在此不再描述。

判断模块122被配置为在构建对应的局部路径搜索空间之前,判断与待确定目标位置所对应的第一和第二机器人的当前位置处的最小相对距离是否大于第二预定阈值。在所述最小相对距离不大于所述第二预定阈值时,坐标系创建模块121基于所述第一和第二机器人的当前位置的位置坐标和对应的速度向量信息,创建局部路径搜索空间坐标系。位移向量对集合生成模块123根据所创建的局部路径搜索空间坐标系和预定步长,生成所述第一和第二机器人的可能的下步位移向量对集合。局部搜索空间构建模块125基于所生成的下步位移向量对集合以及所述第一和第二机器人的当前位置的位置坐标,构建第一和第二机器人的对应局部路径搜索空间。路径位置获取模块127从所构建的局部路径搜索空间中获取最佳位置对,作为所述待规划的第一和/或第二机器人的各自路径上的所述待确定目标位置。

在所述最小相对距离大于所述第二预定阈值时,位置坐标确定模块124利用预定位置计算方案确定第一和第二机器人的下一目标位置的位置坐标。判断模块122和位置坐标确定模块124的操作可以分别参考针对图5中的步骤s201和s203的描述。

在判断模块122确定所述最小相对距离大于所述预定阈值并且位置坐标确定模块124确定出下一目标位置的位置坐标后,控制单元140控制第一和第二机器人移动到利用预定位置计算方案确定出的下一位置处。当判断模块122确定所述最小相对距离不大于所述预定阈值并且路径位置获模块127获取最佳位置对后,控制单元140控制第一和第二机器人移动到所述最佳位置对中的各自下一位置处。

图12示出了根据本申请实施例的用于避免机器人碰撞的装置的另一示例(避碰装置100-2)的方框图。与图8相比,不同之处仅仅在于,图12中示出的避碰装置100-2还可以包括运动状态信息获取单元118和待规划路径确定单元119,并且对路径位置获取单元120和控制单元140进行适应性修改,而检测单元110的功能完全相同,在此不再描述。

运动状态信息获取单元118被配置为获取所述第一和第二机器人的当前运动状态信息,所述当前运动状态信息用于指示机器人是否已经到达终点目标位置。待规划路径确定单元119被配置为在构建所述对应的局部路径搜索空间之前,基于所获取的所述第一和所述第二机器人的当前运动状态信息,确定所述第一和第二机器人中的哪些机器人的路径要进行避碰路径规划。运动状态信息获取单元118和待规划路径确定单元119的操作可以参考针对图6中的步骤s205和s207的描述。

对路径位置获取单元120和控制单元140的功能进行的适应性修改可以参考针对图6中的步骤s210’、s220和s400”的描述。

图13示出了根据本申请实施例的用于避免机器人碰撞的装置(避碰装置100-3)的方框图。与图8相比,不同之处仅仅在于,图13中示出的避碰装置100-3还可以包括规划路径生成单元130,并且对控制单元140进行适应性修改。图13中的其它单元的功能与图8中示出的对应单元完全相同,在此不再描述。

规划路径生成单元130被配置为基于所获取的待规划的第一和/或第二机器人的一个或多个目标位置的位置坐标,生成所述第一和/或第二机器人的规划路径。规划路径生成单元130的操作可以参考图7中针对步骤s300的描述。然后,控制单元140’控制第一和第二机器人按照各自规划后的路径进行移动。

图14示出了根据本主题的实施例的用于避免机器人碰撞的装置的计算机系统20的框图。根据一个实施例,计算机系统200可以包括一个或多个处理器201,处理器201执行在计算机可读存储介质(即,存储器202)中存储或编码的一个或多个计算机可读指令(即,上述以软件形式实现的元素)。计算机系统20可以包括诸如显示器的输出设备203以及诸如键盘、鼠标、触摸屏等的输入设备204。计算机系统200可以包括通信接口205,通信接口205用于与比如图2所示的机器人210和220的其他设备通信。

在一个实施例中,在存储器202中存储计算机可执行指令,其当执行时使得一个或多个处理器201:针对所述待规划的第一和/或第二机器人路径中的每个路径上的一个或多个目标位置,基于与待确定的目标位置对应的第一和第二机器人的当前位置的位置坐标,构建对应的局部路径搜索空间,所述局部路径搜索空间包含由第一和第二机器人针对所述对应的当前位置的所有可能的下一移动位置构成的位置对;从所述对应的局部路径搜索空间中获取最佳位置对,作为所述待规划的第一和/或第二机器人的各自路径上的所述待确定目标位置;以及根据所获取的最佳位置对,控制所述第一和/或第二机器人进行移动。

应该理解,在存储器202中存储的计算机可执行指令当执行时使得一个或多个处理器201进行本申请的各个实施例中以上结合图1-13描述的各种操作和功能。

根据一个实施例,提供了一种比如非暂时性机器可读介质的程序产品。所述非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本申请的各个实施例中以上结合图1-13描述的各种操作和功能。

上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。

本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

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