用于在机器人制造中教导机器人达到给定目标的方法和系统与流程

文档序号:18704846发布日期:2019-09-17 23:31阅读:194来源:国知局
用于在机器人制造中教导机器人达到给定目标的方法和系统与流程

本公开内容大体涉及管理产品以及其他项目的数据的计算机辅助设计、可视化和制造(“cad”)系统、产品生命周期管理(“plm”)系统、产品数据管理(“pdm”)系统以及类似系统(统称为“产品数据管理”系统或pdm系统)。更具体地,本公开内容涉及生产环境模拟。



背景技术:

典型的工业机器人具有多个关节(例如,通常六个或更多个关节)和至少一个运动链。通常,在机器人运动链中,通常是在运动链端部,安装有工业工具,该工业工具用于在通常位于要加工的部件内的目标位置执行机器人任务。由工具执行的机器人任务的示例包括但不限于焊接、点焊、电弧焊、涂装、涂覆、钻孔和铆接、激光切割、卷边以及由工具对部件执行的其他类型的制造操作任务。机器人运动链的端部也可以被称为工具中心点框架(“tcpf”)或工具中心点(“tcp”)。当机器人运动链上安装有工具时,tcpf就是工具的端部。

图2和图3示出了具有六个关节j1、j2、j3、j4、j5、j6的机器人201的示意图。在图2和图3中,机器人201的运动链的端部202也是tcpf,并且其被定位在目标位置上。在图2和图3中,未示出要加工的部件。

如本文中所使用的,术语“配置”表示机器人配置。如本领域中已知的,通过使机器人达到目标位置202的机器人关节的布置限定了机器人配置。机器人201的tcpf可以以多种配置来达到目标位置202。

在机器人编程领域,教导技术表示用于教导物理机器人(例如,经由程序下载)或虚拟机器人(例如,经由模拟)如何以可复制的方式达到每个机器人目标位置的技术,例如通过使关节j1、...、j6中的每一个具有相同tcpf和相同值。

对于机器人工具的末端,为了达到用笛卡尔(cartesian)表示描述的期望目标位置,必须执行逆运动学计算以确定一组可能的解。该组解中的每个解可以被描述为将驱动机器人工具末端到目标202的一系列关节值(例如,jv1、jv2、jv3、jv4、jv5、jv6)。例如,在图1中,在窗口203中,示出了关节值jv1、jv2、jv3、jv4、jv5、jv6分别等于-80、90、0、60、0、80的解。

通常,在工业机器人中,在无奇异点的情况下经由逆运动学计算找到的解中的每一个解具有可以用于明确地定义解的相应机器人配置,例如肘向上和肘向下。

对于“非奇异”目标位置,可能的解的数目是有限的。通常,存在可能配置的有限集合,在计算的解与其相应机器人配置之间具有一对一的关系。

因此,在目标位置“非奇异”的情况下,给定的特定机器人配置确定一个给定的特定解,该特定解可以经由逆运动学计算明确地找到。

理论上,奇异目标位置被定义为其中逆运动学计算返回无限数目的解的目标位置。以实用的方式,在本文中将奇异目标位置定义为其中逆运动学返回针对至少一个配置的多个解的位置目标。

在奇异点的情况下,可能存在能够将机器人驱动到目标位置的多个解——即多个关节解值系列——的事实意味着若干这样的解具有相同机器人配置。

因此,在目标具有奇异点的情况下,遗憾的是,通过其指定机器人配置的典型机器人教导过程变得非常有问题。实际上,由于对于一种配置可能存在若干可能的替代解这一事实,无法确保一致和/或重复的解然后将能够在车间处操作工业机器人,或者在用于机器人程序验证和校验的任何离线计算机辅助机器人工具处操作工业机器人。

因此,期望改进的技术。



技术实现要素:

各种公开的实施方式包括用于教导机器人达到给定目标位置的方法以及相应系统和计算机可读介质。方法包括接收关于要由机器人达到的给定目标位置的表示的信息输入。方法包括检查给定目标位置是否奇异。如果给定目标非奇异,则方法包括通过将所选配置与给定目标位置相关联来教导机器人。如果给定的目标位置奇异,则方法包括通过将指定关节值解与给定目标相关联来教导机器人。

