自动产生用于将机器人从停止位置返回预设重启位置的无碰撞返回程序的方法和设备的制造方法

xiaoxiao2020-11-9  6

自动产生用于将机器人从停止位置返回预设重启位置的无碰撞返回程序的方法和设备的制造方法
【技术领域】
[0001]本发明涉及当机器人在执行过程中由于错误停止时用于自动生成用于将机器人从停止位置返回至预设的重启位置的无碰撞返回程序的方法和设备。
【背景技术】
[0002]对于机器人编程人员而言,稳健的故障处理是困难并耗时的。当在机器人单元中的机器人由于错误而停止时,必须将机器人以安全的方式重新启动。这涉及将机器人移动至预设重启位置然后重启机器人。可预先对恢复路径编程,或操作者必须将机器人推至安全的位置以重新启动。
[0003]机器人在从停止位置,S卩,机器人停止的位置,到重启位置的路径上不与在单元中的任何障碍物碰撞是很重要的。今天,如果机器人沿编程路径停止,则在对机器人的编程过程中将待由机器人遵循的路径预先进行编程。这意味着必须在沿机器人可能停止的路径的每个位置上对路径编程,这对编程人员来说是困难以及耗时的。
[0004]在许多应用中,多个机器人共同在机器人单元中工作。当机器人中的一个由于错误而停止时,在该单元中的所有机器人将停止,并且因此必须将所有机器人重启并将其返回至重启位置。在单元中,机器人彼此之间或与任意障碍物之间在停止位置与重启位置之间的路径上不发生碰撞是重要的。然而,如在单元中及小工作区中存在许多机器人,则执行该操作而不会引发碰撞不是很容易。当在单元中存在几个机器人时,将恢复路径进行预编程是特别困难的。一些客户要求编写程序使得机器人可从程序中几乎任意位置的错误中恢复。这需要增加几周的编程时间,并造成很难理解的较大的程序。EP1625918公开了与基于示教程序操作的机器人相连的编程设备,用于编写返回程序以将机器人从机器人在操作中停止的停止位置返回到等待位置。使用线下编程设备作为编程设备以产生返回程序。该编程设备包括属性数据提供部分,其适于向每个包含在示教程序中的示教位置提供属性数据,该属性数据表示是否可将每个示教位置用于返回程序的示教点;存储部分,其适于存储至少一个可由机器人执行的示教程序;接收部分,其适于接收机器人停止位置的数据和当程序由于紧急停止而停止时执行的程序体上的信息;选择部分,其从存储部分读取示教程序,顺序地从示教程序体中沿程序的执行方向或反向搜索示教位置,并选择用于基于示教位置的属性数据将程序返回的示教点;编程部分,适于基于由选择部分选择的示教点生成返回程序;干涉(interference)判定部分,用于基于返回程序模拟机器人的运行,以判断在机器人和绕机器人周围的物体之间是否发生干涉;以及传输部分,适于在干涉判定部分判定在机器人和绕机器人周围的物体之间没有干涉发生时,将返回程序传输至机器人。如果干涉判定部分判定在机器人和绕机器人周围的物体之间确实发生干涉,则由操作人员纠正返回程序。为了纠正返回程序,操作人员可将不同于包含在示教程序中示教点的新的示教点插入。
[0005]该方法的缺点是编程人员必须在机器人的编程过程中将属性数据添加到每个示教点,这是耗时的。该方法的另一个缺点是,如果在机器人和物体之间确实发生干涉,则操作人员必须手动纠正返回程序。另外,该方法不适于确定在机器人单元中共同工作的多个机器人的返回路径。

【发明内容】

