具有自动化包裹登记机构的机器人系统及其操作方法与流程

文档序号:21935562发布日期:2020-08-21 15:07阅读:227来源:国知局
具有自动化包裹登记机构的机器人系统及其操作方法与流程

相关申请的交叉引用

本申请要求2018年10月30日提交的美国临时专利申请序列号62/752,756的权益,并且进一步要求2019年5月24日提交的美国临时专利申请序列号62/852,963的权益,所述临时专利申请均以引用的方式整体并入本文。本申请还与2019年3月1日提交的美国专利申请序列号16/290,741,现在为美国专利号10,369,701有关,并且以引用的方式整体并入本文。

本技术总体涉及机器人系统,并且更具体地,涉及用于登记物体的系统、过程和技术。



背景技术:

通常情况下,将包裹码垛以便装运到目的地,在目的地处将所述包裹卸垛。有时,由人工将包裹卸垛,这可能很昂贵并且有造成人身伤害的危险。在工业环境中,卸垛操作通常由工业用机器人执行,诸如抓持、提升、运输包裹并将包裹递送到释放点的机器人臂。另外,可采用成像装置来捕获装载到货盘上的包裹堆叠的图像。系统可诸如通过将所捕获图像与存储在登记数据源中的所登记图像进行比较来处理图像以确保机器人臂有效地处理了包裹。

有时,包裹的所捕获图像可能与所登记图像匹配。因此,可获知被成像物体的物理特性(例如,包裹的尺寸、重量和/或质心的测量值)。无法正确地标识物理特性可能导致多种有害的后果。例如,这种失败可能导致停止,这可能需要手动登记包裹。另外,这种失败可能导致误处理包裹,特别在包裹相对较重和/或不平衡的情况下。

附图说明

图1是具有包裹登记机构的机器人系统可在其中操作的示例性环境的图示。

图2是示出根据本技术的一个或多个实施方案的机器人系统的框图。

图3是根据本技术的一个或多个实施方案的机器人系统的图示。

图4a是根据本技术的一个或多个实施方案的由机器人系统处理的物体的示例性堆叠的图示。

图4b是根据本技术的一个或多个实施方案的示例性堆叠的顶表面的图示。

图4c是根据本技术的一个或多个实施方案的对应于顶表面的传感器数据的图示。

图5a是根据本技术的一个或多个实施方案的对应于在初始一组操作之后的顶表面的传感器数据的图示。

图5b是根据本技术的一个或多个实施方案的在图5a中示出的传感器数据的一部分5b的图示。

图6是根据本技术的一个或多个实施方案的初始提升操作之后的物体的图示。

图7a是根据本技术的一个或多个实施方案的比较数据的图示。

图7b是根据本技术的一个或多个实施方案的所更新数据的图示。

图8是根据本技术的一个或多个实施方案的操作图1的机器人系统的方法的流程图。

图9是根据本技术的一个或多个实施方案的机器人系统的图示。

图10a是根据本技术的一个或多个实施方案的接近操作的图示。

图10b是根据本技术的一个或多个实施方案的提升操作的图示。

图10c是根据本技术的一个或多个实施方案的激活事件的图示。

图10d是根据本技术的一个或多个实施方案的检测事件的图示。

图11是根据本技术的一个或多个实施方案的操作图1的机器人系统的方法的另一流程图。

具体实施方式

本文描述用于具有自动化包裹登记机构的机器人系统的系统和方法。根据一些实施方案配置的机器人系统(例如,装置的执行一个或多个指定任务的集成系统)通过自主地/自动地(例如,利用很少的人类操作员输入或不利用人类操作员输入)登记先前未知的或未识别物体(例如,包裹、盒、箱等)提供了增强的可用性与柔韧性。为了确定是否识别出物体,机器人系统可获得关于在起始位置处的物体的数据(例如,物体的暴露表面的一个或多个图像)并将所述数据与已知或预期物体的登记数据进行比较。在所比较数据(例如,所比较图像的一部分)与物体中的一个的登记数据(例如,所登记表面图像中的一个)匹配时,机器人系统可将物体确定为已识别的。在所比较数据无法与已知或预期物体的登记数据匹配时,机器人系统可将物体确定为未识别的。

在一些实施方案中,机器人系统可标识并登记一组物体(例如,目标堆叠)内的未识别物体。机器人系统可基于将传感器输出(例如,图像和/或深度图)与包括关于一个或多个已知/预期物体的物理性状的预定信息的主数据进行比较来标识未识别物体。例如,机器人系统可将传感器输出或其部分与已知/预期物体的图像进行比较,以识别传感器输出中的物体。机器人系统可确定传感器输出的不匹配部分对应于一个或多个未识别物体。

如下文详细描述,在一些实施方案中,机器人系统可根据一个或多个估计来操纵未识别物体,并且确定关于未识别物体的另外信息(例如,表面图像和/或物理尺寸)。例如,机器人系统可标识未识别物体的暴露边缘和/或暴露外拐角,所述未识别物体是单独的或不与其他物体相邻。在一个或多个实施方案中,机器人系统可标识定位在目标堆叠上的拐角处和/或相对于定位在共同层上的其他物体突出的未识别物体(例如,具有高度在彼此阈值范围内的暴露表面的物体)的暴露边缘和/或暴露外拐角。基于暴露边缘和/或暴露外拐角,机器人系统可导出在暴露表面上的最小可行区域(mvr)。mvr可表示接触并提升对应物体所需的区域。机器人系统可在mvr内抓持未识别物体并执行初始提升,从而将先前尚不清晰边缘与相邻物体(例如,竖直地和/或水平地)分开。

在初始提升之后,机器人系统可获得并处理比较数据(例如,表示初始提升之后的未识别物体的传感器数据)以标识关于未识别物体的新信息。例如,机器人系统可处理比较数据以标识未识别物体的新发现的(例如,先前不确定的)边缘和/或拐角、相关联测量值(例如,物体的尺寸)、所更新图像/深度图或它们的组合。机器人系统可将新信息存储在主数据中以自主地/自动地登记(“自动登记”)先前未识别物体。因此,机器人系统可使用自动登记数据来标识、处理和/或操纵同一类物体。

在一些实施方案中,机器人系统可进一步获得未识别物体的另外信息(例如,高度、深度和/或轮廓或侧视图)。例如,机器人系统可使未识别物体穿过沿着横向方向(例如,水平方向)延伸的越过基准(例如,与越过传感器相对应的感测线/平面)上升或下降。在一个或多个实施方案中,越过基准可跨需要所搬运物体占据的位置延伸,所述位置诸如起始位置正上方和/或任务位置正上方。诸如当下降的物体首次越过越过基准时和/或当上升的物体跳过越过基准时,机器人系统可检测到传感器事件。机器人系统可在事件发生时确定与所操纵物体接触的端部执行器(例如,抓持器)的竖直位置(例如,高度)。因此,机器人系统可基于将事件发生时端部执行器的高度与越过传感器的已知竖直位置进行比较来确定物体的高度(例如,物体高度)。

在一些实施方案中,越过传感器可包括基于光/激光的传感器,所述基于光/激光的传感器诸如在物理物体阻挡越过基准或与其重叠时检测到感测信号的中断/间断。在一个或多个实施方案中,越过传感器可定位在需要物体至少暂时占据的关键位置(例如,源位置和/或目的地)附近。例如,越过传感器可附接在输送机上的着落部分上方和/或包裹容器(例如,汽车轨道、仓等)上方。

因此,机器人系统可获得关于先前未识别物体的各种数据并且使用所述数据来自主生成对应登记数据并更新主数据。所生成的登记数据可包括表面图像、尺寸(包括物体高度)、重量、所估计质心(com)位置和/或对应物体的其他物理特性。因此,机器人系统可自主(例如,无需人类操作员输入)登记物体,并且使用所登记数据来识别并处理同一类物体的后续实例。

此外,使用自主登记,机器人系统可处理(例如,搬运、打包、拆包等)未识别物体而无需操作员辅助。因此,机器人系统的整体操作即使在物体是未识别物体时依然可不间断继续。同样,越过传感器可在不中断搬运/物体操纵的情况下精确测量物体高度。因此,机器人系统可在不偏离基于任务的运动计划的情况下以3d方式测量物体。

在以下描述中,阐述许多具体细节来提供对当前所公开技术的透彻理解。在其他实施方案中,此处所引入的技术可在没有这些具体细节的情况下实践。在其他情况下,不详细描述诸如具体函数或例程的公知特征,以便避免不必要地使本公开晦涩难懂。此说明中对“实施方案”、“一个实施方案”或类似用语的引用意指所描述的特定特征、结构、材料或特性包括在本公开的至少一个实施方案中。因此,本说明书中此类短语的出现不一定都指代同一实施方案。另一方面,此类引用也不一定相互排斥。此外,特定特征、结构、材料或特性可以任何合适的方式在一个或多个实施方案中加以组合。应理解,图中所示的各种实施方案仅是说明性表示并且不一定按比例绘制。

出于简洁的目的,在以下描述中年未阐述描述公知且往往与机器人系统和子系统相关联并且可能不必要地使所公开技术的一些重要方面晦涩难懂的结构或过程的若干细节。此外,虽然以下公开内容阐述本技术的不同方面的若干实施方案,但若干其他实施方案可具有不同于此章节中所述的那些的配置或部件。因此,所公开的技术可具有带有附加元件或没有下文所述元件中的若干的其他实施方案。

下文所述的本公开的许多实施方案或方面可呈计算机或处理器可执行指令(包括由可编程计算机或处理器执行的例程)的形式。相关领域技术人员应理解,所公开的技术可在下文所示和所述的那些之外的计算机或处理器系统上实践。本文所述的技术可在专门编程、配置或构造为执行下文所述的计算机可执行指令中的一者或多者的专用计算机或数据处理器中体现。因此,如本文一般所用的术语“计算机”和“处理器”指代任何数据处理器并且可包括互联网用具和手持式装置(包括掌上计算机、可穿戴计算机、蜂窝或移动电话、多处理器系统、基于处理器的或可编程消费者电子器件、网络计算机、迷你计算机等)。由这些计算机和处理器处理的信息可在任何合适的显示介质(包括液晶显示器(lcd))处呈现。用于执行计算机或处理器可执行任务的指令可存储在任何合适的计算机可读介质(包括硬件、固件,或硬件和固件的组合)中或上。指令可包含在任何合适的存储器装置(包括例如闪存驱动器和/或其他合适的介质)中。

术语“联接”和“连接”以及它们的派生词可在本文中用来描述部件之间的结构关系。应理解,这些术语并不意图作为彼此的同义词。而是,在特定实施方案中,“连接”可用于指示两个或更多个元件彼此直接接触。除非在上下文中另外阐明,否则术语“联接”可用于指示两个或更多个元件彼此直接或间接(在其间具有其他干预元件)接触,或者两个或更多个元件彼此配合或交互(例如,如呈因果关系,诸如用于信号传输/接收或用于函数调用),或两者。

合适的环境

图1是具有打包机构的机器人系统100可在其中操作的示例性环境的图示。机器人系统100可包括被配置来执行一个或多个任务的一个或多个单元(例如,机器人)和/或与所述一个或多个单元通信。打包机构的各方面可由各种单元来实践或实现。