前面已经相当广泛地概述了本公开内容的特征和技术优点,使得本领域技术人员可以更好地理解随后的详细描述。在下文中将描述形成权利要求主题的本公开内容的附加特征和优点。本领域技术人员将理解,可以容易地将所公开的构思和具体实施方式用作修改或设计用于实施本公开内容的相同目的的其他结构的基础。本领域技术人员还将认识到,这样的等同构造不背离本公开内容的以其最广泛的形式的精神和范围。

在进行下面的“具体实施方式”之前,阐述贯穿本专利文献所使用的某些词或短语的定义可能是有利的:术语“包括”和“包含”及其派生词意指非限制性地包含;术语“或”是包容性的,意指和/或;短语“与……相关联”和“与之相关联”及其派生词可以意指包括、包括在其中、与之互连、包含、包含在其中、连接或与之连接、耦接或与之耦接、可与之通信、与之协作、交错、并置、接近、绑定到或与之绑定、具有、拥有等;术语“控制器”意指控制至少一个操作的任何装置、系统或其一部分,无论这种装置是以硬件、固件、软件还是其中的至少两个的某种组合实现的。应当注意,与任何特定控制器相关联的功能可以是中心式的或分布式的,无论是本地的还是远程的。贯穿本专利文献提供了对某些单词和短语的定义,并且本领域普通技术人员将理解,这样的定义在许多(如果不是大多数)情况下适用于这些定义的单词和短语的先前和将来使用。虽然一些术语可以包括各种各样的实施方式,但是所附权利要求可以将这些术语明确地限制于特定实施方式。

附图说明

为了更完整地理解本公开内容及其优点,现在参照结合附图所作的以下描述,其中,相同附图标记表示相同对象,并且在附图中:

图1示出了在其中可以实现实施方式的数据处理系统的框图;

图2示意性地示出了具有奇异目标和第一关节值集的机器人的第一示例性情况场景的图。

图3示意性地示出了具有奇异目标和第二关节值集的机器人的第二示例性情况场景的图。

图4示意性地示出了用于示意性地例示机器人臂中的奇异点的图;

图5示意性地示出了根据所公开的实施方式的用于教导机器人教导给定目标的流程图。

具体实施方式

以下讨论的图1至图5以及用于描述本专利文献中的本公开内容的原理的各种实施方式仅作为说明,并且不应当以任何方式解释为限制本公开内容的范围。本领域技术人员将理解,可以在任何适当设置的装置中实现本公开内容的原理。将参照示例性非限制性实施方式描述本申请的许多创新教导。

用于在目标奇异点的情况下基于手动“反复试验”方法教导机器人达到给定目标的先前技术是麻烦、繁琐、易于出错的,并且否则不适于任务。

用于教导机器人达到给定目标的先前技术不能对具有奇异目标的机器人确保一致解。

在现有技术中,在机器人程序中使用奇异目标导致目标的解的意料不到的机器人关节值,这导致不正确的模拟结果或者重新下载的机器人程序中的错误值。

在先前技术中,用户通常避免在物理或虚拟机器人程序中使用奇异目标。

利用实施方式,可以在虚拟或物理机器人程序规划中安全地使用奇异目标。

利用实施方式,在虚拟程序与物理程序之间存在匹配。

利用实施方式,存在提高的可用性和灵活性,因为用户能够在机器人程序中使用奇异目标。

利用实施方式,存在改进的可预测性,因为奇异目标的解的关节值是相同的。

利用实施方式,存在提高的准确度,因为模拟结果反映真实机器人行为的可预测性。

利用实施方式,存在用户友好的方法,因为用户不需要以不同方式处理奇异目标,而是软件以自动方式为他/她执行。

利用实施方式,机器人模拟在反映现实时变得可靠且可预测。

