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

具有机器人臂吸附控制机制的机器人系统及其操作方法与流程

2021-11-25 01:12:00 来源:中国专利 TAG:

具有机器人臂吸附控制机制的机器人系统及其操作方法
1.本技术是申请日为2019年7月24日、题为“具有机器人臂吸附控制机制的机器人系统及其操作方法”的发明专利申请201910669157.6的分案申请。
技术领域
2.本发明的实施例一般而言涉及机器人系统,并且更具体地涉及具有机器人臂吸附(suction)控制机制的机器人系统。


背景技术:

3.随着性能不断提高和成本降低,机器人现已广泛应用于许多领域。例如,机器人可以用于执行各种任务,包括操纵物体或将物体从一个地方传送到另一个地方。这些任务在制造、组装、打包、包装、仓储和运送中特别有用。在执行这些任务时,机器人可以复制人类动作,从而取代或减少人类的参与,否则需要人类执行危险和重复的任务。但是,虽然技术进步,但机器人仍然缺乏复制执行更复杂任务所需的人类灵敏度、适应性和灵活性所必需的复杂性。例如,由于接触传感器缺乏灵敏度或力控制的粒度不足,机器人手或抓取器常常难以抓取具有相对柔软或不规则表面的物体。
4.因而,仍然需要改进的技术来控制和管理机器人抓握和处理物体的能力。鉴于不断增加的商业竞争压力,以及不断增长的消费者期望和市场中有意义的产品差异化机会的减少,找到这些问题的答案越来越重要。此外,降低成本、提高效率和性能以及满足竞争压力的需求为寻找这些问题的答案的关键必要性增加了更大的紧迫性。
5.已经长期寻求对这些问题的解决方案,但是先前的发展没有教导或提出任何解决方案,因此,本领域技术人员长期以来一直没有解决这些问题。


技术实现要素:

6.本发明的实施例提供了一种机器人系统的操作方法,包括:接收与目标物体相关联的感测读数;生成用于对目标物体执行任务的基础计划,其中生成基础计划包括基于抓取点相对于指定区域、任务位置和另一个目标物体的位置确定用于抓取目标物体的抓取点和与抓取点相关联的一个或多个抓取模式;通过根据抓取模式排名操作致动单元和一个或多个吸附抓取器来实施用于执行任务的基础计划,以在目标物体上生成已建立的抓取,其中已建立的抓取位于与抓取模式相关联的抓取模式位置;测量已建立的抓取;将已建立的抓取与力阈值进行比较;以及基于已建立的抓取低于力阈值而重新抓取目标物体。
7.本发明的实施例提供了一种机器人系统,包括:通信单元,被配置为:接收与目标物体相关联的感测读数;控制单元,耦合到通信单元,被配置为:生成用于对目标物体执行任务的基础计划,其中生成基础计划包括基于抓取点相对于指定区域、任务位置和另一个目标物体的位置确定用于抓取目标物体的抓取点和与抓取点相关联的一个或多个抓取模式;通过根据抓取模式排名操作致动单元和一个或多个吸附抓取器来实施用于执行任务的基础计划,以在目标物体上生成已建立的抓取,其中已建立的抓取位于与抓取模式相关联
的抓取模式位置;测量已建立的抓取;将已建立的抓取与力阈值进行比较;以及基于已建立的抓取低于力阈值而重新抓取目标物体。
8.本发明的实施例提供了一种包括用于机器人系统的指令的非瞬态计算机可读介质,这些指令包括:接收与目标物体相关联的感测读数;生成用于对目标物体执行任务的基础计划,其中生成基础计划包括基于抓取点相对于指定区域、任务位置和另一个目标物体的位置确定用于抓取目标物体的抓取点和与抓取点相关联的一个或多个抓取模式;通过根据抓取模式排名操作致动单元和一个或多个吸附抓取器来实施用于执行任务的基础计划,以在目标物体上生成已建立的抓取,其中已建立的抓取位于与抓取模式相关联的抓取模式位置;测量已建立的抓取;将已建立的抓取与力阈值进行比较;以及基于已建立的抓取低于力阈值而重新抓取目标物体。
9.除了上述那些之外或代替上述那些,本发明的某些实施例具有其它步骤或元件。通过参考附图阅读以下详细描述,这些步骤或元件对于本领域技术人员将变得清楚。
附图说明
10.图1是具有机器人臂吸附控制机制的机器人系统可以在其中操作的示例环境。
11.图2是机器人系统的部件的示例性框图。
12.图3是根据本发明的一个或多个实施例的臂单元的示例。
13.图4是本发明的实施例中的机器人系统的操作阶段的示例性控制流程。
14.图5是本发明的实施例中的吸附控制模式生成机制的示例性控制流程。
15.图6是根据本发明的一个或多个实施例的抓取点到抓取模式的映射的示例。
16.图7是本发明的实施例中的机器人系统的在线状态的示例性控制流程。
17.图8是在本发明的实施例中操作机器人系统的方法的流程图。
具体实施方式
18.以下的实施例以足够的细节进行描述,以使本领域技术人员能够制造和使用本发明。应当理解的是,基于本公开,其它实施例将是清楚的,并且可以在不脱离本发明的实施例的范围的情况下进行系统、处理或机械改变。
19.在以下描述中,给出了许多具体细节以提供对本发明的透彻理解。但是,清楚的是,可以在没有这些具体细节中的一些的情况下实践本发明。为了避免模糊本发明的实施例,未详细公开一些众所周知的结构、电路、系统配置和处理步骤。
20.示出系统和方法的实施例的附图是半图解的,并且不是按比例的。其中一些维度是为了清晰呈现并且在附图中被夸大地示出。类似地,虽然附图中的视图是为了便于描述并且一般示出相似的朝向,但是附图中的这种描绘在大多数情况下是任意的。一般而言,本发明可以以任何朝向操作。为了描述方便起见,实施例已经被编号为一个实施例、第二实施例等,并且不意图具有任何其它意义或者对本发明的实施例提供限制。
21.根据使用术语的上下文,本文提及的术语“模块”或“单元”可以包括本发明实施例中的软件、硬件、机械机制或其组合。例如,软件可以是机器代码、固件、嵌入式代码或应用软件。而且,例如,硬件可以是电路系统、处理器、专用计算机、集成电路、集成电路核心、压力传感器、惯性传感器、微机电系统(mems)、无源设备或其组合。此外,机械机制可以包括致
动器、马达、臂、关节、手柄、端部执行器、导向器、反射镜、锚定基座、真空管线、真空发生器、液体源线或止动器(stopper)。另外,如果在下面的系统权利要求部分中写出“模块”或“单元”,那么“模块”或“单元”被认为包括用于系统权利要求的目的和范围的硬件电路系统。
22.实施例的以下描述中的模块或单元可以如所描述的或如所示的那样彼此耦合或附接。耦合或附接可以是直接的或间接的,在耦合或附接的模块或单元之间没有或具有插入的项目。耦合或附接可以通过物理接触或通过模块或单元之间的通信。
23.现在参考图1,其中示出了具有机器人臂吸附控制机制的机器人系统100可以在其中操作的示例环境。机器人系统100可以包括被配置为执行一个或多个任务118的一个或多个结构或单元,诸如机器人或机器人设备。机器人臂吸附控制机制的各方面可以通过各种结构来实践或实现。在一个实施例中,机器人系统100可以包括仓库、配送中心或运送枢纽中的臂单元102、传送单元104、运输单元106、装载单元108或其组合。
24.机器人系统100或机器人系统100的一部分可以被配置为执行任务118。任务118是由机器人系统100执行的用于在臂单元102、传送单元104、运输单元106、装载单元108或其组合上进行物理变换的功能。例如,任务118可以包括基于臂单元102、传送单元104、运输单元106、装载单元108或其组合上的物理变换将目标物体112从一个位置(诸如集装箱、箱子、笼子、篮子、架子、平台、托盘或传送带)移动到另一个位置。任务118可以按顺序组合,以执行实现目标的操作,包括装载或卸载目标物体112。
25.目标物体112是将由机器人系统100处理或当前由机器人系统100处理的物品。例如,目标物体112可以包括盒子、箱子、刚性体、半刚性体、具有柔性表面的物品,或其组合。作为另一个示例,任务118可以使机器人系统100从诸如卡车、拖车、货车或火车车辆之类的车辆卸载或向其装载目标物体112,以便存储在仓库中,或从存储位置卸载目标物体112并将其装载到车辆上以便运送。机器人系统100的部分可以被配置为执行一系列动作,诸如操作其中的一个或多个部件,以执行任务118。作为示例,机器人系统100的部分可以彼此独立地、单独地或分开配置。同样作为示例,机器人系统100的部分可以作为组、以协调的方式、以顺序的方式或其组合一起配置。图1图示了机器人系统100的各个单元在处理目标物体112时可以执行的可能功能和操作的示例,并且应该理解的是,环境和条件可以与下文中描述的不同。
26.臂单元102可以是被配置为处理目标物体112的机器人臂。臂单元102可以被用作车辆卸载机器人,其被配置为将目标物体112从一个位置传送到另一个位置。作为示例,臂单元102可以是物品拣选机器人,其被配置为将目标物体112从一个集装箱传送到另一个集装箱。在另一个示例中,臂单元102可以是例如码垛机器人。作为示例,臂单元102可以将目标物体112从载体(诸如卡车或集装箱)中的位置传送到传送带上的位置。而且,例如,臂单元102可以用于将目标物体112装载到载体上。下面将讨论臂单元102的进一步细节。
27.传送单元104可以是固定件的机械处理装备,其将目标物体112从一个位置移动到另一个位置,例如传送带。作为示例,传送单元104可以将传送带上的目标物体112移动到运输单元106上的位置,诸如用于将目标物体112装载到运输单元106上的托盘上。
28.运输单元106可以是用于将目标物体112从与传送单元104相关联的区域传送到与装载单元108相关联的区域的移动机器人。运输单元106可以是例如运输机器人、递送无人机、递送机器人、叉车或其组合。
29.装载单元108可以被配置为传送目标物体112,诸如通过将携带目标物体112的托盘从运输单元106移动到另一个存储位置,诸如一个或多个架子上的位置。装载单元108可以是例如货运电梯、仓库电梯、货物升降机或其组合。
30.作为另一个示例,任务118可以包括将目标物体112从一个或多个指定区域114传送到任务位置116。例如,指定区域114可以包括用于存储目标物体112的容器,诸如笼子、箱子、盒子、托盘或其组合。指定区域114可以包括许多配置和形式。例如,指定区域114可以是具有或不具有壁的平台,目标物体112可以放置或堆叠在该平台上,诸如托盘、架子或传送带。作为另一个示例,指定区域114可以是具有壁或盖子的部分或完全封闭的容器,目标物体112可以放置在该容器中,诸如箱子、笼子或篮子。在一些实施例中,具有部分或完全封闭的容器的指定区域114的壁可以是透明的,或者可以包括各种尺寸的开口或间隙,使得包含在其中的目标物体112的部分可以通过壁可见或部分可见。任务位置116可以是放置目标物体112以在其上执行任务118的区域,或者被指定为在目标物体112上执行任务118的终点或起始点的区域。
31.为了说明的目的,在运送中心的上下文中描述机器人系统100,但是应该理解的是,机器人系统100可以被配置为在其它环境中或为了其它目的而执行任务118。作为示例,机器人系统100可以在用于制造、组装、包装、医疗保健或其它类型的自动化的环境中操作。还应理解的是,机器人系统100可以包括图1中未示出的其它单元,诸如操纵器、服务机器人、模块化机器人。例如,在一些实施例中,机器人系统100可以包括用于将目标物体112从笼式推车或托盘传送到传送带或其它托盘上的卸垛单元、用于将目标物体112从一个集装箱传送到另一个集装箱的集装箱切换单元、用于包裹目标物体112的包装单元、用于根据目标物体112的一个或多个特点对目标物体112进行分组的分类单元、用于根据目标物体112的一个或多个特点以不同方式操纵目标物体112(诸如分类、分组或传送)的物品拣选单元,或其组合。
32.现在参考图2,其中示出了机器人系统100的部件的示例性框图。在一个实施例中,机器人系统100可以包括控制单元202、存储单元206、通信单元212、用户接口216、致动单元220和传感器单元230。在一个实施例中,这些部件中的一个或多个可以组合在外壳234中。
33.外壳234可以是其中包含机器人系统100的一部分的壳体。外壳234可以将包含在其中的机器人系统100的部分与外壳234外部的其它部分分开。例如,外壳234可以是箱子、机箱、盒子、控制台、计算机塔或计算机主板。在一个实施例中,例如,控制单元202、存储单元206、通信单元212或其组合可以容纳在外壳234中。在另一个实施例中,控制单元202、存储单元206、通信单元212或其组合可以容纳在外壳234中,而用户接口216可以在外壳234外部访问。
34.虽然机器人系统100的一个或多个部件可以容纳在外壳234中或外壳234上,但是机器人系统100的其它部件可以在外壳234的外部。例如,在一个实施例中,用户接口216、致动单元220、传感器单元230或其组合可以在外壳234的外部,而控制单元202、存储单元206和通信单元212被容纳在234的外壳中。上面提到的仅仅是可以容纳在外壳234中或外壳234上的部件的示例,并不意味着限制。其它部件组合可以容纳在外壳234中。
35.控制单元202可以执行软件210以提供机器人系统100的智能。控制单元202还可以执行用于机器人系统100的其它功能的软件210。控制单元202可以以多种不同方式实现。例
如,控制单元202可以是处理器、专用集成电路(asic)、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(fsm)、数字信号处理器(dsp),或其组合。
36.控制单元202可以包括控制接口204。控制接口204可以用于控制单元202与机器人系统100的其它功能单元之间的通信。控制接口204还可以用于机器人系统100外部的通信。控制接口204可以从其它功能单元或从外部源接收信息,或者可以将信息发送到其它功能单元或外部目的地。外部源和外部目的地是指机器人系统100外部的源和目的地。
37.控制接口204可以以不同的方式实现,并且可以包括不同的实现,这取决于哪些功能单元或外部单元与控制接口204接口。例如,控制接口240可以用压力传感器、惯性传感器、微机电系统(mems)、光学电路系统、波导、无线电路系统、有线电路系统、应用编程接口或其组合来实现。
38.存储单元206可以存储软件210、主数据226、物体跟踪数据228、配置数据248,或其组合。出于说明的目的,存储单元206被示为单个元件,但应理解的是,存储单元206可以是存储元件的分布。同样为了说明的目的,机器人系统100被示为具有作为单层次存储系统的存储单元206,但是应理解的是,机器人系统100可以使存储单元206处于不同的配置。例如,存储单元206可以用不同的存储技术形成,从而形成包括不同级别的高速缓存、主存储器、旋转介质或离线存储装置的存储器分层系统。
39.存储单元206可以是易失性存储器、非易失性存储器、内部存储器、外部存储器或其组合。例如,存储单元206可以是非易失性存储装置,诸如非易失性随机存取存储器(nvram)、闪存、盘存储装置,或易失性存储装置,诸如静态随机存取存储器(sram)。
40.存储单元206可以包括存储接口208。存储接口208可以用于存储单元206与机器人系统100的其它功能单元之间的通信。存储接口208还可以用于机器人系统100外部的通信。存储接口208可以从机器人系统100的其它功能单元或从外部源接收信息,或者可以将信息发送到机器人系统100的其它功能单元或外部目的地。外部源和外部目的地是指机器人系统100外部的源和目的地。
41.存储接口208可以包括不同的实现,这取决于哪些功能单元或外部单元与存储单元206接口。存储接口208可以用类似于控制接口204的实现的技术来实现。
42.在一个实施例中,存储单元206可以用于进一步存储和提供对处理结果、数据、阈值或其组合的访问。处理结果、数据、阈值或其组合可以构成主数据226。主数据226可以包括图1的目标物体112的描述,例如,盒子、盒子类型、箱子、箱子类型、产品或其组合。在一个实施例中,主数据226可以包括目标物体112的维度、形状(例如,用于识别处于不同朝向的目标物体112的针对潜在朝向的模板或计算机生成的模型)、颜色方案、图像、识别信息(例如,条形码、快速响应(qr)码)、徽标、预期维度、预期重量或其组合。在一个实施例中,主数据226还可以包括关于目标物体112的与操纵有关的信息,诸如目标物体112上的质心236位置,或与一个或多个动作、操纵或其组合对应的预期的传感器测量(例如,力、扭矩、压力或接触测量)。
43.在一个实施例中,存储单元206还可以存储配置数据248。配置数据248是指机器人系统100的一个或多个部件或机器人系统100外部的一个或多个部件的参数和初始设置信息,这些参数和信息是操作机器人系统100的一个或多个部件或外部部件所需的。例如,这种配置信息可以包括关于什么部件“开启”或“关断”、何时激活部件(例如何时开启/关断一
个或多个部件)或操作一个或多个部件所需的其它设置变量、阈值或操作数据的信息。在一个实施例中,配置数据248可以存储在配置文件250中。配置文件250是指包含参数和初始设置信息的计算机文件,诸如文本文件。
44.在一个实施例中,存储单元206还可以存储物体跟踪数据228。物体跟踪数据228可以是指示目标物体112的位置、方位、状态或其组合的数据。物体跟踪数据228可以包括被扫描或操纵的目标物体112的日志。在一些实施例中,物体跟踪数据228可以包括目标物体112在一个或多个位置(例如,指定的拾取或放下位置或传送带)处的成像数据,例如,图片、点云/深度视图、实况视频馈送或其组合。在一些实施例中,物体跟踪数据228可以包括目标物体112在一个或多个位置处的位置和朝向。
45.通信单元212可以实现去往和来自机器人系统100的通信,包括机器人系统100的功能单元、外部设备或其组合之间的通信。例如,通信单元212可以允许机器人系统100通过通信路径238与外部设备(诸如外部计算机、外部数据库、外部机器、外部外围设备或其组合)通信。
46.通信路径238可以跨越并表示各种网络和网络拓扑。例如,通信路径238可以包括无线通信、有线通信、光通信、超声通信或其组合。例如,卫星通信、蜂窝通信、蓝牙、红外数据协会标准(lrda)、无线保真(wifi)和全球微波接入互操作性(wimax)是可以包括在通信路径238中的无线通信的示例。线缆、以太网、数字订户线(dsl)、光纤线路、光纤到户(ftth)和普通老式电话服务(pots)是可以包括在通信路径238中的有线通信的示例。另外,通信路径238可以遍历多个网络拓扑和距离。例如,通信路径238可以包括直接连接、个域网(pan)、局域网(lan)、城域网(man)、广域网(wan)或其组合。控制单元202还可以执行软件210以经由通信单元212与通信路径238进行交互。
47.通信单元212还可以用作通信枢纽,从而允许机器人系统100用作通信路径238的一部分而不限于作为通信路径238的端点或终端单元。通信单元212可以包括用于与通信路径238交互的有源和无源部件,诸如微电子器件或天线。
48.通信单元212可以包括通信接口214。通信接口214可以用于通信单元212与机器人系统100的其它功能单元之间的通信。通信接口214可以从机器人系统100的其它功能单元或从外部源接收信息,或者可以将信息发送到机器人系统100的其它功能单元或外部目的地。通信接口214可以包括不同的实现,这取决于哪些功能单元与通信单元212接口。通信接口214可以用类似于控制接口204的实现的技术和技术来实现。
49.控制单元202可以操作用户接口216以呈现或接收由机器人系统100生成的信息。用户接口216可以包括输入设备和输出设备。用户接口216的输入设备的示例可以包括小键盘、触摸板、软键、键盘、麦克风、用于接收远程信号的传感器、用于接收动作命令的相机或其任意组合,以提供数据和通信输入。输出设备的示例可以包括显示接口218和音频接口232。
50.显示接口218可以是任何图形用户接口,诸如显示器、投影仪、视频屏幕或其任何组合。音频接口232可以包括扬声器、麦克风、耳机、低音炮、声音部件、换能器或其任意组合。显示接口218和音频接口232允许机器人系统100的用户与机器人系统100交互。显示接口218和音频接口232可以是可选的。
51.机器人系统100还可以包括致动单元220。致动单元220可以包括被配置为绕对应
的机械关节或在对应的机械关节处驱动、操纵、移位、定向、重定向(或它们的组合)机器人系统100的结构构件或机械部件的设备,例如,马达、弹簧、齿轮、滑轮、链条、导轨、线、人造肌肉、电活性聚合物或其组合。控制单元202可以操作致动单元220,以控制或操纵致动单元220。
52.致动单元220可以包括致动接口222。致动接口222可以用于致动单元220与机器人系统100的其它功能单元之间的通信。致动接口222还可以用于机器人系统100外部的通信。致动接口222可以从机器人系统100的其它功能单元或从外部源接收信息,或者可以将信息发送到其它功能单元或外部目的地。
53.取决于机器人系统100的哪些功能单元或外部单元与致动单元220接口,致动接口222可以包括不同的实现。可以用类似于控制接口204的实现的技术来实现致动接口222。
54.机器人系统100可以包括传感器单元230,其被配置为获得用于执行任务118和操作(诸如用于操纵结构构件)的传感器读数246。传感器读数246可以包括由传感器单元230获得的信息或数据,传感器单元230的目的是检测机器人系统100的环境中的事件或改变,并将信息发送到机器人系统100的部件、外部设备或其组合,以促进任务118。传感器读数246可以包括例如图像读数,例如,数字图像或点云/深度视图。传感器读数246还可以包括量化的测度,例如,力、扭矩、旋转、速度、距离的测度或其组合。
55.传感器单元230可以包括被配置用于检测或测量传感器读数246的设备。例如,传感器单元230可以被配置为检测或测量机器人系统100的一个或多个物理特性,诸如状态、条件、一个或多个结构构件或关节的位置、关于物体或周围环境的信息或其组合。作为示例,传感器单元230可以包括各种传感器,包括成像设备240、系统传感器242、接触传感器244或其组合。
56.在一些实施例中,传感器单元230可以包括一个或多个成像设备240。成像设备240是被配置为捕获、识别、检测(或其组合)机器人系统100的周围环境的设备。例如,成像设备240可以包括二维(2d)相机、三维(3d)相机,两者都可以包括视觉和红外能力、激光雷达、雷达、其它距离测量设备和其它成像设备的组合。成像设备240可以生成机器人系统100的环境的表示,诸如数字图像或点云/深度视图,用于实现用于自动检查、机器人引导或其它机器人应用的机器/计算机视觉。
57.在一些实施例中,传感器单元230可以包括系统传感器242。系统传感器242是被配置为监视机器人系统100的设备。例如,系统传感器242可以包括用于检测和监视结构构件(诸如机器人系统100的机器人部件和端部执行器、对应关节或其组合)的方位的单元或设备。作为另一个示例,机器人系统100可以使用系统传感器242来跟踪在执行任务118期间结构构件和关节的方位、朝向或其组合。系统传感器242的示例可以包括加速度计、陀螺仪或方位编码器。
58.在一些实施例中,传感器单元230可以包括接触传感器244,诸如压力传感器、力传感器、应变仪、压阻/压电传感器、电容传感器、弹性传感器、扭矩传感器、线性力传感器或其它触觉传感器,被配置为测量与多个物理结构或表面之间的直接接触相关联的特点。
59.传感器单元230可以包括传感器单元接口224。传感器单元接口224可以用于传感器单元230与机器人系统100的其它功能单元之间的通信。传感器单元接口224还可以用于机器人系统100外部的通信。传感器单元接口224可以从机器人系统100的其它功能单元或
从外部源接收信息,或者可以将信息发送到机器人系统100的其它功能单元或外部目的地。
60.传感器单元接口224可以包括不同的实现,这取决于机器人系统100的哪些功能单元或外部单元与传感器单元230接口。传感器单元接口224可以用类似于控制接口204的实现的技术来实现。
61.现在参考图3,其中示出了根据本发明的一个或多个实施例的臂单元102的示例。臂单元102可以包括机器人臂310。臂单元102还可以包括传感器单元230、抓取单元306和一个或多个吸附抓取器308。
62.在一个实施例中,传感器单元230可以附接到机器人臂310、抓取单元306、吸附抓取器308或其组合。抓取单元306还可以附接到机器人臂310。吸附抓取器308还可以附接到抓取单元306,并且可以被配置为抓取目标物体112。
63.机器人臂310用于允许经由抓取单元306、吸附抓取器308、传感器单元230或其组合来操纵目标物体112。机器人臂310可以包括一个或多个臂区段314,这些臂区段是机器人臂310的机械子区段,其整体构成机器人臂310。在一个实施例中,机器人臂310还可以包括连接到臂区段314的一个或多个机械结构关节312。结构关节312将臂区段314彼此连接并且可以用作使得能够实现臂区段314、抓取单元306、传感器单元230或其组合的旋转和平移移动的枢转点。在一个实施例中,结构关节312可以形成动力链,该动力链被配置成操纵臂区段314、抓取单元306、传感器单元230或其组合。
64.在一个实施例中,臂单元102还可以包括致动单元220,致动单元220被配置为驱动或操纵在结构关节312附近、在结构关节312处、或连接到其的结构关节312、臂区段314、抓取单元306、传感器单元230或其组合。致动单元220用于使结构关节312、臂区段314、抓取单元306、吸附抓取器308、传感器单元230或其组合执行或经历旋转和平移移动。在一个实施例中,致动单元220可以结合在结构关节312、臂区段314、抓取单元306、吸附抓取器308或其组合内。在另一个实施例中,致动单元220可以在结构关节312、臂区段314、抓取单元306、吸附抓取器308或其组合的外部。
65.臂单元102还可以包括传感器单元230。在一个实施例中,传感器单元230可以包括被配置为检测或测量传感器读数246的设备。例如,臂单元102可以包括被配置为检测和测量机器人系统100的一个或多个物理特性的设备,诸如图2的系统传感器242。物理特性的示例可以包括结构关节312的状态、条件或位置,臂区段314的位置,抓取单元306的位置,吸附抓取器308的状态,或其组合。系统传感器242可以用于检测结构关节312的位置、臂区段314的位置、抓取单元306的位置或其组合。机器人系统100可以使用系统传感器242在执行任务118期间跟踪结构关节312、臂区段314、抓取单元306或其组合的位置和朝向,并且将这些传感器读数246保存为物体跟踪数据228的部分。
66.又例如,传感器单元230还可以包括图2的成像设备240中的一个或多个。成像设备240可以生成检测到的环境的表示,诸如数字图像或点云/深度视图,其可以进一步用于实现机器或计算机视觉,例如,用于自动检查、机器人引导或其它机器人应用。机器人系统100可以存储和处理数字图像或点云/深度视图,以识别、抓取和促进目标物体112的操纵或运输。在一个实施例中,数字图像或点云/深度视图可以存储在存储单元206中。
67.例如,在一个实施例中,传感器单元230可以捕获,并且机器人系统100可以存储指定区域114(诸如卡车内部、集装箱内或目标物体的拾取位置112)的图像。类似地,传感器单
元230可以捕获,并且机器人系统100可以存储指定区域114或任务位置116的其它实例或位置的图像,诸如用于将目标物体112放置在传送带上的放下位置、用于将目标物体112放置在集装箱内的位置,或托盘上用于堆叠目标物体112的位置。
68.在另一个实施例中,传感器单元230还可以用于识别目标物体112。例如,传感器单元230可以捕获,并且机器人系统100可以存储目标物体112、包含目标物体112的集装箱或其组合的图像,并且确定目标物体112是什么类型的物体,使得机器人系统100可以确定如何使用吸附抓取器308操纵、抓取和运输目标物体112。
69.在另一个实施例中,传感器单元230还可以包括图2的接触传感器244。接触传感器244可以测量与吸附抓取器308对目标物体112的抓取对应的特点。因而,接触传感器244可以输出接触测度320,其表示与吸附抓取器308和目标物体112之间的附接对应的量化的测度,例如,测得的力、扭矩或方位。例如,接触测度320可以包括与由吸附抓取器308施加到目标物体112的力相关联的一个或多个力、扭矩或压力读数。
70.在一个实施例中,机器人系统100可以基于接触测度320生成用于实施不同动作(包括目标物体112的抓取、重新抓取、移动或其组合)以完成任务118的指令。例如,指令可以包括:如果接触测度320的初始值高于或低于力阈值322,那么让臂单元102抓取或重新抓取目标物体112。而且,指令可以包括让臂单元102在任务118期间有意地放下目标物体112,调节臂区段314、抓取单元306、吸附抓取器308或其组合的位置,并且如果在任务118期间接触测度320变得低于或高于力阈值322,那么可以包括在任务118期间进一步调节臂区段314的速度或加速度或其组合。
71.力阈值322是指机器人系统100或机器人系统100的部件中的一个或多个将目标物体112上的一个或多个力、扭矩或压力读数与之进行比较以确定是否可以维持目标物体112的抓取以完成任务118的条件。力阈值322可以由机器人系统的用户预先确定,并且可以基于机器人系统100用于抓取目标物体112的吸附抓取器308的尺寸和材料组成而变化。
72.已经发现,使用覆盖大表面区域的吸附抓取器308可以以更大的力保持目标物体112,因此,与覆盖较小表面积的吸附抓取器相比,与覆盖大表面区域的吸附抓取器308相关联的力阈值322可以是更高的值。下面讨论关于吸附抓取器308以及如何使用力阈值322的进一步细节。
73.臂单元102还可以包括抓取单元306。抓取单元306可以与吸附抓取器308一起被配置为促进经由吸引力来抓取目标物体112,这通过在抓取单元306、吸附抓取器308或其组合与目标物体112之间形成并维持真空条件来实现。例如,抓取单元306可以包括吸附抓取器308,吸附抓取器308被配置为接触目标物体112的表面并在吸附抓取器308与目标物体112的表面之间的空间中形成真空条件。下面将讨论抓取单元306和吸附抓取器308的配置的进一步细节。
74.当抓取单元306经由机器人臂310下降时,可以产生真空条件,从而将吸附抓取器308压靠在目标物体112的表面上,并推出相对的表面之间的空气或气体。在一个实施例中,吸附抓取器308可以压靠目标物体112的表面,直到机器人系统100确定已经在目标物体112上建立了抓取。例如,为了确定何时停止按压目标物体112的表面,在一个实施例中,接触传感器244可以生成指示吸附抓取器308与目标物体112的表面之间的压力的接触测度320。机器人系统100可以将接触测度320与力阈值322进行比较,以确定接触测度320是否等于或大
于力阈值322。如果等于或大于力阈值322,那么机器人系统100可以确定吸附抓取器308被充分地按压在目标物体112上以维持目标物体112上的抓取。
75.一旦建立了抓取,臂单元102就可以尝试提举目标物体112。当机器人臂310提举抓取单元306时,接触传感器320还可以测量吸附抓取器308内的空间与周围环境之间的压力差,以确定压力是否足以使目标物体112保持附接到吸附抓取器308。因而,抓取单元306和吸附抓取器308在目标物体112上的抓取或附接程度可以基于成功产生并保持真空条件的吸附抓取器308的数量。
76.在一个实施例中,抓取单元306可以包括吸附抓取器308。吸附抓取器308是机械设备,其使用空气或水的负流体压力粘附到无孔表面以产生真空条件。吸附抓取器308被构造为经由吸引力保持或固定目标物体112。吸附抓取器308可以包括附接到其远端的一个或多个吸盘324,吸盘324可以被配置为接触目标物体112的表面并保持吸盘324与目标物体112的表面之间的空间中的真空条件。
77.吸盘324可以沿着平面、边缘或角度338接触目标物体112的表面。另外,以角度338接触目标物体112的表面的能力允许吸附抓取器308抓取可能已经移动或已经移位并且其一侧与水平面(例如沿着平行于目标物体112位于其中或其上的集装箱底部的平面)成角度338搁置的目标物体112。
78.已经发现,吸盘324以角度338维持目标物体112上的抓取的能力取决于吸盘324的尺寸。例如,吸盘324的尺寸越大,吸盘324可以抓取目标物体112的角度338越大。
79.吸盘324可以根据各种形状和尺寸实现。吸盘324还可以由不同的材料制成。例如,在一个实施例中,吸盘324可以实现为圆形,并且可以由当拾取目标物体112时为吸盘324提供屈曲或弯曲的能力的柔性材料制成,包括塑料、硅树脂、腈、氟橡胶、乙烯树脂、聚氨酯、橡胶。
80.已经发现,由吸盘324施加的力与吸盘324的尺寸和形状相关,使得吸盘324越大,可以由吸附抓取器308、吸盘324或其组合对目标物体112施加的力越大。还已经发现,吸盘324的力与吸盘324所覆盖的有效表面积直接相关,并且可以通过下式表征:
81.f=(δp)(a)
ꢀꢀꢀ
(1)
82.在上式中,“f”表示吸盘324经由真空条件施加的力,“δp”表示环境压力与吸盘324和目标物体112之间的真空压力之间的差,并且“a”表示吸盘324所覆盖的有效表面积。因此,例如,在吸盘324被实现为例如圆形的实施例中,具有较大直径的吸盘324可以在目标物体112上施加更大的力。
83.还已经发现,吸盘324的尺寸和形状影响吸盘324抓取目标物体112的能力。例如,吸盘324越大,吸盘324就越不适合用于抓取具有包含易碎材料或包含当向其施加少量的力时可以容易地弯曲、折断或损坏的易碎膜的表面的目标物体112,因为具有较大直径的吸盘324可以在目标物体112上施加更大的力,并且因此会潜在地损坏目标物体112的表面。
84.还已经发现,吸盘324的材料组成影响吸盘324抓取目标物体112的能力。例如,由允许吸盘324柔性或柔软的材料制成的吸盘324更适于抓取可延展物体(例如袋子)的应用,因为吸盘324的柔性或柔软特点可以屈曲或弯曲到目标物体112的表面并在目标物体112上提供更紧密的抓取。
85.在一个实施例中,臂单元102还可以包括附接到抓取单元306、吸附抓取器308或其
组合以产生真空条件的真空软管(未示出)和真空发生器(未示出)。例如,在一个实施例中,当传感器单元230检测到吸盘324和目标物体112的表面之间的接触时,真空发生器可以由机器人系统100激活,以从吸盘324和目标物体112的表面之间抽出空气以产生真空条件。因此,使得吸附抓取器308和目标物体112的表面之间的空气压力低于吸附抓取器308和目标物体112的表面之间的环境外部的空气压力,并且因此大气压力可以使目标物体112保持在吸附抓取器308上。真空发生器可以包括例如真空喷射器、鼓风机或泵,其可以从吸盘324和目标物体112的表面之间抽出空气以产生真空条件。
86.在一个实施例中,真空发生器可以调节或改变空气被抽出的速度,使得可以改变真空条件的强度。因此,抽出空气的速度越大,环境压力与吸盘324和目标物体112的表面之间的真空压力之间的差异越大,并且生成的真空条件越强。另外,真空条件也可以取决于吸盘324的尺寸而变化。例如,由吸盘324覆盖的表面积越大,当真空发生器以更高的速度抽出空气时的真空条件越强。
87.在一个实施例中,抓取单元306还可以包括传感器单元230。例如,抓取单元306可以包括被配置为确定接触测度320的接触传感器244。接触传感器244可以生成接触测度320,作为抓取单元306、吸附抓取器308或其组合与目标物体112的附接的表示。在一个实施例中,接触传感器244可以包括触摸或触觉传感器,其被配置为指示表面是否在接触另一个表面,并且可以被配置为确定接触另一个表面的表面的尺寸。而且,接触传感器244可以包括压力传感器,其被配置为测量压力,例如,吸附抓取器308与目标物体112的表面之间的真空条件。而且,接触传感器244可以包括线性力传感器,该线性力传感器被配置为测量由吸附抓取器308承载或支撑的目标物体112的重量。
88.另外,接触传感器244可以包括扭矩传感器,其被配置为测量吸附抓取器308、抓取单元306、机器人臂310或其组合上的扭矩或力矩。与完全抓取状态相比,诸如当其中一些吸附抓取器308(例如,位于外围的吸附抓取器308)未能保持真空条件时,扭矩或力矩的测量结果可以改变,例如增大或减小。
89.扭矩测量结果还可以用于确定在执行任务118期间臂单元102的速度340和加速度342。例如,在一个实施例中,当吸附抓取器308在一个点(例如质心236或被抓取的目标物体112上的其它点)处抓取目标物体112并且开始执行任务118时,扭矩传感器可以使用以下公式来测量目标物体112上的扭矩或力矩:
90.τ=(f)(d)
ꢀꢀꢀ
(2)
91.在上面的公式中,“t”表示目标物体112上的扭矩或力矩,“f”表示由于目标物体112的旋转移动而施加到目标物体112的力,并且“d”表示从该点(例如质心236或被抓取的目标物体112上的其它点)到枢转点(例如目标物体112围绕其旋转的结构关节312)的距离。
92.机器人系统100可以将扭矩测量结果“t”与力阈值322进行比较,力阈值322可以表示例如吸盘324可以保持目标物体112的力的最大量。基于该比较,机器人系统100可以确定是否可以在不掉落目标物体112的情况下成功执行任务118。另外,基于扭矩测量结果,机器人系统100可以通过调节臂单元102的速度340和加速度342以抵消扭矩对目标物112的影响来补偿施加到目标物体112的扭矩。作为示例,在一个实施例中,如果扭矩测量结果大于力阈值322,使得吸附抓取器308将失去对目标物体112的抓取,那么机器人系统100可以通过例如降低臂单元102的速度340和加速度342以降低扭矩来调节臂单元102的速度340和加速
度342,并且允许吸附抓取器308、吸盘324或其组合维持对目标物体112的抓取,并且在不掉落目标物体112的情况下递送目标物体112。
93.根据接触传感器244的类型和位置,接触测度320可以与跨每个吸附抓取器308的测量结果的总和或平均值(例如,内部压力、线性力、扭矩或其组合)对应。在一个实施例中,附接到抓取单元306、吸附抓取器308或其组合的接触传感器244可以确定与由吸附抓取器308承载的重量相关联的非零读数。这种重量可以与线性力或扭矩对应,其可以用于确定吸附抓取器308是否在目标物体112上具有足够的抓取,使得包括运输目标物体112的任务118能够执行。
94.在另一个实施例中,接触传感器244还可以确定与吸附抓取器308对应的真空力。如果真空力等于或高于力阈值322,那么接触传感器244可以登记与吸附抓取器308相关联的非零读数,并确定抓取单元306和吸附抓取器308具有对目标物体112的抓取。
95.在一个实施例中,如果吸附抓取器308失去抓取,如由接触传感器244确定的,使得真空力、线性力或其组合降低到力阈值322以下,那么接触传感器244可以由于抓取失败而确定零或接近零读数。另外,由于力的不均匀分布,与抓取单元306、吸附抓取器308或其组合相关联的扭矩传感器可以确定非零读数。
96.在一个实施例中,当机器人系统100确定存在吸附抓取器308的失败抓取时,控制单元202、通信单元212、传感器单元230或其组合可以向机器人系统100的用户、机器人系统100的其它功能单元或其组合通知存在目标物体112的失败抓取。因此,机器人系统100的用户或功能单元可以通过确定失败原因来尝试解决该问题,或尝试重新校准、重新配置或重新抓取目标物体112。
97.在一个实施例中,如果所有吸附抓取器308都与目标物体112建立并维持抓取或真空条件,那么线性力、真空力或其组合可以在所有吸附抓取器308处都具有非零幅度,并且线性力、真空力或其组合之间的偏差将在相对小的范围内。另外,由于重量将以基本均匀的方式分布在吸附抓取器308上,因此在抓取单元306、吸附抓取器308或其组合处测得的扭矩将更接近零值。因此,线性力、真空力、扭矩读数或其组合的偏差可以反过来表示抓取强度。照此,机器人系统100可以使用接触测度320的上述示例作为抓取单元306、吸力抓取器308、吸盘324或其组合对目标物体112上的抓取的表示。
98.在一个实施例中,如果吸附抓取器308、吸盘324或其组合中的一些未能抓取目标物体112,而其它吸附抓取器308、吸盘324或其组合建立并维持与目标物体112的抓取或真空条件,那么考虑到线性力、真空力或其组合,接触传感器244可以确定来自维持抓取或真空条件的吸附抓取器308的那些实例的抓取是否足以维持目标物体112的稳定性以操纵、运输或以其它方式对目标物体112执行任务118。例如,接触传感器244可以将物体的重量与测得的线性力、真空力、扭矩或其组合与力阈值322进行比较,以确定当扭矩测量处于或接近零读数时线性力和真空力是否等于或大于力阈值322,使得可以安全地操纵或运输目标物体112。
99.而且,例如,机器人系统100还可以使用查找或变换表、数据库、方程、处理或其组合,用于根据抓取单元306和目标物体112的不同朝向来变换或转置预期读数。在一些实施例中,主数据226、配置数据248或其组合可以包括针对抓取单元306和目标物体112的每个不同朝向的预期读数。机器人系统100可以使用这些预期读数来根据抓取单元306和目标物
体112的朝向来评估或处理接触测度320。
100.吸附抓取器308可以根据沿着抓取单元306的远端的布局302来实现。布局302是指吸附抓取器308、吸盘324或其组合布置的方式。布局302可以根据各种形状和朝向来实现,包括线、矩形、圆形、三角形、正方形或其组合。例如,在一个实施例中,布局302可以被实现为抓取单元306的远端上的矩形网格,其中沿着第一方向328存在“x”个吸附抓取器308,并且沿着垂直于第一方向328的垂直方向332存在“y”个吸附抓取器308。因此,吸附抓取器可以形成“x”乘“y”矩形网格。作为示例,在图3所示的实施例中,布局302被示为2
×
2方形网格,其中沿着第一方向328存在吸盘324的两个实例,沿着垂直方向332存在两个吸盘324。在其它实施例中,可以增加吸盘324的数量以改变方形网格的尺寸或形成矩形网格。
101.在另一个实施例中,布局302可以以圆形配置实现,其中相等数量的吸附抓取器308与抓取单元306的中心等距离放置。在另一个实施例中,布局302可以以三角形配置实现,其中吸附抓取器308沿着三个直边沿着抓取单元306的远端定位,其中每条线与另外两条线成角度338。以下仅仅是示例,并且可以使用其它布局302配置。
102.基于如上面所讨论的布局302和用于抓取目标物体112的吸附抓取器308的数量,吸附抓取器308可以单独地、作为组、作为子组或全部一致地被控制。机器人系统100可以通过控制致动单元220、真空软管、真空发生器或其组合来控制吸附抓取器308。在一个实施例中,致动单元220、真空软管、真空发生器或其组合可以单独地附接到每个吸附抓取器308或附接到吸附抓取器308的组。致动单元220、真空软管、真空发生器或其组合可以使吸附抓取器308执行它们的功能,例如引起吸附抓取器308的机械移动以向下压在目标物体112上以建立抓取,以及产生在目标物体112上维持或建立抓取所需的吸附和真空条件。
103.例如,在一个实施例中,机器人系统100可以通过“启动”或“关断”致动单元220、真空软管、真空发生器或其组合并使致动单元220、真空软管、真空发生器或其组合能够向下按压目标物体112以建立抓取并产生维持或建立目标物体112上的抓取所需的吸附和真空条件来控制致动单元220、真空软管、真空发生器或其组合。因此,机器人系统100可以控制吸附抓取器308可以抓取目标物体112的精度。
104.可以基于吸附抓取器308的数量和布局302进一步控制吸附抓取器308。例如,在一个实施例中,机器人系统100可以基于吸附抓取器308的数量和布局302生成一个或多个抓取模式330,以单独地、作为组、作为子组或全部一致地控制吸附抓取器308。抓取模式330是指可以用于抓取目标物体112的吸附抓取器308的配置。抓取模式330可以在机器人系统100的在线状态期间使用,以抓取目标物体112并执行图1的任务118。
105.例如,在一个实施例中,抓取模式330可以表示为致动单元220、真空软管、真空发生器或其组合中的每一个的开/关状态的二进制表示。因此,致动单元220、真空软管、真空发生器或其组合的每个状态可以表示为表示“开”或“关”状态的“1”或“0”。基于吸附抓取器308的数量和布局302,机器人系统100可以使用以下公式计算吸附抓取器308的“开”和“关”状态的组合的数量:
106.c=(s)
n
ꢀꢀꢀ
(3)
107.在上面的公式中,“c”表示吸附抓取器308的组合的数量,“s”表示致动单元220、真空软管、真空发生器或其组合中的每一个的状态的数量,并且“n”表示吸附抓取器308的数量。作为示例,在吸附抓取器308布置为2
×
2方形的情况下,机器人系统100可以计算用于吸
附抓取器308的抓取模式330的c=(2)4或16种变化。在一个实施例中,抓取模式330可以表示为查找表334。查找表334可以是抓取模式330的阵列或矩阵表示。例如,查找表334可以具有表示为二进制代码336的抓取模式330的值,例如,[1001]、[0000]和[0001]。二进制代码336可以表示哪个吸附抓取器308被“开启”或“关断”。例如,在一个实施例中,二进制代码336的一个值“[0000]”可以指示所有吸附抓取器308被“关断”;而二进制代码336的另一个值“[1111]”可以指示所有吸附抓取器308都开启。
[0108]
在一个实施例中,抓取模式330可以被预先计算并存储为配置数据248的一部分,使得机器人系统100可以被配置为具有可用于吸附抓取器308的布局302的特定实例的抓取模式330的数量。可以在执行任务118期间使用抓取模式330来抓取目标物体112。下面将讨论关于使用抓取目标物体112的抓取模式330的方式的进一步细节。
[0109]
现在参考图4,其中示出了本发明实施例中的机器人系统100的操作阶段的示例性控制流程。在一个实施例中,机器人系统100可以在两个阶段中操作,包括预配置状态402和在线状态406。图4中所示的实施例假设在机器人系统100在在线状态406下操作之前执行预配置状态402,但是,这种操作次序仅仅是示例性的,并且在其它实施例中,预配置状态402可以与在线状态406并行或实时执行。实时是指在制造、组装、打包、包装、仓储或装运场景期间使用机器人系统100的实例,使得机器人系统100的图2的参数、变量、配置数据248或其组合在制造、组装、打包、包装、仓储或装运场景期间确定。
[0110]
预配置状态402是一种操作模式,在其中确定机器人系统100的参数、变量、配置数据248或其组合。这些参数、变量、配置或其组合可以包括任何阈值或设置,例如与图1的臂单元102、抓取单元306、吸附抓取器308、传感器单元230或其组合相关联的、在对图1的目标物体112执行图1中的任务118所必需的设置。
[0111]
例如,在一个实施例中,预配置状态402可以包括吸附控制模式生成机制404。吸附控制模式生成机制404可以例如确定与图3的抓取单元306、图3的吸附抓取器308、图2的传感器单元230或其组合相关联的参数、变量、配置数据248或其组合。机器人系统100可以使用机器人系统100的图2和3的各种功能单元、机器人系统100的一个或多个外部部件或其组合来实现吸附控制模式生成机制404。外部部件是指机器人系统100外部的部件。下面将讨论吸附控制模式生成机制404的实现的进一步细节。
[0112]
在线状态406是在机器人系统100在目标物体112上执行任务118时机器人系统100在制造、组装、打包、包装、仓储或装运场景期间被使用的操作模式。在在线状态406期间,机器人系统100可以使用在预配置状态402期间确定的机器人系统100的参数、变量、配置数据248或其组合,以在目标物体112上执行任务118。下面将讨论在线状态406的实现的进一步细节。
[0113]
可以基于执行图2的软件210或存储在图2的存储单元206中的指令集来实现预配置状态402和在线状态406,其可以由图2的控制单元202、机器人系统100的其它功能单元或其组合执行。
[0114]
现在参考图5,其中示出了本发明实施例中的吸附控制模式生成机制404的示例性控制流程。机器人系统100可以使用图1的机器人系统100的图2和3的各种功能单元、机器人系统100的一个或多个外部部件或其组合来实现吸附控制模式生成机制404。
[0115]
在一个实施例中,吸附控制模式生成机制404可以被配置为生成抓取模式330。吸
附控制模式生成机制404还可以被配置为识别图1的目标物体112并且在机器人系统100在图4的在线状态406下遭遇目标物体112之前测试与目标物体112相关联的抓取点518的一个或多个位置。通过测试抓取点518的一个或多个位置,吸附控制模式生成机制404可以确定如何在在线状态406期间处理目标物体112。吸附控制模式生成机制404还可以被配置为基于抓取点518确定应当在目标物体112上使用哪些抓取模式330。抓取点518是指目标物体112的表面上能够被图3的吸附抓取器308、图3的吸盘324或其组合抓取的区域。
[0116]
在一个实施例中,吸附控制模式生成机制404可以使用抓取模式生成模块510、扫描模块502、抓取点映射模块508、外部单元514、评估模块512和存储单元206来实现。在一个实施例中,扫描模块502可以耦合到抓取点映射模块508。抓取点映射模块508可以耦合到评估模块512,可选地耦合到存储单元206和外部单元514。评估模块512可以耦合到抓取模式生成模块510和存储单元206。抓取模式生成模块510可以耦合到存储单元206并且可选地耦合到外部单元514。
[0117]
抓取模式生成模块510可以以关于图3描述的方式实现抓取模式330的生成。抓取模式生成模块510还可以实现抓取模式位置530的生成。抓取模式位置530是指图3的布局302上的方位,可以由吸附抓取器308将均匀分布的力在该方位处施加到目标物体112。可以使用抓取模式位置530来抓取目标物体112。抓取模式位置530可以基于多个变量而变化,包括抓取模式330、吸盘324的物理特性或其组合。在一个实施例中,抓取模式位置530可以基于抓取模式330的布局302和吸盘数据534来确定。
[0118]
吸盘数据534是指可以表征吸盘324的物理特性的变量、参数、阈值或其组合。例如,吸盘数据532可以包括关于可以由一个或多个吸盘324保持的最大重量、吸盘324的柔性测度、拉伸强度、摩擦系数、尺寸或其组合的数据。吸盘数据534可以为机器人系统100所知,并且可以存储在存储单元206、外部单元514或其组合中。
[0119]
外部单元514是指机器人系统100外部的存储装置。类似于存储单元206,外部单元514可以是易失性存储器、非易失性存储器、内部存储器、外部存储器或其组合。例如,外部单元514可以是诸如非易失性随机存取存储器(nvram)、闪存、盘存储装置之类的非易失性存储装置,或诸如静态随机存取存储器(sram)之类的易失性存储器。在另一个实施例中,外部单元514可以是数据库或查找表。
[0120]
继续该示例,在基于抓取模式330和吸盘数据534确定抓取模式位置530的实施例中,可以基于吸盘324可以保持的重量的量和吸盘324在布局302中的方位具体地确定抓取模式位置530。抓取模式生成模块510可以通过获得指示可以由一个或多个吸盘324保持的最大重量的变量、参数或其组合来确定抓取模式位置530。基于该最大重量,抓取模式生成模块510可以将吸盘324的几何中心542设置为吸盘324可以最均匀地分布最大重量的默认方位。在其中仅一个吸盘324被“开启”以抓取目标物体112的抓取模式330的配置中,抓取模式生成模块510可以将吸盘324的几何中心542指定为抓取模式位置530。几何中心542是指吸盘324的所有点在所有坐标方向上的平均方位。
[0121]
在其中吸附抓取器308的多个实例用于抓取目标物体112的实施例中,抓取模式生成模块510可以基于考虑吸盘324的几何中心542和权重因子533的加权平均来确定抓取模式位置530。权重因子536是指由抓取模式生成模块510基于吸盘324可以施加在目标物体112上的力的量而指派给吸盘324的参数。权重因子536可以由机器人系统100的用户预先确
定。
[0122]
例如,在一个实施例中,吸盘324可以保持的重量越大,指派给吸盘324的权重因子536越大。在另一个实施例中,吸盘324可以覆盖的表面积越大,指派给吸盘324的权重因子536越大。因此,在具有吸盘324的多个实例的情况下,抓取模式生成模块510可以基于哪个吸盘324将最大的力施加到目标物体112来计算抓取模式位置530,并且可以将抓取模式位置530定位成更靠近吸盘324的该实例。
[0123]
作为示例,在布局302是2
×
2方形网格并且所有吸盘324可以保持相同的最大重量并且具有相同尺寸的实施例中,抓取模式位置530可以被确定为在方形网格的中心与方形的四边中的每个边等距的点处。作为另一个示例,在布局302是2
×
2方形网格并且吸盘324的尺寸变化但可以保持相同的最大重量的情况下,抓取模式位置530可以将抓取模式位置530指定为更接近更大尺寸的吸盘324的点。因此,机器人系统100可以以均匀或接近均匀的方式在目标物体112上分布力。
[0124]
已经发现,基于抓取模式位置530抓取目标物体112提供了用于抓取目标物体112的最稳定的手段,因为在抓取模式位置530处抓取目标物体112跨目标物体112提供了最均匀的力分布。进一步发现,当在目标物体112上执行任务118时基于抓取模式位置530抓取目标物体112导致目标物体112的较少掉落。
[0125]
在一个实施例中,抓取模式生成模块510可以为每个抓取模式330生成抓取模式位置530。因此,抓取模式生成模块510可以创建抓取模式330以及抓取模式位置530的相关联实例的索引538。索引538是指抓取模式330以及抓取模式位置530的相关联实例的阵列、查找表或组合。在一个实施例中,一旦生成了抓取模式330、抓取模式位置530和索引538,就可以将它们传递到评估模块512以供进一步处理。下面将讨论评估模块512的进一步细节。
[0126]
扫描模块502可以启用图2的传感器单元230,包括一个或多个成像设备,例如,二维(2d)相机、三维(3d)相机、红外相机、激光雷达、雷达、其它距离测量或成像设备或其组合,以执行扫描或成像功能。例如,扫描模块502可以被配置为检测目标物体112的周围环境,以获取扫描图像504,包括数字图像、点云/深度视图或其组合,以识别目标物体112、目标物体112的抓取点518,或其组合。扫描图像504可以用于生成目标物体112的数字模型540,其可以用于确定在哪里抓取目标物体112。
[0127]
数字模型540是被扫描的环境的物理特点的计算机表示,包括目标物体112的物理特点。数字模型540可以模拟目标物体112。数字模型540可以被表示为计算机文件、格式、数据结构或其组合。
[0128]
在一个实施例中,目标物体112可以是例如机器人系统100未遭遇或未知的物体,因此具有机器人系统100未知的目标物体112的物理特点。物理特点可以包括形状、尺寸、维度、厚度522、组成506、表面轮廓520或其组合。
[0129]
通过启用目标物体112的成像,扫描模块502可以允许传感器单元230生成关于目标物体112的物理特点的图2的传感器读数246,包括目标物体112的物理维度、形状、高度、宽度、深度或其组合。这些传感器读数246可以在扫描图像504中呈现。
[0130]
在另一个实施例中,扫描模块502可以结合传感器单元230和其它外部设备(包括x射线机或光谱仪)生成进一步指示目标物体112的组成506的扫描图像504,使得扫描图像504可以包括关于目标物体112的组成506的细节。组成506是指目标物体112的物理构成、化
学构成或其组合。机器人系统100可以确定可以由吸附抓取器308在基于目标物体112的组成506识别出的抓取点518处施加的力或抓力,使得可以在抓取点518处施加成比例的力量,从而在任务118期间不损坏目标物体112,或者选择可以抓取目标物体112的抓取点518。组成506的识别还可以用于确定不能抓取目标物体112的位置。
[0131]
例如,如果识别出目标物体112的表面的组成506,使得构成该表面的材料在经历不可逆的塑性变形或破裂之前仅能承受高达图3的力阈值322的力,那么机器人系统100可以确定是否使用抓取点518的位置或识别抓取点518的另一个位置,以便不损坏目标物体112。机器人系统100还可以例如基于识别组成506来调节施加到抓取点518的力或真空条件。例如,在一个实施例中,如果识别出目标物体112的表面的组成506,使得构成该表面的材料在经历不可逆的塑性变形或破坏之前仅能承受达到力阈值322的力,那么机器人系统100可以确定调节由致动单元220施加的力或真空条件,使得力低于力阈值322。在一个实施例中,一旦生成,扫描模块502就可以将扫描图像504、数字模型540或其组合传递到抓取点映射模块508以进行进一步处理。
[0132]
抓取点映射模块508可以基于扫描图像504、数字模型540或其组合来实现目标物体112的抓取点518的识别。抓取点映射模块508可以通过处理扫描图像504并基于物体数据516执行分析来识别抓取点518。物体数据516是指表示物体或形状的已知物理性质、材料的已知特性或其组合的数据。例如,物体数据516可以包括与物体或形状的已知的特性(诸如已知的原子结构、已知的纳米结构、已知的微结构、已知的宏观结构、已知的结合特性、已知的动力学、已知的结晶学、已知的机械特性,或其组合)相关联的方程。在一个实施例中,物体数据516可以存储在外部单元514中。抓取点映射模块508可以经由通信单元212与外部单元514通信,以检索物体数据516。在另一个实施例中,物体数据516可以存储在存储单元206中,作为机器人系统100的主数据226的一部分。
[0133]
在一个实施例中,抓取点映射模块508可以通过例如通过比较扫描图像504、数字模型540或其组合中的形状与可以是物体数据516的一部分的已知形状集合来确定由扫描图像504、数字模型540或其组合指示的几何形状来执行分析。基于该比较,如果抓取点映射模块508将几何形状识别为与目标物体112的形状匹配或近似匹配,那么抓取点映射模块508可以基于与匹配的几何形状或物体相关联的物体数据516来执行分析。
[0134]
抓取点映射模块508可以确定几何形状的物理特点,例如,基于用于确定物体或形状的表面积的方程来计算几何形状的表面积、图2的质心236或其组合。基于几何形状的物理特点,抓取点映射模块508可以确定目标物体112的抓取点518。
[0135]
在一个实施例中,抓取点映射模块508可以基于质心236(其也可以是质心236的估计)来确定抓取点518。抓取点映射模块508可以将目标物体112的抓取点518识别为表面上靠近目标物体112的质心236的点。因此,抓取点映射模块508可以确保在存在均匀质量分布的地方抓取目标物体112。
[0136]
在实施例中,抓取点映射模块508除了质心236之外还可以考虑其它因素,以识别抓取点518。例如,在一个实施例中,抓取点映射模块508还可以考虑表面轮廓520,包括目标物体112的表面的平坦度或曲率、目标物体112的表面的厚度522、目标物体112的表面的组成506、目标物体112的表面积,或其组合,以识别抓取点518。
[0137]
例如,在一个实施例中,抓取点映射模块508可以识别目标物体112的质心236。另
外,抓取点映射模块508还可以确定最靠近质心236的特定表面不具有足够平坦的表面,例如,该表面具有曲率或不平坦,使得吸附抓取器308不能抓取与那个表面相关联的抓取点518,或者表面积太小以至于不能被吸附抓取器308抓取。因此,抓取点映射模块508还可以在靠近质心236的表面上识别吸附抓取器308可以抓取目标物体112的抓取点518的一个或多个另外的位置。这种另外的位置可以例如在目标物体112的拐角处或“拐角抓取”、在目标物体112的侧面上,或沿着目标物体112的任何其它表面。因此,抓取点映射模块508可以尝试识别到质心236的最近的点使得可以完成抓取,但是如果在那个点处不能完成抓取,那么确定抓取点518的不同位置,诸如沿着目标物体112的角落的那些位置以抓取目标物体112。
[0138]
在另一个实施例中,抓取点映射模块508还可以考虑目标物体112的表面的组成506(如由扫描图像504、数字模型540或其组合确定的)以及物体的已知材料特性。例如,在一个实施例中,如果抓取点518被识别为在目标物体112的表面上,该表面由易碎并且在断裂之前不能施加大于力阈值322的力的材料制成,那么抓取点映射模块508可以确定是使用该抓取点518还是进一步识别吸附抓取器308可以抓取目标物体112的靠近质心236的抓取点518的其它位置。这种另外的位置可以例如在目标物体112的拐角处或“拐角抓取”、在目标物体112的侧面上,或沿着目标物体112的任何其它表面。
[0139]
在一个实施例中,如果抓取点映射模块708基于扫描图像504、数字模型540或其组合与已知形状或物体集合的比较找不到目标物体112的匹配,那么机器人系统100的用户可以通过为目标物体112设置抓取点518来进一步辅助识别抓取点518。机器人系统100的用户可以通过使用图2的用户接口216(例如在显示接口218上)分析扫描图像504、数字模型540或其组合来指定抓取点518,并确定哪些方位将是吸附抓取器308抓取目标物体112的最佳方位。在一个实施例中,机器人系统100的用户可以使用用户接口216的输入设备来设置抓取点518。
[0140]
在一个实施例中,抓取点映射模块508还可以生成抓取点518的排名次序524。排名次序524可以是指示抓取目标物体112的抓取点518的最优选位置的阵列、查找表或其组合。抓取点518可以基于多个因素(包括距离质心236的距离、目标物体112的表面的组成506、可由抓取单元抓取的表面积306,或其组合)从最优选到最不优选进行排名。
[0141]
例如,在一个实施例中,可以在排名次序524中给予更接近质心236的抓取点518更高的排名,因为在存在目标物体112的均匀质量分布的地方,抓取点518最稳定地抓取目标物体112。但是,如果抓取点映射模块508可以确定沿着目标物体112的靠近质心236的表面识别出的抓取点518不能被使用,因为例如表面积太小、吸附抓取器308不能以角度338抓取、表面的组成506太脆弱以至于不会被吸附抓取器308抓取(因为吸附抓取器308将施加大于力阈值322的力而使得它将破坏目标物体112的表面)或其组合,那么抓取点映射模块508可以指派在排名次序524中具有较低排名的抓取点518。更具体地作为示例,抓取点映射模块508可以确定抓取点518的哪些其它位置可以被识别为抓取目标物体112并且给予抓取点518的这些其它位置在排名次序524中更高的排名。这种另外的位置可以例如在目标物体112的拐角处或“拐角抓取”、在目标物体112的侧面上,或沿着目标物体112的任何其它表面。
[0142]
因此,抓取点映射模块508可以针对目标物体112的给定实例确定抓取点518的最优选实例。在另一个实施例中,机器人系统100的用户可以通过覆写由抓取点映射模块508
确定的一个或多个排名来确定排名次序524。在另一个实施例中,用户可以设置抓取点518的排名次序524。
[0143]
已经发现,以上述方式识别抓取点518、生成排名次序524或其组合可以向机器人系统100提供抓取点518的抓取目标物体112的优选位置的列表。另外,排名次序524可以为机器人系统100提供用于抓取目标物体112的多个回退抓取点,使得机器人系统100可以抓取目标物体112,而不管目标物体112的朝向或环境条件如何。
[0144]
在一个实施例中,一旦确定了抓取点518,抓取点518、排名次序524或其组合就可以被传递到评估模块512。评估模块512可以使抓取点518能够映射到抓取模式330,以确定抓取模式排名528。抓取模式排名528可以是阵列、查找表或其组合,其指示应当用来抓取目标物体112的抓取模式330的配置的次序。
[0145]
评估模块512使得能够以各种方式将抓取点518映射到抓取模式330、确定抓取模式排名528或其组合。例如,在一个实施例中,评估模块512可以通过针对每个抓取模式330将抓取点518与抓取模式位置530对准来确定抓取点518是否能够被特定配置的抓取模式330抓取。对于另一个示例,评估模块512可以确定是否存在与抓取模式位置530相关联的抓取模式330的实例,用于使用所有或大多数吸附抓取器308、吸盘324或其组合来抓取目标物体112。例如,如果评估模块512确定并非所有吸附抓取器308都可以用于在抓取点518的特定实例处抓取目标物体112,那么评估模块512可以针对抓取点518的该特定位置为抓取模式330的该特定配置指派抓取模式排名528的较低值,并寻找可以用于在抓取点518的该特定位置处抓取目标物体112的抓取模式330的其它实例。但是,如果评估模块512确定抓取模式330的一个或多个实例可以用于在抓取点518的特定位置处抓取目标物体112,那么评估模块512可以指派具有抓取模式排名528的较高值的抓取模式330以用于在抓取点518的该特定位置处进行抓取。
[0146]
在另一个实施例中,评估模块512可以基于吸附抓取器308具有能够抓取目标物体112的吸盘324来确定抓取模式排名528。例如,在其中吸附抓取器308的多个实例可以用于抓取目标物体112的实施例中。再例如,吸附抓取器308具有吸盘324的两个或更多个不同实例。更具体而言,作为示例,吸盘324可以由不同材料制成、具有不同尺寸或其组合,这可以影响吸盘324抓取目标物体112的能力。评估模块512可以将抓取模式排名528的较低值指派给使用不太适合抓取目标物体112的吸盘324(例如,不能承受目标物体112的重量)的抓取模式330。
[0147]
在另一个实施例中,评估模块512可以基于用户偏好确定抓取模式排名528。例如,机器人系统100的用户可以设置抓取模式330的哪些实例、吸附抓取器308的哪些实例或其组合可以在抓取目标物体112时被使用。评估模块512可以将抓取模式排名528的较高值指派给用户优选的抓取模式330的那些实例。
[0148]
基于该映射,评估模块512可以确定所有抓取点518以及抓取模式330的相关联实例的抓取模式排名528。在一个实施例中,一旦生成了抓取模式排名528,抓取模式排名528就可以保存在存储单元206中。抓取模式排名528可以由机器人系统100在在线状态406下使用以抓取目标物体112。
[0149]
已经发现,实现如本文所述的吸附控制模式生成机制404的机器人系统100允许增加在抓取目标物体112时的控制,因为生成的抓取模式排名528提供了通过其抓取目标物体
112的抓取点518和抓取模式330的最佳实例的列表。还已经发现,增加的控制导致当抓取目标物体112时较少的掉落。
[0150]
还已经发现,实现本文所述的吸附控制模式生成机制404的机器人系统100基于机器人系统100针对识别出的目标物体112的每个实例生成抓取模式330的个性化配置的能力为机器人系统100提供了更大的可配置性和定制,使得可以根据其各自的物理特点来抓取目标物体112。
[0151]
还已经发现,实现本文所述的吸附控制模式生成机制404的机器人系统100基于生成抓取模式330的定制配置的能力为机器人系统100提供抓取目标物体112的更高概率,使得机器人系统100具有抓取目标物体112的若干选项。
[0152]
已经以模块功能或次序作为示例描述了吸附控制模式生成机制404。机器人系统100可以不同地划分模块或者以不同方式对模块进行排序。例如,软件210可以包括用于吸附控制模式生成机制404的模块。作为具体示例,软件210可以包括抓取模式生成模块510、扫描模块502、抓取点映射模块508、评估模块512以及其中包括的相关联的子模块。
[0153]
图2的控制单元202可以执行软件210以操作模块。例如,控制单元202可以执行软件210以实现抓取模式生成模块510、扫描模块502、抓取点映射模块508、评估模块512以及其中包括的相关联的子模块。
[0154]
本技术中描述的模块可以被实现为存储在非瞬态计算机可读介质上以由控制单元202执行的指令。非瞬态计算机可读介质可以包括存储单元206。非瞬态计算机可读介质可以包括非易失性存储器,诸如硬盘驱动器、非易失性随机存取存储器(nvram)、固态存储设备(ssd)、紧凑盘(cd)、数字视频盘(dvd)或通用串行总线(usb)闪存设备。非瞬态计算机可读介质可以集成为机器人系统100的一部分或者安装为机器人系统100的可移除部分。
[0155]
现在参考图6,其中示出了根据本发明的一个或多个实施例的抓取点518到抓取模式330的映射的示例。图6描绘了一个实施例,其中图5的评估模块512通过针对每个抓取模式330将抓取点518与抓取模式位置530对准、并且确定是否存在与抓取模式位置530相关联的可以使用所有或大部分吸附抓取器308、吸盘324或其组合来抓取目标物体112的抓取模式330,来确定抓取点518是否能够通过抓取模式330的特定配置抓取。图6还描绘了一个实施例,其中布局302是2
×
2方形,并且吸盘324具有不同的尺寸。图6中的描绘仅仅是为了便于描述。可以使用布局302和抓取模式330的其它示例。
[0156]
如图6中所示,映射可以通过尝试在目标物体112的质心236处抓取目标物体112而开始。如果质心236位于被禁止区域602(例如目标物体112的表面上不能被抓取的点或区域,因为构成那个表面的材料的组成506与基线相比太脆弱以至于不能被抓取,或者出于如关于图5所描述的任何其它原因)处,那么评估模块512可以确定沿着目标物体112的远离质心236的表面的抓取点518,使得可以根据布局302和抓取模式330来抓取目标物体112。评估模块512可以确定偏移604以将抓取模式位置530与可能被抓取的远离目标物体112的质心236的抓取点518对准。偏移604是指评估模块512使抓取模式位置530远离质心236移动的距离。例如,在图6中,评估模块512可以将抓取模式位置530确定为位于方位“a”处,该方位被确定为可以被抓取的一个或多个抓取点518的潜在位置。评估模块512可以测试抓取点518中的一个或多个以确定抓取点518是否可以根据抓取模式330被抓取。如果可以根据抓取模式330抓取抓取点518中的一个或多个,那么评估模块512可以将方位“a”指定为处于抓取目
标物体112的抓取模式330的优选实例之一的抓取模式排名528。
[0157]
在一个实施例中,评估模块512还可以确定可以被抓取的抓取点518的其它实例。例如,评估模块512可以再次确定偏移604以将抓取模式位置530移动到抓取点518的另一个位置,并确定是否可以抓取这些抓取点518。例如,在图6中,抓取点518被描绘为方位“b”。再次,如果可以抓取位于方位“b”处的抓取点518,那么评估模块512可以将方位“b”指定为作为抓取目标物体112的抓取模式330的其他优选实例之一的抓取模式排名528。在一个实施例中,评估模块512可以以与所描述的相同方式继续确定可以被抓取的抓取点518。例如,评估模块512可以确定偏移604以将抓取模式位置530移动到抓取点518的另一个位置(例如,在方位“c”处)。如果抓取点518可以被抓取,那么评估模块512可以将方位“c”指定为处于抓取目标物体112的抓取模式330的其他优选实例之一的抓取模式排名528。
[0158]
在一个实施例中,如果评估模块512确定不能抓取任何抓取点518(例如,抓取点518落入禁止区域602内),那么评估模块512可以忽略抓取点518并且不将这些抓取点518包括在抓取模式排名528中。
[0159]
现在参考图7,其中示出了本发明实施例中图1的机器人系统100的在线状态406的示例性控制流程。在图7所示的实施例中,可以执行图4和5的吸附控制模式生成机制404,使得图3和5的抓取模式330、图5的抓取点518、用于图1的各种目标物体112的图5的抓取模式排名528或其组合可以为机器人系统100所知,并且作为图2的主数据226的一部分存储在图2的存储单元206中。
[0160]
机器人系统100可以使用机器人系统100的图2、3和4的各种功能单元、机器人系统100的一个或多个外部部件或其组合来实施在线状态406。在一个实施例中,可以使用扫描模块502、识别物体模块704、生成基础计划模块706、执行基础计划模块708、测量已建立的抓取模块716、继续执行基础计划模块720、迭代计数模块722、重新抓取物体模块724、停止基础计划执行模块726、存储单元206、生成错误模块728或其组合来实施在线状态406。
[0161]
在一个实施例中,扫描模块502可以耦合到识别物体模块704。识别物体模块704可以耦合到生成基础计划模块706。生成基础计划模块706可以耦合到执行基础计划模块708和存储单元206。执行基础计划模块708可以耦合到测量已建立的抓取模块716。测量已建立的抓取模块716可以与重新抓取物体模块724、继续执行基础计划模块720和迭代计数模块722耦合。继续执行基础计划模块720可以耦合到扫描模块502。迭代计数模块722可以耦合到重新抓取物体模块724和停止基础计划执行模块726。停止基础计划执行模块726可以耦合到生成错误模块728。
[0162]
类似于关于图5描述的,扫描模块502可以启用图2的传感器单元230(包括一个或多个成像设备,例如,二维(2d)相机、三维(3d)相机、红外相机、激光雷达、雷达、其它距离测量或成像设备或其组合)以执行扫描或成像功能。扫描模块502可以使得能够扫描用于目标物体112的图1的指定区域114或图1的任务位置116。可以使用与关于图5描述的类似技术来完成扫描。并且可以从扫描模块502的执行生成类似的输出,包括生成图2的传感器读数246,例如扫描图像504。扫描图像504可以用于在在线状态406下识别或辨别目标物体112。例如,扫描模块502可以使用传感器单元230来生成扫描图像504,例如箱子、托盘、箱子、传送带、卡车或其组合中的目标物体112的数字图像、点云/深度视图或其组合。在一个实施例中,扫描图像504可以用于生成目标物体112的图5的数字模型540,数字模型540可以由机器
人系统100的其它部件用于识别目标物体112。在一个实施例中,一旦执行了扫描,传感器读数246(例如扫描图像504、数字模型540或其组合)以及控制就可以被传递到识别物体模块704。
[0163]
识别物体模块704可以使得能够基于接收到的传感器读数246(例如扫描图像504)来识别目标物体112。识别物体模块704可以在类似于关于图5和抓取点映射模块508描述的处理中识别目标物体112,诸如通过确定扫描图像504中的几何形状并将它们与已知的形状或物体集合进行比较。基于该比较,目标物体112可以被映射到几何形状或已知物体。如果找到匹配,那么识别物体模块704可以生成指示目标物体112被识别为什么已知物体或几何形状的物体参数702。物体参数702可以是变量、标志或其组合,其可以由识别物体模块704指派以将目标物体112映射到已知物体或几何形状。例如,如果识别物体模块704将目标物体112识别为“盒子”,那么可以将物体参数702设置或指派为“盒子”,使得机器人系统100的其它部件可以知道目标物体112是“盒子”。
[0164]
在另一个实施例中,识别物体模块704可以通过搜索机器人系统100已知的可以识别目标物体112的标记或标签来识别目标物体112。例如,标记或标签可以包括可以识别目标物体112的条形码、快速响应(qr)代码、徽标或其组合。标记或标签可以被映射到物体或与物体相关联并且对于机器人系统100是已知的。标记或标签可以被扫描(作为扫描模块502的扫描操作的一部分),并且可以被包括作为扫描图像504、数字模型540或其组合的一部分。类似于关于图5所描述的,如果找到匹配,那么识别物体模块704可以生成指示目标物体112被识别为什么物体或几何形状的物体参数702,并且以与上述相同的方式设置或指派物体参数702。
[0165]
在一个实施例中,一旦识别物体模块704识别出目标物体112,识别物体模块704就可以将物体参数702、扫描图像704或其组合传递给生成基础计划模块706,以生成基础计划730用于对目标物体112执行图1的任务118。生成基础计划模块706可以基于物体参数702、扫描图像504或其组合生成基础计划730,用于对目标物体112执行任务118。
[0166]
基础计划730是指执行任务118所需的一系列步骤,诸如抓取、操纵、运输(或其组合)目标物体112。基础计划730可以包括抓取目标物体112并将目标物体112从一个位置运输到另一个位置所需的步骤。例如,在一个实施例中,基础计划730可以包括机器人系统100根据从当前位置到另一个位置的扫描图像504来选择目标物体112。
[0167]
作为生成基础计划730的一部分,机器人系统100可以计算用于图2的致动单元220的一系列命令、设置或其组合,致动单元220将操作图3的结构关节312、图3的臂区段314、图3的抓取单元306、图3的吸附抓取器308或其组合,以便实施基础计划730。命令、设置或其组合的序列可以基于一个或多个约束、目标、规则或其组合。例如,生成基础计划模块706可以使用包括a*算法、d*算法或其它基于网格的搜索的一个或多个处理来计算用于将目标物体112从拾取位置移动到放下位置的通过空间的路径。命令、设置或其组合的序列可以使用另外的处理、函数、方程、变换表或其组合来将路径转换为用于致动单元220的命令或设置的序列。
[0168]
生成基础计划730还可以包括确定目标物体112的哪些表面或位置可以被吸附抓取器308、吸盘324或其组合抓取。例如,在一个实施例中,基础计划730可以包括确定目标物体112的抓取点518中的哪些可用于被抓取,抓取点518相对于任务位置116的指定区域114、
目标物体112周围的其它物体或其组合的位置和朝向。例如,可以通过确定是否存在靠近抓取点518的任何相邻物体或表面使得抓取抓取点518的特定位置是不可能的,来进行确定。
[0169]
在另一个实施例中,可以例如通过确定是否存在阻挡目标物体112的抓取点518使得不可能利用吸附抓取器308、吸盘324或其组合抓取抓取点518的另一个物体或表面,来进行确定。在另一个实施例中,可以例如通过确定目标物体112在集装箱、盒子或托盘中使得目标物体112的抓取点518的某些位置可以从集装箱、盒子或托盘的一侧抓取,在集装箱、盒子或托盘的那一侧上的抓取点518可以用于抓取目标物体112,目标物体112可以使用抓取点518的某些位置相对于集装箱、盒子或托盘以角度338被抓取,或其组合,来进行确定。
[0170]
在另一个实施例中,可以例如基于目标物体112的朝向来进行确定。例如,如果目标物体112已经在集装箱、盒子或托盘中移位,使得其一个或多个可抓握表面相对于平面成角度338,那么生成基础计划模块706可以确定哪些抓取点518应当被抓取以及以角度338的什么实例。因此,可以生成基础计划730以确定可以抓取目标物体112的哪些区域或表面以成功实施基础计划730。
[0171]
在一个实施例中,生成基础计划模块706还可以基于确定目标物体112的哪些抓取点518被其它物体阻挡来确定不使用抓取模式330的一个或多个实例。例如,在一个实施例中,如果存在阻挡目标物体112的抓取点518的一个或多个位置的相邻物体或表面,那么生成基础计划模块706可以确定某些抓取模式330不能用于抓取目标物体112,因为与抓取点518的特定位置相关联的抓取模式330不能用于抓取目标物体112。在一个实施例中,例如,如果生成基础计划模块706确定表面虽然被阻挡但是可以被抓取模式330的某些实例抓取,那么生成基础计划模块706可以使用上面提到的抓取模式330的实例来生成基础计划730。
[0172]
类似地,如果目标物体112具有相对于其它物体或平面处于角度338的抓取点518中的一个或多个,那么生成基础计划模块706可以确定抓取模式330的某些实例是否可以用于在角度338的特定实例处抓取目标物体112,因为例如抓取模式330、吸附抓取器308、吸盘324或其组合不能在角度338的特定实例中操作或使用。如果生成基础计划模块706确定不能使用抓取模式330中的一个或多个,那么生成基础计划模块706可以在生成基础计划730时忽略那些抓取模式330。
[0173]
在一个实施例中,生成基础计划模块706还可以在生成基础计划730时使用抓取模式排名528。例如,生成基础计划模块706可以通过将针对目标物体112的特定实例的抓取模式330的最高排名配置指派为要在基础计划730中使用的抓取模式330来使用抓取模式排名528生成基础计划730。如果生成基础计划模块706确定不能使用抓取模式330中的一个或多个,那么生成基础计划模块706可以从基础计划730中移除抓取模式330的那些实例,然而通过在抓取模式排名528中指派抓取模式330和抓取点518的下一个最高可用排名配置而保留抓取模式排名528的次序,以在基础计划730中用于抓取目标物体112。
[0174]
一旦生成基础计划模块706生成基础计划730,就可以将控制和基础计划730传递到执行基础计划模块708。执行基础计划模块708可以基于根据命令、设置或其组合的序列启用致动单元220和机器人系统100的其它功能单元的操作来实现基础计划730。例如,执行基础计划模块708可以在基础计划730中发起动作、命令、指令或其组合的第一集合。对于具体示例,执行基础计划模块708可以使致动单元220的操作能够将抓取单元306、吸附抓取器308或其组合放置在用于抓取目标物体112的起始位置处的位置或朝向。在一个实施例中,
起始位置可以默认为例如在目标物体112的质心236处的抓取点518。如果根据基础计划730不能抓取目标物体112,那么执行基础计划模块708可以使致动单元220能够根据基础计划708移动到可以抓取目标物体112的下一个可用表面。
[0175]
执行基础计划模块708可以启用致动单元220的操作以使抓取单元306、吸附抓取器308、吸盘324或其组合接合或抓取目标物体112。如先前由评估模块512确定的,可以根据抓取模式排名528和抓取模式330来接合或抓取目标物体112。
[0176]
在一个实施例中,执行基础计划模块708可以监视基础计划730的执行。例如,如果在实施基础计划730时执行基础计划模块708确定目标物体112的表面之一不能被接合或抓取,或者在基础计划730中指派的抓取模式330之一不能用于抓取目标物体112,那么执行基础计划模块708可以循环通过抓取模式330和抓取模式排名528,以找到可以用于接合或抓取目标物体112的抓取模式330的其它实例。
[0177]
在一个实施例中,执行基础计划模块708还可以设置、重置或初始化用于跟踪抓取动作的数量的迭代计数器732。迭代计数器732可以是用于保持跟踪执行基础计划模块708尝试启用动作单元220的操作以抓取或接合目标物体112的次数的参数或变量。例如,当执行目标物体112的初始抓取时,执行基础计划模块708可以将迭代计数器732设置为值“1”,指示值“1”指示抓取目标物体112的初始尝试。迭代计数器732可以用于确定是继续执行基础计划730还是停止执行基础计划730。下面将讨论迭代计数器732的进一步细节。
[0178]
在一个实施例中,一旦执行基础计划模块708启用致动单元220来根据基础计划730接合并抓取目标物体112,执行基础计划模块708就可以进一步使致动单元220通过启用抓取单元306、吸附抓取器308或其组合的移动来执行初始提举。目标物体112的接合和抓取可以根据关于图3所述的原理来执行,特别是关于抓取单元306、吸附抓取器308、吸盘324和传感器单元230接合目标物体112的表面、在目标物体112上建立抓取以及测量该抓取是否足以抓取目标物体112的操作。
[0179]
在一个实施例中,一旦执行基础计划模块708启用初始提举,迭代计数器732和控制就可以被传递到测量已建立的抓取模块716,使得机器人系统100可以确定在目标物体112上建立的抓取710是否足够继续实施730基础计划。
[0180]
测量已建立的抓取模块716可以使用图3中描述的各种方法来对已建立的抓取710进行测量。已建立的抓取710是指与由吸附抓取器308、吸盘324或其组合在目标物体112上施加的力和扭矩相关联的数量、变量、测量结果或其组合。测量已建立的抓取模块716可以通过经由通信单元212从传感器单元230获得传感器读数246来测量已建立的抓取710,并且确定作为初始提举的结果由吸附抓取器308、吸盘324或其组合施加到目标物体112的力或扭矩,如关于图3所描述的。已建立的抓取710可以是接触测度320的实例。
[0181]
一旦测量已建立的抓取模块716获得施加到目标物体112的力和扭矩,测量已建立的抓取模块716就可以确定由吸附抓取器308和吸盘324施加到目标物体112的力和扭矩是否满足至少图3的力阈值322,使得可以成功地抓取目标物体112并且可以继续执行基础计划730。为了进行该确定,测量已建立的抓取模块716可以使用关于图3描述的相同原理来比较力和扭矩与力阈值322,并确定目标物体112是否被充分抓取以根据基础计划730对目标物体112执行任务118。
[0182]
在一个实施例中,例如,如果测量已建立的抓取模块716在比较力和扭矩之后确定
施加到目标物体112的力和扭矩小于力阈值322,使得力和力扭矩不满足力阈值322以维持足以执行任务118的抓取,那么可以将控制传递到迭代计数模块722以增加迭代计数器732并且可以发起重新抓取目标物体112的尝试。
[0183]
在机器人系统100抓取目标物体112的失败尝试之后,迭代计数模块722可以增加迭代计数器732的值。在一个实施例中,一旦迭代计数器732已经增加,迭代计数模块722就还可以评估迭代计数器732是否超过迭代阈值736。迭代阈值736可以是可以表示基础计划730中可以用于抓取目标物体112的抓取模式330的数量的数字、变量或参数。在一个实施例中,当迭代计数器732小于或等于迭代阈值736时,存在可以用于抓取目标物体112的更多抓取模式330,并且机器人系统100可以尝试基于用于抓取目标物体112的剩余抓取模式330来重新抓取目标物体112。一旦迭代计数器732增加,就可以将控制传递给重新抓取物体模块724。
[0184]
重新抓取物体模块724可以使得能够重新抓取目标物体112。重新抓取物体模块724可以使得能够通过基于根据命令、设置或其组合的序列操作致动单元220来启用基础计划730的继续实施来重新抓取目标物体112,以重新抓取目标物体112。在一个实施例中,如果抓取模式330的特定配置未能抓取目标物体112,那么重新抓取物体模块724可以尝试通过循环通过可以根据基础计划730执行的抓取模式330来重新抓取目标物体112,以重新抓取目标物体112。
[0185]
重新抓取物体模块724可以以各种方式迭代通过抓取模式330。例如,在一个实施例中,在失败的抓取尝试之后,如果可能的话,重新抓取物体模块724可以尝试使用抓取模式330的不同配置在抓取点518的一个或多个相同位置处重新抓取目标物体112。在另一个实施例中,重新抓取物体模块724可以选择根据基础计划730已被确定为能够抓取的目标物体112的抓取点518的其它位置,并尝试使用与抓取点518相关联的一个或多个抓取模式330在抓取点518的这些不同位置处重新抓取目标物体112。
[0186]
在一个实施例中,重新抓取物体模块724还可以尝试根据抓取模式排名528重新抓取目标物体112。例如,重新抓取物体模块724可以基于从最高排名抓取模式330迭代到最低排名抓取模式330配置迭代通过抓取模式排名528来尝试重新抓取目标物体112,并且尝试基于抓取模式330沿着目标物体112的表面的相关联位置来抓取目标物体112。因此,重新抓取物体模块724可以尝试使用将在目标物体112上提供均匀的力分布的抓取点518和抓取模式330基于抓取模式排名528重新抓取目标物体112。
[0187]
在一个实施例中,在尝试重新抓取目标物体112之后,可以以与上面描述的相同的方式再次将控制传递到测量已建立的抓取模块716,以确定施加到目标物体112的力和扭矩。如果尝试的重新抓取产生再次不满足力阈值322的力和扭矩,那么机器人系统100可以尝试如上所述执行目标物体112的重新抓取,直到迭代计数器732超过迭代阈值736。在一个实施例中,一旦迭代计数器732超过迭代阈值736,就可以将控制传递到停止基础计划执行模块726。
[0188]
停止基础计划执行模块726可以基于迭代计数器732超过迭代阈值736而停止基础计划730的执行。停止基础计划执行模块726可以通过切断或关闭机器人系统100的真空软管、真空发生器和致动单元220来实现基础计划730的结束。在一个实施例中,一旦停止基础计划执行模块726实现基础计划730的结束,就可以将控制传递给生成错误模块728。
[0189]
生成错误模块728可以基于目标物体112的失败抓取来启用错误738的发送。错误738可以是视觉或听觉消息、信号、数字代码或其组合。在一个实施例中,生成错误模块728可以经由通信单元212将错误738发送到机器人系统100的其它功能单元、机器人系统100的用户、外部系统或其组合,从而指示失败的抓取。
[0190]
继续该示例,但是,如果尝试抓取或重新抓取目标物体112产生大于或等于力阈值322的力和扭矩,那么测量已建立的抓取模块716可以确定施加到目标物体112的力和扭矩足够强以继续实施基础计划730,并且可以将控制传递给继续执行基础计划模块720以继续实施基础计划730。因而,机器人系统100可以根据命令或设置的剩余序列继续实施基础计划730。例如,机器人系统100可以例如根据基础计划730垂直地、水平地传送或重定向目标物体112或其组合。
[0191]
通过在基础计划730的继续执行期间持续监视目标物体112上的力和扭矩,继续执行基础计划模块720还可以启用对基础计划730的监视。继续执行基础计划模块720可以通过在基础计划730的继续执行期间耦合到测量已建立的抓取模块716并且使测量已建立的抓取模块716确定在目标物体112上建立的抓取710是否足以继续执行基础计划730来完成这一点。在一个实施例中,如果测量已建立的抓取模块716在基础计划730的继续执行期间的任何时候确定目标物体112上的力和扭矩落在力阈值322之下,那么继续执行基础计划模块720可以尝试通过如关于图3所描述的那样调节臂单元102的图3的速度340和图3的加速度342来在目标物体112上重新建立抓取以解决该问题,使得目标物体112上的力和扭矩足以抓取目标物体112而不掉落目标物体112。
[0192]
作为示例,如果确定目标物体112上的扭矩大于由吸附抓取器308或吸盘324生成的用于维持目标物体112上的抓取的力,那么继续执行基础计划模块720可以通过例如降低臂单元102的速度340和加速度342来调节臂单元102的速度以补偿目标物体112上的扭矩。
[0193]
在另一个实施例中,如果一个或多个吸附抓取器308在执行基础计划730期间失去对目标物体112的抓取,那么继续执行基础计划模块720可以尝试将目标物体112放回到盒子、箱子、托盘中,或放回在目标物体112被拾取的位置处,并且使重新抓取物体模块724尝试重新抓取目标物体112。在另一个实施例中,继续执行基础计划模块720还可以调节臂单元102的方位,例如旋转臂单元102,以便维持目标物体112上的抓取。
[0194]
在一个实施例中,如果继续执行基础计划模块720确定目标物体112已被安全地基于基础计划730运输到其目的地,那么继续执行基础计划模块720可以将控制传递到扫描模块502,以针对目标物体112的下一个实例再次开始处理。在一个实施例中,如果不存在要为其生成基础计划730的目标物体112的其它实例,那么机器人系统100可以停止操作。
[0195]
已经作为示例以模块功能或次序描述了机器人系统100。机器人系统100可以不同地划分模块或者以不同方式对模块进行排序。例如,图2的软件210可以包括用于机器人系统100的模块。作为具体示例,软件210可以包括扫描模块502、识别物体模块704、生成基础计划模块706、执行基础计划模块708、测量已建立的抓取模块716、继续执行基础计划模块720、迭代计数模块722、重新抓取物体模块724、停止基础计划执行模块726、生成错误模块728以及其中包括的相关联子模块。
[0196]
图2的控制单元202可以执行软件210以操作模块。例如,控制单元202可以执行软件以实现扫描模块502、识别物体模块704、生成基础计划模块706、执行基础计划模块708、
测量已建立的抓取模块716、继续执行基础计划模块720、迭代计数模块722、重新抓取物体模块724、停止基础计划执行模块726、生成错误模块728以及其中包括的相关联子模块。
[0197]
本技术中描述的模块可以被实现为存储在非瞬态计算机可读介质上以由控制单元202执行的指令。非瞬态计算机可读介质可以包括存储单元206。非瞬态计算机可读介质可以包括非易失性存储器,诸如硬盘驱动器、非易失性随机存取存储器(nvram)、固态存储设备(ssd)、紧凑盘(cd)、数字视频盘(dvd)或通用串行总线(usb)闪存设备。非瞬态计算机可读介质可以集成为机器人系统100的一部分或者安装为机器人系统100的可移除部分。
[0198]
现在参考图8,其中示出了在本发明实施例中操作机器人系统的方法800的流程图。方法800包括在框802中接收与目标物体相关联的感测读数;在框804中生成用于对目标物体执行任务的基础计划,其中生成基础计划包括基于抓取点相对于指定区域、任务位置和另一个目标物体的位置确定用于抓取目标物体的抓取点和与抓取点相关联的一个或多个抓取模式;在框806中通过根据抓取模式排名操作致动单元和一个或多个吸附抓取器来实施用于执行任务的基础计划,以在目标物体上生成已建立的抓取,其中已建立的抓取位于与抓取模式相关联的抓取模式位置处;在框808中测量已建立的抓取;在框810中将已建立的抓取与力阈值进行比较;在框812中基于已建立的抓取低于力阈值而重新抓取目标物体。
[0199]
机器人系统100的以上详细描述和实施例并非旨在是详尽的或将所公开的机器人系统100限制到上面公开的精确形式。虽然出于说明性目的在上面描述了机器人系统100的具体示例,但是如相关领域的技术人员将认识到的,在所公开的机器人系统100的范围内有可能进行各种等同修改。例如,虽然以给定次序呈现处理和方法,但是替代实现可以以不同的次序执行具有步骤的例程,或者采用具有处理或方法的系统,并且可以删除、移动、添加、细分、组合或修改一些处理或方法,以提供替代方案或子组合。这些处理或方法中的每一个可以以各种不同方式实现。而且,虽然有时将处理或方法示出为串行执行,但是这些处理或框可以替代地并行执行或实现,或者可以在不同时间执行。
[0200]
结果得到的方法、处理、装置、设备、产品和系统具有成本效益、高度通用性和准确性,并且可以通过调节部件以实现就绪、高效和经济的制造、应用和利用来实现。本发明的实施例的另一个重要方面是它有价值地支持和服务于降低成本、简化系统和提高性能的历史趋势。
[0201]
因此,本发明的实施例的这些和其它有价值的方面将技术的状态进一步提升到至少下一个级别。虽然已经结合具体的最佳模式描述了本发明,但是应该理解的是,鉴于本文的描述,许多替代方案、修改和变化对于本领域技术人员来说将是清楚的。因而,旨在涵盖落入所附权利要求范围内的所有这些替代方案、修改和变化。本文阐述或附图中示出的所有内容将以说明性和非限制性的意义解释。
再多了解一些

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

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

相关文献