对于图1所示的实例,机器人系统100可包括位于仓库或分配/装运枢纽中的卸载单元102、搬运单元104(例如,码垛机器人和/或拾件机器人)、运输单元106、装载单元108、或它们的组合。机器人系统100中的单元中的每一个可被配置来执行一个或多个任务。任务可按顺序组合以执行实现目标(诸如从卡车或货车卸载物体并将它们存储在仓库中,或者从存储位置卸载物体并将它们准备用于装运)的操作。再如,任务可包括将物体放置在目标位置上(例如,放置在货盘顶部上和/或仓/笼/盒/箱内部)。如下文所述,机器人系统可导出用于放置和/或堆叠物体的计划(例如,放置位置/取向、用于搬运物体的顺序和/或对应运动计划)。单元中的每一个被配置来执行一系列动作(例如,操作其中的一个或多个部件)以执行任务。

在一些实施方案中,任务可包括将目标物体112(例如,对应于正在执行的任务的包裹、盒、箱、笼、货盘等中的一者)从起始位置114操纵(例如,移动和/或重新定向)到任务位置116。例如,卸载单元102(例如,拆箱机器人)可被配置来将目标物体112从载具(例如,卡车)中的位置搬运到输送带上的位置。另外,搬运单元104可被配置来将目标物体112从一个位置(例如,输送带、货盘或仓)搬运到另一位置(例如,货盘、仓等)。再如,搬运单元104(例如,码垛机器人)可被配置来将目标物体112从源位置(例如,货盘、拾取区域和/或输送机)搬运到目的地货盘。在完成操作时,运输单元106可将目标物体112从与搬运单元104相关联的区域搬运到与装载单元108相关联的区域,并且装载单元108可将目标物体112(通过例如移动承载目标物体112的货盘)从搬运单元104搬运到存储位置(例如,架子上的位置)。下文描述关于任务和相关联动作的细节。

出于说明性目的,机器人系统100是在装运中心的上下文中描述的;然而,应理解,机器人系统100可被配置来在其他环境中/出于其他目的(诸如用于制造、组装、包装、健康护理和/或其他类型的自动化)执行任务。还应理解,机器人系统100可包括图1未示出的其他单元,诸如操纵器、服务机器人、模块化机器人等。例如,在一些实施方案中,机器人系统100可包括用于将物体从笼车或货盘搬运到输送机或其他货盘上的去码垛单元、用于将物体从一个容器搬运到另一个的容器交换单元、用于包裹物体的包装单元、用于根据物体的一个或多个特性对它们进行分组的分类单元、用于根据物体的一个或多个特性以不同方式对物体进行操纵(例如,分类、分组和/或搬运)的拾件单元、或它们的组合。

合适的系统

图2是示出根据本技术的一个或多个实施方案的机器人系统100的框图。在一些实施方案中,例如,机器人系统100(例如,在上文所述的单元和/或机器人中的一者或多者处)可包括电子/电气装置,诸如一个或多个处理器202、一个或多个存储装置204、一个或多个通信装置206、一个或多个输入-输出装置208、一个或多个致动装置212、一个或多个运输马达214、一个或多个传感器216、或它们的组合。各种装置可通过有线连接和/或无线连接彼此联接。例如,机器人系统100可包括总线,诸如系统总线、外围部件互连(pci)总线或pci快速总线、超传输或工业标准架构(isa)总线、小型计算机系统接口(scsi)总线、通用串行总线(usb)、iic(i2c)总线,或电子电器工程师协会(ieee)标准1394总线(也称为“火线”)。另外,例如,机器人系统100可包括桥接器、适配器、处理器,或用于在装置之间提供有线连接的其他信号相关的装置。无线连接可基于例如蜂窝通信协议(例如,3g、4g、lte、5g等)、无线局域网(lan)协议(例如,无线保真(wifi))、对等或装置间通信协议(例如,蓝牙、近场通信(nfc)等)、物联网(iot)协议(例如,nb-iot、lte-m等)和/或其他无线通信协议。

处理器202可包括被配置来执行存储在存储装置204(例如,计算机存储器)上的指令(例如,软件指令)的数据处理器(例如,中央处理单元(cpu)、专用计算机和/或机载服务器)。在一些实施方案中,处理器202可包括在可操作地耦接到图2所示的其他电子/电气装置和/或图1所示的机器人单元的单独/独立控制器中。处理器202可实施控制其他装置/与其交互的程序指令,从而致使机器人系统100执行动作、任务和/或操作。

存储装置204可包括其上存储有程序指令(例如,软件)的非暂时性计算机可读介质。存储装置204的一些实例可包括易失性存储器(如例4如,高速缓存和/或随机存取存储器(ram))和/或非易失性存储器(例如,闪速存储器和/或磁盘驱动器)。存储装置204的其他实例可包括便携式存储器驱动器和/或云存储装置。

在一些实施方案中,存储装置204可用于进一步存储处理结果和/或预定数据/阈值并提供对它们的访问。例如,存储装置204可存储包括对可由机器人系统100操纵的物体(例如,盒、箱和/或产品)的描述的主数据252。在一个或多个实施方案中,主数据252可包括针对每个这种物体的登记数据254。登记数据254可包括预期由机器人系统100操纵的物体的尺寸、形状(例如,潜在姿势的模板和/或用于识别呈不同姿势的物体的计算机生成的模型)、颜色方案、图像、标识信息(例如,条形码、快速响应(qr)码、标志等和/或其预期位置)、预期重量、其他物理/视觉特性、或它们的组合。在一些实施方案中,主数据252可包括关于物体的操纵相关的信息,诸如物体中的每一个上的质心(com)位置或其估计、对应于一个或多个动作/操作的预期传感器测量值(例如,针对力、扭矩、压力和/或接触测量)、或它们的组合。

通信装置206可包括被配置来通过网络与外部或远程装置通信的电路。例如,通信装置206可包括接收器、发射器、调制器/解调器(调制解调器)、信号检测器、信号编码器/解码器、连接器端口、网卡等。通信装置206可被配置来根据一种或多种通信协议(例如,互联网协议(ip)、无线通信协议等)发送、接收和/或处理电信号。在一些实施方案中,机器人系统100可使用通信装置206来在机器人系统100的单元之间交换信息和/或与在机器人系统100外部的系统或装置交换信息(例如,出于报告、数据采集、分析和/或故障排除目的)。

输入-输出装置208可包括被配置来将信息传达给人类操作员和/或从人类操作员接收信息的用户接口装置。例如,输入-输出装置208可包括显示器210和/或用于将信息传达给人类操作员的其他输出装置(例如,扬声器、触觉电路、或触觉反馈装置等)。另外,输入-输出装置208可包括控制或接收装置,诸如键盘、鼠标、触摸屏、传声器、用户接口(ui)传感器(例如,用于接收运动命令的摄像机)、可穿戴输入装置等。在一些实施方案中,机器人系统100可使用输入-输出装置208来在执行动作、任务、操作或它们的组合时与人类操作员交互。

机器人系统100可包括在关节处连接以用于运动(例如,旋转和/或平移位移)的物理或结构构件(例如,机器人操纵器臂)。结构构件和关节可形成被配置来操纵端部执行器(例如,夹持器)的动力链,所述端部执行器被配置来根据机器人系统100的用途/操作来执行一个或多个任务(例如,夹持、自旋、焊接等)。机器人系统100可包括被配置来关于对应关节或在对应关节处对结构构件进行驱动或操纵(侈4如,移位和/或重新定向)的致动装置212(例如,马达、致动器、线材、人工肌肉、电活性聚合物等)。在一些实施方案中,机器人系统100可包括被配置来到处运输对应单元/底架的运输马达214。

机器人系统100可包括被配置来获得用于实施任务(诸如操纵结构构件和/或运输机器人单元)的信息的传感器216。传感器216可包括被配置来检测或测量机器人系统100的一个或多个物理特性(例如,其一个或多个结构构件/关节的状态、状况和/或位置)和/或周围环境的一个或多个物理特性的装置。传感器216的一些实例可包括加速度计、陀螺仪、力传感器、应变计、触觉传感器、扭矩传感器、位置编码器等。

在一些实施方案中,例如,传感器216可包括被配置来检测周围环境的一个或多个成像装置222(例如,视觉和/或红外摄像机、2d和/或3d成像摄像机、诸如激光雷达或雷达的距离测量装置等)。成像装置222可生成所检测环境的可通过机器/计算机视觉来处理(例如,用于自动化检查、机器人引导或其他机器人应用)的表示,诸如数字图像和/或点云。如下文更详细描述,机器人系统100(通过例如处理器202)可处理数字图像和/或点云,以标识图1的目标物体112、图1的起始位置114、图1的任务位置116、目标物体112的姿势、关于起始位置114和/或姿势的置信度量度、或它们的组合。

对于操纵目标物体112,机器人系统100(通过例如上文所述的各种电路/装置)可捕获并分析指定区域(例如,拾取位置,诸如卡车内部或输送带上)的图像,以标识目标物体112及其起始位置114。类似地,机器人系统100可捕获并分析另一指定区域(例如,用于将物体放置在输送机上的投放位置、用于将物体放置在容器内部的位置,或货盘上用于堆叠目的的位置)的图像,以标识任务位置116。例如,成像装置222可包括被配置来生成拾取区域的图像的一个或多个摄像机和/或被配置来生成任务区域(例如,投放区域)的图像的一个或多个摄像机。如下文所述,基于所捕获图像,机器人系统100可确定起始位置114、任务位置116、相关联姿势、打包/放置计划、搬运/打包顺序和/或其他处理结果。下文描述关于打包算法的细节。

在一些实施方案中,例如,传感器216可包括被配置来检测机器人系统100的结构构件(例如,机器人臂和/或端部执行器)和/或对应关节的位置的位置传感器224。机器人系统100可使用位置传感器224来在任务的执行期间跟踪结构构件和/或关节的位置和/或取向。

物体搬运以及向基于目的地的传感器登记

图3是根据本技术的一个或多个实施方案的图1的机器人系统100的图示。机器人系统100可包括机器人臂302(例如,图1的搬运单元104的实例),所述机器人臂302包括端部执行器304(例如,抓持器)。机器人臂302可被配置来在图1的起始位置114与图1的任务位置116之间搬运目标物体112。如图3所示,起始位置114可具有在其上带有目标堆叠310(例如,一组物体)的货盘308。机器人臂302的任务位置116可以是输送机306(例如,图1的运输单元106的实例)上的放置位置(例如,起始/出口点)。例如,机器人臂302可被配置来从目标堆叠310拾取物体并将它们放置在输送机306上以便运输到另一目的地/任务。

机器人系统100可在利用机器人臂302执行搬运操作时使用图2的传感器216中的一个或多个。在一些实施方案中,机器人系统100可包括第一成像传感器312和/或第二成像传感器314。第一成像传感器312可包括被配置来对起始位置114进行成像和/或分析的一个或多个2d和/或3d传感器,诸如摄像机和/或深度传感器。第二成像传感器314可包括被配置来对任务位置116进行成像和/或分析的一个或多个2d和/或3d传感器,诸如摄像机和/或深度传感器。例如,第一成像传感器312可包括定位在起始位置114上方的已知位置处且面向起始位置114的一个或多个摄像机和/或深度传感器。第一成像传感器312可生成与起始位置114的一个或多个顶视图(诸如目标堆叠310的顶视图)相对应的成像数据。另外,第二成像传感器314可包括定位在一个或多个已知位置处且面向任务位置116或相关联空间的一个或多个摄像机和/或深度传感器,所述已知位置在任务位置116上方或横向于任务位置116。因此,第二成像传感器314可生成与在任务位置116处或在距任务位置116阈值距离内的目标物体112的一个或多个顶视图和/或侧视图相对应的成像数据。