[0006]本发明的目的在于提供一种用于自动生成用于将机器人从停止位置返回到预设的重启位置的无碰撞返回程序的改进的方法和设备,其克服了上述缺点。
[0007]根据本发明的一个方面,通过使用权利要求1中限定的方法实现该目的。
[0008]所述方法包括在机器人停止时发送针对恢复路径的请求,使用路径规划算法生成从停止位置到重启位置的无碰撞恢复路径,该路径规划算法生成由无碰撞路径段连接的机器人位置,以及基于确定的恢复路径生成包含用于将机器人返回至重启位置的移动指令的机器人程序。
[0009]根据本发明,在机器人由于错误停止时,基于为机器人预设的起始位置和停止位置借助路径规划算法自动产生无碰撞恢复路径。这意味着错误处理与示教程序没有联系,且示教程序除重启位置外不包含任何关于恢复路径的信息。因此,编程时间显著减少且机器人程序变得更小和更易理解。该路径规划算法允许自动生成从起始位置至重启位置的无碰撞路径。另外,如果干涉发生在机器人和物体之间时,操作人员不必纠正返回程序。这大幅简化了错误处理。错误处理变得简单而稳健。另外,根据本发明的该方法允许机器人从沿编程路径的任意位置重新启动。
[0010]无碰撞路径的自动路径规划算法已在学术界被广泛研宄30多年。今天,存在几秒钟内解决困难的路径规划问题的算法。同样存在商业上可用的软件库。
[0011]然而,目前,在线情况下很少使用路径规划算法。当涉及到工业机器人时示例非常少。这是由于如下原因。一个原因是很难预测单一查询的运行时间,其范围从几分之一秒至几分钟。机器人应用通常对时间中的扰动很敏感。因此,执行特定任务的时间周期优选为相同的,而与什么时候执行无关。因此,路径规划算法对工业机器人的在线路径规划是没有用的。另外,很难给出对任何生成的路径质量的保证。找到的路径可能在90%情况下看起来很好,但也可能存在机器人经过不必要的弯路的路径。
[0012]根据本发明,在线生成恢复路径,即,当机器人由于错误停止时生成恢复路径。然而,在错误恢复的情况下这些缺点都不是问题。当从错误中恢复时,路径是否看起来很好是没有关系的。如果需要I秒或60秒找到恢复路径也没有关系。重要的是该路径是无碰撞的。
[0013]根据本发明的实施例,路径规划算法是基于采样的运动规划算法。这种运动规划算法具有相对容易实现的优点,而同时是通用且能够解决较难的路径规划问题的。该基于采样的运动规划算法对无碰撞布局空间(机器人的联合空间)进行采样,并建立其图形表示或树状表示。每个机器人位置在表示中为一个节点,且在节点之间的边表示无碰撞路径段。使用不同启发式(heuristic)搜索算法来指导无碰撞布局空间的探索。询问的结果通常是从起始位置到目标位置的分段的线性路径。
[0014]根据本发明的一个实施例,路径规划算法包括启发式搜索的算法,其搜索在机器人布局空间中由无碰撞路径段连接的机器人位置。该布局空间是机器人的末端执行器(endeffector)可到达的位置的集合。使用机器人的联合参数(joint parameter)作为广义坐标系来定义其布局。将联合参数值的集合称为联合空间。因此,由机器人的联合空间定义布局空间。启发式搜索算法是基于一些简单规则的搜索两个位置之间无碰撞路径的算法。启发式搜索算法是这样一种方法,其并不总是找到最好的方法,但可以保证在合理的时间内找到较好的算法。
[0015]根据本发明的实施例,该路径规划算法包括:
[0016]-在机器人布局空间中生成可能的位置,
[0017]-基于机器人模型及其环境,确定是否能将生成的位置之间的无碰撞路径段连接起来,
[0018]-放弃不能由无碰撞路径段连接起来的位置,以及
[0019]-基于可由无碰撞路径段连接起来的位置,生成从停止位置到重启位置的无碰撞路径。
[0020]根据本发明的实施例,该方法包括计算生成的位置和机器人的环境之间的最短距离,并基于计算的生成的位置和机器人环境之间的最短距离确定是否能将位置与无碰撞路径连接起来。计算两个几何物体之间最短距离的算法通常比只确定干涉的算法更耗时。但为了保证路径段是无碰撞的,最短距离信息是必要的。
[0021]根据本发明的一个实施例,本方法适于当多个机器人由于错误而停止时,将多个机器人返回至预设的起始位置,本方法包括在收到所述请求时,使用路径规划算法为多个机器人的每个生成无碰撞恢复路径,该路径规划算法基于机器人的预设的起始位置和停止位置,生成由无碰撞路径 段连接的机器人位置。本发明的实施例使得可以自动为多个机器人确定无碰撞路径,而没有任何操作人员的干预。使用路径规划算法提供机器人的无碰撞恢复路径,以避免机器人之间的碰撞。
[0022]根据本发明的另一个实施例,通过权利要求7所限定的设备实现本发明的目的。
[0023]该设备包括:
[0024]-接收部分,其适于接收针对恢复路径的请求和机器人的停止位置的信息,
[0025]-路径生成部分,其适于在接收到所述请求时基于机器人的预设的重启位置和停止位置,使用产生由无碰撞路径段连接的机器人的位置的路径规划算法为机器人生成无碰撞恢复路径,以及
[0026]-编程部分,其适于基于生成的返回路径生成返回程序。
[0027]根据本发明的实施例,路径生成部分适于使用基于采样的运动规划算法以生成无碰撞恢复路径。
[0028]根据本发明的实施例,路径生成部分包括位置生成器,其适于生成在机器人布局空间中的可能的位置;碰撞检测模块,其适于基于机器人模型和其环境来确定在生成的位置之间的路径段是否是无碰撞的。
[0029]根据本发明的实施例,碰撞检测模块适于计算生成的位置与机器人的环境之间的最短距离,并且适于基于计算出的生成的位置与机器人的环境之间的最短距离确定是否能用无碰撞路径段将位置相连。
[0030]根据本发明的实施例,设备适用于自动生成,用于将多个机器人从其停止位置返回至预设起始位置的无碰撞返回程序,接收部分适于接收针对多个机器人的恢复路径的请求和机器人的停止位置的信息,所述路径产生部分适于基于机器人的预设的重启位置和机器人停止位置、机器人的模型及机器人的环境为机器人生成无碰撞恢复路径,以及编程部分适于基于产生的返回路径为机器人生成返回程序。
[0031]根据本发明的实施例,机器人包括用于控制机器人运动的机器人控制器,且将设备集成在该机器人控制器中。通过该实施例实现的优点在于,不需要外部服务器,存在较少的外部单元之间的通信,以及易于确保算法使用对于机器人正确的几何模型。
【附图说明】
[0032]现通过对本发明不同实施例的描述并参考附图来更细致地解释本发明。
[0033]图1示出了遵循基于示教程序的编程路径的工业机器人的示例,及机器人的重启位置。
[0034]图2示出了根据本发明实施例的用于自动产生机器人用无碰撞返回程序的设备的框图。
[0035]图3示出了根据本发明实施例的用于自动产生无碰撞返回程序以将机器人从停止位置返回到预设重启位置的方法的流程图。
[0036]图4示出了路径规划算法示例的流程图。
【具体实施方式】
[0037]图1示出了遵循编程路径2的基于示教程序的工业机器人1,其包括多个编程位置3。该示教程序在控制机器人运动的机器人控制器5上运行。图1还示出了在重启位置6的机器人(虚线)。预先定义该机器人的重启位置,该重启位置是机器人由于错误在紧急停止之后恢复时机器人必须返回的位置。如果机器人单元包括多于一个机器人,为单元中的每个机器人定义重启位置。重启位置是当单元中的机器人由于错误而停止时,将机器人移动到的位置。机器人已经停止在停止位置8。机器人位于包含了工作站9的机器人单元中。在不与工作站9碰撞的情况下,应该将机器人从停止位置8移动到重启位置6。如果机器人单元包括多于一个机器人,所有机器人在紧急停止过程中停止。
[0038]图2示出了根据本发明实施例的用于自动产生无碰撞返回程序以将机器人从停止位置8返回到预设重启位置6的设备的框图。该设备包括数据存储10,其用于存储机器人模型和机器人环境,包括所有可能与机器人碰撞的障碍物,如工作站9。如果机器人单元包括多于一个机器人,则数据存储包括在机器人单元中所有机器人的模型。该设备包括接收部分12,其适于接收针对恢复路径的请求以及机器人停止位置8和重启位置6信息。可选地,将重启位置的信息存储在数据存储10中。
[0039]该设备进一步包括路径生成部分14,其适于在接到请求时为机器人I生成无碰撞恢复路径;以及编程部分16,其适于基于生成的返回路径生成返回程序。如果机器人单元包括多于一个机器人,则该路径生成部分14适于在接到请求时为机器人单元中的所有机器人生成无碰撞恢复路径,以避免当机器人返回它们的重启位置时机器人之间的碰撞,且该编程部分16适于基于生成的返回路径为在机器人单元中的所有机器人生成返回程序。
[0040]该路径生成部分14适于使用路径规划算法,如基于采样的运动规划算法,以产生无碰撞恢复路径。该路径规划算法生成由无碰撞路径段连接的新的机器人位置。该路径生成部分14包括位置生成器18,适于生成在机器人布局空间中可能的位置;碰撞检测模块19,其适于基于机器人的模型及其环境确定在生成的位置之间的路径段是否是无碰撞的;以及路径生成器20,其基于生成的位置和碰撞检测结果生成无碰撞路径。该路径生成器18可以随机方式或根据预设模式生成位置。
[0041]可在机器人控制器中或在单独的服务器计算机上实施根据本发明的该设备。例如,路径规划算法作为通过插口接收请求的服务器应用运行。使用机器人语言编写的客户端代码,如RAPID,向服务器请求从当前位置到期望目标位置的路径。如果服务器找到了路径,则产生使用机器人语言编写的恢复程序并将其动态地加载。如果单元包含多个机器人,则与必要的同步指令一起,为每一个机器人生成恢复程序。
[0042]图3示出了根据本发明实施例的自动产生无碰撞返回程序以将机器人从停止位置返回到预设的重启位置的方法的流程图。预先为单元中的机器人定义了重启位置。该方法包括如下步骤:
[0043]方框1:当机器人停止时,接收针对恢复路径的请求。当机器人因为错误而停止时,机器人控制器将单元中所有机器人的当前位置,即,停止位置,以及重启位置发送给路径规划算法,该路径算法例如是在服务器计算机上运行的。
[0044]方框2:路径规划算法确定从停止位置至重启位置的恢复路径,其对所有机器人是无碰撞的。恢复路径包括由无碰撞路径段连接的机器人位置。运行该路径规划算法直到其为所有机器人找到无碰撞路径。产生的机器人位置是新的,且不属于示教路径上的点。
[0045]路径规划算法在机器人的布局空间中生成可能的位置,确定是否能基于机器人模型和环境在生成的位置之间连接无碰撞路径段,放弃不能够由无碰撞路径段连接的位置,以及基于可由无碰撞路径段连接的位置,生成从停止位置至重启位置的无碰撞路径。该算法搜索机器人布局空间中的6维联合空间,以找到可由无碰撞路径段连接的位置。
[0046]方框3:基于确定的恢复路径,生成包括用于将机器人返回至重启位置的移动指令的恢复程序。如果在单独的服务器单元上生成恢复程序,则将恢复程序返回到机器人控制器。
[0047]方框4:在机器人控制器上运行恢复程序,且根据恢复路径将机器人移动至它们的起始位置。
[0048]存在一些用于本文目的的路径规划算法,例如,RRT(快速探索,随机树),以及 PRM(概率路线图)。例如,在 Proc.2000IEEE Int’ I Conf.0n Robotics andAutomat1n (ICRA 2000)中,由 James J.Kuffner 和 Steven M.LaValle 撰写的文章“RRT-Connect:An efficient approach to single-Query Path Planning”中描述了该RRT算法。
[0049]优选地,路径规划算法是如由Steven Μ.LaValle撰写的书“Planning Algorithm”的第五章中描述的基于采样的运动规划算法。可在http://planninR.cs.uiuc.ed u/处下载。
[0050]从例如由Fabian Schwarzer, Mitul Saha 和 Jean-Claude Latombe 撰写的文章“Exact collis1n checking of robot paths,,,department of Computer Since, StanfordUniversity中可知如何做机器人的碰撞检测,且该文章可在http://robotics.Stanford,edu/处下裁。从该文章中可知确定无碰撞路径的下列方法。
[0051]机器人连接(link)是连接机器人关节的机械部分。假设两个机器人位置Pl和P2,在位置pl,机器人连接与环境之间的最小距离是dl,在位置p2,机器人连接与环境之间的最小距离是d2。如果当机器人从pl移动到p2时机器人连接的整个运动由D (pl,p2)限制,那么如果D (pl, p2) <dl+d2,路径段对机器人连接是无碰撞的。
[0052]在文章中示出了如何计算每一个机器人连接的D(pl,p2)。如果该不等式不能满足,则有必要将路径段分成更小的子段。重复此直到所有子段都满足该不等式或找到碰撞。因此,有必要在生成的位置中确定在机器人和其环境之间的最小距离,以安全地确定路径段是否无碰撞。
[0053]图4示出了路径规划算法示例的流程图。图4示出了 Kuffner和LaValle的RRTConnect算法的变体。该算法需要在布局空间Ta和Tb中的两个树状图。第一树状图固定(rooted)在停止位置,第二树状图固定在重启位置。该算法同时搜索空闲的布局空间并试图将两个树状图连接。
[0054]第一步中,将布局空间Ta初始化为具有机器人停止位置qst()p且将布局空间Tb初始化为具有机器人停止位置qMstart,方框10。在第二步中,位置生成器18生成新的位置Iand,方框12。算法在布局空间Ta中搜索与q—最近的位置,方框14。模拟从q—至q—的移动直到到达q rand,或找到碰撞。将所得的位置q—添加至布局空间Ta,方框16。算法在布局空间Tb中搜索与qMwl最近的位置q_2,方框18。模拟从q_2至qMwl的移动直到到达qnewl,或找到碰撞。将所得位置qnew2添加至布局空间Tb,方框20。确定是否到达qnOTl,方框22。如果到达qMwl,通过共同位置qMwl找到从Ta的根至Tb的根的返回路径,方框24。如果必要,将路径翻转。如果到达卩^^,将Ta和Tb互换,并且重复方框12至方框22的步骤,方框26。
[0055]本发明不由公开的实施例所限定,但可以在随附的权利要求书的范围内变化或改变。例如,可使用其它类型的路径规划。
【主权项】
1.一种用于自动生成无碰撞返回程序的方法,所述无碰撞返回程序用于当机器人在运行过程中由于错误停止时将所述机器人从停止位置返回至预设重启位置,所述方法包括: 当所述机器人停止时发送针对恢复路径的请求,其特征在于,所述方法包括: 使用生成由无碰撞路径段连接的机器人位置的路径规划算法,生成从停止位置到重启位置的无碰撞恢复路径,以及 基于确定出的所述恢复路径,生成包括将所述机器人返回至所述重启位置的移动指令的机器人程序。
2.根据权利要求1所述的方法,其中所述路径规划算法是基于采样的运动规划算法。
3.根据权利要求1或2所述的方法,其中所述路径规划算法包括在所述机器人的布局空间中搜索由无碰撞路径段连接的机器人位置的启发式搜索算法。
4.根据前述权利要求中任意一项所述的方法,其中所述路径规划算法包括: 在所述机器人的布局空间中生成可能的位置, 基于所述机器人的模型和其环境,确定是否能将生成的位置之间的无碰撞路径段连接, 放弃不能由无碰撞路径段连接的位置,以及 基于能够由无碰撞路径段连接的位置,生成从所述停止位置到所述重启位置的无碰撞路径。
5.根据权利要求4所述的方法,其中所述方法包括计算在所述生成的位置与所述机器人的环境之间的最短距离,并且基于计算出的所述生成的位置与所述机器人的环境之间的最短距离,确定是否能用无碰撞路径段将所述位置相连。
6.根据前述权利要求中任意一项所述的方法,其中所述方法适于当所述机器人由于错误停止时将多个机器人返回至预设的重启位置,所述方法包括在接收到所述请求时使用路径规划算法为所述多个机器人中的每个生成无碰撞恢复路径,所述路径规划算法基于所述机器人的所述预设重启位置和所述停止位置生成由无碰撞路径段连接的机器人位置。
7.一种用于自动生成无碰撞返回程序的设备,所述无碰撞返回程序用于在机器人在运行过程中由于错误停止时将所述机器人从停止位置返回至预设的重启位置,其中所述设备包括: 接收部分(12),所述接收部分适于接收针对恢复路径的请求和所述机器人的停止位置的信息,以及 编程部分(16),所述编程部分适于生成所述返回程序,其特征在于,所述设备包括: 路径生成部分(14),所述路径生成部分适于在接收到所述请求时基于所述机器人的预设的重启位置和所述停止位置使用路径规划算法为所述机器人生成无碰撞恢复路径,所述路径规划算法生成由无碰撞路径段连接的机器人位置,并且所述编程部分适于基于生成的返回路径生成所述返回程序。
8.根据权利要求7所述的设备,其中所述路径生成部分(14)适于使用基于采样的运动规划算法生成无碰撞恢复路径。
9.根据权利要求7或8所述的设备,其中所述路径生成部分(14)包括位置生成器(18),所述位置生成器适于在所述机器人的布局空间中生成可能的位置;以及碰撞检测模块(19),所述碰撞检测模块适于基于所述机器人的模型及其环境确定在生成的位置之间的路径段是否是无碰撞的。
10.根据权利要求7至10中任意一项所述的设备,其中,所述碰撞检测模块(19)适于计算在生成的位置和所述机器人的环境之间的最短距离,并适于基于计算出的所述生成的位置和所述机器人的环境之间的最短距离,确定是否能使用无碰撞路径段将所述位置连接。
11.根据权利要求7至10中任意一项所述的设备,其中所述设备适于自动生成无碰撞返回程序,以将多个机器人从它们的停止位置返回至预设的重启位置,所述接收部分(12)适于为多个机器人接收针对恢复路径的请求以及所述机器人的所述停止位置的信息,所述路径生成部分(14)适于基于所述机器人的预设的重启位置和所述停止位置、机器人模型以及机器人的环境为所述机器人生成无碰撞恢复路径,并且所述编程部分适于基于生成的返回路径为所述机器人生成返回程序。
12.根据权利要求7至10中任意一项所述的设备,其中,所述机器人包括用于控制所述机器人的运动的机器人控制器(5),并且所述设备被集成在所述机器人控制器中。
【专利摘要】本发明涉及用于当机器人在运行过程中由于错误停止时自动生成用于将所述机器人从停止位置返回至预设重启位置的无碰撞返回程序的方法及设备。所述设备包括接收部分(12),其适于接收针对恢复路径的请求和机器人停止位置的信息;路径生成部分(14),其适于在收到所述请求时,基于机器人的预设的重启位置和停止位置,使用路径规划算法为机器人生成无碰撞恢复路径,该路径规划算法生成由无碰撞路径段连接的机器人位置;以及编程部分(16),其适于基于生成的返回路径生成返回程序。
【IPC分类】B25J9-16
【公开号】CN104812535
【申请号】CN201280075935
【发明人】M·斯特兰德伯格
【申请人】Abb技术有限公司
【公开日】2015年7月29日
【申请日】2012年10月11日
【公告号】EP2906396A1, US20150266182, WO2014056533A1

最新回复(0)