用于实时控制编排动作的装置和方法

文档序号:2374321阅读:125来源:国知局
用于实时控制编排动作的装置和方法
【专利摘要】本发明涉及一种用于实时控制编排动作的装置和方法。在本发明中,为了控制在工作区中的机器人的操作,在工作区中的机器人的主要移动路线被确定,构成所确定的主要移动路线的单位动作被产生,当单位动作被连接成连续动作时,动态地改变偏移量的编排被产生,并且根据工作环境确定的补偿位移或补偿旋转量被产生。在本发明中,根据单位动作、编排、补偿位移和补偿旋转量中的至少一个,机器人在工作区的位置和旋转量被计算出来。
【专利说明】用于实时控制编排动作的装置和方法
【技术领域】
[0001]本发明涉及一种在工作区内机器人操作的实时控制编排动作的装置和方法。
【背景技术】
[0002]现今,各种工业工作由机器人完成。当由机器人从事的工作目标的位置移动的时候,需要用于控制机器人的动作的控制系统。
[0003]控制机器人的动作的控制系统控制机器人沿着编程的动作路线移动。此外,控制系统根据编程的工作内容控制机器人的操作。
[0004]当由于机器人的工作环境变化和动作路线变化而实时情况变化时,根据编程的内容控制机器人的控制系统不能适当地控制机器人的动作和操作。

【发明内容】

[0005]技术问题
[0006]本发明致力于提供一种具有当实时情况变化时能够适当地控制机器人的动作和操作的优点的装置和方法。
[0007]技术方案
[0008]本发明的示例性实施方式提供了用于控制在工作区的机器人的操作的实时编排动作控制装置,该实时编排动作控制装置包括:预处理器,其确定机器人在工作区的主要移动路线,而且其产生形成所确定的主要移动路线的单位动作,当执行由单位动作连接在一起形成的连续动作时,其产生动态改变偏移量的编排,而且其产生根据工作环境确定的补偿位移和补偿旋转量中的至少一个;和工作区动作合成单元,其根据单位动作、编排、补偿位移和补偿旋转量中的至少一个计算机器人在工作区的位置和旋转量。
[0009]预处理器可以包括:连续动作处理器,其确定在所述机器人动作开始之前就确定的主要移动路线或根据连续动作方法选择信息实时产生的主要移动路线,并且所述连续动作处理器产生所述单位动作;编排动作处理器,其选择在所述机器人动作开始之前就确定的编排或根据编排动作方法选择信息实时产生的编排,并且所述编排动作处理器产生相对编排量;及姿态补偿处理器,其根据所述工作区对于动作的情况变化产生用于反映随机位移或旋转量的所述补偿位移或所述补偿旋转量。
[0010]连续动作处理器可以包括:路线清单存储单元,其储存在动作开始前就确定的主要移动路线;实时路线产生器,当所述工作区的情况变化或动作路线变化的原因发生时,其实时产生新的单位动作;路线提示,其存储由所述实时路线产生器产生的单位动作;路线选择器,其根据所述连续动作方法选择信息从所述路线提示的单位动作和所述路线清单存储单元的单位动作中选择一个单位动作;及工作区连续动作产生器,其根据表示预先确定的工作的起点和终点的连续动作起/止信息把从所述路线选择器传送来的单位动作连接成为连续动作。
[0011]工作区连续动作产生器可以根据单位动作开始方法开始连续动作的第(n+1)个单位动作并根据前一动作处理方法处理第η个单位动作。
[0012]单位动作开始方法可以是以下方法中的其中一种:在所述第η个单位动作从加速或匀速变化到减速的时间点开始所述第(n+1)个单位动作的方法;在所述第η个单位动作从加速变化到匀速或减速的时间点开始所述第(n+1)个单位动作的方法;在所述第η个单位动作停止之前的预定时间的时间点开始所述第(n+1)个单位动作的方法;及在所述第η个单位动作和第(η-1)个前一单位动作之间的重叠的动作结束的时间点开始所述第(n+1)个单位动作的方法。
[0013]前一动作处理方法可以是以下方法中的其中一种:降低所述第η个单位动作的速度并开始所述第(n+1)个单位动作的方法;及维持所述第η个单位动作并开始所述第(n+1)个单位动作的方法。 [0014]编排动作处理器可以包括:编排清单存储单元,其存储在动作开始之前确定的编排清单;实时编排产生器,当在工作中所述工作区的情况变化或动作路线变化的原因发生时,所述实时编排产生器实时产生编排;编排提示,其存储由所述实时编排产生器在单位编排单元中产生的编排;编排选择器,其根据所述编排动作方法选择信息从包含在所述编排清单的单位编排或编排提示的单位编排中选择单位编排;及工作区编排动作产生器,其接收编排起/止信息和编排采样时间及编排参考变量信息的输入用于区分通过所述编排选择器选择的单位编排并使用所选择的单位编排和所述编排参考变量信息确定在所述编排采样时间内的相对编排量;其中所述编排参考变量信息包括用于设定编排变化点的编排参考变量,当执行当前单位编排时,在所述编排变化点下一个单位编排被执行。
[0015]工作区编排动作产生器可以基于连续动作的时间、迹线长度、或迹线旋转量确定编排参考变量。
[0016]工作区编排动作产生器可以确定编排参考变量,使用所确定的编排参考变量和在其中编排函数进行重复的编排周期确定第一变量,并产生所述编排函数作为所述第一变量的函数。
[0017]当编排参考变量没有达到编排变化点时,工作区编排动作产生器可以产生编排参
考变量和第一变量。
[0018]工作区动作合成单元、工作区连续动作产生器、工作区编排动作产生器和姿态补偿产生器可以与编排采样时间同步以进行操作。
[0019]实时编排动作控制装置可以还包括关节空间转换器,所述关节空间转换器从所述工作区动作合成单元接收机器人的位置和旋转量的输入,并产生机器人的关节的操作以便实现所述编排动作,其中所述关节空间转换器与所述编排采样周期同步以进行操作。
[0020]本发明的另一个实施方式提供了用于控制在工作区的机器人的操作的控制实时编排动作的方法,该方法包括:根据工作中是否发生包括所述工作区的情景变化和动作路线变化的原因的实时变化原因,实时产生单位动作,并从在所述机器人的动作开始之前就确定的单位动作和实时产生的单位动作中选择一个单位动作;根据是否发生实时变化原因来实时产生单位编排,并从在所述机器人的动作开始之前就确定的单位编排和实时产生的单位编排中选择一个单位编排;产生根据所述工作区的情况变化确定的补偿位移和补偿旋转量中的至少一个;及根据所述单位动作、所述单位编排、所述补偿位移和所述补偿旋转量中的至少一个计算所述机器人在所述工作区的位置和旋转量。[0021]该方法可以还包括根据选择的单位编排确定相对编排量,其中确定相对编排量可以包括使用所选择的单位编排和编排参考变量信息确定在编排采样时间内的相对编排量,及其中所述编排参考变量信息可以包括用于设定编排变化点的编排参考变量,当执行当前单位编排时,在所述编排变化点上,下一个单位编排被执行。
[0022]确定相对编排量可以还包括:基于连续动作的时间、迹线长度、或迹线旋转量确定编排参考变量;和使用确定的编排参考变量和在其中编排函数重复执行的编排周期来确定第一变量,并产生编排函数作为第一变量的函数。
[0023]技术效果
[0024]根据本发明,提供一种当实时情况变化时能够适当地控制机器人的动作和操作的装置和方法。
【专利附图】