在一些实施方案中,机器人系统100可包括一个或多个越过传感器(例如,第一越过传感器316和/或第二越过传感器318),所述一个或多个越过传感器被配置来检测物体越过/离开对应感测线/平面的越过事件。例如,越过传感器可对应于基于所发射和/或所反射信号(例如,光信号、激光等)的连续/中断来检测越过事件的线或平面传感器。在一些实施方案中,越过传感器可沿着感测线发射光信号,并且可在感测线的末端检测和/或反射所发射信号。因此,越过传感器可在接收所发射光信号时检测中断(例如,间断),所述中断可对应于表示物体越过/进入感测线的进入事件。类似地,越过传感器可在中断时段之后重新检测所发射信号,所述中断时段可对应于表示物体退出感测线的退出事件。越过传感器可基于检测到中断、重新检测到光信号和/或其顺序来生成和/或传达事件数据(例如,标志、状态确定、越过方向和/或时间戳)。

在一些实施方案中,第二越过传感器318可用于释放所抓持物体。第二越过传感器318可定位在任务位置116上方和/或在预定高度处建立感测线。感测线/平面的高度(例如,释放高度)可用于安全地投放物体而不会损坏物体。例如,感测线的高度可在输送机306上的放置位置上方10cm或更小。因此,机器人系统100可将第二越过传感器318所检测到的越过事件用作从端部执行器304释放所承载物体的触发项。在一些实施方案中,释放高度可与第一越过传感器316的感测线/平面重叠或重合。在其他实施方案中,释放高度可在第一越过传感器316的感测线/平面和任务位置116的放置表面(例如,输送机306上的放置表面)的竖直位置之间。换句话讲,第一越过传感器316的感测线/平面可定位在对应于第二越过传感器318的释放高度上方。

在一些实施方案中,第一越过传感器316可用于在搬运期间测量目标物体112的高度。例如,机器人系统100可在如第一越过传感器316所检测到的进入事件发生时确定抓持器高度322(例如,端部执行器304相对于基准点(诸如地面)的竖直定位/位置/坐标)。机器人系统100可将抓持器高度322与越过基准高度324(例如,第一越过传感器316的已知竖直位置和/或其基准线/平面)进行比较以计算正在搬运的目标物体112的物体高度。换句话讲,第一越过传感器316可充当指示目标物体112的底部部分越过感测线的时间的触发项。因此,机器人系统100可使用在此时的抓持器高度322和感测线的已知高度来计算目标物体112的物体高度。在一些实施方案中,当目标物体112的底部部分越过感测线时,第一越过传感器316可触发第二成像传感器314的一个或多个实例(例如,指向任务位置116的水平面向摄像机)以收集数据。因此,机器人系统100可从不同的视角(例如,侧视或轮廓图/图像、沿着不同维度的形状测量等)获得关于物体的数据。

出于说明性目的,第一越过传感器316被示出为附接到输送机306。然而,应当理解,第一越过传感器316可被不同地配置。例如,第一越过传感器316可与任务位置116处的任何设备断开连接和/或独立于所述设备。第一越过传感器316可被配置来检测相对于在任务位置116上方(例如,在越过基准高度324处)和/或与其重叠的线/平面的越过事件。在一些实施方案中,第一越过传感器316可被配置来检测相对于横向/水平延伸并且在放置表面/位置上方相对较短距离(例如,小于一米,诸如10厘米)的线/平面的越过事件。在一个或多个实施方案中,第一越过传感器316和第二越过传感器318的功能可被组合,使得机器人系统100基于一个越过事件确定物体高度并释放物体。

第一越过传感器316和/或第二成像传感器314(例如,水平面向摄像机)在搬运期间提供物体(例如,未识别物体)的另外数据。如上所述,第一越过传感器316可用于在搬运物体时没有任何另外操作/移动的情况下计算所搬运物体的物体高度。此外,在提升物体之后确定物体高度可提高高度测量值的准确度,因为某些物体在放置在另一个物体之上时可能会变形。换句话讲,当物体被提升/悬挂时,物体的形状和任何对应尺寸可能改变。例如,当物体被悬挂时,物体轮廓和/或对应高度(例如,从端部执行器304到物体的底部部分的距离)可能由于包裹中缺乏刚度而改变,诸如对于包裹在塑料包装物中的基于布料或基于橡胶的物品而言。通过使用越过传感器(例如,第一越过传感器316)来在搬运期间确定物体高度,机器人系统100可准确地(通过例如运动计划)解释在搬运期间物体的形状/尺寸的任何变化。因此,机器人系统100可在搬运物体时使用实际物体高度(例如,悬挂时的物体高度而非静止高度),从而减少/消除由于形状变化而可能发生的任何碰撞。在一些实施方案中,机器人系统100可根据实际物体高度来调整运输速度、运输加速度或它们的组合,以减少所搬运物体的摇摆或摆动运动。在一些实施方案中,机器人系统100可使用静止物体高度和/或所搬运物体高度来登记未识别物体。

此外,第一越过传感器316可触发另外的传感器以获得关于可能无法由第一成像传感器312和/或第二成像传感器314检测到的物体的另外信息(例如,一个或多个竖直表面/边缘的2d/3d图像和/或轮廓形状)。如下文详细描述,物体高度和/或另外信息可用于生成未识别物体的图2的登记数据254。因此,机器人系统100可获得关于未识别物体的更多信息,所述信息可用于增加后续识别其他类似物体的可能性和/或在进一步操纵物体时提高准确度,而不会干扰搬运任务。

在一些实施方案中,机器人系统100可使用物体高度和/或另外信息诸如通过分析除顶表面之外的物体的其他表面(例如,竖直表面/尺寸)来重新分析并识别物体。因此,机器人系统100可减少未识别盒或假否定结果的数量。

物体识别

图4a是由图1的机器人系统100处理的物体的示例性堆叠(例如,图3的目标堆叠310)的图示;图4b是示例性堆叠的顶表面(例如,目标堆叠310的实际顶视图410)的图示;并且图4c是对应于顶表面的传感器数据(例如,顶视图数据420)的图示,所述实例均是根据本技术的一个或多个实施方案的。一起参考图4a、图4b和图4c,机器人系统100可被配置来将目标堆叠310内的物体搬运到另一个位置,诸如如上所述的图1的任务位置116(例如,图3的输送机306)。为了搬运物体,机器人系统100可使用来自定位在目标堆叠310上方的图3的第一成像传感器312的图像数据(例如,顶视图数据420)。例如,顶视图数据420可包括描绘或表示实际顶视图410的一个或多个视觉图像和/或一个或多个深度图。另外,机器人系统100可分析顶视图数据420以标识可对应于物体边界的边缘。例如,机器人系统100可基于深度测量值和/或图像性状(例如,不同的颜色、线性图案、阴影、清晰度差异等)的差异来标识在图像数据中表示的边缘和/或连续表面。另外,机器人系统100可诸如基于深度测量值的差异来标识暴露边缘422(例如,不水平邻接在基本上相同高度处的另一物体/表面的物体顶表面的边缘)。

目标堆叠310可包括在图2的主数据252中登记的物体和/或未在主数据252登记的非预期物体。同样地,机器人系统100可使用物体表面416的图像数据来识别或标识目标堆叠310内的物体。在一些实施方案中,机器人系统100可将图像数据或其中的一个或多个部分与主数据252(例如,在其中对应于物体表面416的图2的各种登记数据254)进行比较以识别目标堆叠310内的物体。例如,机器人系统100可在顶视图数据420的一部分与登记数据254中的物体表面416的一个或多个图像匹配时标识目标堆叠310内的已知物体(例如,所识别物体412)。实际顶视图410的剩余部分(例如,与登记数据254不匹配的部分)可对应于未识别物体414。在图4c中使用虚线示出了未识别物体414的边缘。

基于与图像数据匹配,机器人系统100可定位对应图像数据内的所识别物体412,所述所识别物体412可进一步(通过例如预校准表和/或将像素位置映射到坐标系的公式)平移到目标堆叠310的真实世界位置。此外,机器人系统100可基于所述匹配估计所识别物体412的非暴露边缘的位置。例如,机器人系统100可从主数据252中获得所识别物体412的尺寸。机器人系统100可测量与所识别物体412的暴露边缘422间隔开已知尺寸的图像数据的部分。根据映射,机器人系统100可确定所识别物体412的一个或多个基于登记的边缘424和/或如上所述类似地将基于登记的边缘424映射到真实世界位置。

在一些实施方案中,机器人系统100可标识如在图像数据中表示的目标堆叠310的暴露外拐角426。例如,机器人系统100可基于检测具有不同取向(例如,以不同角度延伸)的暴露边缘422中的两个或更多个之间的相交部或接合部来标识暴露外拐角426。在一个或多个实施方案中,机器人系统100可在暴露边缘422形成在预定范围内(诸如约90°的阈值范围)的角时标识暴露外拐角426。如下文详细描述,机器人系统100可使用暴露外拐角426和对应暴露边缘422来处理和/或操纵未识别物体414。

未识别物体的处理

在一些实施方案中,机器人系统100可根据识别状态和/或物体在目标堆叠310内的相对位置来处理(例如,标识和/或搬运)物体。例如,机器人系统100可首先拾取并搬运所识别物体,然后从传感器(例如,图3的第一成像传感器312)生成另一组图像数据。图5a是根据本技术的一个或多个实施方案的对应于在初始一组操作(例如,拾取并搬运所识别物体412)之后的顶表面的传感器数据501的图示。图5a中的阴影区域对应于在移除图4b和图4c中示出的所识别物体412之后的深度测量值的变化。

在机器人系统100在图像数据中没有标识出任何所识别物体412时,机器人系统100可标识任何暴露拐角和/或暴露边缘422以用于定位图4a的未识别物体414。例如,机器人系统100可如上所述类似地处理传感器数据501以标识暴露外拐角426和/或暴露边缘422。因此,机器人系统100可另外标识和/或定位在移除所识别物体412之后暴露的任何拐角/边缘。在一些实施方案中,机器人系统100可根据对应阈值来将暴露内拐角502进一步标识为图4b的暴露边缘422中的两个或更多个之间的相交部/接合部。例如,机器人系统100可将暴露内拐角502标识为暴露边缘422中的相对于对应连续表面超过180°的两个或更多个之间的接合部。在一些实施方案中,机器人系统100可在暴露边缘422形成在约270°的阈值范围内的角时标识暴露内拐角502。

在一些实施方案中,在所识别物体412中的任何一个都不剩余时,机器人系统100可基于暴露拐角和/或暴露边缘来(例如,从未识别物体414中)标识目标堆叠310中的登记目标506。例如,机器人系统100可选择传感器数据501的区域以及与暴露外拐角426相关联的对应未识别物体414。换句话讲,在处理所识别物体412之后,机器人系统100可处理形成/构成目标堆叠310的暴露外拐角426的未识别物体414。基于对传感器数据501的对应部分的分析,机器人系统100可抓持未识别物体414、提升和/或水平搬运所抓持物体和/或对所抓持物体进行成像以用于登记目的。另外,在对所抓持物体进行成像之后,机器人系统100可将所抓持物体搬运到目的地(例如,图3的输送机306)。

