一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于一个或多个机器人的约束管理的系统和方法与流程

2021-11-20 06:16:00 来源:中国专利 TAG:

用于一个或多个机器人的约束管理的系统和方法
1.相关专利申请的交叉引用
2.本技术要求于2019年4月8日提交的申请序列号为16/378,343的美国非临时申请的权益。其全部内容以引用方式并入本文。
技术领域
3.本发明整体涉及机器人,并且更具体地涉及用于对机器人或机器人系统进行欠约束(under

constrain)的系统和方法。


背景技术:

4.对机器人进行任务分配是困难的,并且这种困难因以非自然、过约束的方式对机器人进行任务分配而加剧。自然任务分配是一种在没有过约束或欠约束的情况下容易地指定机器人任务的全面方法。
5.例如,体操家不对手放置在杆上的确切位置建模,而是在放置时将杆建模为具有一个自由度。类似地,像焊接和涂漆之类的任务在电极或喷嘴如何围绕其主轴旋转方面具有额外的自由度,并且对机器人进行任务分配的操作员通过利用这些自然约束进行工作而受益。类似地,待由工业机器人夹持的工件可具有允许以多种方式进行夹持的对称性。自然任务分配以其最小和最少限制的方式指定对机器人的约束。


技术实现要素:

6.在本公开的一个或多个实施方案中,提供了一种系统。该系统可包括机器人,该机器人被配置为接收用于执行机器人任务的初始约束方法。该系统还可包括与该机器人通信的图形用户界面。该图形用户界面可被配置为允许用户与该机器人进行交互以确定与该机器人任务相关联的机器人姿势的可允许范围。该机器人姿势的可允许范围可包括比该初始约束方法更少的约束。该姿势的可允许范围可至少部分地基于一个或多个对称度,该一个或多个对称度和与该机器人任务相关联的工件或与该机器人相关联的端部执行器相关联。该系统还可包括处理器,该处理器被配置为将该机器人姿势的可允许范围传送到该机器人。
7.可包括下列一个或多个特征。可从用户输入、程序、模拟或用户演示中的至少一者接收用于执行机器人任务的初始约束方法。一个或多个对称度可包括与机器人任务相关联的工件的拾取特征部的对称度。工件的拾取特征部的对称度可以是连续的、离散的或非对称的。
8.一个或多个对称度可包括机器人端部执行器的对称度。机器人端部执行器的对称度可以是连续的、离散的或非对称的。一个或多个对称度可包括与机器人任务相关联的放置目标的对称度。放置目标的对称度可以是连续的、离散的或非对称的。处理器还可被配置为确定工件和与机器人相关联的机器人端部执行器有关的第一有效姿势。处理器还可被配置为识别与工件相关联的坐标系的轴,该轴在工件处于第一有效姿势时与机器人端部执行
器的坐标系的轴重合。处理器还可被配置为通过至少部分地基于针对工件围绕工件的坐标系的轴或机器人端部执行器围绕机器人端部执行器的坐标系的轴所确定的对称度而允许机器人端部执行器进行的旋转来确定有效机器人端部执行器姿势的范围。图形用户界面被配置为显示机器人端部执行器、工件、以及与机器人端部执行器相关联的坐标系的轴或与工件相关联的坐标系的轴中的至少一者,并且其中图形用户界面被配置为允许用户指定机器人端部执行器在机器人端部执行器围绕与机器人端部执行器相关联的坐标系的轴或与工件相关联的坐标系的轴中的一者旋转时对于拾取工件是否具有基本等同的性能。处理器还可被配置为确定工件和与机器人系统相关联的放置目标有关的放置。处理器还可被配置为通过至少部分地基于针对工件围绕工件的坐标系的轴或放置目标所确定的对称度而允许机器人端部执行器进行的旋转来确定有效机器人端部执行器姿势的范围。图形用户界面可被配置为显示机器人端部执行器、工件、以及与机器人端部执行器相关联的坐标系的轴或与工件相关联的坐标系的轴中的至少一者,并且其中图形用户界面被配置为允许用户指定机器人端部执行器在机器人端部执行器围绕与机器人端部执行器相关联的坐标系的轴旋转或与工件相关联的坐标系的轴旋转时对于在放置目标放置工件是否具有基本等同的性能。处理器还可被配置为确定机器人执行与姿势范围相关联的任务所需的自由度(dof)的最小数量。处理器还可被配置为确定满足一个或多个附加约束所需的自由度的附加数量。
9.处理器还可被配置为将自由度的最小数量与自由度的附加数量组合以确定自由度的总数量,其中处理器还可被配置为将自由度的总数量和与机器人相关联的允许的自由度的最大数量进行比较。处理器还可被配置为确定允许的自由度的最大数量与自由度的总数量之间的差值,并且至少部分地基于与该差值相关联的姿势范围来优化机器人的性能。姿势的可允许范围可至少部分地基于一个或多个对称度,该一个或多个对称度和与机器人任务相关联的放置目标相关联。
10.在本公开的另一个实施方案中,提供了一种方法。该方法可包括提供机器人,该机器人被配置为接收用于执行机器人任务的初始约束方法。该方法还可包括允许用户使用与机器人通信的图形用户界面来与机器人进行交互。该图形用户界面可被配置为允许用户与该机器人进行交互以确定与该机器人任务相关联的机器人姿势的可允许范围。机器人姿势的可允许范围可包括比初始约束方法更少的约束,并且姿势的可允许范围可至少部分地基于一个或多个对称度,该一个或多个对称度和与机器人任务相关联的工件或与机器人相关联的端部执行器中的至少一者相关联。该方法还可包括经由处理器将机器人姿势的可允许范围传送到机器人。
附图说明
11.为了更好地理解本公开的性质和目的,结合以下附图来参考下文的具体实施方式,其中:
12.图1是根据本公开的实施方案的自然任务分配机器人系统的框图;
13.图2是根据本公开的实施方案的示出自然任务分配机器人系统的多个自由度的图形用户界面;
14.图3是根据本公开的实施方案的自然任务分配机器人系统的框图;
15.图4是根据本公开的实施方案的用于自然任务分配机器人系统的速度控制方法的框图;
16.图5是根据本公开的实施方案的自然任务分配机器人方法的流程图;
17.图6是根据本公开的实施方案的自然任务分配机器人系统的系统图;
18.图7示出了根据本公开的实施方案的可用于拾取一个或多个工件的机器人姿势的示例;
19.图8示出了根据本公开的实施方案的工件放置目标的示例;
20.图9示出了根据本公开的实施方案的具有定位在目标周围的障碍物的工件放置目标的示例;
21.图10示出了根据本公开的实施方案的矩形工件和矩形工件放置目标的示例;
22.图11示出了根据本公开的实施方案的描绘可如何在多个位置夹持工件的示例;
23.图12示出了根据本公开的实施方案的矩形工件和矩形工件放置目标的示例;
24.图13示出了根据本公开的实施方案的矩形工件和矩形工件放置目标的示例;
25.图14示出了根据本公开的实施方案的大致圆柱形工件的示例;
26.图15示出了根据本公开的实施方案的围绕所有三个轴具有连续对称性的工件的示例;
27.图16示出了根据本公开的实施方案的围绕z轴具有连续对称性的工件的示例;
28.图17示出了根据本公开的实施方案的具有对称拾取特征部的非对称工件的示例;
29.图18示出了根据本公开的实施方案的具有对称放置特征部的非对称工件的示例;
30.图19示出了根据本公开的实施方案的具有对称放置特征部的放置目标的示例;
31.图20示出了根据本公开的实施方案的非对称放置目标的示例;
32.图21示出了根据本公开的实施方案的非对称端部执行器的示例;
33.图22示出了根据本公开的实施方案的具有非对称拾取特征部的非对称工件的示例;
34.图23示出了根据本公开的实施方案的不具有围绕x轴、y轴或z 轴对称的拾取或放置特征部的工件的示例;
35.图24示出了根据本公开的实施方案的非对称工件的示例;
36.图25示出了根据本公开的实施方案的端部执行器的示例;
37.图26示出了根据本公开的实施方案的工件的示例;
38.图27示出了根据本公开的实施方案的端部执行器的示例;
39.图28示出了根据本公开的实施方案的端部执行器的示例;
40.图29示出了根据本公开的实施方案的放置目标的示例;
41.图30示出了根据本公开的实施方案的放置目标的示例;
42.图31示出了根据本公开的实施方案的工件的示例;
43.图32示出了根据本公开的实施方案的工件的示例;
44.图33示出了根据本公开的实施方案的描绘运动约束的示例的表;
45.图34示出了根据本公开的实施方案的描绘运动约束的示例的表;
46.图35示出了根据本公开的实施方案的放置在放置目标处的工件的示例;
47.图36示出了根据本公开的实施方案的放置在放置目标处的工件的示例;
48.图37示出了根据本公开的实施方案的放置在放置目标处的工件的示例;
49.图38示出了根据本公开的实施方案的放置在放置目标处的工件的示例;
50.图39是根据本公开的实施方案的机器人系统的图形用户界面;
51.图40是根据本公开的实施方案的机器人系统的图形用户界面;
52.图41是根据本公开的实施方案的机器人系统的图形用户界面;
53.图42是根据本公开的实施方案的机器人系统的图形用户界面;并且
54.图43是根据本公开的实施方案的机器人系统的图形用户界面。
具体实施方式
55.本主题申请的实施方案可包括来自美国专利第6,757,587号、美国专利第7,680,300号、美国专利第8,301,421号、美国专利第8,408,918 号、美国专利第8,428,781号、美国专利第9,357,708号美国公布第 2015/0199458号、美国公布第2016/0321381号和美国公布第 2018/0060459号的概念,每一者的全部内容以引用方式全文并入本文。
56.现在参见图1,提供了机器人系统100的实施方案。系统100可包括多个部件,该多个部件中的一部分可被设计用于特定应用和/或任务。该系统的第一部件可包括用于将新过程添加到数据库104的软件系统102。一旦构建,数据库104可由操作员现场或远程重新使用。操作员可使用图形用户界面106从数据库104中选择元素以供控制软件 108执行,如图1所示。可由专家离线将用于特定应用和/或任务(例如,焊接、机器人组装等)的程序添加到数据库104。该数据库104可在线与图形用户界面106和任务分配软件一起使用以为每个任务开发每个过程。该软件模块可包括但不限于训练、任务分配和执行特定任务等。所有这些可用于控制机器人硬件110的操作方式。机器人硬件 110可响应于从控制软件108接收的控制,然而,应当指出的是,机器人硬件本身可受到其自身的最大数量的自由度的限制,如下文进一步详细讨论的。
57.在机器人系统中,短语“自由度”可指机械设备或系统可移动的特定、限定模式。自由度的数量可等于运动的独立位移或方面的总数目。例如,六个自由度(“6dof”)场景可指刚性主体在三维空间中移动自由。具体地讲,主体可自由地改变位置,如在三个垂直轴中正向/反向(纵移)、向上/向下(垂移)、向左/向右(横移)平移,同时通过围绕三个垂直轴旋转进行取向变化,通常称为偏航(法向轴)、俯仰(横向轴)和横滚(纵向轴)。相比之下,将点放置在空间中可对应于三个自由度,指定不同连杆上的两个点之间的距离是一个自由度等。
58.在一些实施方案中,如本文所用,短语“机器人系统”可包括一个、两个和/或任何数量的机器人的系统。这样,整个机器人系统dof 可以指单独机器人中的每个机器人上的dof的总和。这可包括用于每个单轴关节的一个dof和用于自由移动的基座的六个dof。例如,对于包括两个机器人(一个具有6个dof并且另一个具有5个dof)的机器人系统,可用的整个机器人系统自由度可为11个dof。
59.本文所包括的实施方案可被配置为探索一个或多个机器人的额外数量的自由度以自然地执行机器人任务。在该示例中,整个机器人系统可包括与其相关联的最大数量的自由度dof(“n”),并且还可包括从其减去的最小数量的dof(“m”)。
60.例如,现在参见图2,提供了来自图形用户界面200的3d渲染,该图形用户界面描绘了完整3d旋转和取向条件下与具有六个自由度的焊接工具进行对比的具有五个自由度的
焊接工具。二者之间的差异为该五个自由度可通过松弛(relax)围绕一个轴的旋转来获得。调整该特定模型以优化扫描和焊接过程。这涉及配置围绕扫描仪工具的边界体积,以及将该系统与基主坐标系对准以使工具路径和点云出现在正确位置。还基于工具路径是如何从点云创建的来配置工具偏移。该路径是沿着接缝的底部创建的,因此配置了与顶端的偏移,以便不存在碰撞。如图2所示,可使用两个不同的约束设置来约束臂,其中每个约束设置使用不同的工具偏移,一个用于扫描工件,并且一个用于焊接。如本文所用,术语“工件”可指待由机器人移动的对象。用于扫描的自由度设置使用六自由度坐标系,并且焊接设置使用允许喷枪的顶端围绕顶端自由旋转的五自由度坐标系。这允许首先扫描工件,然后松弛焊接路径的自由度,这对于机器人来说在给定其工作空间包络的情况下更难实现。
61.在一些实施方案中,现在参见图3,提供了描绘具有多个操作的流程图的实施方案,该多个操作与自然任务分配机器人过程一致。自然任务分配过程300可包括限定302机器人、端部执行器、工件和机器人环境。过程300还可包括基于任务、端部执行器几何形状、工件几何形状等来限定304一个或多个约束。过程300还可包括使用该约束来限定306一个或多个任务运动。过程300可被配置为通过分析几何形状(例如,端部执行器几何形状),诸如通过找到与任务有关的对称轴,自然地限定最小数量的约束。这样,该约束的自然性以及在机器人运动中探索额外自由度的能力允许对机器人进行自然控制。自然控制可至少部分地基于自然约束以及这些约束的自然优化两者,如将在下文进一步详细讨论的。在操作中,一旦被自然地优化,就可使用如下所述的基于雅可比的速度控制方法来执行308任务。
62.在一些实施方案中,现在参见图4,提供了与本公开的机器人系统的实施方案一致的框图400。对系统中的机器人臂的端部执行器的控制可使用多个部件(例如,使用energid的软件)来实现。这些部件可包括但不限于外部位置控制器402和内部速度控制器404。这种组合的控制系统400允许程序通过指定所需放置来使该端部执行器在整个任务空间中“飞动”,并且可自动计算关节速度和位置。这使操作员能够无拘束地专注于任务,而不是专注于机器人的低水平控制。
63.在一些实施方案中,核心速度架构可基于操纵器雅可比等式:
[0064][0065]
此处,v是端部执行器的运动的m长度矢量表示(通常是以刚性地附接到操纵器的零件的点为参考的线速度和角速度的某种组合);q 为关节位置的n长度矢量(其中为其时间导数);并且j为m
×
n操纵器雅可比行列式,为q的函数。(对于具有单个端部执行器的空间臂,v通常是具有三个线性分量和三个角分量的坐标系速度。如本文所用,其呈现较大的含义,包括点、坐标系或多个端部执行器的其他运动的级联。雅可比行列式j(q)为使()对于的所有可能值为真的矩阵。注意,v可表示多个端部执行器的值的级联,从而实现操纵器上的多个点的协调运动。
[0066]
速度控制问题如下:给定所需的端部执行器运动v,最佳实现该运动的关节速率是什么?为了回答这一点,该架构部分地基于以下方法,该方法使用标量α、矩阵函数w(q)和标量函数f(q)通过以下公式来求解给定v的
[0067][0068]
其中为f的梯度,并且n
j
为跨越j的零空间的n
×
(n
×
m)矢量集。即,jn
j
=0,并且n
j
具有秩(n
×
m)。和nj两者通常为q的函数。通过改变α、w和f的值,可以实现许多新的且最确定的速度控制技术。
[0069]
然而,本公开的实施方案超出了上述公式以形成更一般的架构。使用了一般的列矢量f(q),而不是坚持使用函数的梯度。并非所有矢量函数都是梯度。这种微小但重要的修饰产生下式:
[0070][0071]
这实现了所需的v,同时使下式最小化:
[0072][0073]
参数α、w和f可使用xml来定义,以给出许多不同类型的速度控制。
[0074]
在一些实施方案中,位置控制系统402可以建立在速度控制系统404上,以向端部执行器提供稳健的位置控制。位置控制模块可作为接口提供给位置控制系统402,以使能添加新的位置控制算法。位置控制系统402可通过建立在速度控制系统404上为端部执行器提供基本位置控制。考虑到来自速度控制系统404的关节速度,位置控制系统402 可使用欧拉积分来计算关节位置。一旦计算出关节位置,端部执行器位置就是已知的。该控制系统可以在其在时间上向前迭代时检查关节限制超过和碰撞。如果检测到奇点,它还可以将关节速率命令归零。
[0075]
在一些实施方案中,上述控制方法可至少部分地用于允许控制器将整个机器人系统dof(例如,系统的可用dof,“n”)与仅基于工件约束而识别的所需最小数量的自由度(“m”)相关联。换句话讲,本文所述的机器人系统和方法可能仅需要工件数据以便执行自然机器人任务。在一些情况下,dof也可基于其他因素,包括但不限于其他因素或约束,然而该信息可能不是必要的。本文提供的机器人系统和方法的实施方案可用于提供机器人系统的更好的控制和/或提高的性能、机器人任务的更可行和/或优化的解决方案等。
[0076]
短语“最大数量的自由度”可指其中机械设备、机器人和/或系统可移动的最大数量的特定、限定模式。短语“最小数量的自由度”可指其中机械设备、机器人和/或系统移动以自然地执行任务的最小数量的特定、限定模式。短语“自然机器人任务”可指可以使用减少和/或简化的运动量来执行的任务。在一些情况下,指定自然机器人任务可与指定任务的数学密集型方式形成对比,该任务可能需要用户在机器人系统的坐标/坐标系中指定。可以使用一个或多个机器人或端部执行器向机器人系统指定/展示自然机器人任务,并且可以至少部分地基于该自然机器人任务来确定自由度的最小数量。可通过分析端部执行器、机器人和/或工件几何形状来确定自由度的最小数量。其可使用演示、教导学习机器人技术、
使用gui等来指定。
[0077]
在一些实施方案中,任务的自然性可以指1)命令的机器人任务与 2)要完成的实际期望事物之间的一致程度。下文提供了一些示例:
[0078]
期望的任务(1):将杯子放置在桌面上。
[0079]
不自然:将杯子放置在距拐角x=30cm、y=50cm的位置处,其中柄部指向右侧。
[0080]
自然:将杯子放置在桌子的边界内的任何位置,其中柄部指向任何方向。
[0081]
期望的任务(2):使机器人上的相机指向空间中的3d点x=l、 y=2、z=2。
[0082]
不自然:将相机放置在x=0、y=0.2、z=0.3处,并且使该相机指向 x=1、y=2、z=2处。
[0083]
不自然:使相机从任何位置指向{1,2,2}处,其在图像中向上与在现实世界中向上一致。
[0084]
自然:在对相机位置没有约束的情况下,以任何取向使相机指向 {1,2,2}。
[0085]
期望的任务(3):使用喷嘴在1m远喷涂工件并且喷嘴直接指向工件的中心。
[0086]
不自然:从1m远处喷涂,其中喷嘴指向工件并且围绕工件的轴特别取向。
[0087]
自然:从1m远处喷涂,除了使喷嘴指向工件之外,无需喷嘴的特别取向。
[0088]
应当指出的是,虽然这些不自然约束在它们如何过度限制机器人运动方面可能看起来是怪异的,但是它们实际上就是这些类型的任务通常是如何执行的。本文包括的机器人系统的实施方案允许使用和求解自然表示。
[0089]
在一些实施方案中,短语“自然工件约束”可能涉及几何特征和/ 或与特定工件相关联的任何其他方面。短语“自然环境约束”可能涉及几何特征、障碍物和/或与可能跟自然机器人任务相关联的环境相关联的任何其他方面。
[0090]
在一些实施方案中,工件约束、环境约束和操纵器约束可在该方法中形成闭联集,并且可组合多个自然约束以限定全面的任务分配运动。这些限制中的一些可包括但不限于:方向约束、取向约束、对曲线或表面的分配、距离约束、关节位置、关节位置的线性和非线性函数组合、质心以及线性动量和角动量。这些约束可根据机器人配置而变化。端部执行器偏移、静态工件或障碍物以及动态工件或障碍物可用于限定和配置该约束。在一些实施方案中,最小数量的自由度的识别可基于工件约束几何结构和/或其特征,其中一些可包括但不限于孔、形状、尺寸等。
[0091]
在一些实施方案中,一个或多个约束可由用户使用视觉编辑器来组合和/或指定,以创建随时间改变的约束的复杂组合来最佳地实现现实世界的任务。应当指出的是,这些约束中的一些或全部约束可在机器人任务或操作的执行期间、甚至按时间步长改变,并且可与诸如碰撞避免和关节