【附图说明】
[0025]图1是根据本发明的示例性实施方式的用于控制焊接机器人的动作的动作控制系统的不意图。
[0026]图2是第(η-1)个单位动作和第η个单位动作的每个动作的速度相对时间示意图。
[0027]图3Α是安排的第η个动作的速度相对时间示意图。
[0028]图3Β和3C每个分别是当遵循不同的前一动作处理方法时第η个单位动作和第n+1个单位动作的速度相对时间示意图。
[0029]图4是当参考变量遵循迹线长度参考时单位动作和参考变量之间的关系的示意图。
[0030]图5是工作区编排动作产生器的操作的流程图。
[0031]图6A是编排函数是正弦函数而且编排参考变量是基于时间的变量的例子的示意图。
[0032]图6B是编排函数是线性函数而且编排参考变量是基于时间的变量的例子的示意图。
[0033]图6C是编排函数是正弦函数而且编排参考变量是基于迹线长度的变量的例子的示意图。
[0034]图6D是编排函数是线性函数而且编排参考变量是基于迹线长度的变量的例子的示意图。
【具体实施方式】
[0035]在下面的详细描述中,只是简单地通过图解方式示出和描述了本发明的某些示例性实施方式。正如本领域普通技术人员将认识到的,描述的实施方式可以通过各种不同方式被修改,所有这些修改并不偏离本发明的精神和范围。因此,附图和描述本质上被认为是解释性的而不是限制性的。在说明书中同样的参考数字指的是同样的元件。
[0036]在说明书和下面的权利要求中,当描述元件“耦合”到另一元件时,该元件可以“直接耦合”到另一元件或通过第三元件“电耦合”到另一元件。此外,除非明确地描述为与之矛盾,单词“包含”和变形如“包含”或“包含”将被理解为暗示包含陈述的元件但是不排除任何其它元件。
[0037]在下面的详细描述中,只是简单地通过图解方式示出和描述了本发明的某些示例性实施方式。
[0038]图1是根据本发明的示例性实施方式的将用于控制编排动作的装置和方法应用到控制焊接机器人的动作的实例的示意图。本发明的示例性实施方式示出了工业机器人中的执行焊接工作的焊接机器人。然而,本发明不局限于此,示例性实施方式中描述的本发明的精神可以被应用到其它机器人的动作控制上。
[0039]如图1所示,动作控制系统I包括预处理器10、工作区动作合成单元20、关节空间转换器30和伺服控制器40。图1也示出了机器人机构2,其是动作控制系统I的控制目标。
[0040]预处理器10确定机器人在工作区的主要移动路线,根据确定的主要移动路线产生单位动作,当连续动作时产生动态改变偏移量的编排,并产生根据工作环境确定的补偿位移量和补偿旋转量。在下文中,编排动作包括单位动作和编排结合在一起的动作。连续的动作表明多个单位动作的组合。补偿位移量或补偿旋转量被反映到编排动作上。
[0041]预处理器10包括连续动作处理器100、编排动作处理器200和补偿姿态处理器300。
[0042]连续动作处理器100确定机器人在工作区的主要移动路线,并产生在确定的主要移动路线中的单位动作。在这个例子中,主要移动路线可以在动作开始之前确定或者在操作的时候实时产生,而且为了从在动作开始前确定的主要移动路线和实时产生的主要移动路线中选择一个,连续动作方法选择信息Al被产生。
[0043]连续动作处理器100包括路线清单存储单元110、实时路线产生器120、路线提示130、路线选择器140和工作区连续动作产生器150。
[0044]当执行机器人的动作时外部情况变化和当工作时动作路线变化,根据这些变化,连续动作方法选择信息Al被产生。即,当外部情况变化和动作路线变化发生时,连续动作方法选择信息Al被产生,其选择实时产生的主要移动路线而不选择在动作开始前确定的主要移动路线。否则,选择在动作开始前确定的主要移动路线的连续动作方法选择信息Al被产生出来。
[0045]在机器人工作中可能发生的外部情况变化的例子描述如下。
[0046]I)由焊接导致的组件的变形
[0047]2)由涂料喷力导致的涂料目标的变化
[0048]3)由集中鼓风的吸力导致的目标的变化
[0049]工作中动作路线变化的原因的例子描述如下。
[0050]I)当先前不存在于预定计划中的外部目标进入工作区
[0051]2)当另一个机器人处理多种机器人工作中之前安排的工作时
[0052]内容是例子,并且根据机器人的使用各种需求可能发生。无论何时这类不同的需求发生,有必要实时产生主要移动路线。
[0053]连续动作处理器100产生在工作区确定的主要移动路线中的动作。主要移动路线是单位动作的集合。单位动作通过配置文件定义,该配置文件包含顺序、目标姿态、机器人配置、加速度或加速时间、减速度或减速时间、最大速度或匀速时间、角加速度或角加速时间,角减速度或角减速时间、最大角速度或匀速时间、单位动作开始方法和前一动作处理方法。
[0054]姿势指示机器人的位置和旋转信息。单位动作的顺序是根据构成路线的单位动作之间的顺序确定的。每个单位动作包括其顺序信息。目标姿势是包括目标位置和目标方向的信息。
[0055]机器人配置指示机器人的姿态。根据工作,机器人被设定成合适的姿态,又可以在相同姿势具有不同姿态。例如,焊接机器人采用与人类手臂相似形式的姿态,并且当焊接机器人采用相同姿势时,焊接机器人可以采用左臂姿态或右臂姿态。即,即使焊接机器人在工作区内的相同位置执行相同的旋转,工作内容根据焊接机器人是采用左手姿态还是右手姿态发生变化。
[0056]根据机器人轴线的数目和种类,机器人配置是不同的,并且机器人配置可以基于机器人确定。
[0057]机器人的移动路线可以根据移动速度被分成移动速度增加的加速部分,保持在最大速度的匀速部分,和移动速度减小的减速部分。此外,机器人的旋转路线可以根据角速度被分成角速度增加的角加速部分,维持在最大角速度的角匀速部分,和角速度减小的角减速部分。
[0058]加速度或加速时间是对应于加速部分的信息,减速度或减速时间是对应于减速部分的信息,最大速度或匀速时间是对应于匀速部分的信息,角加速度或角加速时间是对应于角加速部分的信息,角减速度或角减速时间是对应于角减速部分的信息,及最大角速度或匀速时间是对应于角匀速部分的信息。
[0059]在动作开始前被确定的移动路线储存在路线清单存储单元110。移动路线是单位动作的集合,因此代表确定的移动路线的单位动作的集合存储在路线清单存储单元110。
[0060]在工作中当外部情况变化或动作路线变化的原因发生时,实时路线产生器120实时产生新的移动路线。即,实时路线产生器120实时产生单位动作。
[0061]实时路线产生器120可以使用各种方法以便于实时产生新的移动路线。例如,根据通过摄像机选择(产生单位动作)姿势的方法,基于视频处理结果,通过摄像机,路线的目标姿势可能被改变。为了把用这种方式产生的路线与编排连锁在一起,编排动作处理器控制编排动作。
[0062]因为包括消耗在视频处理上的时间的路线产生时间是不确定的,所以机器人的动作可能被停止。为了避免这个发生,缓冲工具是必要的,并且在本发明的示例性实施方式中,“路线提示”被用作缓冲工具。具体地,由于实时路线产生器120的单位动作产生被延迟,为了避免动作被停止,单位动作可以被存储在路线提示130中。
[0063]路线提示130包括用于存储单位动作的存储空间,并且存储空间可以具体化为被分成单位动作单元的存储器。根据消耗在用于产生实时路线产生器120的单位动作上的时间,路线提示130的大小可以适当地设定。
[0064]具体地,当连续动作起/止信息BI通知单位动作的开始,路线提示130将相应的单位动作传递到路线选择器140。当连续动作起/止信息BI通知单位动作结束,路线提示130从存储器删除相应的单位动作。
[0065]路线选择器140根据连续动作方法选择信息Al从路线清单存储单元110中的单位动作和从路线提示130传递过来的单位动作中选择一个单位动作。[0066]工作区连续动作产生器150接收连续动作起/止信息BI和从路线选择器140传递过来的单位路线的输入,然后通过为机器人的动作控制的实时响应产生轨迹来确定目标姿态,该机器人在预定的工作起点和终点之间的路线上执行工作。目标姿态可以用表示目标位置的位置向量T_p(t)和表示目标旋转量的旋转向量T_r (t)的矩阵来表示。
[0067]连续动作起/止信息BI包括关于预定的工作起点和终点的信息。即,连续动作起/止信息BI是用来区分多个单位动作中的一个单位动作的信息。动作控制系统I控制各种单位动作。例如,连续动作起/止信息BI是表示由当前动作控制系统I控制的在多个单位动作中的单位动作的开始和结束的信息,该当前动作控制系统I根据姿态到姿态(P2P:从开始姿态到结束姿态移动机器人,及通过以在中间路线的机器人的每个关节点为基础确定优化的形式来移动机器人的方法)或JOG方法(使用轴的基础上的速度或姿势速度的指令移动机器人的方法)进行控制。工作区连续动作产生器150根据连续动作起/止信息BI区分与目前产生的连续动作不同的单位动作的连续动作。
[0068]工作区连续动作产生器150根据单位动作开始方法开始连续动作的每个单位动作。单位动作开始方法是确定连续单位动作的后续顺序的单位动作的开始时间点的方法。
[0069]参考图2,将描述开始单位动作的方法。
[0070]图2是第(η-1)个单位动作和第η个单位动作的每个动作的速度相对时间的示意图。参考图2,将描述开始第(n+1)个单位动作的方法。
[0071]开始第(n+1)个单位动作的方法可能在下面4种情况中的任一种发生。
[0072]I)从前一单位动作(第η个单位动作)的加速向匀速或减速转换的时间点tl
[0073]2)在前一单位动作(第η个单位动作)和在该前一单位动作之前的单位动作(第η-1个单位动作)之间的重叠的动作终止的时间点t2
[0074]3)在前一单位动作(第η个单位动作)停止之前预定的时间t_b的时间点t3
[0075]4)从前一单位动作(第η个单位动作)的加速或匀速向减速转换的时间点t4
[0076]在时间点tl到时间点t4之间的任何一个时间点,下一个单位动作(第(n+1)个单位动作)可以开始。此外,在t2-t4期间、t4-t3期间和t3-tl期间之间的随机的时间点上,第(n+1)个单位动作可以开始。
[0077]工作区连续动作产生器150根据前一动作处理方法处理连续动作的前一单位动作。前一动作处理方法是处理新开始的单位动作的前一单位动作的方法。
[0078]在下文中,前一动作处理方法将参考图3A-3C描述。
[0079]图3A是安排的第η个动作的速度相对时间示意图。
[0080]图3Β和3C每个分别是根据不同的前一动作处理方法的第η个单位动作和第n+1个单位动作的速度相对时间示意图。
[0081]如图3B和3C所示,前一动作处理方法描述如下。
[0082]I)降低前一动作(第η个单位动作)的速度和开始下一个动作(第(n+1)个单位动作)的方法
[0083]2)维持前一动作(第η个单位动作)的速度和开始下一个动作(第(n+1)个单位动作)的方法 [0084]这里假定在图3B和3C所示的前一动作处理方法中,下一个单位动作遵循“I)从前一单位动作(第η个单位动作)的加速或匀速向减速转换的时间点t4”。本发明并不受限于此,并且在不例性实施方式中,上面的方法被描述作为描述前一动作处理方法的设置。
[0085]根据前一动作处理方法I),安排的第η个单位动作在时间点t4尚未被终止,在时间点t4下一个单位动作(第(n+1)个单位动作)开始,如用虚线指示的,但是从时间点t4第η个单位动作开始减速并被终止。
[0086]可替代地,安排的第η个单位动作被维持,并在时间点t4,下一个(n+1)单位动作开始并因此根据前一动作处理方法2,这两个动作重叠。
[0087]在前述的下一个单位动作处理方法中,甚至在除了时间点t4之外的时间点,前一动作处理方法按照相同原则被应用。 [0088]当机器人的初始速度在单位动作的开始时间点是“O”时,工作区连续动作产生器150根据机器人的移动速度把一个部分分成加速部分、匀速部分和减速部分三个部分。
[0089]工作区连续动作产生器150产生三个预置部分中的每个部分的速度分布。具体地,工作区连续动作产生器150将加速部分和减速部分的速度分布产生为预定的多项式阶,并将匀速部分的速度分布产生为具有恒定值的速度分布。
[0090]当机器人的初始速度在单位动作的开始时间点不是“O”时,工作区连续动作产生器150把一个部分分成和设置成混合部分、匀速部分和减速部分三个部分。因为混合部分的初始速度不是0,所以混合部分是前一单位动作和当前单位动作相结合的一部分。
[0091]工作区连续动作产生器150添加包含在前一单位动作和当前单位动作的每个的姿态中的位置信息,乘以包含在每个姿态中的旋转信息矩阵,然后结合前一单位动作和当前单位动作。因此,在混合期间应该移动的最终位置被确定。
[0092]工作区连续动作产生器150混合在混合部分中生成初始速度为“O”的速度分布和移动到最终位置的加速部分速度分布。通过将在混合部分应该被移动的距离和在初始速度变到O的期间内移动的距离之间的不同添加到在给定的混合部分用于移动的速度分布,混合部分速度分布被产生。
[0093]在初始速度不是O的减速部分,工作区连续动作产生器150可以产生具有预定的多项式阶的速度分布。在这种情况下,当上述初始速度是O时,多项式阶比在减速部分的速度分布的阶高。在初始速度不是O的匀速部分,工作区连续动作产生器150产生匀速的速度分布。
[0094]工作区连续动作产生器150产生目标姿态,目标姿态包括表示目标位置的位置向量1'_?(0和表示目标旋转量的旋转向量T_r(t)的矩阵,其中位置向量1'_?(0是通过根据以这种方式产生的速度分布产生轨迹表示目标位置。工作区连续动作产生器150把产生的目标姿态传递到工作区动作合成单元20。
[0095]编排动作处理器200产生动作,也就是,编排,其动态改变连续动作之间的偏移量。编排动作处理器200以动态改变偏移量的方法使用先前安排的编排清单或实时编排产生器。
[0096]编排动作处理器200根据在工作区确定的编排清单产生编排动作。如在实时路线产生器的描述中描述的那样,当外部情况变化或动作路线变化的原因发生时,编排动作处理器200不能使用先前安排的编排清单。在这种情况下,编排动作处理器200根据在实时编排产生器中产生的编排清单产生相对编排量。
[0097]即,为了根据情况产生相对的编排量,编排动作处理器200可以产生实时编排清单或选择地使用存储的编排清单。
[0098]编排动作处理器200包括编排清单储存单元210、实时编排产生器220、编排提示230、编排选择器240和工作区编排动作产生器250。
[0099]编排清单存储单元210存储在动作开始之前确定的编排清单。
[0100]编排动作方法选择信息A2根据在工作中当机器人动作时外部情况可能发生变化的原因和动作路线变化的原因是否发生而产生。即,当外部情况变化和动作路线变化的原因之一发生时,编排动作方法选择信息A2选择实时产生的编排而不是在动作开始前确定的主编排。否则,连续动作方法选择信息A2选择在开始动作发生前确定的编排。
[0101]在工作中当外部情况变化的原因或动作路线变化的原因发生时,实时编排产生器220实时产生新的编排。即,实时编排产生器220实时产生单位编排。为了实时产生新的单位编排,实时编排产生器220可以使用各种方法。
[0102]编排提示230包括用于存储单位编排的存储空间,并且存储空间可以具体化为被分成单位编排单元的存储器。根据消耗在用于产生实时编排产生器220的单位编排上的时间,编排提示230的大小可以适当地设定。编排提示230根据编排起/止信息B2传递和删除存储的单位编排。
[0103]具体地,当编排起/止信息B2通知单位编排的开始时,编排提示230把相应的单位编排传递到编排选择器240。当编排起/止信息B2通知单位编排的结束时,编排提示230从存储器中删除相应的单位编排。
[0104]编排选择器240根据编排动作方法选择信息A2在从编排清单存储单元210传递过来的单位编排和编排提示230传递过来的单位编排之中选择一个单位编排。
[0105]工作区编排动作产生器250接收编排动作起/止信息B2和从编排选择器240传递过来的单位编排的输入,然后根据单位编排确定连续动作的相对编排量。相对编排量可以用位置向量W_p(t)和旋转向量W_r(t)的矩阵表示。
[0106]编排起/止信息B2被传递到工作区编排动作产生器250和编排提示230。当编排起/止信息B2通知编排终止时,编排提示230被清空。编排起/止信息B2用于与连续动作起/止信息BI在一起区分出数个编排动作中的一个。工作区编排动作产生器250区分与根据编排动作起/止信息B2目前产生的连续动作的编排不同的连续动作的编排。
[0107]如上所述,每个路径提示130和编排提示230根据连续动作起/止信息BI和编排起/止信息B2清空提示。即,为了避免将要开始的编排动作和当前产生的编排动作被弄混,当前的编排动作的数据被删除。这避免了当产生编排动作时可能发生的错误操作。
[0108]前述的编排清单是单位编排的集合。单位编排是由方向选择、参考向量、编排变化点、最大编排姿态、编排周期、和编排函数定义的。
[0109]单位编排的方向选择是由移动方向向量和参考向量确定的。代表单位编排的方向的向量被称为编排方向向量Wd。Wd是根据xyz坐标轴由Wd_x、Wd_y和Wd_z形成。
[0110]编排动作处理器200设定用来确定相对编排量的编排方向向量Wd。可以存在设定编排方向向量W的不同方法。
[0111]例如,编排动作处理器200可以遵循以下方法中的一种:1)在垂直于移动方向向量D和参考向量N的方向上确定编排方向向量W的方法,和2)基于工作区确定具有随机向量的编排方向向量W的方法。[0112]在方法I)中,移动方向向量D是表示从连续动作处理器100选择出来的路线的向量,并且参考向量N是在同一平面与移动方向向量D垂直的向量。在这种情况下,移动方向向量D用(D_x, D_y, D_z)表示,并且参考向量N用(N_x, N_y, N_z)表示。
[0113]在方法2)中,移动方向向量D可以用(1,0,0)确定,参考向量N可以用(0,1,0)确定,并且编排方向向量W可以用(0,0,I)确定。
[0114]编排变化点表示当前执行的单位编排的下一个单位编排被执行的点。当单位编排实时发生时,如果编排提示的大小是0,编排可以在任意期望点被改变,并且因此单位编排中的编排变化点被忽略。
[0115]然而,当单位编排实时发生的时候,如果编排提示的大小不是0,因为编排不能在期望点上被改变,所以根据编排提示的大小,当前执行的单位编排的下一个单位编排被执行的点应该被设定。即,当编排提示存在(当提示大小不是O)的时候,编排提示应该有关于时间点(编排变化点)的时间信息,在该时间点下一个单位编排应该被体现出来。如果该信息不存在,存储在编排提示的编排信息被同时执行。
[0116]编排变化点应该设置成与连续动作的单位动作同步。可替代地,编排参考变量“S”的用于设定编排变化点的预定点“ s_d”可以被设定作为编排变化点。
[0117]当s的预定点s_d被设定成编排变化点时,下一个单位编排开始的开始点是首先满足s>s_d的点。
[0118]编排参考变量可以基于时间、迹线长度、或迹线旋转量被设置。当编排参考变量是基于时间的变量时,编排参考变量变为s (t)。
[0119]当编排参考变量是基于迹线长度的变量时,如果动作是直线单位动作的集合的话,移动长度d被设定成编排参考变量。因此,编排参考变量变为s (d)。
[0120]当连续动作是匀速时,根据基于时间的编排参考变量在工作区上的结果与根据基于迹线长度的编排参考变量在工作区上的结果是相同的。当连续动作不是匀速时,根据基于迹线长度的编排参考变量在工作区上的结果与根据基于时间的编排参考变量在工作区上的结果是不同的。
[0121]图4是当编排参考变量是基于迹线长度的变量时单位动作和编排参考变量之间的关系的不意图。
[0122]随着图4所示的连续单位动作d(l)、cK2)、d(3)被添加,编排参考变量“s (d) ”被产生。
[0123]当编排参考变量是基于迹线旋转量的变量时,如果动作是旋转单位动作的集合,那么移动旋转量r被设置成编排参考变量。这与图4所示的基于迹线长度的编排参考变量产生方法是相同的。即,旋转单位动作被添加,因此编排参考变量“ s (r) ”被产生。
[0124]最大编排姿态P_max根据编排方向向量确定相对姿态。相对姿态是编排方向向量,并表示编排是否按某个尺寸和某个方向被执行。即,编排的方向和尺寸是根据最大编排姿态Pjnax和编排方向向量W确定的。最大编排姿态Pjnax通过P_x、P_y、P_z、P_ro11、P_pitch和P_yaw被定义。例如,最大编排姿态P_max是以齐次变换矩阵的乘积的形式计算出来的。齐次变换矩阵包括关于位置和旋转的全部信息。在这种情况下,P_x、P_y、和P_z表示在xyz坐标中的位置,并且P_roll、P_pitch和P_yaw是表示xyz坐标的旋转水平的信肩、O[0125]编排函数f(k)是用来确定是否产生关于某个动作的最大编排姿态P_max的函数。即,最大编排姿态P_max是用来确定正在发生的动作外形的函数。编排函数f(k)可以被选为周期函数,在周期函数中周期和最大值是I [maxf (k) = I]。
[0126]因为编排的尺寸被体现在最大编排姿态P_max,编排函数f(k)的最大尺寸被设定为1,并且编排函数f(k)被设定为使得编排函数f(k)的周期为I。
[0127]例如,编排函数f(k)可以被设定为像sin(k/2pi)或C0S(k/pi) —样的三角函数,或者可以被设定成矩形脉冲或三角脉冲,其中最大值是I并且周期是I。在这种情况下,当编排函数f(k)是三角函数时,编排函数f(k)是连续编排函数,并且当编排函数f(k)是矩形脉冲或三角脉冲时,编排函数是不连续的编排函数。
[0128]在连续的编排函数f(k)中,d(f(k))/dt对时间的微分值不是0,并且其起点和终点是相同的[f(o) =f(l)]。
[0129]编排周期sp表示编排函数重复的时间,公式I的关系是在编排参考变量s (t)和变量k之间形成的。
[0130]公式I
[0131]mod (s (t), sp) = k(t)
[0132]这里,取余运算表示用连续的编排参考变量s (t)除以编排周期sp得到余数。就是说,用连续的编排参考变量S (t)除以编排周期SP得到余数是变量k。
[0133]编排动作处理器200将编排采样时间ts操作为周期。因此,编排动作处理器200应该计算出在编排采样时间ts内的编排量。通知设定编排采样时间ts的方法的编排参考变量信息SI及编排参考变量S被传递到工作区编排动作产生器250。
[0134]工作区编排动作产生器250根据编排参考变量信息SI确定编排参考变量S,然后当编排参考变量s被确定时,工作区编排动作产生器250确定变量k,同时工作区编排动作产生器250根据单位编排和编排参考变量s产生相对编排量。在这种情况下,工作区编排动作产生器250在每个编排采样时间ts以固定的顺序操作,因此确定相对编排量。当编排参考变量s是基于时间的变量时,相对编排量是向量W_p (t)和矩阵W_r (t)。
[0135]编排参考变量信息SI包括关于编排参考变量s是基于时间的变量还是基于迹线长度的变量抑或是基于迹线旋转量的变量的信息。因此,编排动作产生器250根据编排参考变量信息SI确定编排参考变量s和变量k。当编排参考变量信息SI是基于时间的变量时,根据公式I确定参考k(t)。在编排动作产生器250,根据编排参考变量s设定变量k的方法是预先设置的。
[0136]当编排参考变量信息SI指示编排参考变量s作为基于迹线长度或迹线旋转量的变量时,工作区编排动作产生器250产生每个编排采样时间ts的迹线长度或迹线旋转量。工作区编排动作产生器250从工作区连续动作产生器150接收单位动作并且添加单位动作,因此产生迹线长度或迹线旋转量。
[0137]例如,工作区编 排动作产生器250使用参考图4描述的添加迹线长度的方法从工作区连续动作产生器150接收并添加单位编排(d(l),d(2),…),因此产生编排参考变量s (d)。
[0138]此外,工作区编排动作产生器250从工作区连续动作产生器150添加单位编排的旋转量(r (I),r (2),…),因此产生编排参考变量s (r)。[0139]图5是当编排参考变量是基于时间的变量时工作区编排动作产生器操作的流程图。甚至当编排参考变量是基于迹线长度和迹线旋转量的变量时,这里描述的操作可以同样地应用。变量只是从时间变化到迹线长度和迹线旋转量。
[0140]如图5所示,工作区编排动作产生器250产生编排参考变量s(t)和变量k(t)(S100)。编排参考变量S (t)被描述为是基于时间的变量。然而,本发明不受限于此。
[0141]工作区编排动作产生器250确定编排参考变量s (t)与编排变化点sd是否相同(SllO)。
[0142]如果编排参考变量s (t)与编排变化点sd相同,那么工作区编排动作产生器250选择下一个单位编排并初始化编排参考变量s (t) (S120) [s(t) = O]。
[0143]如果编排参考变量s(t)与编排变化点sd不相同,那么工作区编排动作产生器250重复产生编排参考变量s (t)和变量k(t)的步骤S100。
[0144]工作区编排动作产生器250计算出当前单位编排的编排量(S130)。编排量P_r(t)用最大编排姿态P_max和编排函数f(k)的乘积表示,如公式2表示的。这两个因子的乘积表示机器人的位置和旋转,机器人的位置可以用xyz坐标系的坐标表示,及机器人的旋转可以用xyz坐标系的旋转表示。
[0145]最大编排姿态P_max和编排函数f (k)的乘积被用来代替与最大编排姿态P_max的部分对应的编排函数f(k)的部分。
[0146]公式2
[0147]p_r (t) = P_max*f (k (t))
[0148]= (P_r_x (t),P_r_y (t),P_r_z (t),P_r_roll (t),P_r_pitch (t),P_r_yaw (t))
[0149]在这种情况下,表示位置的编排量被称为位置编排量P_r_p(t),并且表示旋转的编排量被称为旋转编排量P_r_r (t)。
[0150]在公式2产生的编排量中,位置编排量P_r_p(t)是P_r_x(t)、P_r_y(t)、和P_r_z (t),并且旋转编排量 P_r_r (t)是 P_r_roll (t)、P_r_pitch (t)和 P_r_yaw (t)。
[0151]工作区编排动作产生器250计算出编排方向(S140)。编排方向用编排向量Rw⑴表示。如上描述,工作区编排动作产生器250计算移动方向向量D和参考向量N的外积并计算出编排方向向量Rw⑴。
[0152]工作区编排动作产生器250用编排方向和编排量的乘积计算出相对编排量(S150)。相对编排量用相对编排量向和评_^0表示。相对编排量向量的位置相对编排量向量W_p (t)是位置编排量和编排方向向量的乘积Rw(t)P_r_p (t),如在公式3中表示的。相对编排量向量的旋转相对编排量向量W_r(t)是旋转编排量P_r_r (t)和编排方向向量Rw(t)的乘积,如公式4中表示的。
[0153]公式3
[0154]ff_p (t) = Rw (t) *P_r+p (t)
[0155]公式4
[0156]ff_r (t) = Rw (t) *P_r+r (t)
[0157]以这种方式,工作区编排动作产生器250计算出相对编排量。工作区编排动作产生器250根据编排起/止信息B2区分与当前产生编排动作的编排不同的编排动作的编排。
[0158]姿态补偿处理器300根据发生在动作上的外部情况变化反映随机位移或旋转量。根据外部情况变化的位移或旋转量可以用不同的方法被计算出。在本发明的示例性实施方式中,姿态补偿处理器300根据外部情况变化并根据预定的方法计算出随机位移或旋转量。
[0159]姿态补偿处理器300包括接收外部情况变化的输入的姿态补偿产生器310。姿态补偿产生器310检测外部情况,当外部情况改变时,姿态补偿产生器310根据预定的方法计算出用于补偿外部情况的变化的位移或旋转量。
[0160]姿态补偿处理器300根据外部情况产生根据随机姿态补偿值确定的补偿位移M_P (t)和补偿旋转量M_r (t)。
[0161]工作区动作合成单元20接收工作区连续动作产生器150、工作区编排动作产生器250和姿态补偿产生器310中的每个的输出,然后计算在工作区的机器人的位置和旋转量。
[0162]工作区动作合成单元20、工作区连续动作产生器150、工作区编排动作产生器250、姿态补偿产生器310和关节空间转换器30同步到相同的工作区采样周期。工作区采样周期与编排采样周期ts同步。
[0163]工作区动作合成单元20基于输入计算在工作区的位置TS_p(t)和在工作区的旋转量TS_r(t),如公式5和6表示。
[0164]公式5
[0165]TS_p (t) = T_p (t) +ff_p (t) +M_p (t)
[0166]公式6
[0167]TS_r (t) = T_r (t) *ff_r (t) *M_r ⑴
[0168]如公式5和6所表示的,工作区动作合成器20可以在每个工作区采样周期实时产生编排并反映姿态补偿值。
[0169]关节空间转换器30接收来自工作区动作合成单元20的工作区上的位置和旋转量的输入,然后产生应该在机器人关节上执行的操作,以便实现在工作区产生的编排动作。即,关节空间转换器30将工作区的编排动作转换为关节空间的动作。作为具体的方法,逆向运动学可以被应用到关节空间转换器30。
[0170]伺服控制器40是执行诸如阻抗控制、位置控制、速度控制、和转矩控制此类的机器人的关节单元的控制的组成部件。
[0171]图6A-6D每个示出了根据本发明的示例性实施方式的动作控制系统被应用和产生的编排动作。
[0172]图6A是编排函数是正弦函数的例子的示意图,并且其中编排参考变量是基于时间的变量。
[0173]在图6A中,从起点STl到终点ENl前进的连续动作路线用单点划线指示出来。此夕卜,编排被添加到连续动作的工作区中的编排动作用实线指示出来。图6A的编排函数f(k)是 sin (k/2pi)。
[0174]在图6A中,在起点STl和通过点THl之间的部分PEl上的速度Vl比在通过点THl和终点ENl之间的部分PE2上的速度V2要快。
[0175]因为编排函数f (k)遵循基于时间的编排参考变量s (t),包含在部分PE2的编排周期比包含在部分PEl的编排周期大,如图6A所示。因为速度Vl比速度V2更快,所以移动相同的距离消耗的时间更短。因为编排参考变量s(t)是基于时间的变量,随着时间更短,包含在相应时间内的编排周期减小。
[0176]图6B是编排函数是线性函数并且编排参考变量是基于时间的变量的例子的示意图。与图6A的例子类似,在图6B中,连续动作路线用单点划线指示出来,及在工作区,编排动作用实线指示出来。图6A的编排函数f(k)是k。
[0177]在图6B中,在起点ST2和通过点TH2之间的部分PE2上的速度V3比在通过点TH2和终点EN2之间的部分PE2上的速度V4要快。因此,包含在部分PE4的编排周期比包含在部分PE3的编排周期更大。
[0178]图6C是编排函数是正弦函数的示意图,并且其中编排参考变量是基于迹线长度的变量。与图6A的例子类似,在图6C中,连续动作路线用单点划线指示出来,及在工作区,编排动作用实线指示出来。图6C的编排函数f(k)是sin(k/2pi)。
[0179]如图6C所示,当编排参考变量(S)是基于迹线长度的变量时,包含在部分PE5和部分PE6的编排周期的数量根据连续动作移动路线长度确定而与速度V5和速度V6无关。
[0180]因此,当部分PE5的长度和部分PE6的长度相同时,包含在每个部分中的编排周期的数量是相同的。然而,根据速度,工作机器人穿过工作部分PE5的时间和工作机器人穿过工作部分PE6的时间是不同的。
[0181]图6D是编排函数是线性函数的例子的示意图,并且其中编排参考变量是基于迹线长度的变量。与图6A的例子类似,在图6D中,连续动作路线用单点划线指示出来,及在工作区,编排动作用实线指示出来。图6D的编排函数f(k)是k。
[0182]如图6D所示,当编排参考变量(S)是基于迹线长度的变量时,包含在工作部分PE7和工作部分PE8中的每个的编排周期的数量根据连续动作移动路线的长度确定而与速度V7和速度V8无关。
[0183]尽管已经结合目前被认为实用的示例性实施方式对本发明进行了描述,可以理解本发明不限于公开的实施方式,但是,相反,本发明意欲涵盖在所附权利要求的精神和范围之内的各种修改和等效布置。
[0184]工业实用性
[0185]以这种方式,根据可以实时控制编排动作的本发明的示例性实施方式,实时编排动作控制装置能够实时处理外部工作环境的变化。
【权利要求】
1.一种用于控制工作区内的机器人的操作的实时编排动作控制装置,所述实时编排动作控制装置包括: 预处理器,其确定所述工作区中的机器人的主要移动路线,产生形成所确定的主要移动路线的单位动作,产生在执行由所述单位动作连接成的连续动作时动态改变偏移量的编排,并且产生根据工作环境确定的补偿位移和补偿旋转量中的至少一个;及 工作区动作合成单元,其根据所述单位动作、所述编排、所述补偿位移和所述补偿旋转量中的至少一个计算所述机器人在所述工作区中的位置和旋转量。
2.根据权利要求1所述的实时编排动作控制装置,其中,所述预处理器包括: 连续动作处理器,其确定在所述机器人的动作开始之前被确定的主要移动路线或根据连续动作方法选择信息实时产生的主要移动路线,并且所述连续动作处理器产生所述单位动作; 编排动作处理器,其选择在 所述机器人的动作开始之前确定的编排或根据编排动作方法选择信息实时产生的编排,并且所述编排动作处理器产生相对编排量;及 姿态补偿处理器,其根据所述工作区对于动作的情况变化产生用于反映随机位移或旋转量的补偿位移或补偿旋转量。
3.根据权利要求2所述的实时编排动作控制装置,其中,所述连续动作处理器包括: 路线清单存储单元,其储存在动作开始前确定的主要移动路线; 实时路线产生器,当所述工作区的情况变化或动作路线变化的原因发生时,该实时路线产生器实时产生新的单位动作; 路线提示,其存储由所述实时路线产生器产生的单位动作; 路线选择器,其根据所述连续动作方法选择信息从所述路线提示的单位动作和所述路线清单存储单元的单位动作中选择一个单位动作;及 工作区连续动作产生器,其根据表示预先确定的工作的起点和终点的连续动作起/止信息把从所述路线选择器传送来的单位动作连接成为连续动作。
4.根据权利要求3所述的实时编排动作控制装置,其中,所述工作区连续动作产生器根据单位动作开始方法开始连续动作的第(n+1)个单位动作并根据前一动作处理方法处理第η个单位动作。
5.根据权利要求4所述的实时编排动作控制装置,其中,所述单位动作开始方法是以下方法中的一种: 在所述第η个单位动作从加速或匀速向减速变化的时间点开始所述第(n+1)个单位动作的方法; 在所述第η个单位动作从加速向匀速或减速变化的时间点开始所述第(n+1)个单位动作的方法; 在所述第η个单位动作停止之前的预定时间的时间点开始所述第(n+1)个单位动作的方法;及 在所述第η个单位动作和第(η-1)个前一单位动作之间的重叠的动作结束的时间点开始所述第(n+1)个单位动作的方法。
6.根据权利要求4所述的实时编排动作控制装置,其中,所述前一动作处理方法是以下方法中的一种:降低所述第η个单位动作的速度并开始所述第(n+1)个单位动作的方法;及 维持所述第η个单位动作并开始所述第(n+1)个单位动作的方法。
7.根据权利要求2所述的实时编排动作控制装置,其中,所述编排动作处理器包括: 编排清单存储单元,其存储在动作开始之前确定的编排清单; 实时编排产生器,当在工作中所述工作区的情况变化或动作路线变化的原因发生时,所述实时编排产生器实时产生编排; 编排提示,其存储由所述实时编排产生器在单位编排单元中产生的编排; 编排选择器,其根据所述编排动作方法选择信息从包含在所述编排清单的单位编排或所述编排提示的单位编排中选择单位编排;及 工作区编排动作产生器,其接收编排起/止信息和编排采样时间及编排参考变量信息的输入,用于区分通过所述编排选择器选择的单位编排,并使用所选择的单位编排和所述编排参考变量信息确定在所述编排采样时间内的相对编排量; 其中所述编排参考变量信息包括用于设定编排变化点的编排参考变量,当执行当前单位编排时,下一个单位编排在所述编排变化点被执行。
8.根据权利要求7所述的实时编排动作控制装置,其中,所述工作区编排动作产生器基于所述连续动 作的时间、迹线长度或迹线旋转量确定所述编排参考变量。
9.根据权利要求8所述的实时编排动作控制装置,其中,所述工作区编排动作产生器确定所述编排参考变量,使用所确定的所述编排参考变量和编排函数在其中进行重复的编排周期确定第一变量,并产生所述编排函数作为所述第一变量的函数。
10.根据权利要求9所述的实时编排动作控制装置,其中,当所述编排参考变量没有达到所述编排变化点时,所述工作区编排动作产生器产生所述编排参考变量和所述第一变量。
11.根据权利要求7所述的实时编排动作控制装置,其中,所述工作区动作合成单元、所述工作区连续动作产生器、所述工作区编排动作产生器和所述姿态补偿处理器与所述编排采样时间同步以进行操作。
12.根据权利要求11所述的实时编排动作控制装置,还包括关节空间转换器,所述关节空间转换器从所述工作区动作合成单元接收机器人的位置和旋转量的输入,并产生机器人的关节的操作以便实现所述编排动作, 其中所述关节空间转换器与所述编排采样周期同步以进行操作。
13.一种用于控制工作区中的机器人的操作的控制实时编排动作的方法,所述方法包括: 根据工作中是否发生包括所述工作区的情景变化和动作路线变化的原因的实时变化原因,实时产生单位动作,并从在所述机器人的动作开始之前确定的单位动作和实时产生的单位动作中选择一个单位动作; 根据是否发生实时变化原因来实时产生单位编排,并从在所述机器人的动作开始之前确定的单位编排和实时产生的单位编排中选择一个单位编排; 产生根据所述工作区的情况变化确定的补偿位移和补偿旋转量中的至少一个;及根据所述单位动作、所述单位编排、所述补偿位移和所述补偿旋转量中的至少一个计算所述机器人在所述工作区的位置和旋转量。
14.根据权利要求13所述的方法,还包括根据所选择的单位编排确定相对编排量, 其中确定相对编排量包括使用所选择的单位编排和编排参考变量信息确定在编排采样时间内的相对编排量,及 其中所述编排参考变量信息包括用于设定编排变化点的编排参考变量,当执行当前单位编排时,下一个单位编排在所述编排变化点被执行。
15.根据权利要求14所述的方法,其中,确定相对编排量还包括: 基于所述连续动作的时间、迹线长度或迹线旋转量确定所述编排参考变量;及使用所确定的所述编排参考变量和编排函数在其中进行重复的编排周期确定第一变量,并产生所述编排 函数作为所述第一变量的函数。
【文档编号】B25J9/16GK104023922SQ201280054048
【公开日】2014年9月3日 申请日期:2012年10月5日 优先权日:2011年11月2日
【发明者】朴永俊, 河映列, 姜尚民 申请人:三星重工业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1