为了进一步描述传感器数据分析,图5b是根据本技术的一个或多个实施方案的图5a的传感器数据501的一部分5b的详细图示。机器人系统100可根据mvr512来分析传感器数据501以确定抓持位置520。mvr512可表示接触、抓持和/或提升物体所需的最小大小的区域。因此,在一些实施方案中,mvr512可以是基于图3的端部执行器304。例如,mvr512可与端部执行器304的覆盖区(诸如端部执行器304占据的区域(例如,抓持器的吸盘))相关联,或者与具有覆盖区周围的另外/缓冲区域的更大区域相关联。在一些实施方案中,mvr512可对应于最小候选大小,所述最小候选大小可与目标堆叠310中的物体的最小可能实例的物理尺寸(例如,长度、宽度、高度、直径、周长等)相对应。换句话讲,目标堆叠310内的物体的任何一个将都不具有小于最小候选大小的尺寸。最小候选大小可以是预定值(即,在处理目标堆叠310之前提供的值)。

在一些实施方案中,机器人系统100可基于在对应表面(例如,具有在彼此阈值范围内的高度/深度值的区域)之上从暴露边缘422延伸出两条或更多条相交线来导出mvr512。例如,机器人系统100可基于从暴露边缘422围绕暴露外拐角426延伸出垂直线来导出mvr512。所述线可从暴露边缘422上对应于距暴露外拐角426一定间隔距离的部分(例如,一个点)延伸。间隔距离可以是预定值和/或根据一个或多个处理结果计算的值(例如,所估计边缘524或对应置信度值和/或对应物体的所估计标识或对应置信度值)。因此,机器人系统100可将mvr512导出为由延伸线和暴露边缘422限定的区域。

在一些实施方案中,机器人系统100可使用mvr512导出一组潜在抓持位置。例如,机器人系统100可利用mvr512的与第一暴露边缘对准的尺寸导出第一抓持位置并且利用与第二暴露边缘对准的尺寸导出第二抓持位置。在一些实施方案中,机器人系统100可利用与暴露边缘中的一个对准的mvr512导出多于一个的抓持位置。

机器人系统100可使用mvr512来确定抓持位置520。抓持位置520可与将直接在端部执行器304下方和/或接触端部执行器304以进行初始操纵的物体/堆叠上的区域相对应。换句话讲,机器人系统100可将抓持器放置在抓持位置520之上以抓持对应物体,以进行后续操纵(例如,提升、水平搬运和/或用于登记的数据收集过程)。在一些实施方案中,机器人系统100可从所述组潜在抓持位置中选择抓持位置520。例如,机器人系统100可根据手臂(例如,优选地,延伸跨过暴露边缘422并且不与其他部分重叠的机器人臂)的相对取向从所述组中选择。

在一些实施方案中,机器人系统100可基于所检测线522和/或所估计边缘524来导出抓持位置520。例如,机器人系统100可基于传感器数据501中的深度测量值和/或图像性状的差异来标识所检测线522和/或所估计边缘524。机器人系统100可将不与暴露边缘422相交的结果标识为所检测线522,所述所检测线522可对应于物体或物体边缘的表面标记内的线。机器人系统100可将与至少一个暴露边缘422相交的结果标识为所估计边缘524。因此,机器人系统100可导出不与所检测线522和/或所估计边缘524重叠的抓持位置520。机器人系统100可基于平衡mvr512的边缘与最近的所检测线522和/或所估计边缘524之间的距离之间的比率来导出抓持位置520。由于机器人系统100将基于mvr512在拐角处或拐角周围抓持物体,因此机器人系统100可基于平衡比率导出将减小沿着任意一个特定方向的最大潜在扭矩的抓持位置520。

机器人系统100可使用所导出抓持位置520来操作图3的机器人臂302和端部执行器304。机器人系统100可抓持定位在堆叠的拐角处、抓持位置520处的物体(例如,登记目标506)。在一些实施方案中,机器人系统100可提升和/或水平搬运所抓持物体以便清晰地辨别先前非暴露的边缘。例如,机器人系统100可提升和/或水平搬运物体达预定高度,所述预定高度对应于用于准确区分边缘的最小距离。另外,例如,机器人系统100可在监测和/或分析高度变化和/或端部执行器倾斜时提升和/或水平搬运物体,使得与暴露边缘422相对的另外边缘变得可识别。机器人系统100可在初始提升期间和/或之后获得并处理数据以进一步描述未识别物体414。

采集未识别物体的登记数据

图6是根据本技术的一个或多个实施方案的初始提升操作之后的物体的图示。如上文或下文更详细描述,机器人系统100可在搬运操作期间导出物体的高度(例如,相对于初始静止姿势、搬运姿势和/或最终放置姿势沿着竖直方向测量的物体高度620)。物体高度620可用于登记目的和/或用于调整搬运操作(例如,加速度、速度和/或运动路径)。

在一些实施方案中,机器人系统100可包括被配置来测量由于外部物体(例如,所抓持物体)和/或其移动而施加到图3的机器人臂302上的力的一个或多个传感器。例如,机器人系统100可包括附接到端部执行器304和/或与端部执行器304成一体的力传感器、扭矩传感器或它们的组合(例如,力-扭矩(ft)传感器602)。因此,机器人系统100可在提升在图5的抓持位置520处抓持的所抓持物体(例如,图4的未识别物体414中已被确定为登记目标506的一个)时测量向下力测量值604和/或扭矩测量值606。

在一些实施方案中,机器人系统100可使用向下力测量值604来确定登记目标506的重量。在一些实施方案中,机器人系统100可使用向下力测量值604和/或扭矩测量值606来计算所估计扭矩臂向量608和/或登记目标506的所估计质心(com)610。所估计扭矩臂向量608可与由ft传感器602提供的测量向量的总和相对应的。机器人系统100可根据使用所估计扭矩臂向量608、扭矩测量值606和/或向下力测量值604作为输入的预定过程和/或公式来计算所估计com610。

在一些实施方案中,机器人系统100可将传感器测量值用作用于执行初始提升操作的反馈信号。例如,机器人系统100可执行初始提升操作,直到向下力测量值604和/或扭矩测量值606稳定(例如,测量时段内的测量值保持在阈值范围内)为止。因此,机器人系统100可确定所抓持物体被提升(即,不再由下面的物体或结构支撑)脱离下面的物体或结构并且变成完全由机器人臂302支撑的时间。机器人系统100可将所确定稳定性用作停止初始提升操作和/或获得关于所抓持物体的另外数据(例如,尺寸、重量、com和/或表面图像)的触发项。

为了进一步描述所获得的关于所抓持物体(例如,图4b的未识别物体414)的数据,图7a是比较数据702的图示,并且图7b是所更新数据740的图示,所述数据两者都是根据本技术的一个或多个实施方案的。如上所述,机器人系统100可基于图5b的mvr512来抓持未识别物体414。基于所述抓持,机器人系统100可(通过例如初始提升操作)提升和/或水平搬运所抓持物体,从而将所抓持物体与相邻和邻接的物体分开。机器人系统100可在提升和/或水平搬运所抓持物体之后获得比较数据702(例如,2d/3d测量数据,诸如视觉图像、深度图、点云等)。在一些实施方案中,比较数据702可以是通过图2的传感器216中的一个或多个(诸如图3的第一成像传感器312)获得的。

机器人系统100可基于初始传感器数据(例如,在提升物体之前获得的图4c的顶视图数据420和/或图5a的传感器数据501)和/或比较数据702来进一步生成未识别物体414的所更新图像(例如,所更新数据740)。在一些实施方案中,机器人系统100可基于组合初始提升操作之前和之后的视觉或2d图像来生成所更新数据740。例如,机器人系统100可从顶视图数据420和/或与mvr512和/或抓持位置520相对应的传感器数据501导出所裁剪部分734。机器人系统100可基于将mvr512和/或抓持位置520映射到所捕获图像并且复制对应区域中的像素信息来导出所裁剪部分734。机器人系统100可基于在比较数据702之上上覆于所裁剪部分734来生成所更新数据740。所裁剪部分734相对于所更新数据740的位置可使用暴露外拐角426和暴露边缘422作为基准来确定。因此,机器人系统100可使用所裁剪部分734来覆盖比较数据702内的描绘图3的机器人臂302和/或图3的端部执行器304的区域。

在一些实施方案中,机器人系统100可从比较数据702导出未覆盖部分732。未覆盖部分732可对应于未识别物体414未被端部执行器304和/或机器人臂302覆盖的顶表面。机器人系统100可使用端部执行器304和/或机器人臂302的一个或多个预定视觉/像素图案来导出未覆盖部分732。例如,机器人系统100可基于识别并移除比较数据702的与预定视觉/像素图案匹配的部分来导出未覆盖部分732。机器人系统100可将未覆盖部分732与所裁剪部分734组合以生成所更新数据740。

机器人系统100可处理比较数据702和/或所更新数据740以获得关于所抓持物体的一个或多个物理特性的信息。例如,机器人系统100可针对物体的轮廓/形状(包括露出边缘722、露出拐角726、边缘长度测量值728和/或拐角角度测量值730)处理比较数据702。机器人系统100可使用上文所述的一个或多个边缘检测方案来确定与对应暴露边缘422相对的露出边缘722。基于根据mvr512导出并抓持来举升未识别物体414在所提升物体的顶表面与周围物体/表面表面之间形成高度差。高度差可被用来清晰地确定露出边缘722。机器人系统100可基于搜索从暴露边缘422延伸的边缘来确定露出边缘722。在一些实施方案中,机器人系统100可基于确定以大约直角从暴露边缘422延伸的边缘(诸如对于具有矩形顶表面的矩形盒/包裹)来确定露出边缘722。

机器人系统100可将露出拐角726确定为具有不同取向的露出边缘722中的两个或更多个相交的接合部。在一些实施方案中,机器人系统100可诸如根据预定功能或公式来确定露出拐角726的角度(例如,拐角角度测量值730)。

基于确定露出边缘722,机器人系统100可计算露出边缘722和/或暴露边缘422的边缘长度测量值728(例如,物体尺寸)。机器人系统100可基于确定所捕获图像中的边缘的长度(例如,比较数据702和/或传感器数据501)并且诸如根据一个或多个预定映射功能/公式将图像中的长度转换成真实世界长度来计算边缘长度测量值728。

在一些实施方案中,机器人系统100可基于比较数据702来确定边缘长度测量值728并且使用边缘长度测量值728来生成所更新数据740。例如,在裁剪顶视图数据420和/或传感器数据501的一部分时,机器人系统100可延伸超过mvr512的一个或多个边界并延伸长达对应边缘长度测量值728。在根据暴露边缘/拐角提升一些物体时,诸如当暴露拐角与机器人基部相对地定位时,机器人臂302可停止遮挡比较数据702中的所提升物体的部分。因此,机器人系统100可确定相对于暴露拐角/边缘和/或边缘长度测量值728的被遮挡区域并且从顶视图数据420和/或传感器数据501裁剪对应部分。如上所述,机器人系统100可上覆于所裁剪部分以使用暴露拐角/边缘和/或边缘长度测量值728作为基准来替换被遮挡区域。机器人系统100可根据上覆于比较数据702中的被遮挡部分或替换比较数据702中的被遮挡部分的初始图像(例如,在提升之前获得的第一图像)来生成所更新数据740作为具有所裁剪部分的组合图像。

基于上文所述的处理结果中的一个或多个,机器人系统100可生成对应物体(例如,未识别物体414)的登记数据254。例如,在机器人系统100确定目标堆叠310或其一部分(例如,顶层)包括一个或多个未识别物体414时,机器人系统100可选择未识别物体414中的一个作为登记目标506、操纵登记目标506、和/或获得关于登记目标506的数据,如上所述。此外,机器人系统100可遵循预定协议/格式来创建登记目标506的登记数据254的新实例(例如,图2的主数据252的新条目或记录)。因此,机器人系统100可将所获得数据存储在登记数据254的新实例中。例如,机器人系统100可将向下力测量值604存储为重量,将所估计com610存储为com,将边缘长度测量值728存储为水平尺寸,将拐角角度测量值730或其导出值存储为水平形状,将所更新数据740存储为表面图像或存储其关于登记目标506的组合。