利用实施方式,在规划机器人模拟的任务中为用户提供高度的灵活性。有利地,因此允许用户针对机器人使用在利用先前技术时而要避免的目标。

实施方式使得能够自动识别有问题的奇异机器人关节值,并且将其上载到离线模拟,使得这些目标处的机器人的关节值与原始机器人程序的关节值相同。

实施方式使得能够在离线模拟中为奇异机器人目标设置期望的解。这保证了无论何时对这些目标进行逆运动学计算,都会使用奇异目标的所选解。这有助于离线模拟工具的更高级别的可靠性,并且有助于相关模拟结果的更高级别的可预测性。

实施方式使得能够确保从模拟环境下载虚拟程序生成相同物理机器人程序。否则,利用先前技术,对于一个虚拟程序,在奇异点的情况下若干机器人程序可能产生。

实施方式使得能够为虚拟模拟环境中的奇异目标定义一致的解,并且从模拟下载程序到物理程序确保在模拟期间使用的解是被写入物理机器人程序的解。

图1示出了数据处理系统100的框图,其中,可以将实施方式实现为例如特别地通过软件或其他方式配置以执行本文所述的过程的pdm系统,以及特别地实现为本文所述的多个互连和通信系统中的每一个。示出的数据处理系统100可以包括连接到二级缓存/桥接器104的处理器102,二级缓存/桥接器104转而连接到本地系统总线106。本地系统总线106可以是例如外围部件互连(pci)架构总线。在示出的示例中,主存储器108和图形适配器110也连接到本地系统总线。图形适配器110可以连接到显示器111。

其他外围设备,例如局域网(lan)/广域网/无线(例如wifi)适配器112,也可以连接到本地系统总线106。扩展总线接口114将本地系统总线106连接到输入/输出(i/o)总线116。i/o总线116连接到键盘/鼠标适配器118、磁盘控制器120和i/o适配器122。磁盘控制器120可以连接到存储装置126,存储装置可以是任何合适的机器可用或机器可读存储介质,包括但不限于非易失性硬编码类型介质,例如,只读存储器(rom)或电可擦可编程只读存储器(eeprom)、磁带存储装置和诸如软盘、硬盘驱动器和光盘只读存储器(cd-rom)或数字多功能盘(dvd)的用户可记录类型介质以及其他已知的光、电或磁存储装置。

在示出的示例中,音频适配器124也连接到i/o总线116,扬声器(未示出)可以连接到音频适配器124以播放声音。键盘/鼠标适配器118为诸如鼠标、跟踪球、跟踪指针、触摸屏等的定点装置(未示出)提供连接。

本领域普通技术人员将理解,图1中示出的硬件可以针对特定实现方式而变化。例如,除了示出的硬件之外或者代替示出的硬件,还可以使用诸如光盘驱动器等的其他外围装置。仅出于说明的目的提供所示出的示例,所示出的示例并不意味着暗示关于本公开内容的架构限制。

根据本公开内容的实施方式的数据处理系统可以包括采用图形用户接口的操作系统。操作系统允许同时在图形用户接口中呈现多个显示窗口,其中每个显示窗口提供到不同应用或到同一应用的不同实例的接口。用户可以通过定点装置操纵图形用户接口中的光标。可以改变光标的位置和/或可以生成诸如点击鼠标按钮的事件以致动期望的响应。

如果适当修改,可以采用各种商业操作系统中的一种商业操作系统,例如,microsoftwindowstm版本,其是位于华盛顿州雷蒙德市的微软公司的产品。如所述的,根据本公开内容修改或创建操作系统。

lan/wan/无线适配器112可以连接到网络130(网络130不是数据处理系统100的一部分),如本领域技术人员所知,网络130可以是任何公共或专用数据处理系统网络或网络的组合,包括互联网。数据处理系统100可以通过网络130与服务器系统140通信,服务器系统140也不是数据处理系统100的一部分,但是可以实现为例如分开的数据处理系统100。

腕奇异点的示例场景

