用于管理机器人程序的方法和装置与流程

文档序号:26101937发布日期:2021-07-30 18:13阅读:96来源:国知局
用于管理机器人程序的方法和装置与流程
本公开的示例性实施方式一般涉及的机器人系统,并且更具体地,涉及用于管理机器人程序的方法、装置、系统和计算机可读介质。
背景技术
:随着计算机和自动控制的发展,在制造产业中机器人系统已被广泛用于加工不同类型的对象。通常,机器人系统可用于加工工件。例如,可以将第一形状的第一工件加工为第二形状的第二工件。可以预先生成机器人程序以控制机器人系统执行上述加工。然后,机器人程序可以被导入到的机器人系统的控制器。然而,在将机器人程序导入至控制器之后,难以修改机器人程序。因此,如何以更有效和方便的方式管理该机器人程序成为焦点。技术实现要素:本公开的示例性实施方式提供了用于管理机器人程序的方案。在第一方面,本公开的一些实施方式提供了一种用于控制机器人系统的方法。该方法包括:导入用于控制机器人系统的运动路径的机器人程序,运动路径用于将第一工件加工为第二工件,并且机器人程序包括表示用于控制运动路径的特征的参数的变量;向机器人系统的用户提供用于控制机器人系统的接口;以及响应于从用户接收到用于调整参数的输入,基于输入更新机器人程序。利用这些实施方式,机器人程序中的变量可以表示用于控制运动路径的特征的参数。例如,配置工具的角度的工具角度可以是参数的示例。此时,变量“angle”可以定义在机器人程序中用于允许用户以更为简单和方便的方式来调整运动路径的特征。在本公开的一些实施方式中,更新机器人程序包括:基于输入来更新变量的值。在这些实施方式中,用户可以输入用于调整参数的期望数值,并且由此机器人程序中的变量的数值可以基于用户输入来更新。例如,用户可以输入“46°”以便将变量“angle”的数值修改为“46°”。在本公开的一些实施方式中,该方法还包括:基于更新的机器人程序控制机器人系统,使得机器人系统将基于更新的机器人程序来将第一工件加工为第二工件。利用这些实施方式,可以在无需在单独的离线编程工具中重写机器人程序的情况下直接更新机器人程序。在本公开的一些实施方式中,变量的值是基于加工定义来确定的,加工定义用于确定将第一工件加工为第二工件的机器人系统的过程。在此,加工定义可以定义用于将第一工件加工为第二工件的机器人系统的一般过程。由此,变量的数值可以是从加工定义中获取的默认值。进一步,经由机器人程序中的变量,用户可以将默认值调整至任何期望值。在本公开的一些实施方式中,变量在机器人程序中的位置是基于模板确定的,模板定义参数和机器人程序中的对应于参数的值之间的映射。利用这些实施方式,模板可以定义参数和数值之间的映射,由此这些实施方式提供了灵活的方式以便确定机器人程序中的哪个/哪些数值可以对应于参数,并且继而可以由变量来表示。在本公开的一些实施方式中,该方法还包括:响应于接收到来自用户的用于运行机器人系统的输入,启动机器人程序以用于运行机器人系统。有时候,用户可能会调整机器人程序,然而有时候用户可以在无需修改的情况下基于原始机器人程序直接运行机器人系统。这些实施方式提供了用于直接运行机器人的备选。由此,根据本公开的实施方式的机器人程序和传统机器人程序两者都可以被启动用于控制机器人系统。在本公开的一些实施方式中,该方法在机器人系统的机器人控制器处被实现。相比于在离线编程工具处重写机器人程序的传统方案,这些实施方式允许直接在机器人系统的机器人控制器处更新机器人程序。进一步,更新的机器人程序可以用于控制机器人系统。在本公开的一些实施方式中,该方法还包括:将更新的机器人程序导出至程序库。利用这些实施方式,更新的机器人程序可以被导入至程序库用于进一步实验。例如,程序库可以被导入至另一机器人系统以便将第一工件加工为第二工件。例如,程序库可以被导入至离线编程工具用于进一步修改。在本公开的一些实施方式中,运动路径的特征包括以下至少任一项:用于控制运动路径的工具角度;用于控制运动路径的工具宽度;用于控制运动路径的工具类型;用于控制运动路径的加工移动;以及用于控制运动路径的非加工移动。利用这些实施方式,用于控制运动路径的各个特征可以在程序中被参数化,由此可以通过在机器人系统的控制器处的输入来容易地更新机器人程序。在第二方面中,本公开的一些实施方式提供了一种用于控制机器人系统的装置。该装置包括导入单元,被配置用以导入用于控制机器人系统的运动路径的机器人程序,运动路径用于将第一工件加工为第二工件,并且机器人程序包括表示用于控制运动路径的特征的参数的变量;提供单元,被配置用以向机器人系统的用户提供用于控制机器人系统的接口;以及更新单元,被配置用以响应于从用户接收到用于调整参数的输入,基于输入更新机器人程序。在本公开的一些实施方式中,更新单元包括:数值更新单元,被配置用以基于输入来更新变量的值。在本公开的一些实施方式中,该装置还包括:控制单元,被配置用以基于更新的机器人程序控制机器人系统,使得机器人系统将基于更新的机器人程序来将第一工件加工为第二工件。在本公开的一些实施方式中,变量的值是基于加工定义来确定的,加工定义用于确定将第一工件加工为第二工件的机器人系统的过程。在本公开的一些实施方式中,变量在机器人程序中的位置是基于模板确定的,模板定义参数和机器人程序中的对应于参数的值之间的映射。在本公开的一些实施方式中,该装置还包括:启动单元,被配置用以响应于接收到来自用户的用于运行机器人系统的输入,启动机器人程序以用于运行机器人系统。在本公开的一些实施方式中,该装置在机器人系统的机器人控制器处被实现。在本公开的一些实施方式中,该装置还包括:导出单元,被配置用以将更新的机器人程序导出至程序库。在本公开的一些实施方式中,运动路径的特征包括以下至少任一项:用于控制运动路径的工具角度;用于控制运动路径的工具宽度;用于控制运动路径的工具类型;用于控制运动路径的加工移动;以及用于控制运动路径的非加工移动。在第三方面,本公开的一些实施方式提供了一种用于控制机器人系统的系统。该系统包括:耦合至计算机可读存储器单元的计算机处理器,存储器单元包括指令,当由计算机处理器运行时指令实现根据本公开的第一方面的方法。在第四方面,本公开的一些实施方式提供了一种计算机可读介质,其上存储有指令,当由至少一个处理器运行时指令使得至少一个处理器执行根据本公开的第一方面的方法。在第五方面,本公开的一些实施方式提供了一种用于生成用于控制机器人系统的机器人程序的方法。该方法包括:获取用于定义将第一工件加工为第二工件的机器人系统的过程的加工定义;从获取的加工定义确定用于控制机器人系统的运动路径的特征的参数,运动路径用于将第一工件加工为第二工件;以及基于获取的加工定义和确定的参数,生成用于控制运动路径的机器人程序,机器人程序包括用于调整参数的变量。利用这些实施方式,机器人程序中的变量对于机器人程序提供更多的可读性。进一步,变量的数值可以被调整以用于修改用纸机器人系统的运动路径的特征的参数。由此在无需在离线编程工具中重写机器人程序的情况下,提供了更为简单和方便的方式来修改机器人系统的运动路径。在本公开的一些实施方式中,获取加工定义包括:获取表示第一工件的形状的维度的形状模型;获取第二工件的描述;以及基于获取的形状模型和描述确定加工定义。在此,形状模型可以由计算机辅助设计(cad)模型来表示,并且描述可以以用于第二工件的任意适合的格式来表示。利用这些实施方式,可以清楚地确定定义了如何将第一工件加工为第二工件的加工定义。在本公开的一些实施方式中,生成机器人程序包括:在机器人程序中提供用于表示参数的值的变量;从加工定义确定变量的值;以及基于确定的值来设置变量的值。将会理解,机器人程序可以包括用于描述机器人系统的运动的多个行。在生成机器人程序的传统方案中,与运动路径的特征相关联的行已经被解释为机器语言的值,这对用户几乎是不可读的。利用这些实施方式,变量对机器人程序提供了更多可读性。此外,通过将变量的值设置为其他值,可以容易地修改运动路径的特征。在本公开的一些实施方式中,在机器人程序中提供变量包括:在机器人程序中利用变量替换与变量相关联的至少一个值。利用这些实施方式,与机器人程序中的变量相关联的值被变量替换。进一步,通过将变量设置为期望的值,机器人程序可以被简单地修改,而不是逐一替换机器人程序中的全部数值。在本公开的一些实施方式中,该方法还包括:基于定义参数和机器人程序中的至少一个值之间的映射的模板,确定至少一个值。利用这些实施方式,模板定义了参数和数值之间的映射,由此这些实施方式可以提供灵活的方式来定义机器人程序中的哪些数值可以对应于参数,并且可以被变量替换。在本公开的一些实施方式中,该方法在用于生成机器人程序的离线编程工具处实现。利用这些实施方式,离线编程工具可以被修改以提高所生成机器人程序的可读性。在本公开的一些实施方式中,该方法还包括:将生成的机器人程序导出至程序库用于被加载至机器人系统的机器人控制器之中,使得机器人系统将第一工件加工为第二工件。利用这些实施方式,当生成的机器人程序被导入至机器人系统的控制器中时,通过在控制器处将变量设置为期望值,可以更新相关于该参数的全部行。相比于在离线编程工具处修改机器人程序以生成更新的机器人程序并且将更新的机器人程序再次导入机器人控制器的传统技术方案,这些实施方式可以为在控制器处直接修改机器人程序提供更为简单和有效的方法。在本公开的一些实施方式中,运动路径的特征包括以下至少任一项:用于控制运动路径的工具角度;用于控制运动路径的工具宽度;用于控制运动路径的工具类型;用于控制运动路径的加工移动;以及用于控制运动路径的非加工移动。利用这些实施方式,可以在机器人程序中量化用于控制运动路径的各个特征,由此可以通过在机器人系统的控制器处通过用户输入来简单地更新机器人程序。在第六方面中,本公开的一些实施方式提供了一种用于生成控制机器人系统的机器人程序的装置。该装置包括:获取单元,被配置用以获取用于定义将第一工件加工为第二工件的机器人系统的过程的加工定义;确定单元,被配置用以从获取的加工定义确定用于控制机器人系统的运动路径的特征的参数,运动路径用于将第一工件加工为第二工件;以及生成单元,被配置用以基于获取的加工定义和确定的参数,生成用于控制运动路径的机器人程序,机器人程序包括用于调整参数的变量。在本公开的一些实施方式中,获取单元包括:形状获取单元,被配置用以获取表示第一工件的形状的维度的形状模型;描述获取单元,被配置用以获取第二工件的描述;以及加工确定单元,被配置用以基于获取的形状模型和描述确定加工定义。在本公开的一些实施方式中,生成单元包括:提供单元,被配置用以在机器人程序中提供用于表示参数的值的变量;参数确定单元,被配置用以从加工定义确定参数的值;以及设置单元,被配置用以基于确定的值来设置变量的值。在本公开的一些实施方式中,提供单元包括:替换单元,被配置用以利用变量替换机器人程序中的与参数相关联的至少一个值。在本公开的一些实施方式中,该装置还包括:位置确定单元,被配置用以基于定义参数和机器人程序中的至少一个值之间的映射的模板,确定至少一个值。在本公开的一些实施方式中,该装置在用于生成机器人程序的离线编程工具处实现。在本公开的一些实施方式中,该装置还包括:导出单元,被配置用以将生成的机器人程序导出至程序库用于被加载至机器人系统的机器人控制器之中,使得机器人系统将第一工件加工为第二工件。在本公开的一些实施方式中,运动路径的特征包括以下至少任一项:用于控制运动路径的工具角度;用于控制运动路径的工具宽度;用于控制运动路径的工具类型;用于控制运动路径的加工移动;以及用于控制运动路径的非加工移动。在第七方面中,本公开的一些实施方式提供了一种用于生成控制机器人系统的机器人程序的系统。该系统包括:耦合至计算机可读存储器单元的计算机处理器,存储器单元包括指令,当由计算机处理器运行时指令实现根据本公开第五方面的方法。在第八方面中,本公开的一些实施方式提供了一种计算机可读介质,其上存储有指令,当由至少一个处理器运行时指令使得至少一个处理器执行根据本公开第五方面的方法。在第九方面中,本公开的一些实施方式提供了一种机器人控制系统。该机器人控制系统包括:用于根据本公开第六方面的生成用于控制机器人系统的机器人程序的装置;机器人系统;以及用于根据本公开第二方面的用于控制机器人系统的装置。附图说明图1示出了根据一个方案的用于生成机器人程序以及基于所生成的机器人程序来控制机器人系统的示意图;图2示出了根据本公开的实施方式的用于生成参数化机器人程序以及基于该参数化机器人程序来控制机器人系统的示意图;图3示出了根据本公开的实施方式的机器人程序与参数化机器人程序的比较示意图;图4示出了根据本公开的实施方式的用于生成机器人程序的方法的流程图;图5示出了根据本公开的实施方式的用于基于参数化机器人程序来控制机器人系统的方法的示意图;图6示出了根据本公开的实施方式的用于控制机器人系统的界面的示意图;图7a示出了根据本公开的实施方式的用于生成机器人程序的装置的示意图;图7b示出了根据本公开的实施方式的用于控制机器人系统的装置的示意图;以及图8示出了根据本公开的实施方式的用于生成机器人程序/控制机器人系统的系统的示意图。在所有附图中,相同或相似的附图标记用于指示相同或相似的元件。具体实施方式现在将参考附图中示出的多个示例性实施方式来描述本公开的原理。尽管在附图中示出了本公开的示例性实施方式,但是应当理解,描述实施方式仅是为了帮助本领域技术人员更好地理解并且从而实现本公开,而并不旨在以任何方式限制本公开的范围。出于说明的目的,将参考图1来提供机器人系统的环境的一般描述。图1示出了根据一个方案的用于生成机器人程序130以及基于所生成的机器人程序130来控制机器人系统126的示意图100。如图1所示,在离线侧110存在用于生成机器人程序130的离线编程工具112。这里,机器人程序130可以是机器语言格式,其对于在线侧120的控制器124是可读的。在线侧120可以包括控制器124,用于根据机器人程序130控制机器人系统126。可以存在外围设备122,诸如用于操作控制器124的触摸敏感设备。在如图1所示的方案中,在机器人程序130被导入到控制器124中之后,可以由机器人程序130来驱动机器人系统126。然而,有时候,机器人程序130在导入之后需要被修改。例如,机器人程序130可以定义机器人系统126的运动路径以将第一工件加工为第二工件,其中工具角度被设置为角度45°。但是,如果用户想要将工具角度修改为46°的角度,则用户必须返回到离线编程工具112来修改角度并生成更新的程序。此外,更新的程序可以被导入到控制器124以控制机器人系统126。用于修改机器人程序130的上述过程涉及离线侧110和在线侧120两者处的多个步骤,这可能导致大量人力和时间开销。为了至少部分地解决上述和其他潜在问题,根据本公开的实施方式公开了一种用于生成机器人程序的新方法。概括而言,根据本公开的实施方式,可以由根据各个实施方式的离线编程工具生成包括参数的参数化机器人程序。参数化机器人程序可以用于控制机器人系统的运动路径,以将第一工件加工为第二工件。在此,参数可以用于控制机器人系统的运动路径的特征。将参考图2提供关于本公开的更多细节。图2示出了根据本公开的实施方式的用于生成参数化机器人程序230以及基于该参数化机器人程序230来控制机器人系统126的示意图200。在此,参数可以提供有效且方便的方式以便控制机器人系统的运动路径的特征。利用这些实施方式,参数化机器人程序230中的变量允许为机器人程序提供更多的可读性。此外,可以调整变量的值以修改控制机器人系统126的运动路径的特征的参数。由此,在无需在离线程序工具中重写机器人程序的情况下,提供了一种更加容易和方便的方式来用于修改机器人系统126的运动路径。将参考图3描述传统机器人程序130和参数化机器人程序230之间的差异。图3示出了根据本公开的实施方式的机器人程序130与参数化机器人程序230的比较示意图300。出于描述的目的,将以简单加工为例来描述本公开的实施方式。该加工涉及利用由机器人系统126控制的工具,在第一工件的表面绘制包括10个点的折线,并且工具的角度被设置为45°。参考图3,机器人程序130可以包括多个行,其中工具角度“45°”被直接写入在机器人程序130中。当机器人系统126的用户希望将工具角度修改为“46°”,该用户需要将每行中的所有值从“45°”修改至“46°”。机器人程序130仅示出了一个简单的示例,然而真实机器人程序可以包括成千上万行,此时不能在在线侧120修改机器人程序130。因此,机器人程序130应当被导入离线编程工具110以进行修改。图3示出了根据本公开的实施方式的参数化机器人程序230。如参数化机器人程序230所示,工具角度“45°”由变量320“angle”替换。此外,最后一行330示出了该工具的角度被设置为“45°”。利用这些实施方式,参数化机器人程序230对于用户可以更为易读。同时,由于控制器124支持语句“angle=45°”来设置变量“angle”的值,参数化机器人程序230可被运行以控制机器人系统230。在参数化机器人程序230被导入到控制器124之后,参数化机器人程序230可以直接运行。备选地,如果用户想要将工具角度改变为“46°”,则他/她可以简单地将行330修改为“angle=46°”。本公开的实施方式涉及两个方面:离线侧110和在线侧120。将参考图4来提供离线侧110的细节。图4示出了根据本公开的实施方式的用于生成机器人程序的方法400的流程图。在框410处,可以获取加工定义,该加工定义可以定义将第一工件加工为第二工件的机器人系统的过程。加工定义可以采用任何合适的格式,只要该格式可以定义如何将第一工件加工为第二工件即可。在本公开的一些实施方式中,可以获取形状模型。形状模型可以表示第一工件的形状的维度。例如,形状模型可以由计算机辅助设计(cad)模型表示。可替代地,形状模型可以由定义第一工件的维度的其他3d模型来表示。然后,可以获得第二工件的描述。在此,描述可以由各种格式来表示,诸如将要由机器人系统126执行的动作序列。继续上文中用于绘制通过一组点的折线的示例,描述可涉及一组点的x、y和z坐标和一个工具角度。应当理解的是,上面的示例是一个示例性描述,并且真实描述可能涉及用于定义第二工件的更多方面。进一步,可以基于形状模型和描述来确定加工定义。利用这些实施方式,可以以有效和方便的方式来确定定义了如何将第一工件加工为第二工件的加工定义。在一些实施方式中,加工定义可以存储在表1中所示的示例数据结构中。在其他实施方式中,加工定义可以保存在具有不同列的其他数据结构的表中。表1加工定义的示例数据结构序号特征数值1路径点01(0.1,0.1,0),…,点10(1.0,1.0,0)2工具角度45°………在框420块,可以从所获取的加工定义确定用于控制机器人系统的运动路径的特征的参数。为了将第一工件加工为第二工件,可以使用多个特征来定义运动路径。在一些实施方式中,工具角度可以是运动路径的示例特征。在其他实施方式中,运动路径的特征可包括以下至少一个:用于控制运动路径的工具角度;用于控制运动路径的工具宽度;用于控制运动路径的工具类型;用于控制运动路径的加工移动;以及用于控制运动路径的非加工移动。利用这些实施方式,可以在机器人程序中对用于控制运动路径的各种特征进行参数化,因此,通过在机器人系统的控制器处的用户输入,可以容易地更新机器人程序。在这些实施方式中,工具角度可以定义加工期间的工具的角度。尽管本公开使用一个变量来表示角度,在真实机器人系统中,角度可以以三元组(偏航角,俯仰角,翻滚角)来定义。备选地,可以以四元组(w,x,y,z)的形式定义角度。工具宽度可以表示加工工具的宽度,诸如5mm或其他数值。工具类型可以表示由机器人系统使用的工具的类型。加工移动可以表示当工具与第一工件接触时的机器人系统的路径。非加工移动可以表示当工具与第一工件不接触时的机器人系统的路径。应当理解,本段落仅提供运动路径的示例性特征。在其他实施方式中,确定运动路径可以涉及更多或更少的特征。在框430处,可以基于获取的加工定义和确定的参数,生成用于控制运动路径的机器人程序,机器人程序包括用于调整参数的变量,并且可以使用参数化机器人程序来控制机器人系统的运动路径,以便将第一工件加工为第二工件。返回图3,变量320“angle”可在将第一工件加工为第二工件期间调整工具角度。在本公开的一些实施方式中,可以在参数化机器人程序230中提供变量320用于表示参数的值。然后,可以从加工定义获取参数的值。继续上文表1所示的加工定义的示例,与特征“工具角度”相关联的数值“45°”可以被用作参数的数值。然后,可以将行330添加到参数化机器人程序230中,用于基于确定的数值“45°”来设置变量320的值。基于该行330,变量320可以被设置为数值“45°”,使得当参数化机器人程序230在控制器124上运行时,机器人系统126可以通过将工具角度设置为“45°”来加工第一工件。此外,变量320允许机器人系统126的用户将数值调整至其他期望的数值。在用于生成机器人程序的传统方案中,在机器人程序中,与运动路径的特征相关联的行已经被解释成为对于用户几乎不可读的机器语言格式的值。然而,利用参数化机器人程序230,当将参数化机器人程序230导入到控制器124时,可以在在线侧120容易地修改行330。例如,机器人系统126的用户可以将行330修改为“angle=46°”。利用这些实施方式中,可以在在线侧120修改机器人程序230,而不需要返回到离线编程工具110。利用这些实施方式,变量为参数化机器人程序230提供了更多可读性。此外,通过将变量320的值设置为其他值,可以容易地修改运动路径的特征。在本公开的一些实施方式中,如果获得了基于传统方案生成的机器人程序130,可以找到机器人程序130中的至少一个值(诸如图3中所示的值310),并且利用变量320替换该值以生成根据本公开的参数化机器人程序230。在此,与机器人程序130中的参数相关联的(一个或多个)值可以被替换为变量,以用于生成参数化机器人程序230。此外,可以通过简单地将变量设置为期望值而不是逐一替换所有值来修改参数化机器人程序230。在本公开的一些实施方式中,可以从模板确定可以被变量320替换的(一个或多个)数值310,该模板定义参数和机器人程序130中的至少一个值之间的映射。表2显示了用于定义工具角度和数值310之间的映射的示例模板。表2示例模板如表2所示,行“<_instruction>constrobtarget%target_name:=[[%target_x,%target_y,%target_z],[%angle],…];</_instruction>”定义了映射。利用此模板,可以从机器人程序130标识出格式类似于“point01=(0.1,0.1,0),45°,…”的行,继而,可以利用变量320来替换“45°”。对于图3中的机器人程序130,可以识别与“point01,…,point10”有关的行,然后可以将数值310替换为“angle”。应当理解,上文仅示出了由一个变量定义工具角度的示例。角度可以以其他格式定义,诸如三元组(偏航角,俯仰角,翻滚角)或四元组(w,x,y,z)。此时,模板可以被修改以适应于三元组/四元组。例如,下文表3中提供了以四元组(w,x,y,z)定义的工具角度的模板。在表3中,“target_q1”至“target_q4”对应于四元组(w,x,y,z)中的四个元素。利用这些实施方式,模板可以定义参数和值之间的映射,由此这些实施方式可以提供灵活的方式,以用于定义机器人程序中的哪些值可以对应于参数并且因此可以被变量所替换。表3示例模板在本公开的一些实施方式中,该方法可以在用于生成机器人程序的离线编程工具210处实现。利用这些实施方式,可以改进离线编程工具210以增加所生成机器人程序的可读性。离线侧110和在线侧120可以经由参数化机器人程序230进行通信。在本公开的一些实施方式中,参数化机器人程序230可以被输出到程序库,以便用于加载到机器人系统的机器人控制器,这使得机器人系统126基于参数化机器人程序230来将第一工件加工为第二工件。利用这些实施方式中,当参数化机器人程序230被导入到控制器124,参数和对应于该参数的变量的数值这两者可以被提供给机器人系统126的用户,使得用户可以将数值修改为期望值。与在离线编程工具210处修改机器人程序以生成更新的机器人程序并将更新的机器人程序再次导入机器人系统126的传统解决方案相比,这些实施方式可以提供更简便且有效的方式来在机器人控制器124处直接修改机器人程序。在线侧120处的操作涉及参数化机器人程序230被导入到控制器之后的实现,并且将参考图5提供更多细节。图5示出了根据本公开的实施方式的用于基于参数化机器人程序230来控制机器人系统126的方法500的示意图。在框510处,用于控制机器人系统126的运动路径的参数化机器人程序230可以被导入至控制器124。在此,运动路径可被用于将第一工件加工为第二工件,并且参数化机器人程序230可以包括表示用于控制运动路径的特征的参数的变量。返回参考图3,可以将包括变量320的参数化机器人程序230导入到控制器124中,在此变量320可以表示用于控制运动路径的工具角度的参数。利用这些实施方式,变量320可以为参数化机器人程序230提供更多可读性,从而在在线侧120为变量320提供可编辑的方式。在本公开的一些实施方式中,运动路径的特征可以包括以下至少之一:用于控制运动路径的工具角度;用于控制运动路径的工具宽度;用于控制运动路径的工具类型;用于控制运动路径的加工移动;以及用于控制运动路径的非加工移动。利用这些实施方式,可以在机器人程序中对用于控制运动路径的各种特征进行参数化,因此可以通过在机器人系统的控制器处的用户输入来容易地更新机器人程序。关于运动路径的各种特征的细节与在上文段落中针对离线侧110描述的内容相似,并且在下文中可以省略细节。在框520处,可以向机器人系统126的用户提供用于控制机器人系统126的界面。将参考图6用于详细说明,该图示出了根据本公开的实施方式的用于控制机器人系统126的界面600的示意图。如图6所示,可以向用户显示界面600的对话框610。基于参数化机器人程序230中包括的变量320,可以显示用于设置变量320的数值的一个或多个可编辑框(或其他组件)。在图6中,显示可编辑框612以用于调整工具角度的数值,并且显示可编辑框614以用于调整工具宽度的数值。在框530处,如果从用户接收到用于调整参数的输入,可以基于输入来更新参数化机器人程序230。利用界面600,用户可以调整变量320的值,以便控制运动路径的相应特征。例如,用户可以将变量“angle”的数值设置为“46°。利用这些实施方式,在机器人程序中的变量可以表示用于控制运动路径的特征的参数。此时,所导入程序中的(一个或多个)变量可以允许用户以更容易和方便的方式来调整运动路径的特征。在本公开的一些实施方式中,更新机器人程序包括:基于输入来更新变量的数值。在这些实施方式中,用户可以输入用于调整参数的期望值,并且因此可以基于用户输入来更新机器人程序中的变量的数值。例如,用户可以输入“46°”来将变量“angle”的数值更新至“46°”。尽管上述段落提供了利用变量“angle”来替换机器人程序130中的全部角度“45°”的示例,模板可以定义参数和与参数相关联的一个或多个数值之间的复杂映射。以这种方式,模板可以定义如何将运动路径逻辑翻译为参数化机器人程序230。在下文中,将提供关于基于模板来更新更多数值的示例。例如,参数化机器人程序230定义了在第一工件的表面上绘制边长为10mm的正方形的过程,其中工具宽度为1mm。由于正方形的四个顶点的位置与工具宽度相关联,因此位置可以根据基于工具宽度和边长的预定义模板,来随着工具宽度的变化而变化。假设第一顶点位于(0,0,0),并且其他三个顶点可以位于(11,0,0),(11,11,0)和(0,11,0),根据包含边长和工具宽度的模板可以确定:第二顶点的位置=(0,边长+工具宽度,0,0);第三顶点的位置=(0,边长+工具宽度,边长+工具宽度,0);以及第四顶点的位置=(0,0,边长+工具宽度,0)。模板可以定义:如果工具宽度改变,相关于三个顶点和工具宽度两者的位置的数值将如何被更新。利用这些实施方式,如果用户在在线侧120将工具宽度从“1mm”修改至“2mm”,则根据上述模板,参数化机器人程序230中的三个顶点的位置应该被更新为(12,0,0),(12,12,0)和(0,12,0),并且工具宽度将被更新为2。基于上述原则,工程师可以根据其自身具体需求来采用其他模板,以便定义生成机器人程序中的其他方面。在本公开的一些实施方式,该方法进一步包括:基于更新的机器人程序来控制机器人系统,使得机器人系统将要基于更新的机器人程序将第一工件加工为第二工件。利用这些实施方式,可以直接更新机器人程序,而无需在单独的离线编程工具中重写机器人程序。有时,用户可能会调整机器人程序,而有时用户可能会在没有任何修改的情况下基于原始机器人程序直接运行机器人系统。在本公开的一些实施方式中,导入的程序可以直接在控制器上运行。用户可以通过点击界面600中的按钮620来运行导入的程序。这时,可以从用户接收用于运行机器人系统126的输入,然后在导入程序可以直接运行从而控制该机器人系统126。这些实施方式提供了用于直接运行机器人系统的实施方式。因此,根据本公开的机器人程序和传统机器人程序都可以在机器人系统中启动。在本公开的一些实施方式中,该方法在机器人系统的机器人控制器处被实现。与用于在离线编程工具210处重写机器人程序的传统方案相比,这些实施方式允许在机器人系统126的机器人控制器124上直接更新机器人程序。进一步,更新的机器人程序可以用于控制机器人系统126。在本公开的一些实施方式中,可以将更新的机器人程序导出到程序库中。利用这些实施方式,更新的机器人程序可被保存到程序库用于进一步使用,并且可以保存机器人程序的各种版本。例如,如果用户想要通过将工具角度设置为“45°”和“46°”来处理两个批次的第一工件,则两个版本可以被保存至两个程序库。此外,可以将程序库导入另一机器人系统,以将第一工件加工为第二工件。例如,可以将程序库导入到离线编程工具中以进行进一步修改。在本公开的一些实施方式中,基于加工定义来确定变量的数值,加工定义用于确定将第一工件加工为第二工件的机器人系统126的过程。在此,加工定义可以定义机器人系统126将第一工件加工为第二工件期间的一般过程。因此,变量的数值可以是从加工定义获得的默认值。此外,经由机器人程序中的变量,用户可以将默认值调整为任何期望值。关于确定数值的细节类似于上文段落中有关离线侧110描述的内容,可以在下文中省略细节。在本公开的一些实施方式中,基于模板来确定变量在机器人程序中的位置,该模板定义了参数与机器人程序中的对应于参数的值之间的映射。利用这些实施方式,模板可以定义参数和值之间的映射,使得这些实施方式可以提供灵活的方式来定义机器人程序中的哪些值可以对应于参数并且因此可以由变量所表示。关于模板的细节类似于上文段落中有关离线侧110描述的内容,可以在下文中省略细节。在本公开的一些实施方式中,提供了一种用于生成控制机器人系统的机器人程序的装置。图7a示出了根据本公开的实施方式的用于生成机器人程序的装置700a的示意图。如图7所示,该装置700a包括:获取单元710a,被配置用以获取用于定义将第一工件加工为第二工件的机器人系统的过程的加工定义;确定单元720a,被配置用以从获取的加工定义确定用于控制机器人系统的运动路径的特征的参数,运动路径用于将第一工件加工为第二工件;以及生成单元730a,被配置用以基于获取的加工定义和确定的参数,生成用于控制运动路径的机器人程序,机器人程序包括用于调整参数的变量。在本公开的一些实施方式中,获取单元710a包括:形状获取单元,被配置用以获取表示第一工件的形状的维度的形状模型;描述获取单元,被配置用以获取第二工件的描述;以及加工确定单元,被配置用以基于获取的形状模型和描述确定加工定义。在本公开的一些实施方式中,生成单元730a包括:提供单元,被配置用以在机器人程序中提供用于表示参数的值的变量;参数确定单元,被配置用以从加工定义确定参数的值;以及设置单元,被配置用以基于确定的值来设置变量的值。在本公开的一些实施方式中,提供单元包括:替换单元,被配置用以利用变量替换机器人程序中的与参数相关联的至少一个值。在本公开的一些实施方式中,该装置700a还包括:位置确定单元,被配置用以基于定义参数和机器人程序中的至少一个值之间的映射的模板,确定至少一个值。在本公开的一些实施方式中,该装置700a在用于生成机器人程序的离线编程工具处实现。在本公开的一些实施方式中,该装置700a还包括:导出单元,被配置用以将生成的机器人程序导出至程序库用于被加载至机器人系统的机器人控制器之中,使得机器人系统将第一工件加工为第二工件。在本公开的一些实施方式中,运动路径的特征包括以下至少任一项:用于控制运动路径的工具角度;用于控制运动路径的工具宽度;用于控制运动路径的工具类型;用于控制运动路径的加工移动;以及用于控制运动路径的非加工移动。在本公开的一些实施方式中,提供了一种用于控制机器人系统126的装置700b。图7b示出了根据本公开的实施方式的用于控制机器人系统的装置的示意图。如图7b所示,装置700b包括:导入单元710b,被配置用以导入用于控制机器人系统的运动路径的机器人程序,运动路径用于将第一工件加工为第二工件,并且机器人程序包括表示用于控制运动路径的特征的参数的变量;提供单元720b,被配置用以向机器人系统的用户提供用于控制机器人系统的接口;以及更新单元730b,被配置用以响应于从用户接收到用于调整参数的输入,基于输入更新机器人程序。在本公开的一些实施方式中,更新单元730b包括:数值更新单元,被配置用以基于输入来更新变量的值。在本公开的一些实施方式中,该装置700b还包括:控制单元,被配置用以基于更新的机器人程序控制机器人系统,使得机器人系统将基于更新的机器人程序来将第一工件加工为第二工件。在本公开的一些实施方式中,变量的值是基于加工定义来确定的,加工定义用于确定将第一工件加工为第二工件的机器人系统的过程。在本公开的一些实施方式中,变量在机器人程序中的位置是基于模板确定的,模板定义参数和机器人程序中的对应于参数的值之间的映射。在本公开的一些实施方式中,该装置700b还包括:启动单元,被配置用以响应于接收到来自用户的用于运行机器人系统的输入,启动机器人程序以用于运行机器人系统。在本公开的一些实施方式中,该装置700b在机器人系统的机器人控制器处被实现。在本公开的一些实施方式中,该装置700b还包括:导出单元,被配置用以将更新的机器人程序导出至程序库。在本公开的一些实施方式中,运动路径的特征包括以下至少任一项:用于控制运动路径的工具角度;用于控制运动路径的工具宽度;用于控制运动路径的工具类型;用于控制运动路径的加工移动;以及用于控制运动路径的非加工移动。在本公开的一些实现方式中,提供了一种用于生成机器人程序的系统800。图8示出了根据本公开的实施方式的用于生成机器人程序的系统800的示意图。如图8所示,系统800包括:耦合至计算机可读存储器单元820的计算机处理器810,并且存储器单元820包括指令822。当由计算机处理器810运行时指令822可以实现根据上述段落描述的用于生成机器人程序的方法400,并且在下文中将省略细节。进一步,系统800还可以用于控制根据本公开的一些实施方式的机器人系统。此时,当由计算机处理器810运行时指令822可以实现根据上述段落描述的用于控制机器人系统的方法500,并且在下文中将省略细节。在本公开的一些实现方式中,提供了一种用于生成机器人程序的计算机可读介质。该计算机可读介质上存储有指令,并且当由至少一个处理器运行时指令使得至少一个处理器执行上述段落描述的用于生成机器人程序的方法,并且在下文中将省略细节。在本公开的一些实现方式中,提供了一种用于控制机器人系统的计算机可读介质。该计算机可读介质上存储有指令,并且当由至少一个处理器运行时指令使得至少一个处理器执行上述段落描述的用于控制机器人系统的方法,并且在下文中将省略细节。一般地,本公开内容的各种实施方式可以在硬件或专用电路、软件、逻辑或其任何组合中实现。一些方面可以在硬件中实现,而其他方面可以在固件或软件中实现,固件或软件可以由控制器、微处理器或其他计算设备运行。虽然本公开内容的实施方式的各个方面被图示和描述为框图、流程图,或者使用一些其他图形表示来图示和描述,但是将可以理解的是,作为非限制性示例,本文描述的框、装置、系统、技术或方法可以在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或者其他计算设备,或者其某些组合中实现。本公开内容还提供了有形地存储在非暂时性计算机可读存储介质上的至少一个计算机程序产品。计算机程序产品包括计算机可执行指令,诸如包括在程序模块中的那些,在目标真实或虚拟处理器上的设备中运行,以实现上文参考图4和图5描述的过程或方法。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。在各种实施方式中所期望的是,程序模块的功能性可以在程序模块之间组合或分离。用于程序模块的机器可执行指令可以在本地或分布式设备内运行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。用于实现本公开内容的方法的程序代码可以以一种或多种编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,以使得程序代码在由处理器或控制器运行时,使得流程图和/或框图中指定的功能/操作得以实现。程序代码可以整体在机器上运行,部分在机器上运行,作为独立软件包运行,部分在机器上并且部分在远程机器上运行,或者整体在远程机器或服务器上运行。以上程序代码可以体现在机器可读介质上,该机器可读介质可以是可以包含或存储供指令运行系统、装置或设备使用或与其结合使用的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备,或前述的任何适当组合。机器可读存储介质的更具体示例将包括具有一条或多条线路的电连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、光纤、便携式光盘只读存储器(cd-rom)、光学存储设备、磁存储设备或前述的任何适当组合。另外,虽然以特定顺序描绘了操作,但是不应将其理解为要求以所示出的特定顺序或以连续的顺序执行此类操作,或者执行所有图示的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。同样地,虽然以上讨论中包含若干具体实现细节,但是这些不应被解释为对本公开内容的范围的限制,而应被解释为对特定实施方式而言特定的特征的描述。在单独的实施方式的上下文中描述的某些特征也可以在单个实施方式中组合实现。另一方面,在单个实施方式的上下文中描述的各种特征也可以单独地或以任何适当的子组合在多个实施方式中实现。虽然已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作被公开作为实现权利要求的示例形式。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1