基于比较数据702和初始数据的所更新数据740提供了改进的物体识别。使用在提升登记目标506之后获得的比较数据702作为生成所更新数据740的基础引起对物体边缘的准确确定。在确定物体边缘方面增加的准确度进一步提供了在确定上文所述的表面图像和各种测量值方面的增加的准确度。在所获得数据和表面图像方面提高的准确度进一步增加了基于对应登记数据254来随后识别相同类型的物体的可能性。在一些实施方案中,与单独处理初始数据或处理堆叠的状态相比,获得并处理比较数据702提供了在测量值和表面图像方面的提高的准确度。由于初始提升和/或水平搬运可能干扰或移动登记目标506周围的物体,直接分析登记目标506而非在初始提升和/或水平搬运之后的剩余堆叠提供了提高的准确度。

用于向基于目的地的传感器登记的操作流程

图8是根据本技术的一个或多个实施方案的用于操作图1的机器人系统100的方法800的流程图。方法800可用于登记未知物体(例如,图4b的未识别物体414)。在一些实施方案中,方法800可包括在将未识别物体414从图1的起始位置114(例如,图3的目标堆叠310)搬运到图1的任务位置116(例如,图3的输送机306)时或作为其一部分时登记未识别物体414。方法800可基于利用图2的处理器202中的一个或多个执行存储在图2的存储装置204中的一个或多个上的指令来实施。

在框802处,机器人系统100(例如,其中的图2的处理器202和/或传感器216)可获得源数据。例如,机器人系统100可(例如,在操纵/搬运一个或多个物体之前)获得在起始位置114处的目标堆叠310的初始2d和/或3d表示。在一些实施方案中,机器人系统100可操作图3的第一成像传感器312和/或其他传感器以生成源数据。因此,机器人系统100可生成图4b的顶视图数据420、图5a的传感器数据501等。机器人系统100可在传感器(例如,第一成像传感器312)与处理器202之间传达源数据。

在框804处,机器人系统100可处理所获得源数据以搜索可识别物体。例如,机器人系统100可将源数据或其导出值与图2的主数据252进行比较。在一些实施方案中,机器人系统100可将来自第一成像传感器312的一个或多个2d图像数据(例如,对应于目标堆叠310的顶视图)与主数据252中的已知或预期物体的表面图像进行比较。

在框806处,机器人系统100可确定源数据或其任何部分是否与主数据252中所表示的已知或预期物体的各方面匹配。当源数据或其导出值与主数据252中的条目(例如,表示已知物体的登记数据)匹配时,机器人系统100可确定图4b的所识别物体412。否则,机器人系统100可确定源数据中所表示的物体中的一个或多个包括图4b的未识别物体414中的一个或多个。

在框808处,当物体被识别时,机器人系统100可进一步处理所识别物体412,包括将所识别物体412搬运到任务位置116(例如,输送机306)。在一些实施方案中,机器人系统100可通过基于所述匹配确定所识别物体412的位置、边缘、重心(cog)位置、抓持位置或它们的组合来进一步处理源数据。例如,机器人系统100可根据成像源的已知位置来确定匹配部分在图像中的位置,并且使用预定坐标系、图像到坐标的映射函数/公式或其他预定算法来将所述位置平移到真实世界位置。机器人系统100可进一步确定边缘(例如,对应于图4的基于登记的边缘424)相对于主数据252中的匹配部分的位置,并且类似地将边缘位置平移到成像输出和/或真实世界位置/坐标。此外,机器人系统100可搜索主数据252中的匹配条目/物体的其他方面,以触及com位置、预定抓持位置或它们的组合,以用于搬运所识别物体412。

机器人系统100可导出和/或实施运动计划以将所识别物体412搬运到任务位置116。例如,机器人系统100可使用所识别物体412的位置和/或上述抓持位置来导出图3的机器人臂302和/或图3的端部执行器304的对应位置。机器人系统100可使用机器人臂302和/或端部执行器304的所导出位置和当前/投影位置来进一步导出移动和/或对应致动器命令/设置。类似地,机器人系统100可导出机器人臂302和/或端部执行器304的位置、移动和/或对应致动器命令/设置,所述对应致动器命令/设置对应于使所识别物体412提升、水平移位、下降和/或旋转,以用于将所识别物体412从起始位置114搬运到任务位置116。机器人系统100可基于按顺序组合致动器命令/设置来导出运动计划,以将所识别物体412从起始位置114搬运到任务位置116。机器人系统100可进一步基于将搬运命令/设置与预定的移动顺序和/或对应致动器命令/设置组合来导出运动计划,以抓持和/或释放物体。在一些实施方案中,机器人系统100可基于来自图3的第二越过传感器318的触发信号来导出运动计划以释放物体。第二越过传感器318可被配置来在所搬运物体的底部部分越过与放置表面上方的安全释放高度相对应的感测线/平面时生成触发信号。

在一些实施方案中,机器人系统100可基于将通信命令/设置传达到机器人臂302和/或端部执行器304来实施/执行运动计划。因此,机器人系统100可基于根据所导出命令/设置操作机器人臂302和/或端部执行器304的图2的致动装置212和/或图2的运输马达214来执行所导出运动计划。在一些实施方案中,方法800可在搬运所识别物体412中的一个或多个之后返回至框802并获得所更新源数据。所述方法可重复地实施上述过程(例如,框802-808),直到将所有暴露和/或可触及的所识别物体412(例如,目标堆叠310的顶层中的所有识别物体412)搬运到任务位置116。

当任何剩余的暴露和/或可触及物体均识别不到时(例如,与主数据252中的条目相对应的或匹配),机器人系统100可标识在起始位置114处的物体的暴露边缘和/或拐角,如框810处所示。在一些实施方案中,机器人系统100可处理源数据(例如,2d和/或3d成像输出),以确定暴露于机器人臂302和/或机器人臂302可触及的表面的高度/取向的差异。例如,机器人系统100可从像素亮度、像素颜色、高度/深度测量值等分析图案(例如,连续和/或线性图案)的成像输出,以标识图2的暴露边缘422。例如,在一些实施方案中,机器人系统100可利用索贝尔滤波器处理成像输出以标识暴露边缘422。机器人系统100可类似地将图4的暴露外拐角426标识为具有不同取向/斜率的两个暴露边缘之间的接合部或相交部。

在框812处,机器人系统100可基于选择暴露外拐角426中的一个来确定登记目标。换句话讲,机器人系统100可将定位在所选择暴露外拐角426处或形成所选择暴露外拐角426的未识别物体414中的一个确定为图5的登记目标506,以用于后续处理。机器人系统100可根据预定图案或一组规则来选择暴露外拐角426中的一个。例如,机器人系统100可选择指向和/或最接近机器人臂302或图1的对应搬运单元104的基部的拐角。如下文进一步描述的,机器人系统100可重复地选择拐角并处理/搬运对应登记目标506,直到已经移除所有未识别物体414,诸如当已经搬运了层中的所有物体时。

在框814处,机器人系统100可基于源数据确定图5的mvr512和/或图5的抓持位置520以用于登记目标506。在一些实施方案中,如上所述,机器人系统100可根据端部执行器304和/或基于从暴露边缘422延伸出两条或更多条相交线来确定mvr512。如上所述,机器人系统100可在围绕所选择暴露外拐角426的一个或多个位置/取向处上覆于mvr512。例如,机器人系统100可将mvr512的基准点(例如,拐角)中一个或多个与所选择暴露外拐角426对准。机器人系统100可上覆于mvr512,使得mvr512的非平行且相邻的至少一对边缘与暴露边缘422的非平行且相邻的一对实例重叠。在一些实施方案中,机器人系统100可分析mvr512的不同的上覆位置/取向以确定抓持位置520。例如,机器人系统100可将抓持位置520确定为mvr512的位置/取向,在所述抓持位置处,mvr512不与图5的所检测线522重叠,不与图5的所估计边缘524重叠和/或满足如上所述的关于暴露表面的比率的规则。

在一些实施方案中,机器人系统100可包括端部执行器304,所述端部执行器304可诸如基于激活吸盘的部分分组来调整抓持位置/区域。例如,机器人系统100可单独地激活吸盘或根据与端部执行器304下方的特定区域相对应的预定分组(诸如,左半部/右半部或顶半部/底半部、对应于端部执行器304的外拐角的象限/片段、对应于端部执行器304与机器人臂302之间的关节的中央部分或它们的组合)来激活吸盘。因此,机器人系统100可使用对应于预定分组中的一个或多个的mvr512和/或抓持位置520。例如,机器人系统100可导出暴露边缘422与所检测线522和/或所估计边缘524之间的一个或多个尺寸。机器人系统100可确定可纳入所导出尺寸内的最大分组,并且选择对应mvr512。机器人系统100可如上所述类似地使用所选择mvr512,诸如通过将mvr512与暴露边缘422的非平行且相邻的一对实例对准来确定抓持位置520。

在框816处,机器人系统100可将登记目标506初始移位。例如,机器人系统100可导出、实施和/或执行运动计划以在抓持位置520处抓持登记目标506,并且初始提升和/或水平搬运登记目标506。机器人系统100可如上所述类似地导出、实施和/或执行运动计划,但是将登记目标506移位达有限或预定距离/方向,而不是搬运到任务位置116。例如,机器人系统100可在预定距离内提升和/或水平搬运登记目标506。另外,机器人系统100可提升和/或水平搬运登记目标506,至少直到向下力测量值604稳定和/或直到连续的成像结果指示如上所述的新的可区分的边缘。

在框818处,机器人系统100可获得所移位登记目标506的数据(例如,成像结果,诸如图7的比较数据702)。在一些实施方案中,在将登记目标506初始提升和/或水平移位之后,机器人系统100可从目标堆叠310上方的第一成像传感器312获得成像数据。

由于登记目标506已经与相邻或周围物体竖直地和/或水平地分开,因此比较数据702可清晰地捕获登记目标506的先前与其他物体/表面相邻或邻接的边缘(例如,图7的露出边缘722)。因此,在框820处,机器人系统100可确定登记目标506的特性。在一些实施方案中,机器人系统100可处理所获得成像结果以确定视觉或外部特性。例如,机器人系统100可如上所述诸如基于检测比较数据702中所表示的边缘来确定图7的露出边缘722和/或露出拐角726。另外,如上所述,机器人系统100可计算图7的边缘长度测量值728、确定图7的拐角角度测量值730和/或生成图7的所更新数据740。此外,在一些实施方案中,机器人系统100可获得并处理其他数据,诸如力和/或扭矩测量值。例如,机器人系统100可获得表示来自图6的力-扭矩传感器602的输出的数据,诸如图6的向下力测量值604和/或图6的扭矩测量值606。机器人系统100可使用所述数据来确定登记目标506的重量和/或图6的所估计com610。

在一些实施方案中,如框822处所示,机器人系统100可确定是否重新抓持登记目标506。例如,机器人系统100可将向下力测量值604和/或扭矩测量值606与一个或多个阈值进行比较,以确定是否重新抓持登记目标506。另外,机器人系统100可确定抓持位置520与所估计com610之间的间隔距离,并且相应地调整阈值以进行比较。在一个或多个实施方案中,机器人系统100可进一步确定并处理抓持量度(例如,吸盘与所抓持表面之间的真空度的测量值),以确定是否重新抓持登记目标506。