典型周知的奇异解是使得机器人位置具有等于0的腕关节的解。例如,图2和图3示出了具有这种类型的腕奇异点的机器人201的示例性场景。对于同一奇异目标位置202,存在得到相同机器人配置的两个可能的不同关节值解203、301。在图2的窗口203中示出第一解,其中六个关节值jv1、jv2、jv3、jv4、jv5和jv6分别等于-80、90、0、60、0和80。在图3的窗口301中示出第二解,其中六个关节值jv1、jv2、jv3、jv4、jv5和jv6分别等于-80、90、0、90、0和50。

如在图2和图3中所例示,当腕关节j5具有值0时,对于关节j4的每个给定值,存在j6的相应给定值,j6的相应给定值可以对j4的给定值进行补偿以使tcpf保持定位在同一目标位置,反之亦然。补偿规则是这样的,对于该示例实施方式,jv4+jv6=(jv4+增量)+(jv6-增量),为140。

图4示意性地示出了例示没有奇异点(上部)以及具有奇异点(下部)的机器人臂的图。在图4的上部,示出了其中没有腕奇异点并且关节j5402不同于0的机器人臂。因此,关节j5401和关节j6403不具有可以相互补偿的值并且机器人配置被明确确定。在图4的下部,关节j5405等于0并且存在腕奇异点。对于关节j4404的每个值,存在关节j6405的相应值,使得对于机器人的同一配置,若干关节值解是可能的。

图5示出了根据所公开的实施方式的用于教导机器人达到给定目标的方法的流程图500。可以例如通过上述图1的系统100来执行这种方法,但是下面的过程中的“系统”可以是被配置成执行所描述的过程的任何设备。

在动作505处,接收关于机器人的给定目标位置的表示的信息输入。

在动作510处,检查给定目标位置是否奇异。

如果给定目标非奇异,则在动作515处,通过将所选配置与给定目标位置相关联来教导机器人。

如果给定目标奇异,则在动作520处,通过将指定关节值解与给定目标位置相关联来教导机器人。

在实施方式中,动作505的给定目标位置的表示可以按照机器人的关节值表示的形式或者按照目标本身的几何表示的形式(例如,笛卡尔表示,例如x、y、z、ry、ry、rz)。

如果在动作505中,目标位置的表示是关节值表示,则在实施方式中,动作520的指定关节值解可以是所接收的目标位置的关节值表示,例如,通过上载物理机器人程序接收的,或者,在其他实施方式中,指定关节值解可以由用户手动指定,或者指定关节值解可以以自动方式指定,例如,上传时或经由预定义关节值解。

在动作510处,针对目标的任何可用表示进行奇异点的存在的检查。在以笛卡尔表示来表示动作505处的目标位置的实施方式中,优选地执行逆运动学计算。有利地,在实施方式中,为了节省计算时间,可以优选地选择仅针对一组选定的奇异点(例如,腕和/或肘等)进行检查的选项。在其他实施方式中,可以选择对所有类型的奇异点进行检查的选项。

通常,在实施方式中,为了选择适当的配置,在动作515中使用逆运动学计算。在实施方式中,仅保存所选择的配置名而不保存相应关节值。以这样的方式,可以有利地使用户能够对图形位置执行小的增强(因此具有略微不同的关节值),而同时仍然能够使用与之前所选择的相同的配置(例如,肘向上,肘向下等)。在其他实施方式中,还与所选择的配置名一起保存用逆运动学计算确定的相应关节值。

在实施方式中,在奇异目标位置的变化的情况下,再次检查新目标位置的奇异点,并且在需要时,清除指定关节值解,并且然后关于目标位置的变化经由逆计算以逐步式方法执行教导。

实施方式包括以下动作中的一个或更多个:

-i)认定/识别奇异点;

-ii)从物理机器人程序上载到虚拟机器人程序;

-iii)教导位置;

-iv)在清除关节值后用新目标位置配置机器人;

-v)从虚拟机器人程序下载到物理机器人程序。

i)识别奇异点

给定目标将被识别为奇异的或非奇异的。