限制避免之类的优化相结合。以这种方式,可实时动态地更新约束的数量和类型。例如,在一些实施方案中,一些或所有约束可使用扫描仪自动确定和/或识别,该扫描仪可被配置为扫描机器人环境以识别、允许必要的处理和后续确定。可使用各种传感器和设备来获得该数据,该数据中的一些数据可包括但不限于来自激光雷达、立体相机、彩色相机、多光谱相机等的数据。除此之外和/或另选地,一些或所有约束可通过通信信道(例如,无线电、激光或网络通信等) 远程更新。使用2d图形用户界面或3d界面(例如,增强现实等)设置约束。该约束可以是“小于或等于”种类,而不仅仅是“等于”。因此,例如,本文所包括的机器人系统可允许用户将点约束在地面上方而不仅仅是在地面上。
[0092]
因此,本文所述的机器人系统的实施方案可包括具有最大数量的自由度“n”的一个或多个机器人。在一些实施方案中,系统可允许用户通过指示仅需要完成什么来自然地指定任务(例如,以举例的方式教导机器人系统,使用一个或多个传感器执行机器人“观看”和学习,使用gui诸如示教器来执行演示等),诸如将栓插入孔中(在约束下使用五个自由度)、用焊接工具的顶端跟随线(在约束下使用三个自由度)、或将相机指向空间中的位置(在约束下使用两个自由度)等。自然地指定任务可包括使用演示指定任务,例如,教导机器人或使机器人学习如何执行任务。除此之外和/或另选地,用户可不指定机器人系统可如何执行任务,并且系统可确定如何自动地或使用最少的输入来执行任务。
[0093]
在一些实施方案中,本文所述的机器人系统可被配置为确定执行自然机器人任务可能需要的最小数量的自由度“m”,而m<=n。机器人系统可被配置为通过探索额外(n

m)的自由度来确定执行任务的最自然或有效的方式。这可涉及优化使用该额外的自由度的辅助标准。例如,控制器(例如,actin)可有助于使能探索如上所述的额外自由度(n

m)。额外数量的自由度可用于确定更方便、更快、节能和/或可行的“方法”来执行任务。执行的方法或方式可至少部分地基于对免碰撞路径的确定、(如果多于一个的)机器人的协调等。在一些实施方案中,可使用各种软件方法(例如,使用energid的软件) 来至少部分地应用执行或履行自然机器人任务。自然地确定执行任务的方法或方式还可包括使用可被配置为执行模拟的一个或多个模拟器。此类模拟的结果可用于确定如何执行任务。
[0094]
在一些实施方案中,探索额外的自由度(n

m)可包括完全松弛一些dof(例如,“z”维度)。除此之外和/或另选地,本文所包括的实施方案可被配置为部分地松弛dof,例如,允许z在