当对应于重量、扭矩、抓持和/或所估计com610的处理结果超过一个或多个阈值条件时,机器人系统100可重新抓持登记目标506,如框824处所示。机器人系统100可基于将登记目标506搬运回原始位置并释放抓持来重新抓持登记目标506。机器人系统100可将抓持位置520重新确定为在所估计com610之上。在一些实施方案中,机器人系统100可根据图6的所估计扭矩臂向量608将抓持位置520调整为远离所选择暴露外拐角426。在一些实施方案中,框822和824中示出的过程(使用虚线示出)可任选地被实施或从方法800中排除。这样,在一些实施方案中,方法800可在不实施框822和824的情况下从框820转移到框826。

在框826处,机器人系统100可将登记目标506从其当前位置搬运到目的地。在一些实施方案中,机器人系统100可在初始提升/水平搬运之后搬运登记目标506,而无需重新抓持和/或考虑重新抓持登记目标506。机器人系统100还可在重新抓持之后搬运登记目标506。在一些实施方案中,诸如当所比较值低于阈值条件时,机器人系统100可确定当前抓持位置足以搬运登记目标506。

机器人系统100可搬运登记目标506,类似地如上针对搬运所识别物体412所述。例如,机器人系统100可导出、实施和/或执行运动计划,从而操作机器人臂302和/或端部执行器304以将登记目标506从当前位置搬运到任务位置116。在一些实施方案中,机器人系统100可基于在框820处确定的特性来导出、实施和/或执行运动计划。例如,机器人系统100可根据登记目标506的所确定重量来控制搬运速度。在一些实施方案中,机器人系统100可基于抓持量度和/或在框820处确定的特性的变化来导出、实施和/或执行运动计划。例如,当抓持量度减小或降低到低于阈值时,机器人系统100可降低搬运速度和/或将登记目标506放置在所指定/所确定位置处。另外,机器人系统100可基于检测到扭矩测量值和/或重量的变化(诸如,当物体的一部分(例如,底部或包裹中的内容物)掉落、物体中的内容物偏移和/或由于搬运过程中的抓持失败而导致的物体相对于端部执行器偏移时)来降低搬运速度和/或将登记目标506放置在所指定/所确定位置处。

在框828处,机器人系统100可在搬运期间获得另外数据。另外数据可包括关于登记目标506的可能未在初始源数据中表示的物理特性的信息,诸如关于竖直边缘、尺寸和/或表面的信息。

在框830处,机器人系统100可在实施操作的同时检测越过事件和对应时间戳,使得检测到的事件同时对应于所述操作。越过事件可对应于登记目标506的底部部分越过/进入定位在任务位置116上方并且与其重叠的图3的第一越过传感器316的感测线/平面(例如,横向或水平线/平面)。机器人系统100可使用越过事件或对应时间标记来确定登记目标506的其他物理特性,这些其他物理特性可能在先前的成像数据中尚未捕获。

在框832处,机器人系统100可确定越过事件发生时的端部执行器位置。在一些实施方案中,机器人系统100可在执行运动计划时跨时间跟踪或估计端部执行器304的位置。例如,机器人系统100可导出和/或跟踪端部执行器304的当前位置作为一组或多组坐标(例如,根据与机器人系统100相关联的预定网格或空间映射)。另外,机器人系统100可基于对应运动计划的跟踪进度来导出或跟踪端部执行器304的当前位置。因此,机器人系统100可确定对应于越过事件的时间标记的端部执行器位置(例如,如在图3中所表示的x-y-z坐标值)。在一些实施方案中,机器人系统100可使用越过事件或来自第一越过传感器316的对应输出作为触发项,以导出或获得图3的抓持器高度322。例如,机器人系统100可使用竖直坐标值(例如,沿着y轴的坐标值)来导出或获得抓持器高度322。

在框834处,机器人系统100可使用抓持器高度322来计算图6的物体高度620(例如,登记目标506的高度)。例如,机器人系统100可基于计算越过事件发生时的抓持器高度322与图3的越过基准高度324之间的差(例如,先前已知和存储的值)来计算物体高度620。

在一些实施方案中,如框836处所示,机器人系统100可使用越过事件作为触发项来获得登记目标506的轮廓数据(例如,表示诸如关于边缘和/或表面的侧视图的数据)。例如,机器人系统100可包括一个或多个指向任务位置116和对应于越过事件的空间的水平面向传感器/摄像机。因此,轮廓数据可包括来自水平面向传感器/摄像机的登记目标506的图像(例如,轮廓图像数据)。作为具体实例,机器人系统100可使用时间标记来标识来自水平面向传感器的视频馈送中的时间和/或触发水平面向传感器以捕获图像。基于所述图像,机器人系统100可获得关于登记目标506的竖直边缘/表面的另外信息(例如,物体高度620和/或一个或多个表面图像),所述竖直边缘/表面可能尚未被面向下的传感器(例如,第一成像传感器312和/或第二成像传感器314)检测到。

在一些实施方案中,机器人系统100可使用登记目标506的物体高度620来重新导出运动计划和/或调整其实现方式/执行。例如,由于物体高度620可能影响加速度,因此机器人系统100可计算对应于登记目标506的物体高度620的搬运速度/加速度(例如,最大搬运速度/加速度)。机器人系统100可根据所计算的搬运速度/加速度来重新导出或调整运动计划(例如,命令、设置和/或其顺序)并且相应地实施/执行。通过使用越过传感器(例如,图3的第一越过传感器316)来在搬运期间确定物体高度620,机器人系统100可准确地解释在搬运期间物体的形状/尺寸的任何变化。因此,机器人系统100可在搬运物体时使用实际物体高度620(例如,悬挂时的物体高度而非静止时的高度),从而减少/消除与形状变化相关联的任何碰撞。

在框838处,机器人系统100可诸如基于创建和/或填充与之相对应的登记数据254的新实例来登记所搬运物体(例如,登记目标506)。新登记数据254可表示登记目标506(例如,先前未识别物体414)的新记录。在一些实施方案中,机器人系统100可另外将所获得信息与主数据252中的条目进行比较,所述所获得信息包括轮廓数据或其处理结果(例如,高度测量值和/或表面图像)。当比较结果匹配时,机器人系统100可将登记目标506的识别状态更新为所识别物体412。否则,机器人系统100可继续登记先前未识别物体。机器人系统100可通过将关于登记目标506的物理特性的所获得信息存储在主数据252中来登记登记目标506。例如,机器人系统100可在搬运期间或之前为登记数据254创建条目(例如,作为在框812处确定登记目标的一部分)。机器人系统100可将所获得数据存储在所创建条目中,诸如重量(例如,向下力测量值604)、所估计com610、边缘长度测量值728、拐角角度测量值730、所更新数据740和/或其他成像数据或它们的组合。当将登记目标506放置在任务位置116上和/或从端部执行器304释放时,机器人系统100可最终确定和/或存储登记数据254。

在一些实施方案中,方法800可重复地搬运并登记来自一个图像的一组未识别物体。因此,在搬运并登记一个未知物体之后,方法800可从剩余的未识别物体414中确定新登记目标,如到框812的反馈路径所示。在一些实施方案中,如到框802的反馈路径所示,方法800可包括在搬运并登记未知物体之后对起始位置114重新成像。

物体搬运以及向基于源的传感器登记

图9是根据本技术的一个或多个实施方案的图1的机器人系统100的图示。图9中所示的机器人系统100的各方面可类似于图3中所示的那些,但是具有定位在不同位置处的一个或多个传感器。

机器人系统100可包括机器人臂902(例如,图1的搬运单元104的实例),所述机器人臂902包括端部执行器904(例如,抓持器)。机器人臂902可被配置来在图1的起始位置114与图1的任务位置116之间搬运图1的目标物体112。在一些实施方案中,起始位置114可对应于其上具有目标堆叠910(例如,可包括目标物体112的一组物体)的容器908(例如,壁车(walled-cart))。机器人臂902的任务位置116可以是输送机906(例如,图1的运输单元106的实例)上的放置位置(例如,起始/出口点)。例如,机器人臂902可被配置来从目标堆叠910拾取物体并将它们放置在输送机906上以便运输到另一目的地/任务。

机器人系统100可在利用机器人臂902执行搬运操作时使用图2的传感器216中的一个或多个。在一些实施方案中,机器人系统100可包括第一成像传感器912和/或第二成像传感器914。第一成像传感器912可包括被配置来对起始位置114进行成像和/或分析的一个或多个2d和/或3d传感器,诸如摄像机和/或深度传感器。第二成像传感器914可包括被配置来对任务位置116进行成像和/或分析的一个或多个2d和/或3d传感器,诸如摄像机和/或深度传感器。例如,第一成像传感器912可包括定位在起始位置114上方的已知位置处且面向起始位置114的一个或多个摄像机和/或深度传感器。第一成像传感器912可生成与起始位置114的一个或多个顶视图(诸如目标堆叠910的顶视图)相对应的成像数据。另外,第二成像传感器914可包括定位在一个或多个已知位置处且面向任务位置116一个或多个摄像机和/或深度传感器,所述已知位置在任务位置116上方或横向于任务位置116。因此,第二成像传感器914可生成与在任务位置116处或在距任务位置116阈值距离内的目标物体112的一个或多个顶视图和/或侧视图相对应的成像数据。

在一些实施方案中,机器人系统100可包括一个或多个越过传感器(例如,源越过传感器916和/或释放点传感器918),所述一个或多个越过传感器被配置来检测物体越过/离开对应感测线/平面(例如,越过基准920)的越过事件。例如,越过传感器可对应于基于所发射和/或所反射信号(例如,光信号、激光等)的连续/中断来检测越过事件的线或平面传感器。在一些实施方案中,越过传感器可沿着感测线发射光信号,并且可在感测线的末端检测和/或反射所发射信号,从而建立越过基准920。因此,越过传感器可在接收所发射光信号时检测中断(例如,间断),所述中断可对应于表示物体越过/进入感测线的进入事件。类似地,越过传感器可在中断时段之后重新检测所发射信号,所述中断时段可对应于表示物体退出感测线的退出事件。

在一些实施方案中,释放点传感器918可用于释放所抓持物体。释放点传感器918可定位在任务位置116上方和/或在预定高度处建立感测线。感测线高度可用于安全地投放物体而不会损坏物体。例如,感测线的高度可在输送机906上的放置位置上方10cm或更小。因此,机器人系统100可将释放点传感器918所检测到的越过事件用作从端部执行器304释放所承载物体的触发项。

在一些实施方案中,源越过传感器916可用于在搬运期间测量目标物体112的图6的物体高度620。例如,机器人系统100可在如源越过传感器916所检测到越过事件(退出事件)发生时确定抓持器高度922(例如,端部执行器904相对于基准点(诸如地面)的竖直定位/位置)。机器人系统100可将抓持器高度922与越过基准高度924(例如,源越过传感器916的已知竖直位置和/或越过基准920)进行比较以计算正在搬运的目标物体112的物体高度620。换句话讲,源越过传感器916可充当指示目标物体112的底部部分退出感测线的时间的触发项。因此,机器人系统100可使用在此时的抓持器高度922和越过基准920的已知高度来计算目标物体112的物体高度620。在一些实施方案中,当目标物体112的底部部分越过感测线时,源越过传感器916可触发一个或多个传感器(例如,2d和/或3d摄像机)以收集数据。因此,机器人系统100可从不同的视角(例如,来自水平指向的摄像机的侧视或轮廓图/图像、沿着不同维度的形状测量等)获得关于物体的数据。