每当检查目标的奇异点时,就使用奇异点识别技术。这种技术可以对目标的几何表示(例如,经由逆运动学模拟)有效或者直接对目标的关节值表示有效。方法的示例包括但不限于:

1)选择(例如,使用用户接口或配置文件)要搜索哪种类型的奇异点(例如,j5上的腕奇异点,或肘奇异点)。对于针对特定关节和关节值发生的奇异点,定义引起奇异点的关节值以及这些值周围的余量。该方法可以节省性能,因为不会浪费时间在每个目标上检查不相关的奇异点类型。

2)在目标中,一个接一个地检查所有已知的奇异点。该方法更容易使用,因为用户不必定义应当处理哪些奇异点情况,但该方法由于复杂的计算可能具有较低的性能。

3)通常,确定达到给定目标的机器人配置中的至少一个配置具有多于一个可能的关节值解的任何技术。

ii)上传机器人程序

当从物理机器人程序读取目标的关节值时,上载过程创建目标的笛卡尔表示,并且保存将识别给出如其在原始程序中那样的关节值的解的机器人的配置。如果根据检查该目标奇异,则上载过程也针对目标保存关节值。

iii)教导位置

如果目标位置非奇异,则保存所选解的机器人的配置以用于教导机器人。否则,如果目标位置奇异,则除了机器人的配置之外,还针对目标保存在选定解下机器人的姿势的关节值以用于教导目的。在实施方式中,在目标非奇异的情况下,通过从由逆运动学计算得到的解的列表中选择所需的一个来选择所选解。

iv)清除关节值解

在实施方式中,可以在目标位置的特定改变的情况下根据需要清除为教导目的而保存的关节值。实际上,如果目标具有由于其奇异点而保存的关节值,并且目标坐标(例如,x、y、z、rx、ry、rz)改变,则可以再次评估目标的奇异点。如果目标不再奇异,或者所保存的关节值不再将机器人驱动到目标,则优选地清除所保存的关节值。当目标坐标改变时,可以手动或自动执行清除。有利地,在实施方式中,可以再次教导目标。替选地,可以将动作分为两个子步骤:

-将机器人向前移动到所保存的关节值(机器人将达到旧目标);

-对于增量(来自新目标),使用常规逆计算。

该方法可以有利地补偿目标的小移动,并且其对于旋转并且重新定位3d对象的情况特别方便。

v)下载机器人程序

如果目标奇异并且具有针对解保存的关节值,则下载过程将这些值写入物理机器人程序。否则,使用逆运动学关于目标坐标(根据所选配置)计算关节值。

在实施方式中,如果目标位置具有由于奇异点而保存的关节值解,则检查所保存的关节值解将机器人驱动到目标位置,并且如果是这种情况,则有利地无需执行逆运动学计算以获得解。

在先前技术中,在上载用于模拟的机器人软件时存在问题。机器人模拟用户中的用户的典型任务是将现有的机器人程序上载到离线模拟环境以对机器人程序进行验证、校验和评估。机器人程序包括关于针对每个目标位置的机器人关节值的信息。为了在模拟环境中表示目标,以便随后可以操作目标,上载过程将每个目标的关节值变换为3d几何表示(x、y、z、rx、ry、rz)。此外,针对每个转换的目标来关联机器人的配置。该过程的问题在于,在机器人的奇异目标的情况下,针对上传过程的变换结果计算逆运动学,大多数时间是得到与原始机器人程序中的原始关节值不同的关节值系列(即使配置相同)。因此,用户遗憾地经历到,对于离线模拟产品,包含奇异目标的模拟机器人程序与上载的原始物理机器人程序不匹配,导致例如循环时间的计算的不准确和/或与其他设备冲突。

尽管已经详细描述了本公开内容的示例性实施方式,但是本领域技术人员将理解,在不背离本公开内容的以其最广泛的形式的精神和范围的情况下,可以作出本文中公开的各种改变、替换、变型和改进。

本申请中的描述均不应当理解为暗示任何特定元件、步骤或功能是必须在权利要求范围中包括的必要元件:专利主题的范围仅由所允许的权利要求限定。

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