15度内自由旋转。如本文所用,短语“自由旋转”可指允许在至少一个轴(例如,端部执行器轴等)上无约束的机器人运动。当指定自然任务时,相同的概念可应用于任何dof以提供灵活性。因此,这可允许机器人系统以更有效的方式找到解决方案。
[0095]
在一些实施方案中,本文所述的机器人系统可被配置为指定一个或多个机器人姿势。通常,机器人可被编程为一系列姿势,即机器人关节和刚性元件的特定取向。然后,该机器人可在机器人控制器的命令下重复循环这些姿势以完成一些任务。例如,利用端部执行器拾取工件并将该工件传送到新的位置,将喷漆器移动通过一系列位置等。
[0096]
在一些情况下,机器人的感官输入可限于误差信号、暂停信号或速度信号。这些信号仅停止、暂停或减慢机器人通过其一系列姿势进行的移动,但不影响姿势本身。在更先进的情况下,机器人的感官输入可用于影响姿势本身。例如,2d相机可用于识别工件在平坦表面上已知位置中的位置。由此,可计算拾取工件的机器人姿势。一般来讲,可针对任何给定的感官输入仅计算单个机器人姿势。这使计算时间最小化,但不考虑机器人实现该姿势的最有效路径,不考虑机器人在工件拾取时的姿势是否也产生机器人再次放下工件的正确路径,或者不考虑这些点之间的最有效路径。
[0097]
允许基于多个可能的机器人姿势进行机器人姿势计算和运动控制对于更有效的运动以及发现更可实现的姿势组合是所期望的。遗憾的是,指定可能的机器人姿势需要理解机器人运动学,并且将它们应用于机器人拾取和放置任务中的每个特定情况。迄今为止,对于非技术人员而言,指定这些变量是不切实际的或不可能的。因此,下文所包括的实施方案可用于仅通过描述工件、端部执行器和工件放置目标的一些特性来间接地指定这些变量。
[0098]
在一些实施方案中,现在参见图5,提供了描绘具有与机器人过程500一致的多个操作的流程图的实施方案。过程500可包括提供(502) 机器人,该机器人被配置为接收用于执行机器人任务的初始约束方法。该方法还可包括允许(504)用户使用与机器人通信的图形用户界面与机器人进行交互,该图形用户界面被配置为允许用户与机器人进行交互以确定与机器人任务相关联的机器人姿势的可允许范围,其中机器人姿势的可允许范围包括比初始约束方法更少的约束,并且其中姿势的可允许范围至少部分地基于一个或多个对称度,该一个或多个对称度和与机器人任务相关联的工件或与机器人相关联的端部执行器中的至少一者相关联。该方法还可包括经由处理器将机器人姿势的可允许范围传送(506)到机器人。
[0099]
现在参见图6,提供了机器人系统600的实施方案。在该示例中,相机602(例如,2d、3d等)可用于识别工件在平坦表面上已知位置处的位置。在一些实施方案中,视觉软件604可用于计算工件在3d空间中的坐标并将该坐标传递到机器人控制器606。然后,控制器606可计算机器人608的假定该机器人的端部执行器610能够拾取工件的姿势。如下文进一步详细讨论的,具有与之相关联的图形用户界面的教导器612可向用户提供控制机器人系统600的能力。
[0100]
在操作中,用户可向机器人系统演示如何执行特定任务。该演示可使用任何合适的方法来接收,包括但不限于经由图形用户界面、用户物理地引导机器人、使用模拟、使用预先生成的程序、使用实时生成的程序等。该演示可提供初始约束方法,该方法向机器人系统精确地示出如何执行特定任务。在先前的系统中,一旦学习/输入了初始约束方法,该系统就可使用相同的拾取姿势、放置姿势、路径等来执行任务。
[0101]
在一些实施方案中,本文所述的机器人过程可通过确定可从初始约束方法减少约束数量的姿势的可允许范围来允许初始约束方法的松弛。因此,机器人过程的实施方案可识别并随后允许针对拾取和/或放置工件的姿势的范围,其中该姿势的范围中的任意一者对于完成任务都是可接受的。在一些实施方案中,可提供和/或选择(例如,自动地) 最小约束选项。
[0102]
在一些实施方案中,姿势的可允许范围可至少部分地基于工件几何形状、端部执行器几何形状、两种几何形状的组合、任一种几何形状的一部分、两种几何形状的一部分等。应当指出的是,这些几何形状可使用任何合适的方法来接收,方法包括但不限于扫描、经由图形用户界面的用户输入、访问一个或多个预先确定或实时生成的程序等。
[0103]
在一些实施方案中,与机器人相关联的一个或多个自由度可部分或完全松弛。然后,该过程可确定和/或计划机器人实现该任务的适当路径和/或姿势。这可包括但不限于确定冗余自由度、考虑环境障碍物、系统性能优化(例如,能量效率)、特定度量优化等。
[0104]
现在参见图7,提供了机器人系统700的实施方案。在该示例中,可看出,存在机器人可假定以拾取工件的许多可能的机器人姿势。由于工件可相对于垂直于平坦表面的轴z
o
旋转对称,因此对机器人的端部执行器进行定位使得其z
e
轴与工件的z
o
轴对准的任何机器人姿势可使得机器人能够利用端部执行器710拾取工件。在该示例中,机器人可通过以下方式拾取工件:将其端部执行器710的指状物定位在工件的环内,并且展开指状物以便形成工件的内部夹持,但是许多其他选项也是可用的。
[0105]
现在参见图8,提供了机器人系统800的实施方案。在该示例中,机器人端部执行器
810具有约45
°
的弯曲。端部执行器的z
e
轴已被重新限定为与指状物的端部对准,因此其在图7中关于端部执行器旋转 45
°
。另外,平坦表面上的工件相对于垂直于该平坦表面的轴z
o
不旋转对称。然而,工件确实具有与图7中的工件的内部相同尺寸的圆形切口,适用于正如图7中的内部夹持。应当指出的是,对机器人的端部执行器810进行定位以使其z
e
轴与工件的z
o
轴对准的任何机器人姿势可使得机器人能够利用其端部执行器810拾取工件。图8还示出了工件放置目标814。工件放置目标814需要工件在放置时的特定姿势。如果机器人具有足够的到达范围,并且工件放置目标814周围的环境不受约束,则无论机器人假定拾取工件的姿势如何,机器人都能够将工件放置在目标中。图7至图8示出的示例提供了用于规划到达工件的机器人路径以及从工件到工件放置目标的许多选项。增加选项数量允许计算最有效的路径,或拾取成功的最可能程度。
[0106]
现在参见图9,提供了机器人系统900的实施方案。该实施方案示出了与图8中相同的条件,但在工件放置目标周围存在障碍物。在该示例中,仅使端部执行器910定位在180
°
弧内的机器人姿势可允许将工件放置在目标中。为了使机器人能够总是将工件放置在目标中,拾取工件时的机器人姿势应限于相同的180
°
弧。仍然存在用于计算机器人姿势和它们之间的路径的多个选项,但是选项的数量更为有限。
[0107]
现在参见图10,提供了机器人系统1000的实施方案。该示例示出矩形工件和矩形工件放置目标1014。在该示例中,机器人可通过从外部抓握工件来拾取该工件,其中端部执行器1010如图10的左侧部分所示定位,或者如图10的右侧部分所示定位成关于其z
e
轴旋转180
°
。此外,如图11所示,可沿工件的长轴在多个位置夹持该工件。所有这些夹持位置均允许放置在工件放置目标1014中。由于端部执行器指状物与工件之间的静摩擦的限制,并且由于工件的质心的位置,仅沿长轴的所有可能的夹持位置的子集将具有可接受的性能。
[0108]
现在参见图12,提供了机器人系统1200的实施方案。该示例示出矩形工件、矩形工件放置目标和真空吸盘端部执行器1210。吸盘在工件上所示的区域a内的任何接触将产生工件的成功拾取。如图13所示,端部执行器1310可具有围绕轴z
e
的任何旋转,其中将吸盘定位在区域a中的任何位置。此外,如果吸盘在接触时的位置在关于工件轴 z
o
的法线的10
°
内的任何位置,则吸盘的柔性性质可提供可接受的性能。
[0109]
现在参见图14,提供了机器人系统1400的实施方案。该示例示出了大致圆柱形的工件,该工件的一端具有六边形横截面,并且另一端具有圆形横截面。工件放置目标为3爪机械卡盘。在该示例中,端部执行器1410为被设计用于从外部夹持工件的机械夹持器。为了将工件正确地放置在卡盘中,工件的六边形半部的平坦侧面必须与卡盘的爪中的一个爪对准。由于机械夹持器接触工件的圆形侧,并且工件的夹持特征部相对于轴z
o
旋转对称,因此将机器人的端部执行器进行定位,使得其z
e
轴与工件的z
o
轴对准的任何机器人姿势将使得机器人能够利用其端部执行器拾取工件。然而,无论如何拾取工件,在该特定示例中,仅存在六个工件姿势将使得工件被正确放置在机器卡盘中,工件每围绕其z
o
轴旋转60
°
为一个工件姿势。
[0110]
上述实施方案示出了可通过允许机器人端部执行器与工件和工件放置目标有关的定位的更多选项来增强拾取和放置性能,但代价是理解和指定这些选项内的限制的过程较难。与示例不同,如果工件拾取是三维的,诸如当工件随机分布在料格中时,则这种复杂性增加。
[0111]
本文所述的实施方案包括基于系统部件的一组特性来合成运动限制的方法。如下文进一步详细讨论的,可在用作对机器人或应用程序进行编程的一部分的图形用户界面中指定特性。
[0112]
如本文所用,短语“拾取特征部”可指工件的某个区段,该区段可用作机器人端部执行器的接触点或配合接触点。“放置特征部”可指工件或放置目标的某个区段,该区段可用作工件与工件的放置目标之间的接触点或配合接触点。短语“工件特征部”可指拾取特征部或放置特征部或两者。如本文所用,短语“坐标系”通常是指可对应于每个机器人、工件特征部、机器人端部执行器和工件放置目标的三个正交轴。如本文所用,术语工件特征部、机器人端部执行器以及工件放置目标的“对称性”可根据该特征部、机器人端部执行器或工件放置目标在围绕其坐标系的三个轴中的一个或多个轴旋转时对于其预期的拾取或放置操作具有相同的性能来描述。当工件特征部、机器人端部执行器或工件放置目标可围绕其轴中的一者旋转任何角度,其中具有相同或基本相同的拾取或放置性能时,该工件特征部、机器人端部执行器或工件放置目标围绕该轴具有“连续对称性”。当工件特征部、机器人端部执行器或工件放置目标可围绕其轴中的一者旋转任何整数增量,但多于一个且小于无限增量,其中对于在每个增量处拾取或放置具有相同性能时,则该工件特征部、机器人端部执行器或工件放置目标围绕该轴具有“离散对称性”。当工件特征部、机器人端部执行器或工件放置目标可仅在围绕其轴中的一者旋转一整圈(即,识别操作)才具有相同的拾取或放置性能时,该工件特征部、机器人端部执行器或工件放置目标围绕该轴具有“不对称性”。
[0113]
因此,不约束机器人轴并利用工件、端部执行器和/或放置目标中的对称性可产生更平稳的路径、更可能的拾取以及更好的料格卸空(例如,在工件可能随机放置在料格中的情况下)。
[0114]
本文所包括的实施方案可制定默认的约束运动。如果用户演示或编程拾取或放置,则系统可进行复制,对于每次拾取或放置,使工件、端部执行器和放置目标精确对准。所有无约束的运动可使用图形用户界面(例如,在高级选项卡中)来显示,诸如下文所述的那些。因此,这可简化用户第一程序的创建,并因此匹配他/她对大多数系统如何工作的直观理解,这适用于使用手动布置的工件调试程序。
[0115]
在一些实施方案中,可递增地执行无约束运动。例如,在拾取期间不约束端部执行器的旋转具有递增的有益效果。此外,在放置期间不约束工件姿势具有独立但附加的有益效果。
[0116]
在一些实施方案中,可能不直接指定无约束机器人轴,因为这通常可能需要进一步理解运动学和机器人。相反,本文包括的实施方案可提供输入特性的向导或装置,该向导或装置可向用户询问工件、端部执行器和/或放置目标的特性。该系统可使用该信息来计算和应用运动约束。这可简化用户培训并且使用户免于必须考虑例如影响不约束机器人的端部执行器和工件特性的组合。突出的工件、端部执行器和放置目标特性是对称的。
[0117]
如上所述,本公开的实施方案可允许在工艺的各方面之前、期间和/或之后分析各种类型的对称性。在一些实施方案中,不约束机器人轴可能需要的仅有的对称性信息是工件上的拾取特征部、工件上的放置特征部、端部执行器和/或放置目标的对称性信息。在一些实施方案中,系统可能仅需要知道旋转对称性。旋转对称性始终与一些旋转轴有关。在一些实施方案中,所有旋转对称性可围绕相关联的坐标系的三个轴中的一个轴,例如x轴、y轴
或z轴。
[0118]
现在参见图15至图16,提供了描绘工件对称性的示例的实施方案。在一些实施方案中,就工件而言,对称旋转可和与工件相关联的坐标系有关(例如,嵌入cad文件、网格文件等中)。图15示出了围绕所有三个轴具有连续对称性的工件,在该示例中为球体。图16示出了围绕z轴具有连续对称性的工件。
[0119]
在一些实施方案中,为了不约束针对拾取和放置的机器人轴,拾取特征部和放置特征部的对称性可被认为彼此分开,并且与工件的整体对称性分开。
[0120]
现在参见图17,提供了描绘具有对称拾取特征部的非对称工件的实施方案。应当指出的是,工件的拾取或放置特征部可具有其自身单独的对称性,这与工件本身无关。例如,图17所示的工件是非对称的,即,该工件不具有围绕任何轴的旋转对称性。此外,对于该特定工件,任何坐标系中均不存在工件将旋转对称的轴。在该示例中,工件具有一个可能的拾取特征部,该拾取特征部被示出为左侧上的内部夹持部。尽管工件是非对称的,但该拾取特征部具有围绕(z)轴的旋转对称性。
[0121]
现在参见图18,提供了描绘具有对称放置特征部的非对称工件的实施方案。图18中的工件是非对称的,即,该工件不具有围绕任何可能轴的旋转对称性。在该示例中,该工件具有一个非对称拾取特征部,即沿柄部的锥形侧面的外侧夹持部。然而,应当指出的是,该示例确实包括位于卡盘中的对称放置特征部,即,圆柱形心轴的放置。放置特征部具有围绕(z)轴的旋转对称性。
[0122]
现在参见图19,提供了描绘具有对称放置特征部的放置目标的实施方案。该放置目标可具有其自身的对称性。例如,卡盘可具有围绕其旋转轴的旋转对称性。或者夹具可具有围绕垂直于其表面的轴的对称性。为了利用这种对称性,本文所包括的实施方案可被配置为与放置目标建立坐标系。一些选项可包括但不限于使放置目标具有其自身的坐标系(例如,限定放置目标的特征部、将放置目标如具有其自身的基于cad的坐标系的端部执行器一样对待等)、在教导放置时使用工件姿势的坐标系等。例如,假定在教导该放置时用户正确地对准工件和目标,则两个坐标系可各自在放置点处相同。在一些实施方案中,应当指出的是,可能存在多于一个的与特定机器人任务或一系列任务相关联的放置目标。
[0123]
现在参见图20至图22,提供了描绘非对称性示例的实施方案。在一些实施方案中,非对称性可以是编程默认值。当存在非对称性时,不存在两个相同的拾取或放置特征部,并且不存在两个相同的端部执行器位置(在保持工件时的位置)。图20示出了非对称放置目标,图 21示出了非对称端部执行器,并且图22示出了具有非对称工件特征部的非对称工件。应当指出的是,图22中的工件确实具有一些可能的对称拾取和放置特征部,例如,表现出对称性的圆形螺钉孔和圆柱形栓。如果这些中没有一个被用作拾取或放置特征部,则工件拾取和放置可被认为是非对称的。也可将对称的工件视为非对称的。在一些实施方案中,这可以是编程默认值。在这种情况下,系统可选择对称工件可具有的无限姿势中的一个姿势,并且控制软件可尝试确定到允许该姿势的拾取特征部的路径,即使其他相同的拾取特征部可用。这可限制拾取和路径规划性能。在一些实施方案中,具有围绕除相关联的坐标系的x轴、y轴或z轴之外的轴对称的工件可被视为非对称的。这可指示需要适当地分配坐标系以实现对称。图23示出了不具有围绕x轴、 y轴或z轴对称的拾取或放置特征部并因此非对称的工件的示例。为清楚起见,应当指出的是,图23所示的轴均不沿工件的最长尺寸穿过工
件的任何横截面的中心。
[0124]
现在参见图24至图25,提供了描绘连续对称性示例的实施方案。如上所述,连续对称性可指示拾取或放置特征可在360
°
的范围内围绕其x、y或z轴旋转任何增量,而其外观没有变化。应当指出的是,对于拾取或放置特征部而非工件或夹具整体而言可能是这种情况。图24 示出了具有位于每个端部处的两个可能的拾取特征部的非对称工件,每个拾取特征部可围绕穿过每个拾取特征部的中心的(x)轴连续对称。对于端部执行器,这可指示端部执行器可围绕轴在360
°
范围内以任何增量旋转,而其拾取或放置工件的能力没有变化。在一些实施方案中,常规上是将此指定为端部执行器的z轴,然而也可使用x轴或y轴。图25示出了围绕垂直于接触点中心的轴具有连续对称性的端部执行器。
[0125]
现在参见图26至图29,提供了描绘离散对称性示例的实施方案。离散对称性指示拾取或放置特征部或者端部执行器可围绕其x轴、y轴或z轴以至少两个离散增量旋转360
°
,而对于拾取或放置工件的目的,该特征部的功能没有改变。应当指出的是,该示例示出了拾取或放置特征部,而不是整个工件或夹具。在图26中,例如,被教导为外侧夹持部的拾取部可具有离散对称性,而被教导为内侧夹持部的拾取部可具有连续对称性。在一些实施方案中,增量可被指定为增量的数量、角度或使用任何合适的方法。例如,具有三个离散对称性增量的拾取特征也可被描述为具有360
°
/3=120
°
离散对称性。图27示出了具有180
°
离散对称性的示例性端部执行器。图28示出了具有120
°
离散对称性的示例性端部执行器。图29示出了具有120
°
离散对称性的放置目标(cnc 卡盘)。图30示出了具有180
°
离散对称性的放置目标(cnc台钳)。
[0126]
现在参见图31,提供了描绘工件围绕x轴、y轴和z轴对称的实施方案。为了使端部执行器、工件和具有离散对称性的放置目标对准,可能需要确定离散对称性的起点或零角度。例如,如果可从所教导的工件姿势推断出放置目标的坐标系,则可从工件和放置目标的相对位置推断出零角度。另选地,如果待将坐标系明确地指定给放置目标,则用户可能需要将其他两个轴中的一个轴指定为零角度。在一些实施方案中,系统可允许围绕多于一个轴的对称性限定。图31示出了具有六个可能的拾取特征的工件。即,围绕z轴具有连续对称性的两个内部夹持部、围绕y轴具有连续对称性的两个内部夹持部、以及围绕x 轴(工件的两侧)具有90
°
离散对称性的两个外部抽吸拾取部。就围绕 x轴的离散对称性而言,系统可能需要规定哪个轴设定围绕x轴的拾取对称性的零角度。在该特定示例中,该轴可以是y轴或z轴。
[0127]
现在参见图32,提供了示出具有非正交轴的示例的实施方案。一些工件具有可围绕多个轴对称的拾取和放置特征部,然而这些轴彼此不正交。例如,图32中的工件包括第一内部夹持部,在顶部上连续对称的拾取特征部和第二内部夹持部,在底部(不可见)上连续对称的放置特征部。其还具有与第三轴有关的第三拾取特征部和与第四轴有关的第四拾取特征部。由于系统通常可仅允许围绕工件坐标系中的x、 y或z轴的对称规格,因此第三拾取特征部和第四拾取特征部可被认为是非对称的。该系统仍然可允许用户在此时指定拾取特征部,但由于缺乏围绕x轴、y轴或z轴中的一者的对称性,因此它们可能仅具有一个可能的端部执行器位置。因为相当罕见,所以不允许非正交对称轴实际上产生非常少的问题。如果端部执行器具有对称性,这足以允许无约束的拾取,而不需要工件拾取特征部对称性(参见图33)。不太可能使工件拾取特征部与非对称的端部执行器对称,但即使发生这种对称,对
针对未对准轴的多个拾取进行编程的应变方法仍然是可能的。
[0128]
在一些实施方案中,该系统可被配置为从对称性信息来计算运动约束。可通过检查以下组合来容易地计算无约束运动:工件拾取特征部和端部执行器以及工件放置特征部和放置目标放置特征部。这都假定一种无约束环境,因为当环境受约束时可能存在另外的规则。优选的规则是根据最低的约束进行操作。例如,如果端部执行器具有围绕其z轴的连续对称性,并且拾取特征部为非对称的,则系统可利用较少约束的特征部、端部执行器围绕其z轴的连续对称性的优势,并且允许使用仅围绕端部执行器z轴的旋转而变化的任何有效端部执行器姿势来拾取零件。允许端部执行器姿势的这种自由度基本允许端部执行器轴中的一个轴(此处位于端部执行器z)中的无约束机器人运动。另选地,如果端部执行器具有围绕其z轴的180
°
的离散对称性,并且拾取特征部具有围绕工件x轴的连续对称性,则该系统可利用较少约束的特征部、拾取特征部围绕工件x轴的连续对称性的优势,并且允许使用仅在围绕工件x轴的端部执行器旋转中变化的任何有效端部执行器姿势来拾取零件。允许端部执行器姿势的这种自由度可被称为工件x中的自由旋转。如果工件放置特征部具有围绕相关联工件轴的120
°
离散对称性,并且放置目标放置特征部具有围绕相关联放置目标轴的 60
°
离散对称性,则系统可利用较少约束的特征部、60
°
离散放置目标对称性(两个角度中较小的一个角度)的优势,并且允许使用以60
°
旋转增量围绕放置目标参考轴的任何有效的端部执行器姿势来放置零件。允许端部执行器姿势的这种自由度可被称为围绕放置目标参考轴x的离散旋转。在该示例中,工件坐标系和放置目标坐标系可能需要对准到相同的零角度。在图33至图34中提供了一些可能的规则示例。
[0129]
现在参见图35至图40,提供了本公开的提供工件的示例的实施方案。图35示出了z对准的放置在卡盘中的由六角原料制成的示例性工件。对于拾取工件,由于工件拾取特征部受到的约束小于端部执行器,因此使用工件z中的自由旋转。对于放置工件,两个离散对称性中的较小者对于工件为60
°
,使得该放置可处于任何的60
°
增量。注意的是,工件和放置目标零参考轴是对准的。图36示出了相同的工件,但端部执行器轴和工件z轴未对准。这类似于上述示例,然而,拾取位置可以不同方式来教导,在侧面具有夹持部。对于拾取工件,由于工件拾取特征部受到的约束小于端部执行器,因此使用工件z中的自由旋转。对于放置工件,两个离散对称性中的较小者对于工件为60
°
,使得该放置可处于任何的60
°
增量。应当指出的是,工件和放置目标零参考轴是对准的。在该示例中,端部执行器的z轴和工件的z轴不再对准。因此,系统总是可明确地指定工件z周围的自由自旋,并且不假定与端部执行器中心点(tcp)z对准。可人为地使工件和端部执行器 z对准,但是这然后可能将拾取限制到一个tcp。另选地,用户可从多个tcp中进行指定和选择。下文包括的实施方案提供了可被配置为减轻用户这种负担(以及创建更复杂的ui)的多个gui和显示器,这可允许基于所教导的拾取来计算其自身的临时tcp。
[0130]
现在参见图37,提供了示出点对点夹持端部执行器的实施方案。为了拾取工件,而不是重新取向工件坐标系,用户已选择y而非x轴作为零角度参考。因此,y轴与六角原料的点而非平面对齐。工件的两个离散对称性中较小的一个离散对称性为60
°
,因此拾取可以任何60
°
增量自由旋转。在该示例中,端部执行器的零角度参考x轴可与工件拾取特征部的零角度参考y有关地以减去两个(或加上四个)60
°
增量来旋转。对于放置工件,由于工件放置特征部受到的约束小于放置目标,因此该放置可使用工件z中的自由旋转。图38示出了必须
放置在特定非对称位置中的具有外部非对称性的工件的示例。对于拾取工件,这类似于上述示例,不同之处在于工件拾取特征部具有围绕y轴的离散对称性,并且零角度可由z轴设定。在该示例中,夹持器可以是平面对平面的。工件的两个离散对称性中较小的一个离散对称性为60
°
,因此拾取可以任何60
°
增量自由旋转。对于放置工件,由于工件(其包括柄部)上的放置特征部和放置目标两者是非对称的,因此对于工件仅存在一个有效的位置姿势。
[0131]
在一些实施方案中,所有拾取规划和运动约束可被编程为用于拾取、放置和端部执行器的图形用户界面(例如,高级选项卡)上的对话。在一些实施方案中,用户可进行选择以指定从零个到所有四个对称的任何位置。即使使其他信息保留默认情况(例如,不对称)时,每条附加信息也可改善性能。事实上,当拾取和放置对的两个半部(分别为拾取特征部和端部执行器,或者为放置特征部和放置目标、放置特征部)中的一个半部具有连续对称性时,该对的对称性的另一半是不相关的。
[0132]
现在参见图39,提供了示出符合本公开的示例性图形用户界面 3900的实施方案。gui 3900可允许生成和显示放置规则。在操作中,在用户选择gui 3900中的教导内容选项卡时,可生成放置向导。
[0133]
现在参见图40,提供了示出符合本公开的示例性图形用户界面 4000的实施方案。gui 4000可允许显示工件的安装选项卡。限定工件拾取和/或放置对称性允许较少的拾取规则并且自由旋转工件z就位。例如,用户可指定对于每个工件轴存在的对称类型(例如,没有、连续或n侧等)。
[0134]
现在参见图41,提供了示出符合本公开的示例性图形用户界面 4100的实施方案。gui 4100可显示拾取规则旋转选项卡,该拾取规则旋转选项卡可被配置为允许用户通过在同一视图中组合端部执行器和工件来使从端部执行器和工件对称性得出的拾取优化可视化。如图41 所示,可显示安装选项卡中限定的任何对称性,并且如果未限定对称性,则可不再强调(例如,变灰等)。在一些实施方案中,用户可覆写对特定放置规则的任何对称性的使用。
[0135]
现在参见图42,提供了示出符合本公开的示例性图形用户界面 4200的实施方案。gui 4200可被配置为显示安装选项卡改变端部执行器。在操作中,播放选项可被配置为通过以动画方式显示端部执行器或工件的旋转来在观察者中展示所选择的旋转。选择任何字段(除观察者自身之外)或退出页面可使观察者退出播放模式。在一些实施方案中,下拉菜单可允许用户选择端部执行器对称性的类型(例如,每个位置是唯一的,所有位置都是等效的,存在2/3/4等效位置等)。在图42中以及在其他实施方案中显示的“播放”选项可在被选择时通过以动画方式显示端部执行器或工件的旋转来在观察者中展示所选择的旋转。选择任何字段(除观察者自身之外)或退出页面可使观察者退出播放模式。图42仅示出了端部执行器对称性的说明。应当理解,可使用类似的一组控制来指定围绕其他轴的对称性。
[0136]
现在参见图43,提供了示出符合本公开的示例性图形用户界面 4300的实施方案。gui 4300可显示放置规则旋转选项卡,该放置规则旋转选项卡可被配置为允许用户使从工件轴中的一个轴中的工件对称性得出的一个或多个放置优化可视化。
[0137]
在一些实施方案中,本公开的图形用户界面可允许使用诸如上述安装选项卡的各种用户可编辑选项来限定工件和端部执行器对称性。因此,无需编辑拾取/放置规则页面中的对称性。可通过使观察者中的对称性可视化以及在一些实施方案中使观察者显示端部执
行器旋转的对称性可视化来实现易用性。在一些实施方案中,因为零参考可通过拾取和放置规则隐含地限定,所以可能不需要针对旋转对称性明确地限定零参考轴。
[0138]
在一些实施方案中,并且如上所述,本公开可提供一种出于拾取工件的目的而指定机器人和/或机器人端部执行器的姿势的可允许范围的方法。该方法可包括以图形方式显示机器人和/或机器人端部执行器、工件和/或工件坐标系的轴。该方法还可包括当端部执行器围绕其坐标系的一个或多个轴旋转时询问用户该端部执行器对于拾取工件是否具有基本等同的性能。
[0139]
在一些实施方案中,当端部执行器围绕其坐标系的一个或多个轴旋转时,可确定该端部执行器对于拾取工件具有基本等同的性能。在这种情况下,可允许用户将每个旋转指定为连续的,或者在多个离散步骤中指定。在一些情况下,所指定的旋转可被显示为一系列图像。例如,在图形显示器处,诸如上文所述的那些(例如,在机器人教导器或任何其他合适的设备上)。
[0140]
在一些实施方案中,本公开可提供一种出于由机器人和/或机器人端部执行器接触的目的而指定工件特征部的姿势的可允许范围的方法。该方法可包括以图形方式显示工件、其坐标系的轴和/或机器人或机器人端部执行器,其中机器人和/或机器人端部执行器可以接触工件的姿势来显示。该方法还可包括询问用户关于当工件围绕其坐标系中的一个或多个轴旋转时,该端部执行器对于接触工件是否具有基本等同的性能。
[0141]
在一些实施方案中,当工件围绕其坐标系的一个或多个轴旋转时,机器人和/或机器人端部执行器对于接触工件可具有基本等同的性能。因此,用户可将每个旋转指定为连续的,或者在多个离散步骤中指定。
[0142]
在一些实施方案中,本公开可提供一种出于将工件放置在工件放置目标处的目的而指定该工件的姿势的可允许范围的方法。该方法可包括以图形方式显示工件、其坐标系的轴和/或工件放置目标。在一些实施方案中,工件可以用于将工件放置在工件放置目标处的姿势来显示。该方法可包括询问用户关于当工件围绕其坐标系中的一个或多个轴旋转时该工件是否可被正确放置。
[0143]
在一些实施方案中,本公开可提供一种出于将工件放置在工件放置目标处的目的而指定机器人和/或机器人端部执行器的姿势的可允许范围的方法,其中姿势的可允许范围与工件放置目标有关。该方法可包括以图形方式显示机器人和/或机器人端部执行器、工件、工件坐标系的轴和/或工件放置目标。在一些实施方案中,机器人和/或机器人端部执行器可以用于将工件放置在工件放置目标处的姿势来显示。该方法可包括询问用户当工件围绕其坐标系中的一个或多个轴旋转时是否可将工件正确地放置在工件放置目标处。
[0144]
在一些实施方案中,当工件围绕其坐标系中的一个或多个轴旋转时,该工件可在放置目标处具有至少一个正确的放置。在这种情况下,用户可将每个旋转指定为连续的,或者在多个离散步骤中指定。如果工件围绕其坐标系中的一个或多个轴旋转,并且工件在放置目标处具有至少一个正确的放置,则用户可将每个旋转指定为比完全旋转更小的角度。在一些情况下,可能的旋转范围可被显示为一系列图像(例如,在与机器人教导器相关联的图形显示器处显示)。
[0145]
在一些实施方案中,本公开可提供一种用于计算工件特征部以及机器人和/或机器人端部执行器的使工件特征部与机器人端部执行器接触的彼此相关的可能姿势的最大
范围的方法。该方法可包括确定针对工件特征部的姿势的第一组可允许范围,其中可允许姿势中的每个姿势对于使工件特征部与机器人和/或机器人端部执行器接触产生基本等同的性能。该方法可包括确定针对机器人和/或机器人端部执行器的姿势的第二组可允许范围,其中可允许姿势中的每个姿势对于使工件特征部与机器人和/或机器人端部执行器接触产生基本等同的性能。该方法还可包括选择第一组或第二组。这可基于哪一组允许对于使工件特征部与机器人和/或机器人端部执行器接触具有基本等同的性能的姿势的最大范围来确定。
[0146]
在一些实施方案中,本公开可提供一种计算工件和工件放置目标的用于将工件放置在工件放置目标处的彼此相关的姿势的最大范围的方法。该方法可包括确定针对工件的姿势的第一组可允许范围,其中可允许姿势中的每个姿势对于将工件放置在工件放置目标处可产生基本等同的性能。该方法还可包括确定针对工件放置目标的姿势的第二组可允许范围,其中可允许姿势中的每个姿势对于将工件放置在工件放置目标处可产生基本等同的性能。该方法还可包括选择第一组或第二组,由此来确定哪个组可允许对于将工件放置在工件放置目标处具有基本等同的性能的姿势的最大范围。
[0147]
在一些实施方案中,本公开可提供一种出于接触工件以利用机器人端部执行器来传送工件的目的而指定机器人端部执行器与工件有关的姿势的可允许范围的方法。该方法可包括以图形方式显示工件、机器人和/或机器人端部执行器,以及/或者工件坐标系的轴,其中机器人端部执行器可以接触工件的姿势来显示。可允许用户指定端部执行器沿工件坐标系的每个轴平移的量值,对于该量值,机器人端部执行器与工件之间的接触对于接触工件以利用机器人端部执行器来传送该工件的目的具有可接受的性能。在一些情况下,沿每个轴的指定平移可被显示为一系列图像(例如,在与机器人教导器相关联的图形显示器处显示)。
[0148]
在一些实施方案中,本公开可提供一种出于接触工件以利用机器人端部执行器来传送工件的目的而指定机器人端部执行器与工件有关的姿势的可允许范围的方法。该方法可包括以图形方式显示工件、机器人端部执行器和机器人端部执行器坐标系的轴,其中机器人和/或机器人端部执行器可以接触工件的姿势来显示。在一些情况下,可允许用户指定端部执行器围绕机器人端部执行器坐标系的原点与机器人端部执行器坐标系的一个或多个轴有关的旋转的量值,对于该量值,机器人端部执行器与工件之间的接触对于接触工件以利用机器人端部执行器来传送该工件的目的具有可接受的性能。在一些情况下,机器人端部执行器坐标系中的轴中的一个轴可垂直于工件表面处的接触点。在一些情况下,与每个轴有关的指定旋转可被显示为一系列图像(例如,在与机器人教导器相关联的图形显示处显示)。
[0149]
在一些实施方案中,本公开可提供一种出于拾取工件的目的而指定机器人端部执行器的姿势的可允许范围的方法。该方法可包括确定工件上的拾取特征部的对称度。对于工件围绕该工件的坐标系的轴中的每个轴的旋转,对称度可以是连续的、离散的和/或非对称的。如果所确定的对称性是离散的,则该方法可包括确定围绕对应轴的离散旋转的增量。该方法还可包括确定机器人端部执行器的对称度,其中该对称度对于机器人端部执行器围绕该机器人端部执行器的坐标系的轴中的每个轴旋转可以是连续的、离散的和/或非对称的。如果所确定的对称性是离散的,则该方法可包括确定围绕对应轴的离散旋转的增量。该
方法还可包括确定工件与机器人端部执行器有关的出于拾取该工件的目的的第一有效姿势。对于在工件处于第一有效姿势时与机器人端部执行器的坐标系的轴重合的工件的坐标系的轴,该方法可包括通过允许端部执行器根据针对工件围绕工件的坐标系的轴或者针对机器人端部执行器围绕机器人端部执行器的坐标系的轴所确定的对称度来旋转,从而确定有效机器人端部执行器姿势的范围。
[0150]
在一些实施方案中,本公开可提供一种出于将工件放置在放置目标处的目的而指定工件的姿势的可允许范围的方法。该方法可包括确定工件上的放置特征部的对称度,其中对工件围绕该工件的坐标系中的轴中的每个轴的旋转,该对称度可以是连续的、离散的或非对称的,并且其中,如果所确定的对称度是离散的,则确定围绕对应轴的离散旋转的增量。该方法还可包括确定放置目标的对称度,其中对放置目标围绕该放置目标的坐标系中的轴中的每个轴的旋转,该对称度可以是连续的、离散的或非对称的,并且其中,如果所确定的对称度是离散的,则确定围绕对应轴的离散旋转的增量。该方法还可包括,确定工件与放置目标有关的出于放置工件的目的的第一有效姿势。对于在工件处于第一有效姿势时可与放置目标的坐标系的轴重合的工件的坐标系的轴,该方法可包括通过允许工件根据针对工件围绕工件的坐标系的轴或者针对放置目标围绕放置目标的坐标系的轴所确定的对称度来旋转,从而确定有效工件姿势的范围。
[0151]
在一些实施方案中,本公开可提供一种用于拾取和放置工件的系统。该系统可包括机器人、机器人端部执行器、传感器、机器人控制器和/或与机器人控制器通信的机器人教导器中的一者或多者。在一些实施方案中,传感器可被配置为检测一个或多个工件与机器人有关的姿势,并且机器人控制器可被配置为选择由传感器检测到的工件。机器人控制器还可被配置为出于拾取工件的目的而从可能的端部执行器拾取姿势的范围中进行选择。机器人控制器还可被配置为出于将工件放置在工件放置目标处的目的而从可能的端部执行器放置姿势的范围中进行选择。机器人控制器还可被配置为提示用户关于端部执行器的对称性的信息,以便生成可能的端部执行器拾取姿势的范围。可使用图形用户界面(例如,在机器人教导器上的图形用户界面)提示用户关于端部执行器的对称性的信息。机器人控制器还可被配置为提示用户关于工件拾取特征部的对称性的信息,以便生成可能的端部执行器拾取姿势的范围。可在机器人教导器上提示用户关于端部执行器的对称性的信息。机器人控制器还可被配置为出于将工件放置在工件放置目标处的目的而从可能的端部执行器放置姿势的范围中进行选择。
[0152]
在一些实施方案中,机器人控制器还可被配置为提示用户关于工件放置特征部的对称性的信息,以便生成可能的端部执行器放置姿势的范围。可在机器人教导器上提示用户关于端部执行器的对称性的信息。机器人控制器还可被配置为提示用户关于工件放置目标的对称性的信息,以便生成可能的端部执行器放置姿势的范围。可在机器人教导器上提示用户关于端部执行器的对称性的信息。机器人控制器还可被配置为计算从所选择的端部执行器拾取姿势到所选择的端部执行器放置姿势的路径。可优化所选择的端部执行器拾取姿势和所选择的端部执行器放置姿势之间的路径,以获得成功的工件拾取和成功的工件放置的最高概率。
[0153]
如本领域的技术人员将理解的,本公开的各方面可体现为系统、方法或计算机程序产品。因此,本公开的各方面可采取完全硬件实施方案、完全软件实施方案(包括固件、常
驻软件、微代码等)或组合软件和硬件方面的实施方案的形式,所述软件和硬件方面在本文中可统称为电路“模块”或“系统”。此外,本公开的各方面可采用实现在一个或多个计算机可读介质中的计算机程序产品的形式,该一个或多个计算机可读介质具有实现在其上的计算机可读程序代码。
[0154]
可利用一个或多个计算机可读介质的任何组合。该计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。例如,计算机可读存储介质可以是但不限于电子的、磁性的、光学的、电磁的、红外的或半导体系统、装置或设备,或前述项的任何合适的组合。计算机可读存储介质的更具体的示例(不完全列表)将包括以下各项:具有一条或多条导线的电连接件、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom 或闪存存储器)、光纤、便携式紧凑光盘只读存储器(cd

rom)、光学存储设备、磁性存储设备、或它们的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是任何有形介质,其可包含或存储供指令执行系统、装置或设备使用或与该指令执行系统、装置或设备结合的程序。
[0155]
计算机可读信号介质可包括其中体现有计算机可读程序代码的传播数据信号,例如,在基带中或作为载波的一部分的传播数据信号。
[0156]
此类传播信号可采用多种形式中的任一种,包括但不限于电磁、光学或它们的任何合适组合。计算机可读信号介质可以是任何计算机可读介质,该任何计算机可读介质不是计算机可读存储介质并且可传送、传播或传输供指令执行系统、装置或设备使用或与该指令执行系统、装置或设备结合的程序。体现在计算机可读介质上的程序代码可使用任何适当的介质来传输,包括但不限于无线、有线、光纤电缆、 rf等,或前述项的任何合适的组合。
[0157]
用于执行本公开的各方面的操作的计算机程序代码可以一种或多种编程语言的任何组合来编写,包括面向对象的编程语言诸如 smalltalk、c 等,以及常规过程编程语言诸如“c”编程语言或类似编程语言。该程序代码可全部在用户的计算机上、部分在用户的计算机上、作为独立的软件包、部分在用户的计算机上以及部分在远程计算机上、或全部在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan) 连接到用户的计算机,或者可连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。
[0158]
下面参考根据本公开的实施方案的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本公开的各方面。应当理解,流程说明图和/或框图的每个框以及流程说明图和/或框图中的框的组合可通过计算机程序指令来实现。
[0159]
这些计算机程序指令可提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。
[0160]
这些计算机程序指令还可存储在计算机可读介质中,该计算机可读介质可指示计算机、其他可编程数据处理装置或其他设备以特定方式运行,使得存储在计算机可读介质中的指令产生包括实现流程图和/ 或框图的一个或多个框中指定的功能/动作的指令的制品。
[0161]
该计算机程序指令还可被加载到计算机、其他可编程数据处理装置或其他设备
上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图的一个或多个框中指定的功能/动作的过程。
[0162]
附图中的流程图和框图例示了根据本公开的各种实施方案的系统、方法和计算机程序产品的可能具体实施的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以但不总是表示包括用于实现指定逻辑功能的一个或多个可执行指令的代码的模块、区段或部分。还应当指出的是,在一些可供选择的具体实施中,框中所指出的功能可不按附图中所述的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可基本上同时执行,或者这些框有时可以相反的顺序执行。还应当注意,框图和/或流程图图示中的每个框,以及框图和/或流程图图示中的框的组合,可由执行指定功能或动作的基于专用硬件的系统,或专用硬件和计算机指令的组合来实现。
[0163]
本文所用的术语仅用于描述特定具体实施的目的,并非旨在限制本公开。如本文所用,除非上下文另有明确指示,否则单数形式“一个”、“一种”和“所述”旨在也包括复数形式。还应当理解,当用于本说明书中时,术语“包括”和/或“包含”指定了所述特征、整数、步骤(不一定以特定顺序)、操作、元件、和/或部件,但不排除一个或多个其他特征、整数、步骤(不一定以特定顺序)、操作、元件、部件和/或其组的存在或添加。
[0164]
可能存在于下文权利要求中的所有装置或步骤加上功能元件的相应结构、材料、动作和等同形式旨在包括用于与如具体要求保护的其他要求保护的元件结合来执行功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了本公开的说明书,但并非旨在穷举或限制于处于所公开的形式的公开内容。在不脱离本公开的范围和实质的情况下,许多修改、变型、替换以及它们的任何组合对于本领域的普通技术人员而言将是显而易见的。选择和描述了一个或多个具体实施以便最好地解释本公开的原理和实际应用,并且使得本领域的其他普通技术人员能够针对适合于所设想的特定用途的具有各种修改的一个或多个各种具体实施和/或一个或多个具体实施的任何组合来理解本公开。
[0165]
已经描述了本发明的多个具体实施。然而,应当理解,可以在不脱离本发明的精神和范围的前提下进行多种修改。
[0166]
例如,在一些具体实施中,机器人可以是被配置为拾取至少一个对象并将其从一个地方移动到另一个地方的任何机械系统。
[0167]
在一些具体实施中,图形用户界面可在除机器人教导器之外的地方实现,包括但不限于计算机显示器、移动设备或平板电脑。此外,虽然在一些具体实施中可使用“处理器”,但应当指出的是,这可包括但不限于与机器人控制器相关联或分开的处理器,例如,与控制器分开或包括在控制器内的单个处理器、与控制器分开或包括在控制器内的多个处理器等。在一些情况下,位于一个设备中的一个处理器可执行某些操作,并且位于物理上分开的区域中的另一处理器可执行其他操作。附加地和/或另选地,一些或所有操作可由位于单个设备中的处理器或处理器组来执行,诸如与本文所包括的机器人系统相关联的那些。
[0168]
因此,已经详细并参考本技术的一个或多个具体实施描述了本技术的公开内容,在不脱离所附权利要求书中限定的本公开的范围的情况下,将显而易见的是,一个或多个具体实施的修改、变型和任何组合(包括任何修改、变型、替换和它们的组合)是可能的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献