出于说明性目的,源越过传感器916被示出为附接到容器908。然而,应当理解,源越过传感器916可被不同地配置(例如,独立于起始位置114处的设备/容器)。源越过传感器916可包括一个或多个装置,所述一个或多个装置定位在起始位置114处或附近并且被配置来检测相对于起始位置114上方和/或与起始位置114重叠的线/平面(例如,在越过基准高度924处的越过基准920)的越过事件。在一些实施方案中,源越过传感器916可被配置来检测相对于在放置表面/位置上方相对较短距离(例如,小于一米,诸如10厘米)的线/平面的越过事件。

在一些实施方案中,机器人系统100可包括指向起始位置114的一个或多个另外的传感器和/或与其交互。例如,机器人系统100可包括一个或多个水平面向2d/3d成像装置,所述一个或多个水平面向2d/3d成像装置被配置来获得物体和/或目标堆叠910的另外信息(例如,一个或多个竖直表面的图像和/或轮廓形状)。水平面向2d/3d成像装置可被配置来在退出越过基准920时获得有关多个物体中的一个物体的轮廓/侧视图。

源越过传感器916和/或另外的传感器在搬运期间提供物体(例如,未识别物体)的另外数据。如上所述,源越过传感器916可用于在搬运物体时没有任何另外操作/移动的情况下计算所搬运物体的物体高度620。此外,在提升物体之后确定物体高度620可提高高度测量值的准确度,因为某些物体在放置在另一个物体之上时可能会变形。此外,源越过传感器916可触发另外的传感器以获得关于可能无法由第一成像传感器912和/或第二成像传感器914检测到的物体的信息。如下文详细描述,物体高度620和/或另外信息可用于生成未识别物体的图2的登记数据254。因此,机器人系统100可获得关于未识别物体的更多信息,所述信息可用于增加后续识别其他类似物体的可能性和/或在进一步操纵物体时提高准确度,而不会干扰搬运任务。

在一些实施方案中,机器人系统100可使用物体高度620和/或另外信息诸如通过分析除顶表面之外的物体的其他表面(例如,竖直表面/尺寸)来重新分析并识别物体。因此,机器人系统100可减少未识别盒或假否定结果的数量。

基于源的传感器的处理状态

图10a至图10d示出用于描述利用图9的源越过传感器916的各种示例性处理状态的各种处理状态。图1的机器人系统100可根据端部执行器904和/或图1的目标物体112的位置/高度来操作源越过传感器916。

图10a表示初始状态1002,所述初始状态1002对应于图9的机器人臂902和/或端部执行器904位于容器908上方和/或外部。初始状态1002可表示来自与横向定向的越过基准相对应的传感器的一个或多个输出。初始状态1002可对应于机器人臂902开始伸进容器908进行抓取并拾取目标物体112。因此,机器人系统100可在初始状态1002期间关闭和/或忽略源越过传感器916的输出。

图10b表示接近状态1004,所述接近状态1004对应于图9的机器人臂902越过进入容器908并且到其顶部部分以下、接触并抓持目标物体112和/或初始提升目标物体112。例如,接近状态1004可表示端部执行器904在目标物体112之方(例如,在与图1的起始位置114相关联的边界内)和/或在图9的越过基准高度924下方。在一些实施方案中,机器人系统100可在接近状态1004期间继续使越过传感器关闭和/或忽略其输出。

图10c表示越过状态1006,所述越过状态1006对应于目标物体112越过或进入越过基准920。机器人系统100可在操作机器人臂902时跟踪抓持器位置(例如,一组坐标值,诸如在图9中示出的x-y-z值),所述抓持器位置包括图9的抓持器高度922。当抓持器高度922超过图9的越过基准高度924时,机器人系统100可生成激活事件1012以打开源越过传感器916。来自源越过传感器916的输出可对应于初始越过状态1014,其中目标物体112越过或进入越过基准920。

在一些实施方案中,由于机器人臂902穿过越过基准920,因此机器人系统100可在初始状态1002之后(例如,在接近状态1004期间)生成激活事件1012和/或确定初始越过状态1014。换句话讲,当端部执行器904在容器908之上时并且当抓持器高度922小于越过基准高度924时,机器人系统100可生成激活事件1012和/或确定初始越过状态1014。

图10d表示离开状态1008,所述离开状态1008对应于目标物体112退出或离开越过基准920。离开状态1008可对应于由源越过传感器916检测到的退出事件1016。例如,当目标物体112的底部部分在越过基准920上方时,可由源越过传感器916检测到所发射光/激光信号。

机器人系统100可使用退出事件1016或其定时(即,对应于退出事件1016的时间戳)来计算目标物体112的物体高度620。使用来自源越过传感器916的信息来计算物体高度620的处理可类似于使用来自目的地越过传感器(例如,图3的第一越过传感器316)的信息来计算高度的处理。例如,机器人系统100可在退出事件1016发生时确定抓持器高度922。机器人系统100可基于在退出事件1016发生时抓持器高度922与越过基准高度924之间的差(例如,已知/预定值)来计算物体高度620。

用于向基于源的传感器登记的操作流程

图11是根据本技术的一个或多个实施方案的用于操作图1的机器人系统100的方法1100的另一流程图。方法1100可基于利用图2的处理器202中的一个或多个执行存储在图2的存储装置204中的一个或多个上的指令来实施。

方法1100可用于登记未知物体(例如,图4b的未识别物体414)。在一些实施方案中,方法1100可包括在将未识别物体414从图1的起始位置114(例如,图9的目标堆叠910)搬运到图1的任务位置116(例如,图9的输送机906)时或作为其一部分时登记未识别物体414。此外,方法1100可包括处理图10a至图10d所示的各种状态和数据。除了利用图9的源越过传感器916代替图3的第一越过传感器316来获得关于所搬运物体的数据之外,方法1100可类似于图8的方法800。

在框1102处,机器人系统100可获得源数据,类似地如上针对图8的框802所述。在框1104处,机器人系统100可搜索可所识别物体,类似地如上针对图8的框804所述。在框1106处,机器人系统100可确定所获得源数据是否表示图4b的任何所识别物体412,类似地如上针对图8的框806所述。在框1108处,机器人系统100可搬运所识别物体412,类似地如上针对图8的框808所述。

在框1110处,机器人系统100可处理无法识别的物体,类似地如上针对图8的框810-824所述。例如,机器人系统100可标识暴露边缘和/或拐角、确定登记目标、确定mvr和/或抓持位置、将登记目标初始移位、获得所移位登记目标的所更新图像、确定登记目标的特性和/或重新抓持登记目标。

在框1126处,机器人系统100可将登记目标506搬运到目的地,类似地如上针对图8的框826所述。在框1128处,机器人系统100可在搬运期间诸如通过使用源越过传感器916来确定另外的数据。例如,机器人系统100可确定一个或多个状态(例如,图10a至图10d所示的初始状态1002、接近状态1004、越过状态1006和/或离开状态1008)并且相应地激活/停用源越过传感器916。

在框1152处,机器人系统100可标识外部状态(例如,初始状态1002),在所述状态下,端部执行器904尚未进入与起始位置114相关联的所监测空间。换句话讲,机器人系统100可在端部执行器904的底部部分越过越过低于基准920之前和/或在端部执行器904在登记目标506之上之前(例如,当端部执行器904在与起始位置114相关联的边界之外时)标识初始状态1002。机器人系统100可基于在操作期间(例如,在实施和/或执行运动计划时)跟踪端部执行器904的位置和/或高度,并且将所跟踪高度或其导出值(例如,用于定位最下部分的偏移)与越过基准高度924进行比较来确定初始状态1002。当所跟踪高度或其导出值在越过基准高度924上方时,机器人系统100可确定初始状态1002。因此,机器人系统100可停用源越过传感器916和/或将源越过传感器916保持在停用状态。

在框1154处,机器人系统100可标识激活状态(例如,接近状态1004和/或越过状态1006),在所述状态下,端部执行器304或其基准部分在越过基准920下方。换句话讲,当端部执行器904的底部部分在越过基准920下方时,机器人系统100可标识激活状态。当所跟踪高度或其导出值低于越过基准高度924时,机器人系统100可确定激活状态。机器人系统100可紧随外部状态和/或当端部执行器904的水平位置与距起始位置114预定距离处重叠或在其内时确定激活状态。

在框1156处,机器人系统100可激活一个或多个传感器(例如,源越过传感器916和/或另外的传感器)。基于标识激活状态,机器人系统100可诸如针对图10c的激活事件1012激活源越过传感器916和/或指向起始位置114的成像装置。因此,机器人系统100可预期或确定越过事件(例如,图10c的初始越过状态1014),所述越过事件对应于机器人臂902、端部执行器904和/或登记目标506越过、进入越过基准点920和/或其一部分与越过基准点920相交。

在框1160处,机器人系统100可检测对应于离开状态1008的图10d的退出事件1016。机器人系统100可在源越过传感器916和/或另外的传感器处于激活状态的情况下继续搬运登记目标506。换句话讲,机器人系统100可在激活事件1012和/或确定初始越过状态1014之后继续提升登记目标506。因此,在提升登记目标506时,当登记目标506退出定位在起始位置114上方并与其重叠的越过基准920或不再与越过基准920相交时,机器人系统100可使用源越过传感器916来检测退出事件1016。例如,源越过传感器916可基于检测先前被登记目标506阻挡的所发射信号(例如,诸如激光的光信号)来检测退出事件1016。因此,源越过传感器916可将退出事件1016传达到处理器202和/或事件的时间戳。

在框1162处,机器人系统100可在退出事件1016发生时确定端部执行器位置(例如,抓持器高度922)。在一些实施方案中,机器人系统100可在操作端部执行器904时(例如,在实施/执行运动计划时)连续跟踪和/或记录端部执行器位置。因此,机器人系统100可将退出事件1016用作触发项来对所跟踪坐标进行采样或标记。换句话讲,当退出事件1016被源越过传感器916检测到和/或在处理器202处被接收时,机器人系统100可获得端部执行器904的所跟踪坐标。在一些实施方案中,机器人系统100可使用事件的时间戳来查找所记录端部执行器坐标以确定端部执行器位置。在一些实施方案中,机器人系统100可基于运动计划和一个或多个基准时间(例如,运动计划的初始、结束和/或基准时间标记)来计算针对端部执行器位置的一个或多个所估计时间。因此,机器人系统100可基于运动计划和一个或多个基准时间计算、估计或外推退出事件1016发生时的端部执行器位置。基于退出事件发生时的端部执行器位置,机器人系统100可使用其竖直坐标值来确定抓持器高度922。

在框1164处,机器人系统100可基于退出事件1016发生时的端部执行器位置(例如,抓持器高度922)来计算物体高度。例如,机器人系统100可基于计算退出事件1016发生时的抓持器高度922与越过基准高度924之间的差(例如,先前已知和存储的值)来计算登记目标506的高度。

在一些实施方案中,如框1166处所示,机器人系统100可使用退出事件1016来获得关于登记目标506的另外的数据。例如,机器人系统100可将退出事件1016用作触发项,以从另外的传感器(例如,指向起始位置114或在其上方的水平面向2d/3d摄像机)获得轮廓数据(例如2d/3d成像数据,诸如登记目标506的侧视图图像)。另外,机器人系统100可使用退出事件1016的时间戳来搜索来自另外的传感器的所记录图像流(例如,视频馈送)以获得另外的数据。因此,机器人系统100可获得关于登记目标506的竖直边缘/表面/形状的另外的信息(例如,高度和/或表面图像/表示中的一个或多个)(诸如形状变化),所述竖直边缘/表面可能尚未被面向下的传感器(例如,第一成像传感器912和/或第二成像传感器914)检测到。

在一个或多个实施方案中,机器人系统100可处理所获得轮廓数据以计算登记目标506的高度。例如,机器人系统100可确定图像中一个或多个竖直边缘的长度,并且根据预定函数和/或公式将所述长度映射/平移到真实世界测量值。机器人系统100可使用根据轮廓数据所计算的高度来代替基于定时所计算的高度。机器人系统100还可使用根据图像所计算的高度来验证或加强基于定时所计算的高度。

在框1168处,机器人系统100可诸如基于创建和/或填充与之相对应的图2的登记数据254来登记所搬运物体(例如,登记目标506)。机器人系统100可通过将登记目标506的物理特性的所获得信息存储在主数据252中来登记登记目标506。例如,机器人系统100可在搬运期间或之前为登记数据254创建条目(例如,作为在框1110处处理无法识别的物体的一部分)。机器人系统100可将所获得信息存储在所创建条目中,诸如重量(例如,图6的向下力测量值604)、图6的所估计com610、图7a的边缘长度测量值728、图7a的拐角角度测量值730、图7b的所更新数据740和/或其他成像数据或它们的组合。当将登记目标506放置在任务位置116上、从端部执行器904释放时和/或在确定并存储关于登记目标506的竖直边缘/表面(例如,高度和/或表面图像)的信息之后,机器人系统100可最终确定和/或存储登记数据254。

在一些实施方案中,方法1100可重复地搬运并登记414来自一个图像的一组未识别物体414。因此,在搬运并登记未识别物体414中的一个之后,方法1100可从剩余的未识别物体414中确定新登记目标,如到框1110的反馈路径所示。在一些实施方案中,如到框1102的反馈路径所示,方法1100可包括在搬运并登记未识别物体414中的一个之后对起始位置114重新成像。

使用水平指向的越过传感器(例如,图3的第一越过传感器316和/或源越过传感器916)来确定未识别物体414的高度提供了关于未识别物体414的另外信息,同时减小了误差并且使对任务执行的影响最小化/消除对任务执行的影响。如上文用于处理堆叠顶视图的讨论,由于每个物体的边缘/边界无法区分,因此分析整个堆叠(即,目标堆叠910)的侧视图图像来确定单个物体的高度会导致误差。因此,越过传感器提供了无需处理多个堆叠物体的侧视图图像即可确定所搬运物体的高度的机构。此外,在一些实施方案中,机器人系统100可使用越过/退出事件的定时来确定高度,这通常比通过获得和处理另外图像来确定高度提供更低的资源消耗。此外,由于机器人系统100在搬运未识别物体414时获得各种上述登记数据,因此机器人系统100可登记未识别物体414,而对完成全部任务(例如,将目标堆叠中的物体搬运到任务位置116)所必需的总时间/资源的影响很小甚至没有影响。

实施例

在一些实施方案中,一种用于操作机器人系统的方法可包括:接收表示定位在起始位置处的物体的表面的图像数据;基于所述图像数据确定用于抓持并提升所述物体的最小可行区域;获得表示在基于所述最小可行区域实施初始提升以将所述物体竖直地移位之后的所述物体的数据;实施将所述物体搬运到任务位置的操作;在实施所述操作时检测事件和对应时间戳,其中所述事件表示所述物体相对于定位在越过基准高度处的横向定向的越过基准的进入或退出;确定对应于所述事件的抓持器高度,其中所述抓持器高度表示端部执行器的竖直位置;基于所述事件、所述抓持器高度和/或所述预定基准高度来计算所述物体的物体高度;以及创建表示所述物体的新记录的新登记数据,其中所述新登记数据包括所述物体高度。所述事件可表示来自越过传感器的输出,所述越过传感器被配置来检测沿着与所述横向定向的越过基准相对应的线或平面发射的光信号。所述方法还可包括:基于所述事件获得轮廓数据,其中所述轮廓数据表示来自横向面向传感器的输出,所述横向面向传感器被配置来获得关于所述物体的竖直边缘、竖直表面或它们的组合的信息。所述轮廓数据可包括二维(2d)和/或三维(3d)成像数据,所述二维(2d)和/或三维(3d)成像数据表示与以定位在所述起始位置处的所述物体的所述图像数据中所表示的所述表面正交的一个或多个表面。所述方法还可包括:基于将所述图像数据与表示已知物体的登记数据进行比较来确定所述物体是未识别物体;并且其中:所述事件是基于确定所述物体无法识别而检测的,并且所述事件表示所述未识别物体相对于定位在所述任务位置上方且与其重叠的所述横向定向的越过基准的进入。所述事件可对应于用于操作所述端部执行器来释放所述未识别物体的触发项。所述事件还可表示所述未识别物体相对于定位在释放触发项高度上方的所述横向定向的越过基准的进入或退出。

在一些实施方案中,所述方法可包括:基于将所述图像数据与表示已知物体的登记数据进行比较来确定所述物体是未识别物体;并且其中:所述事件是基于确定所述物体无法识别而检测的,并且所述事件表示所述未识别物体相对于定位在所述起始位置上方且与其重叠的所述横向定向的越过基准的退出。检测所述事件可包括:与用于从所述起始位置提升所述未识别物体的操作对应地同时检测所述事件;和/或在用于抓持所述未识别物体的操作之后检测所述事件。。在一个或多个实施方案中,检测所述事件还可包括:激活对应于所述横向定向的越过基准的传感器。所述方法还可包括:与搬运所述未识别物体的所述操作同时地跟踪端部执行器位置,其中所述端部执行器位置对应于一组坐标值;并且其中:所述抓持器高度对应于所述端部执行器位置的竖直坐标值;并且检测所述事件包括:当所述抓持器高度低于所述基准高度时和/或当所述端部执行器位置的水平坐标值在与所述起始位置相关联的边界之外时,忽略初始状态,其中所述初始状态表示来自对应于所述横向定向的越过基准的传感器的一个或多个输出。所述方法还可包括:在所述操作期间标识外部状态,其中所述外部状态表示所述端部执行器位置在所述边界之外;在所述操作期间标识接近状态,其中所述接近状态表示所述端部执行器位置在所述边界内并且低于所述基准高度;并且其中:忽略所述初始状态包括:在所述外部状态和/或所述接近状态期间忽略所述初始状态。

在一些实施方案中,所述数据可表示在实施所述初始提升之后的所述物体,所述数据包括所述表面的比较图像,其中:所述比较图像对应于由于将所述表面竖直地分开而产生的一个或多个露出边缘,并且所述初始提升用于将所述物体的所述表面与邻接物体的一个或多个表面竖直地分开;所述新登记数据包括所述表面的所更新图像;并且所述方法还可包括基于将所述图像数据与所述比较图像组合来生成所更新图像。在一些实施方案中,基于实施所述初始提升获得可表示所述物体的数据包括:从附接到所述端部执行器或与所述端部执行器成一体的传感器接收向下力测量值;并且所述新登记数据可包括所述物体的重量,其中所述重量是基于所述向下力测量值。在一些实施方案中,基于实施所述初始提升获得表示所述物体的数据可包括:从附接到所述端部执行器或与所述端部执行器成一体的传感器接收表示扭矩测量值的数据;并且所述新登记数据可包括所述物体的所估计质心(com),其中所估计com是基于所述扭矩测量值。在一些实施方案中,创建所述新登记数据可包括:存储所获得数据和未识别物体的高度。

在一些实施方案中,一种机器人系统可包括:至少一个处理器;以及至少一个存储器装置,所述至少一个存储器装置连接到所述至少一个处理器并且在其上存储有指令,所述指令能够由所述处理器执行以:获得表示在起始位置处的物体的图像数据;在根据所述图像数据实施运动计划期间,检测表示所述物体相对于越过基准的进入或退出的事件,其中所述运动计划是将所述物体搬运到任务位置;基于所述事件获得另外数据,其中所述另外数据描述所述物体的一个方面并且与所述图像数据分开;并且创建表示所述物体的新登记数据,其中所述新登记数据包括所述另外数据。指令可进一步致使所述处理器实施如上所述的方法的一个或多个方面。

在一些实施方案中,一种在其上可存储有处理器指令的有形非暂时性计算机可读介质,所述处理器指令在由机器人系统通过其一个或多个处理器执行时致使所述机器人系统执行方法,所述方法包括:接收表示定位在起始位置处的物体的表面的图像数据;基于将所述图像数据与表示已知物体的登记数据进行比较来确定所述物体是未识别物体;基于所述图像数据确定用于抓持并提升所述未识别物体的最小可行区域;获得表示在基于所述最小可行区域实施初始提升以将所述未识别物体竖直地移位之后的所述物体的数据;实施将所述未识别物体搬运到任务位置的操作;在实施所述操作时检测事件和对应时间戳,其中所述事件表示所述未识别物体相对于定位在越过基准高度处的横向定向的越过基准的进入或退出;确定对应于所述事件的抓持器高度,其中所述抓持器高度表示端部执行器的竖直位置;基于所述事件、对应于所述事件的所述抓持器高度和/或所述预定基准高度计算所述未识别物体的高度;以及创建表示所述未识别物体的新记录的新登记数据,其中所述新登记数据包括所述未识别物体的所述高度。所述处理器指令可进一步致使一个或多个处理器执行上述方法的一个或多个方面。

结论

所公开技术的实例的上文具体实施方式并不意图是详尽的或将所公开技术限于所公开的确切形式。虽然出于说明性目的描述了所公开技术的具体实例,但如相关领域技术人员应认识到,在所公开技术的范围内各种等效修改也是可能的。例如,虽然过程或框是以给定次序呈现的,但替代实现方式可以不同次序执行具有步骤的例程或采用具有框的系统,并且可删除、移动、添加、细分、组合和/或修改一些过程或框来提供替代方案或子组合。这些过程或框中的每一个可以各种不同方式来实现。另外,虽然过程或框有时被示出为串联执行,但这些过程或框可替代地并行执行或实现,或者可在不同时间执行。此外,本文所指出的任何具体数目仅是实例;替代实现方式可采用不同的值或范围。

根据上文具体实施方式,可对所公开技术进行这些和其他改变。虽然具体实施方式描述了所公开技术的某些实例以及所设想的最佳模式,但所公开技术可以许多方式来实践,而无论文中上文描述呈现的如何详细。系统的细节可在其具体实现方式中相差甚大,但仍由本文所公开的技术涵盖。如上文所指出,在描述所公开技术的某些特征或方面时所用的特定术语不应被视为暗示本文中将术语重新定义为限于所公开技术的与所述技术相关联的任何具体特性、特征或方面。因此,除所附权利要求之外,本发明不受限制。一般来说,以下权利要求中所用的术语不应被视为将所公开技术限于说明书中所公开的具体实例,除非上文具体实施方式章节明确地限定了此类术语。

虽然本发明的某些方面在下文是以某些权利要求的形式呈现的,但本申请人可设想了呈任何数目的权利要求形式的本发明的各种方面。因此,本申请人保留在提交本申请之后追加附加权利要求以在本申请中或在接续申请中追加此类附加权利要求形式的权利。

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