CN116619386A - 用于物体大小测量的机器人系统 - Google Patents

用于物体大小测量的机器人系统 Download PDF

Info

Publication number
CN116619386A
CN116619386A CN202310843958.6A CN202310843958A CN116619386A CN 116619386 A CN116619386 A CN 116619386A CN 202310843958 A CN202310843958 A CN 202310843958A CN 116619386 A CN116619386 A CN 116619386A
Authority
CN
China
Prior art keywords
target object
image information
candidate
objects
movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310843958.6A
Other languages
English (en)
Inventor
出杏光鲁仙
余锦泽
金本芳树
何塞·莫雷拉·罗德里格斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mujin Technology
Original Assignee
Mujin Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mujin Technology filed Critical Mujin Technology
Publication of CN116619386A publication Critical patent/CN116619386A/zh
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39107Pick up article, object, measure, test it during motion path, place it
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40006Placing, palletize, un palletize, paper roll placing, box stacking
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40057Contour tracking, edge following
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45056Handling cases, boxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20164Salient point detection; Corner detection

Abstract

本公开涉及用于物体大小测量的机器人系统。提供了用于物体检测和所检测的物体的机器人控制或拾取的系统和方法。本文描述的系统和方法提供了对物体表面上的最小可行范围的确定和调整以用于机器人拾取。最小可行范围的确定可以提高机器人物体处理的准确性和效率。最小可行范围可用于为移动操作选择抓握区域,其被配置为提供补充图像信息以用于估计目标物体的尺寸。

Description

用于物体大小测量的机器人系统
本申请是申请日为2022年05月17日、申请号为202280003782.7、名称为“用于物体大小测量的机器人系统”的发明专利申请的分案申请。
对相关申请的交叉引用
本申请要求于2021年5月18日提交的题为“A ROBOTIC SYSTEM FOR OBJECT SIZEMEASUREMENT OR MINIMUM VIABLE REGION DETECTION”的第63/189,743号美国临时申请的权益,该美国临时申请的全部内容通过引用并入本文。
技术领域
本技术总体上针对机器人系统,并且更具体地针对用于执行物体大小测量或估计和/或最小可行范围(region)检测的系统、过程和技术。
背景技术
随着它们不断提高的性能和降低的成本,许多机器人(例如,被配置为自动/自主地执行物理动作的机器)现在广泛用于各种不同的领域。例如,机器人可用于在制造和/或组装、填充(packing)和/或打包、运输和/或装运等中执行各种任务(例如,通过空间操纵或转移物体)。在执行任务时,机器人可以复制人类动作,从而替代或减少执行危险或重复性任务另外所需的人类参与。
发明内容
根据本发明的实施例,提供了一种计算系统,该计算系统包括与机器人以及与具有视场的相机通信的至少一个处理电路,该机器人具有臂和连接到该臂的末端执行器,所述至少一个处理电路被配置为,当一个或多个物体处于或者已经处于视场中时,执行存储在非暂时性计算机可读介质上的指令。指令用于获取一个或多个物体的初始图像信息,其中初始图像信息由相机生成;基于初始图像信息检测一个或多个物体的多个角;从多个角中标识目标物体的目标开放角;为目标物体定义最小可行范围(MVR);基于最小可行范围定义非遮挡区域;发送定位命令以用于定位机器人的臂;发送抓握命令以用于在最小可行范围内抓取目标物体;发送移动命令以用于使用机器人的臂基于移动方向、移动距离和移动类型来移动目标物体;获取一个或多个物体的补充图像信息;以及基于补充图像信息计算目标物体的估计尺寸,其中定位命令、抓握命令和移动命令中的至少一个被配置为防止机器人的臂挡住一个或多个物体的非遮挡区域。
另外的实施例提供一种控制机器人系统的方法,该机器人系统包括非暂时性计算机可读介质、与具有视场的相机通信并被配置为执行指令的至少一个处理电路。方法包括获取一个或多个物体的初始图像信息,其中初始图像信息由相机生成;基于初始图像信息检测一个或多个物体的多个角;从多个角中标识目标物体的目标开放角;为目标物体定义最小可行范围(MVR);基于最小可行范围定义非遮挡区域;发送定位命令以用于定位机器人的臂;发送抓握命令以用于在最小可行范围内抓取目标物体;发送移动命令以用于使用机器人的臂基于移动方向、移动距离和移动类型来移动目标物体;获取一个或多个物体的补充图像信息;以及基于补充图像信息计算目标物体的估计尺寸,其中定位命令、抓握命令和移动命令中的至少一个被配置为防止机器人的臂挡住一个或多个物体的非遮挡区域。
在另外的实施例中,提供了一种非暂时性计算机可读介质。非暂时性计算机可读介质包括用于由与具有视场的相机通信并被配置的至少一个处理电路执行的指令,当一个或多个物体处于或者已经处于视场中时,指令被配置用于:获取一个或多个物体的初始图像信息,其中初始图像信息由相机生成;基于初始图像信息检测一个或多个物体的多个角;从多个角中标识目标物体的目标开放角;为目标物体定义最小可行范围(MVR);基于最小可行范围定义非遮挡区域;发送定位命令以用于定位机器人的臂;发送抓握命令以用于在最小可行范围内抓取目标物体;发送移动命令以用于使用机器人的臂基于移动方向、移动距离和移动类型来移动目标物体;获取一个或多个物体的补充图像信息;以及基于补充图像信息计算目标物体的估计尺寸,其中定位命令、抓握命令和移动命令中的至少一个被配置为防止机器人的臂挡住一个或多个物体的非遮挡区域。
附图说明
图1A-1D示出了与本文的实施例一致的用于执行或促进定义最小可行范围的系统。
图2A-2D提供了示出与本文的实施例一致的被配置为执行或促进定义最小可行范围的计算系统的框图。
图2E和图2F示出了与图像分析方法相关联的示例图像信息。
图3A-3H示出了根据本文的实施例的定义最小可行范围的方面。
图4提供了示出根据本文的实施例的定义最小可行范围的方法的流程图。
图5提供了示出根据本文的实施例的估计目标物体的尺寸的方法的流程图。
图6A和6B示出了根据本文的实施例的估计目标物体的尺寸的方面。
具体实施方式
本文描述了用于具有协调转移机制的机器人系统的系统和方法。根据一些实施例配置的机器人系统(例如,每个执行一个或多个指定任务的设备的集成系统)通过协调多个单元(例如,机器人)的操作来自主地执行集成任务。
本文描述的技术为现有的基于计算机的图像识别和机器人控制领域提供了技术改进。技术改进提供了对标识物体的抓持部分的总体速度和可靠性的提高,以提高机器人与物体交互的效率和可靠性。使用图像信息来确定和区分存在于相机视场内的物体,本文描述的过程还通过使用物体的移动来调整和帮助标识一个目标物体的潜在抓持部分来改进现有的图像识别。
特别地,当对每个物体的尺寸(dimension)和位置的标识是未知的或不完全准确地已知时,本文描述的本技术帮助机器人系统与多个物体中的特定物体交互。例如,如果多个物体彼此齐平放置,则现有的基于计算机的图像识别可能难以标识每个物体以及可靠且准确地指示机器人系统如何与物体交互。特别地,如果物体的尺寸未被准确标识,则机器人系统可能不清楚一个物体结束并且另一个物体开始的位置。因此,系统冒着试图在与其他物体相交的位置抓握物体的风险。在这样的情况下,系统可能无法抓握任一物体。尽管物体的确切尺寸可能不完全准确地已知,但本文提供的系统和方法提供了快速且可靠地标识物体的至少一部分(例如,最小可行范围)的能力,该物体可能被机械臂抓握而无需标识或确定物体的确切边缘。此外,系统可以被配置为调整抓取物体的位置。如果物体在某些位置(例如,偏离中心的位置)被抓取,则运输该物体可能困难。本文提供的系统和方法可以在机械臂初始抓握之后使用物体的移动来确定物体的确切尺寸并基于更新的尺寸来调整或改变机器人如何与物体交互。
在以下中,具体细节被阐述以提供对当前公开的技术的理解。在实施例中,本文介绍的技术可被实践而不包括本文公开的每个具体细节。在其他情况下,诸如具体功能或例程的众所周知的特征未被详细描述以避免不必要地混淆本公开。本说明书中对“实施例”、“一个实施例”等的引用意味着正在描述的特定特征、结构、材料或特性包括在本公开的至少一个实施例中。因此,本说明书中的这样的短语的出现不一定都指相同的实施例。另一方面,这样的引用也不一定是相互排斥的。此外,特定特征、结构、材料或特性可以在一个或多个实施例中以任何合适的方式组合。应当理解,图中所示的各种实施例仅仅是说明性的表示并且不一定按比例绘制。
为清楚起见,描述众所周知且通常与机器人系统和子系统相关联但可能不必要地混淆所公开技术的一些重要方面的结构或过程的若干细节在以下描述中未被阐述。此外,尽管以下公开阐述了本技术的不同方面的若干实施例,但若干其他实施例可具有与本部分中描述的那些不同的配置或不同的组件。因此,所公开的技术可以具有带有附加元素或没有下面描述的元素中的若干元素的其他实施例。
下面描述的本公开的许多实施例或方面可以采取计算机或控制器可执行指令的形式,包括由可编程计算机或控制器执行的例程。相关领域的技术人员将理解,所公开的技术可以在除了下面所示和描述的那些之外的计算机或控制器系统上或通过其实践。本文描述的技术可以体现在专用计算机或数据处理器中,该专用计算机或数据处理器被具体编程、配置或构造为执行下述计算机可执行指令中的一个或多个。因此,如本文通常使用的术语“计算机”和“控制器”是指任何数据处理器,并且可以包括互联网工具和手持设备(包括掌上型计算机、可穿戴计算机、蜂窝或移动电话、多处理器系统、基于处理器或可编程的消费电子产品、网络计算机、小型计算机等)。这些计算机和控制器处理的信息可以在包括液晶显示器(LCD)的任何合适的显示介质上呈现。用于执行计算机或控制器可执行任务的指令可以存储在包括硬件、固件或硬件和固件的组合的任何合适的计算机可读介质中或上。指令可以包含在包括例如闪存驱动器、USB设备和/或其他合适的介质的任何合适的存储器设备中。
术语“耦合”和“连接”以及它们的派生词在本文中可以用来描述组件之间的结构关系。应该理解,这些术语不旨在作为彼此的同义词。相反,在特定实施例中,“连接”可用于指示两个或更多个元素彼此直接接触。除非上下文中另有明确说明,否则术语“耦合”可用于指示两个或更多个元素直接或间接(通过它们之间的其他插入元素)彼此接触,或者两个或多个元素彼此合作或交互(例如,如在因果关系中,诸如用于信号传输/接收或功能调用),或两者兼而有之。
本文对通过计算系统进行的图像分析的任何参考可以根据或使用空间结构信息来执行,该空间结构信息可以包括描述相对于所选点的各种位置的相应深度值的深度信息。深度信息可用于标识物体或估计物体如何在空间上排列。在某些情况下,空间结构信息可包括或可用于生成描述物体的一个或多个表面的位置的点云。空间结构信息仅仅是可能的图像分析的一种形式,并且本领域技术人员已知的其他形式可以根据本文描述的方法使用。
图1A示出了用于执行物体检测或者更具体的物体识别的系统1500。更特别地,系统1500可以包括计算系统1100和相机1200。在此示例中,相机1200可以被配置为生成图像信息,该图像信息描述或以其他方式表示相机1200所处的环境,或更具体地表示相机1200的视场(也被称为相机视场)中的环境。环境可以是例如仓库、制造工厂、零售空间或其他场所。在这样的情况下,图像信息可以表示位于这样的场所的物体,诸如盒子、柜子、箱子、板条箱或其他容器。系统1500可以被配置为诸如通过使用图像信息在相机视场中的各个物体之间进行区分来生成、接收和/或处理图像信息以基于图像信息执行物体识别或物体注册,和/或基于图像信息执行机器人交互计划,如下面更详细地讨论的(在本公开中术语“和/或”和“或”可互换使用)。机器人交互计划可以用于例如控制场所处的机器人以促进机器人与容器或其他物体之间的机器人交互。计算系统1100和相机1200可以位于相同的场所,或者可以彼此远离。例如,计算系统1100可以是托管在远离仓库或零售空间的数据中心中的云计算平台的一部分,并且可以经由网络连接与相机1200通信。
在实施例中,相机1200(其也可以被称为图像感测设备)可以是2D相机和/或3D相机。例如,图1B示出了系统1500A(其可以是系统1500的实施例),该系统1500A包括计算系统1100以及相机1200A和相机1200B,相机1200A和相机1200B两者都可以是相机1200的实施例。在此示例中,相机1200A可以是被配置为生成2D图像信息的2D相机,该2D图像信息包括或形成描述相机的视场中的环境的视觉外观的2D图像。相机1200B可以是被配置为生成3D图像信息的3D相机(也被称为空间结构感测相机或空间结构感测设备),该3D图像信息包括或形成关于相机的视场中的环境的空间结构信息。该空间结构信息可以包括深度信息(例如,深度图),该深度信息描述了相对于相机1200B的各种位置的相应深度值,诸如相机1200的视场中各种物体的表面上的位置。相机的视场中或物体的表面上的这些位置也可被称为物理位置。在此示例中,深度信息可以用于估计物体如何被空间地布置在三维(3D)空间中。在某些情况下,空间结构信息可以包括或可以用于生成点云,该点云描述了相机1200B的视场中物体的一个或多个表面上的位置。更具体地,空间结构信息可以描述物体的结构(也被称为物体结构)上的各种位置。
在实施例中,系统1500可以是用于促进机器人与相机1200的环境中的各种物体之间的机器人交互的机器人操作系统。例如,图1C示出了机器人操作系统1500B,其可以是图1A和图1B的系统1500/1500A的实施例。机器人操作系统1500B可以包括计算系统1100、相机1200和机器人1300。如上所述,机器人1300可以用于与相机1200的环境中的一个或多个物体(诸如与盒子、板条箱、柜子或其他容器)交互。例如,机器人1300可以被配置为从一个位置拾取容器并将它们移动到另一位置。在某些情况下,机器人1300可以用于执行在其中一组容器或其他物体被卸载并移动到例如传送带的卸垛操作。在某些实现中,相机1200可以被附接到机器人1300,诸如被附接到机器人1300的机械臂3320。在某些实现中,相机1200可以与机器人1300分开。例如,相机1200可以被安装到仓库的天花板或其他结构,并且可以相对于该结构保持固定。
在实施例中,图1A-1C的计算系统1100可以形成或集成到机器人1300,其也被称为机器人控制器。机器人控制系统可以被包括在系统1500B中,并且可以被配置为例如为机器人1300生成命令,诸如用于控制机器人1300与容器或其他物体之间的机器人交互的机器人交互移动命令。在这样的实施例中,计算系统1100可以被配置为基于例如由相机1200生成的图像信息来生成这样的命令。例如,计算系统1100可以被配置为基于图像信息确定运动计划,其中运动计划可以旨在用于例如抓持或以其他方式拾取物体。计算系统1100可生成一个或多个机器人交互移动命令以执行运动计划。
在实施例中,计算系统1100可以形成视觉系统或是视觉系统的一部分。视觉系统可以是生成例如视觉信息的系统,该视觉信息描述机器人1300所处的环境,或替代地或附加地,描述相机1200所处的环境。视觉信息可以包括上面讨论的3D图像信息和/或2D图像信息,或某些其他图像信息。在某些情况下,如果计算系统1100形成视觉系统,则视觉系统可以是上面讨论的机器人控制系统的一部分,或者可以与机器人控制系统分开。如果视觉系统与机器人控制系统是分开的,则视觉系统可以被配置为输出描述机器人1300所处的环境的信息。信息可以被输出到机器人控制系统,该机器人控制系统可以从视觉系统接收这样的信息并且基于该信息来执行运动计划和/或生成机器人交互移动命令。关于视觉系统的进一步信息在下面详细说明。
在实施例中,计算系统1100可以经由直接连接(诸如,经由专用有线通信接口(诸如,RS-232接口、通用串行总线(USB)接口)和/或经由本地计算机总线(诸如外围组件互连(PCI)总线)提供的连接)与相机1200和/或机器人1300进行通信。在实施例中,计算系统1100可以经由网络与相机1200和/或与机器人1300通信。网络可以是任何类型和/或形式的网络,诸如个人局域网(PAN)、局域网(LAN)(例如,内联网)、城域网(MAN)、广域网(WAN))或互联网。网络可以利用不同的技术和协议层或协议栈,包括例如以太网协议、互联网协议套件(TCP/IP)、ATM(异步传输模式)技术、SONET(同步光网络)协议或SDH(同步数字体系)协议。
在实施例中,计算系统1100可以与相机1200和/或与机器人1300直接通信信息,或者可以经由中间存储设备或更一般地经由中间非暂时性计算机可读介质进行通信。例如,图1D示出了可以是系统1500/1500A/1500B的实施例的系统1500C,该系统1500C包括非暂时性计算机可读介质1400,该非暂时性计算机可读介质1400可以在计算系统1100的外部,并且可以充当外部缓冲器或用于存储例如由相机1200生成的图像信息的存储库。在这样的示例中,计算系统1100可以检索或以其他方式接收来自非暂时性计算机可读介质1400的图像信息。非暂时性计算机可读介质1400的示例包括电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或其任何合适的组合。非暂时性计算机可读介质可以形成例如计算机软盘、硬盘驱动器(HDD)、固态驱动器(SDD)、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能磁盘(DVD)和/或记忆棒。
如上所述,相机1200可以是3D相机和/或2D相机。2D相机可以被配置为生成2D图像,诸如彩色图像或灰度图像。3D相机可以是例如深度感测相机,诸如飞行时间(TOF)相机或结构化光相机,或任何其他类型的3D相机。在某些情况下,2D相机和/或3D相机可以包括图像传感器,诸如电荷耦合器件(CCD)传感器和/或互补金属氧化物半导体(CMOS)传感器。在实施例中,3D相机可以包括激光器、LIDAR设备、红外设备、明/暗传感器、运动传感器、微波检测器、超声检测器、RADAR检测器或被配置为捕获深度信息或其他空间结构信息的任何其他设备。
如上所述,图像信息可以由计算系统1100处理。在实施例中,计算系统1100可以包括或被配置为服务器(例如,具有一个或多个服务器刀片、处理器等)、个人计算机(例如,台式计算机、膝上型计算机等)、智能电话、平板计算设备和/或其他任何其他计算系统。在实施例中,计算系统1100的任何或所有功能可以作为云计算平台的一部分来执行。计算系统1100可以是单个计算设备(例如,台式计算机),或者可以包括多个计算设备。
图2A提供了示出计算系统1100的实施例的框图。本实施例中的计算系统1100包括至少一个处理电路1110和非暂时性计算机可读介质(或多个介质)1120。在某些情况下,处理电路1110可以包括被配置为执行存储在非暂时性计算机可读介质1120(例如,计算机存储器)上的指令(例如,软件指令)的处理器(例如,中央处理单元(CPU)、专用计算机和/或板载服务器)。在某些实施例中,处理器可以包括在可操作地耦合到其他电子/电气设备的单独/独立控制器中。处理器可以实现程序指令以控制其他设备/与其他设备接口,从而使计算系统1100执行动作、任务和/或操作。在实施例中,处理电路1110包括一个或多个处理器、一个或多个处理核、可编程逻辑控制器(“PLC”)、专用集成电路(“ASIC”)、可编程门阵列(“PGA”)、现场可编程门阵列(“FPGA”)、其任何组合或任何其他处理电路。
在实施例中,作为计算系统1100的一部分的非暂时性计算机可读介质1120可以是上面讨论的中间非暂时性计算机可读介质1400的替代或附加。非暂时性计算机可读介质1120可以是存储设备,诸如电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或其任何合适的组合,例如,诸如计算机软盘、硬盘驱动器(HDD)、固态驱动器(SDD)、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、其任何组合或任何其他存储设备。在某些情况下,非暂时性计算机可读介质1120可以包括多个存储设备。在某些实现中,非暂时性计算机可读介质1120被配置为存储由相机1200生成并由计算系统1100接收的图像信息。在某些情况下,非暂时性计算机可读介质1120可以存储用于执行物体识别操作的一个或多个模型模板。非暂时性计算机可读介质1120可以替代地或可附加地存储计算机可读程序指令,该计算机可读程序指令在由处理电路1110执行时,使处理电路1110执行这里描述的一种或多种方法。
图2B描绘了计算系统1100A,其是计算系统1100的实施例并且包括通信接口1130。通信接口1130可以被配置为例如接收由图1A-1D的相机1200生成的图像信息。可以经由以上讨论的中间非暂时性计算机可读介质1400或网络,或者经由相机1200与计算系统1100/1100A之间的更直接的连接来接收图像信息。在实施例中,通信接口1130可以被配置为与图1C的机器人1300通信。如果计算系统1100在机器人控制系统外部,则计算系统1100的通信接口1130可以被配置为与机器人控制系统进行通信。通信接口1130也可以被称为通信组件或通信电路,并且可以包括例如被配置为通过有线或无线协议执行通信的通信电路。作为示例,通信电路可以包括RS-232端口控制器、USB控制器、以太网控制器、控制器、PCI总线控制器、任何其他通信电路或其组合。
在实施例中,如图2C中所示,非暂时性计算机可读介质1120可以包括被配置为存储本文讨论的一个或多个数据对象(data objects)的模板存储空间1128。例如,存储空间可以存储模型模板、机械臂移动命令以及计算系统1100B可能需要访问的任何附加数据对象。
在实施例中,处理电路1110可以由存储在非暂时性计算机可读介质1120上的一个或多个计算机可读程序指令编程。例如,图2D示出了计算系统1100C,其是计算系统1100/1100A/1100B的实施例,其中处理电路1110由包括物体识别模块1121、最小可行范围(MVR)模块1122和运动计划模块1129的一个或多个模块编程。
在实施例中,物体识别模块1121可被配置为获取和分析图像信息,如贯穿本发明所讨论的。本文讨论的关于图像信息的方法、系统和技术可以使用物体识别模块。
MVR确定模块1122可以被配置为根据图像信息和由物体识别模块1121执行或获取的分析来计算、确定和/或标识最小可行范围。本文关于MVR确定而讨论的方法、系统和技术可由MVR确定模块1122执行。
运动计划模块1129可以被配置为计划机器人的移动。例如,运动计划模块1129可以导出各个放置位置/朝向,计算对应的运动计划,或其组合以用于抓取和移动物体。本文讨论的关于机械臂移动的方法、系统和技术可以由运动计划模块1129执行。
参考图2E、2F和3A,解释了与可以被执行用于图像分析的物体识别模块1121相关的方法。图2E和2F示出了与图像分析方法相关联的示例图像信息,而图3A示出了与图像分析方法相关联的示例机器人环境。本文中与由计算系统进行的图像分析相关的参考可以根据或使用空间结构信息来执行,该空间结构信息可以包括描述相对于所选点的各种位置的相应深度值的深度信息。深度信息可用于标识物体或估计物体如何在空间上排列。在某些情况下,空间结构信息可包括或可用于生成描述物体的一个或多个表面的位置的点云。空间结构信息仅仅是可能的图像分析的一种形式,并且本领域技术人员已知的其他形式可以根据本文描述的方法使用。
在实施例中,计算系统1100可以获取表示相机(例如,1200/3200)的相机视场(例如,3210)中的物体的图像信息。在某些情况下,物体可以是相机1200/3200的相机视场3210中的一个或多个物体(例如,3510-3540)的第一物体(例如,3510)。在该组物体3000A/3000B/3000C/3000D处于(或已经处于)相机视场3210中时,图像信息2600、2700可以由相机(例如,1200/3200)生成并且可以描述各个物体中的一个或多个。物体外观从相机1200/3200的视点描述了物体3000A/3000B/3000C/3000D的外观。如果在相机视场中有多个物体,则相机可以根据需要生成表示多个物体或单个物体的图像信息。当该组物体处于(或已经处于)相机视场中时,图像信息可以由相机(例如,1200/3200)生成,并且可以包括例如2D图像信息和/或3D图像信息。
作为示例,图2E描绘了第一组图像信息,或更具体地,2D图像信息2600,如上所述,其由相机3200生成并且表示图3A的物体3000A/3000B/3000C/3000D/3550。更具体地,2D图像信息2600可以是灰度或彩色图像并且可以从相机3200的视点来描述物体3000A/3000B/3000C/3000D/3550的外观。在实施例中,2D图像信息2600可以对应于彩色图像的单个颜色通道(例如,红色、绿色或蓝色通道)。如果相机3200被布置在物体3000A/3000B/3000C/3000D/3550上方,则2D图像信息2600可以表示物体3000A/3000B/3000C/3000D/3550的相应顶表面的外观。在图2E的示例中,2D图像信息2600可以包括表示物体3000A/3000B/3000C/3000D/3550的相应表面的相应部分2000A/2000B/2000C/2000D/2550,也被称为图像部分。在图2E中,2D图像信息2600的每个图像部分2000A/2000B/2000C/2000D/2550可以是图像范围,或更具体地,像素范围(如果图像由像素形成)。2D图像信息2600的像素范围中的每个像素可以被表征为具有由一组坐标[U,V]描述的位置并且可以具有相对于相机坐标系或某个其他坐标系的值,如图2E和2F所示。每个像素还可以具有强度值,诸如介于0和255或0和1023之间的值。在另外的实施例中,每个像素可以包括与各种格式的像素相关联的任何附加信息(例如,色调、饱和度、强度、CMYK、RGB等)。
如上所述,在某些实施例中,图像信息可以是图像的全部或部分,诸如2D图像信息2600。例如,计算系统3100可以被配置为从2D图像信息2600中提取图像部分2000A以获取仅与对应物体3000A相关联的图像信息。例如,计算系统3100可以基于2D图像信息2600和/或图2F中所示的3D图像信息2700通过执行图像分段操作来提取图像部分2000A。在某些实现中,图像分段操作可以包括检测2D图像信息2600中物体的物理边缘(例如,盒子的边缘)出现的图像位置并且使用这样的图像位置来标识仅限于表示相机视场(例如,3210)中的单个物体的图像部分(例如,5610)。
图2F描绘了其中图像信息是3D图像信息2700的示例。更特别地,3D图像信息2700可以包括例如指示物体3000A/3000B/3000C/3000D/3550的一个或多个表面(例如,顶表面或其他外表面)上的各种位置的相应深度值的深度图或点云。在某些实现中,用于提取图像信息的图像分段操作可以涉及检测3D图像信息2700中物体的物理边缘(例如,盒子的边缘)出现的图像位置并且使用这样的图像位置来标识仅限于表示相机视场(例如,3000A)中的单个物体的图像部分(例如,2730)。
相应深度值可以相对于生成3D图像信息2700的相机3200,或者可以相对于某个其他参考点。在某些实现中,3D图像信息2700可以包括点云,该点云包括相机视场(例如,3210)中的物体的结构上的各种位置上的相应坐标。在图2F的示例中,点云可以包括描述物体3000A/3000B/3000C/3000D/3550的相应表面上的位置的相应坐标组。坐标可以是3D坐标,诸如[X Y Z]坐标,并且可以具有相对于相机坐标系或某个其他坐标系的值。例如,3D图像信息2700可以包括指示物体3000D的表面上也被称为物理位置的一组位置27101-2710n的相应深度值的第一部分2710(也被称为图像部分)。此外,3D图像信息2700还可以包括第二、第三和第四部分2720、2730和2740。然后这些部分还可以指示可以分别由27201-2720n、27301-2730n和27401-2740n表示的一组位置的相应深度值。这些图仅仅是示例,并且可以使用具有对应的图像部分的任何数量的物体。与上述类似,获取的3D图像信息2700在某些情况下可以是由相机生成的第一组3D图像信息2700的一部分。在图2E的示例中,如果获取的3D图像信息2700表示图3A的第一物体3000A,则3D图像信息2700可被缩小为仅参考图像部分2710。
在实施例中,作为获取图像信息的一部分,可以由计算系统1100执行图像归一化操作。图像归一化操作可以涉及变换由相机3200生成的图像或图像部分,以便生成变换后的图像或变换后的图像部分。例如,如果获取的可以包括2D图像信息2600、3D图像信息2700或两者的组合的图像信息可经历图像归一化操作,以试图使图像信息在与视觉描述信息相关联的视点、物体姿势、照明条件中被改变。这样的归一化可被执行以促进图像信息和模型(例如,模板)信息之间的更准确比较。视点可以指物体相对于相机3200的姿势,和/或当相机3200生成表示物体的图像时相机3200正在观察物体的角度。
例如,图像信息可以在物体识别操作期间生成,其中目标物体在相机视场3210中。当目标物体具有相对于相机的具体姿势时,相机3200可以生成表示目标物体的图像信息。例如,目标物体可以具有使其顶表面垂直于相机3200的光轴的姿势。在这样的示例中,相机3200生成的图像信息可以表示具体的视点,诸如目标物体的顶视图。在某些情况下,当相机3200在物体识别操作期间生成图像信息时,图像信息可以在诸如照明强度的特定照明条件下生成。在这样的情况下,图像信息可以表示特定的照明强度、照明颜色或其他照明条件。
在实施例中,图像归一化操作可以涉及调整由相机生成的场景的图像或图像部分,以使图像或图像部分更好地匹配与模型模板的信息相关联的视点和/或照明条件。调整可以涉及变换图像或图像部分以生成与和模型模板的视觉描述信息相关联的物体姿势或照明条件中的至少一个相匹配的变换后的图像。
视点调整可以涉及场景的图像的处理、卷绕和/或移位,使得图像表示与模型模板中的视觉描述信息相同的视点。例如,处理包括改变图像的颜色、对比度或照明,场景的卷绕可包括更改图像的大小、尺寸或比例,而图像的移位可能包括更改图像的位置、朝向或旋转。在示例实施例中,处理、卷绕和/或移位可用来改变场景的图像中的物体以具有匹配或更好地对应于模型模板的视觉描述信息的朝向和/或大小。如果模型模板描述了某个物体的正面视图(head-on view)(例如,顶视图),则场景的图像可能会被卷绕,以便也表示场景中物体的正面视图。
在各种实施例中,术语“计算机可读指令”和“计算机可读程序指令”被用于描述被配置为执行各种任务和操作的软件指令或计算机代码。在各种实施例中,术语“模块”广义上是指被配置为使处理电路1110执行一个或多个功能任务的软件指令或代码的集合。当处理电路或其他硬件组件正在执行模块或计算机可读指令时,模块和计算机可读指令可以被描述为执行各种操作或任务。
本公开的一个方面涉及能够执行物体检测(也被称为物体识别)、物体大小测量和/或最小可行范围检测的机器人系统或任何其他计算系统。物体检测或大小测量可以涉及确定场景中单个物体的尺寸或确定单个物体的边界。该物体可以是一组物体的一部分,诸如作为一组物体的一部分的盒子。例如,机器人系统可以执行物体检测操作作为卸垛操作的一部分,其中机器人系统接收相机数据,该相机数据捕获具有一托盘物体的场景,其中托盘的每一层都有彼此靠近放置的物体。
此场景中的物体检测可以涉及处理或分析相机数据(图像信息)以在托盘的特定层上的各个物体当中进行区分,以便能够从该层上的其他物体区分出一个单个物体。当此托盘物体彼此全部齐平放置时,问题出现,使得机器人系统难以检测或将这些物体彼此分离。本文所述的过程可以允许机器人系统标识物体的大小和/或边界,以便生成用于从托盘拾取单个物体并将其移动到别处的计划。在某些实现中,机器人系统可以为场景中的物体标识至少一个最小可行范围。最小可行范围是对特定物体的潜在轮廓或尺寸的估计。因此,机器人系统可以在不知道物体确切尺寸的情况下,用末端执行器装置(例如抓手)在最小可行范围抓取单个物体。物体的最小可行范围表示物体顶表面上的范围,该范围被估计为完全存在于单个物体的表面上。因此,试图在此范围内抓握物体确保末端执行器装置仅接触单个物体而不延伸超过物体的边缘。如本文所讨论的,最小可行范围确定可以提高物体移动机械臂的准确性和速度。
在以上示例中,物体可以是例如托盘或其他平台上放置在其他物体旁边的盒子或其他物体。如果相机生成了捕获具有多个物体的场景的图像,则图像本身对于用于在不同物体之间进行区分的目的来说可能不完全可靠。例如,虽然某些相机可能能够生成指示场景中各种位置的深度值的图像,但如果多个物体具有相同的高度或以其他方式与相机的距离相同,则图像可以指示覆盖多个物体顶表面的范围的基本上统一的深度值,特别是如果多个物体紧密填充在一起。因此,这样的图像可以提供有限的信息以用于从多个物体之中标识各个物体的目的。虽然某些相机可能能够生成捕获物体的视觉外观的图像,诸如它们的顶表面,但这些顶表面可能有印在他们上面的线或其他视觉标记。因此,这样的图像可以包括线,但是每条线可以与物体中的一个的边界(例如,第一或第二边缘)相关联,或者可以仅仅是视觉标记(例如,其可能是假边缘)。因此,本文提供的系统和方法可用于确定物体表面的最小可行范围。最小可行范围表示物体顶表面上的范围,该范围被估计完全存在于单个物体的表面上。最小可行范围可以由物体的实际物理边缘和/或物体的假边缘界定。如果系统不能容易地区分假边缘和物理边缘,则这种不能可以通过定义最小可行范围的方法来解释,如下所述。
图3A-3H示出了其中可以执行本文描述的过程和方法的示例环境。图3A描绘了具有包括计算系统3100(例如,计算系统1100的实施例)、机器人3300和相机3200的系统3500(其可以是图1A-1D的系统1500/1500A/1500B/1500C的实施例)的环境。相机3200可以是相机1200的实施例,并且可以被配置为生成图像信息,该图像信息表示相机3200的相机视场3210中的场景,或更具体地表示相机视场3210中的物体,诸如物体3000A、3000B、3000C和3000D。在一个示例中,物体3000A-3000D中的每一个可以是例如诸如盒子或板条箱的容器,而物体3550可以是例如其上布置有容器的托盘。
在实施例中,图3A的系统3500可以包括一个或多个光源,诸如光源3600。光源3600可以是例如发光二极管(LED)、卤素灯或任何其他光源,并且可以被配置为朝着物体3000A–3000D的表面发射可见光、红外辐射或任何其他形式的光。在某些实现中,计算系统3100可以被配置为与光源3600通信以控制光源3600何时被激活。在其他实现中,光源3600可以独立于计算系统3100操作。
在实施例中,系统3500可以包括相机3200或多个相机3200,包括被配置为生成2D图像信息2600的2D相机和被配置为生成3D图像信息2700的3D相机。2D图像信息2600(例如,彩色图像或灰度图像)可以描述相机视场3210中一个或多个物体(诸如物体3000A/3000B/3000C/3000D)的外观。例如,2D图像信息2600可以捕获或以其他方式表示布置在物体3000A/3000B/3000C/3000D的相应外表面(例如,顶表面)上的视觉细节,和/或那些外表面的轮廓。在实施例中,3D图像信息可以描述物体3000A/3000B/3000C/3000D/3550中的一个或多个的结构,其中物体的结构也可以被称为物体结构或物体的物理结构。例如,3D图像信息2700可以包括深度图,或更一般地包括深度信息,其可以描述相机视场3210中的各种位置相对于相机3200或相对于某个其他参考点的相应深度值。对应于相应深度值的位置可以是相机视场3210中各种表面上的位置(也被称为物理位置),诸如物体3000A/3000B/3000C/3000D/3550的相应顶表面上的位置。在某些情况下,3D图像信息2700可以包括点云,该点云可以包括多个3D坐标,该3D坐标描述了相机视场3210中的物体3000A/3000B/3000C/3000D/3550或某些其他物体的一个或多个外表面上的各种位置。点云如图2F所示。
在图3A的示例中,机器人3300(其可以是机器人1300的实施例)可以包括机械臂3320,该机械臂3320具有附接到机器人基座3310的一端,并且具有附接到末端执行器装置3330或由末端执行器装置3330形成的另一端,诸如机器人抓手。机器人基座3310可用于安装机械臂3320,而机械臂3320,或更具体地,末端执行器装置3330,可用于与机器人3300的环境中的一个或多个物体交互。交互(也被称为机器人交互)可以包括例如抓持或以其他方式拾取物体3000A–3000D中的至少一个。例如,机器人交互可以是卸垛操作的一部分,在该操作中机器人3300用于从托盘拾取物体3000A–3000D并将物体3000A–3000D移动到目的地位置。末端执行器装置3330可具有吸盘或其他组件以用于抓握或抓取物体。末端执行器装置3330可以被配置为使用吸盘或其他抓握组件,通过例如经由顶表面与物体的单个面或表面接触来抓握或抓取物体。
机器人3300还可以包括附加传感器,其被配置为获取用于执行任务的信息,任务诸如用于操纵结构构件和/或用于运输机器人单元。传感器可以包括被配置为检测或测量机器人3300和/或周围环境的一种或多种物理特性(例如,其一个或多个结构构件/关节的状态、条件和/或位置)。传感器的某些示例可以包括加速度计、陀螺仪、力传感器、应变仪、触觉传感器、扭矩传感器、位置编码器等。
图3B描绘了图3A的物体3000A、3000B、3000C和3000D的顶视图。每个物体3000A-3000D包括表面3001、多个角3002,以及在此示例中,开放角3004。如本文所用,“开放角”是指多个角3002中不与另一个物体3000相邻的任何角。开放角可以由物体的顶表面的两个边缘形成,这些边缘本身不与另一个物体毗邻。在示例中,两个边缘可以包括两个水平边缘。对于被视为开放的角,不要求整个两个边缘都没有相邻的物体。参考图3C,其中描绘物体3000A-3000D的特写顶视图,每个物体3000A-3000D的附加特征被描绘。在二维描绘中,物体3000A可以具有由四个边缘(纵向物理边缘3013、横向物理边缘3015、横向物理边缘3017和纵向物理边缘3019)定义的表面。在所示的示例实施例中,横向物理边缘3015和纵向物理边缘3013不与任何相邻物体的边缘相邻或齐平,因此可以被称为开放边缘。在所示的示例实施例中,横向物理边缘3017和纵向物理边缘3019与相邻物体3000B和3000D的边缘相邻并且齐平,因此可以被称为闭合边缘。使用术语“纵向”和“横向”来指代上述边缘并不意味着要求物体和/或边缘的具体朝向。通常,对于近似矩形的物体,纵向边缘相邻于(并且接近垂直于)横向边缘。如本文所用,纵向和横向仅指在一个物体或一组物体的上下文内的具体方向,而不是指具体的绝对方向。物体3000A、3000B和3000D的定位可能使计算系统3100更难以区分每个物体的特征。
用于确定开放角3004的最小可行范围的方法4000在图4中描绘。方法4000可以存储在非暂时性计算机可读介质上并且可以由至少一个处理电路执行,其中至少一个处理电路与具有视场的相机通信。
在操作中,方法4000包括获取表示一个或多个物体3000(例如物体3000A-3000D)的物理特性的图像信息的操作4002。图像信息由相机3200生成并且描述与一个或多个物体相关联的至少物体外观,其中每个物体包括多个边缘。图3A描绘了获取或生成图像信息。在实施例中,图像信息是在三维或透视图中获取的,并且为了提高方法的准确性,视点被移位到二维视图。视点调整可以涉及图像信息的处理、卷绕和/或移位。处理可以包括改变图像信息的颜色、对比度或照明,场景的卷绕可包括更改图像信息的大小、尺寸或比例,并且图像信息的移位可包括更改图像信息的位置、朝向或旋转。卷绕可以涉及确定单应性,该单应性定义卷绕变换,该变换将图像信息从以三维描述物体变换为以二维描述物体,例如顶视图。在某些情况中,卷绕可以描述将图像信息与期望的二维视图的对应点(例如角)匹配的旋转和/或平移。
在实施例中,下面描述的计算和方法可以在相机不再对一个或多个物体成像之后或者在一个或多个物体已经离开视场之后执行。
在操作中,方法4000包括用于基于图像信息检测多个物体3000的多个角3002的操作4004。为了检测存在的任何角,计算系统1100/3100可以使用多种方法。例如,角检测可能涉及边缘检测和边缘相交的后续确定。边缘检测可以基于对2D和3D图像信息(例如,点云信息)的分析来执行。边缘检测可以包括,例如,(i)2D图像分析以标识2D图像内可能表示物体之间边界的线或边缘,(ii)涉及层分段和检测不同高度/深度的点云分析以检测边缘,或者(iii)2D或3D图像分析以标识开放边缘。本文描述的示例仅作为示例,并且边缘检测还可以适当包括替代技术。
边缘检测可以包括例如2D图像分析以标识2D图像内可能表示物体之间边界的线或边缘。这样的分析可以标识2D图像内可能表示边缘的视觉不连续性。例如,这样的分析可以包括例如对像素强度不连续条件或尖峰像素强度条件的分析。满足定义的像素强度不连续条件可以包括使用像素强度值的更改,或更具体地,使用具有不同像素强度的范围之间的像素强度值的导数或梯度。梯度或导数然后可用来检测存在于边缘或角处的像素强度中的尖峰,特别地,当垂直于边缘或角移动时。此外,计算系统1100/3100可以应用二进制阈值来标识像素强度的差异,以便定义相邻像素之间的尖峰或不连续性,标识边缘或角。
边缘检测可以包括例如涉及层分段和检测不同高度/深度的点云分析以检测边缘。相邻物体可能具有不同的高度。因此,点云(3D图像信息)中不同高度(或深度)的检测可用于检测物体之间的边缘。因此,计算系统1100/3100可以根据满足定义的深度不连续条件的点云的部分来检测边缘。
在另外的示例中,边缘检测可以通过检测缺少相邻物体的物理边缘来执行。在物体缺少相邻物体的情况下,例如,在物体位于一组物体的外周边的情况下,该组物体的边缘可以被检测为相关联的各个物体的物理边缘。
在实施例中,用于边缘检测的任何上述方法可以与每个或与其他边缘检测方法组合以提高边缘检测的准确性或可靠性。
在操作中,方法4000包括从多个角3002中标识开放角3004的操作4005。如上所述,“开放角”是指多个角3002中不与另一个物体3000相邻的角。在实施例中,系统可以被配置为标识多个角,并且一旦角3002被标识,就从角3002当中的开放角中选择开放角,诸如目标开放角3004A。在实施例中,多个角3002中的每一个可以是开放角,因为角检测操作4004可以基于通过相邻物体的缺少来标识的物理边缘来检测角。此外,当标识目标开放角时,系统可以识别开放角不与另一个物体相邻。目标m开放角3004A可以是单个目标开放角。
开放角(也称为凸角或外角)可以通过对3D图像信息(例如以点云的形式)的分析来标识,如上所述。开放角可以被标识,例如,通过标识点云内的顶点(例如,基于边缘相交或其他方式)然后使标识的顶点服从一个或多个标准(例如,长度、深度、宽度、正交性标准),以确定它们是否表示开放角。关于使用图像信息来标识角和潜在边缘的另外的细节可以在2020年4月7日发出的第10,614,340号美国专利中找到,该美国专利通过引用整体并入。
如上所述并参考图3C,其中描绘了物体3000A-3000D的扩展顶视图,每个物体3000A-3000D的附加特征被描绘。在二维描绘中,物体3000A可以具有由四个边缘(纵向物理边缘3013、横向物理边缘3015、横向物理边缘3017和纵向物理边缘3019)定义的表面。在所示的示例实施例中,横向物理边缘3017和纵向物理边缘3019与相邻物体3000B和3000D的边缘相邻并且齐平。如前所述,物体3000A、3000B和3000D的这样的定位可能使计算系统3100更难以区分每个物体的特征。
在操作中,方法4000包括为目标开放角3004A定义如图3E和3G所示的最小可行范围3006的操作4006。最小可行范围3006表示可以被机械臂3320的末端执行器装置3330抓取以移动物体3000的物体3000的表面3001上与目标开放角3004A相关联的范围。如上所述,机械臂3320可以使用例如末端执行器装置3330的吸力抓持以通过顶表面抓握物体,诸如包括目标开放角3004A的目标物体。物体的最小可行范围3006表示物体的顶表面上的范围,该范围被估计为完全存在于单个物体的表面上。因此,试图在由最小可行范围3006定义的范围内抓握目标物体可以确保末端执行器装置3330仅接触目标物体(例如,单个物体)而不延伸越过目标物体的边缘,使得当抓握目标物体时相邻的物体没有也被抓握。在物体3000的边缘与其他物体相邻或接触的情况下,计算系统1100/3100可能难以标识或花费更长的时间来标识物体的确切尺寸。因此,可能难以准确地定义机械臂3320可以安全地抓取物体3000而不延伸超过物体3000的边缘和/或接触另一个单独的物体的范围。因此,最小可行范围3006基于估计的或潜在的尺寸来定义范围,其中机械臂3320可以在不知道物体3000的确切尺寸的情况下抓取物体3000。最小可行范围3006旨在定义其中机械臂3320可以抓取物体3000的范围。应当理解,最小可行范围3006的大小可以不同于,有时甚至显著地不同于其在上面被发现的物体3000的大小。操作4008-4016描绘了最小可行范围3006如何被计算和验证。
在操作中,方法4000包括用于生成多个候选边缘段的操作4008。多个候选边缘段可以包括多个横向候选边缘段和多个纵向候选边缘段。多个横向候选边缘段和多个纵向候选边缘段表示作为分别对应于与目标开放角3004A相关联的物体3000的横向物理边缘3017和纵向物理边缘3019的候选的边缘或边缘部分。与目标开放角3004A相关联的物体3000可以定位为与其他物体3000相邻或齐平,这创建了计算系统1100/3100在区分物体3000A结束和其他物体(3000B、3000C、300D等)开始的位置时可能被挑战的环境。
计算系统1100/3100可以首先标识2D图像信息内的多个潜在边缘段。潜在边缘段可以从任何类型的可检测视觉标记中被标识,该视觉标记具有使其有可能被识别为表示物体的物理边缘的属性。例如,视觉标记可包括边缘、折痕、间隙、颜色更改和其他不连续性。潜在边缘段然后可被进一步处理(例如,通过聚类技术)以标识多个候选边缘段。例如,适当的聚类技术在2020年2月14日提交的第16/791,024号美国专利申请中被描述,该美国专利申请通过引用整体并入本文。在实施例中,候选边缘段可基于基本上垂直于(例如,在5度垂直内)横向物理边缘3017(用于纵向候选边缘段)或纵向物理边缘3013(用于横向候选边缘段)而从潜在边缘段中被标识。出于示例目的,图3C示出了多个横向候选边缘段的单个横向候选边缘段3009和多个纵向候选边缘段的单个纵向候选边缘段3011。
在实施例中,多个候选边缘段的检测可以根据最小和最大候选大小来限制。计算系统1100/3100可以基于预期物体大小确定最小和最大候选大小。预期物体可能具有长度、宽度和高度尺寸。最小候选大小可以根据要在预期物体中找到的最小面(例如,根据三个尺寸中的两个)来定义。在一些实施例中,最小候选大小可以由长度和宽度尺寸和/或对角线尺寸来定义。最大候选大小可以根据要在预期物体中找到的最大面(例如根据三个尺寸中的两个)来定义。在图3D中最小候选大小3016和最大候选大小3018通过举例示出。最小候选大小3016可以因此与最小可能物体面相关联,并且最大候选大小3018可以因此与最大可能物体面相关联。最小候选大小3016可以包括表示最小可能物体面的尺寸的横向尺寸3016A和纵向尺寸3016B,而最大候选大小3018可以包括表示最大可能物体面的尺寸的横向尺寸3018A和纵向尺寸3018B。在某些实施例中,仅最小候选大小3016和最大候选大小3018之间的范围被分析以用于潜在边缘段的生成。
在实施例中,操作4008可以操作来组合对齐后的候选边缘段。例如,在一个或多个候选边缘段对齐的情况下,它们可以由计算系统1100/3100组合以用于进一步分析。对齐后的候选边缘段可以具有基本共线性(也被称为基本上相似的对齐),其可以根据预定义的角度阈值和/或预定的偏移阈值来定义。两个候选边缘段的角度阈值可能要求,例如,两个候选边缘之间的角度在角度阈值内(例如,一定数量的度数,诸如5°、4°、3°、2°,或1°),或由两个候选边缘段中的每一个形成的相应角度在角度阈值内。两个候选边缘段的偏移阈值可能要求,例如,候选边缘具有比偏移阈值更小的偏移。在实施例中,两个候选边缘之间的偏移可以由从候选边缘延伸或以其他方式外推的相应线之间的最短距离来定义。对齐后的候选边缘段可以被组合以创建更大的候选边缘段。
在操作中,方法4000包括从多个候选边缘段确定多个候选边缘的操作4010。现在参考图3C和3D,从多个候选边缘段中选择候选边缘的操作被描述。一系列阈值或滤波器可以被应用来排除不太可能、不大可能或不能表示处在分析下的物体的物理边缘的候选边缘段。操作4010可以确定多个候选边缘(包括多个横向候选边缘(在图3C中由单个横向候选边缘3008表示)和多个纵向候选边缘(在图3C中由单个纵向候选边缘3010表示))作为对横向物理边缘3017和纵向物理边缘3019的估计。操作4010可以根据一个或多个标准的应用来选择候选边缘。
第一阈值或标准可以是位置标准或物理边缘到段的阈值(a physical edge tosegment threshold)。位置标准表示对候选边缘段是否落入已知开放物理边缘(并且更具体地,基本上垂直于候选边缘段朝向的已知开放物理边缘)的阈值距离内的评估。图3C示出了横向候选边缘段3009,其具有近端点3009A和远端点3009B,并且基本上垂直于与作为开放物理边缘之一的纵向物理边缘3013对应的纵向物理边缘向量3012定位。近端点3009A定位在关于纵向物理边缘3013的横向候选边缘段3009的近端,并且远端点3009B定位在关于纵向物理边缘3013的横向候选边缘段3009的远端。位置标准表示对近端点3009A和纵向物理边缘3013之间的段到边缘的距离3030A是否在定义的最小值内的评估。定义的最小值可以被设置为由缩放因子δ1加权的最小候选大小3016的最小尺寸(Min)的长度。因此,位置标准可以被表达为0≤距离3030A≤δ1*Min。缩放因子δ1可以被设置为0.4和0.6之间或0.4和0.5之间的值。位置标准确保横向候选边缘段3009的近端点3009A与纵向物理边缘3013的间隔不超过最小候选大小3016的最小尺寸(Min)的长度的一半。不满足位置标准的任何候选边缘段可以被排除为多个候选边缘的可能成员。位置标准也可以应用于多个纵向候选边缘段,诸如具有近端点3011A和远端点3011B的纵向候选边缘段3011。近端点3011A可以基于段到边缘的距离3032A根据接近横向物理边缘3015的位置标准来评估。
在另外的实施例中,横向候选边缘段3009的远端点3009B可以基于段到边缘的距离3030B根据接近最大候选大小3018的纵向尺寸3018B的位置标准来评估。纵向候选边缘段的远端点3011B可以基于段到边缘距离的3032B根据接近最大候选大小3018的横向尺寸3018A的位置标准来评估。作为应用到远端点3009B和3011B的位置标准可以代替或附加于作为应用到近端点3009A和3011A的位置标准来使用。
位置标准预期如果横向候选边缘段3009或纵向候选边缘段3011对应于横向物理边缘3017或纵向物理边缘3019,则近端点3009A/3009B或远端点3011A/3011B将定位于物体的物理边缘或最大候选大小的阈值距离内。因此,位置标准评估潜在候选边缘段是否具有接近正被分析物体的已知物理边缘或预期物理边缘(如由最大候选大小表示)的端点。缩放因子δ1可被选择以解释或解决标识边缘段时的噪声、传感器差异或其他误差源。
第二标准(也被称为段长度标准或段长度阈值)评估候选边缘段的长度是否超过阈值。在实施例中,阈值可以被设置为由缩放因子δ2加权的最小候选大小3016的最小尺寸(Min)的长度。因此,长度标准可以将近端点3009A/3011A和远端点3009B/3011B之间的边缘段长度3051与最小候选大小3016进行比较。如果横向候选边缘段3009或纵向候选边缘段3011的边缘段长度3051小于最小候选大小3016的最小尺寸长度的百分比,则计算系统1100/3100可以将候选边缘段3009/3011从作为候选边缘的考虑中排除。长度标准也可以被写为δ2*Min≤边缘段长度3051。缩放因子δ2可以具有在0.6和0.8之间、0.65和0.75之间、0.69和0.71之间或接近0.7的范围中的值。
第二标准预期,对于与物理边缘对应并因此被视为候选边缘的候选边缘段,候选边缘段应该足够长以超过最小候选大小的最小尺寸的一部分,因此,不满足段长度阈值的候选边缘段可能不被视为潜在表示物理边缘的候选。缩放因子δ2可被选择以解释或解决标识边缘段时的噪声、传感器差异或其他误差源。
第三标准(也被称为正交性标准或段正交性阈值),评估候选线段是否基本上垂直于纵向物理边缘3013或横向物理边缘3015。如本文所用,术语基本上垂直意思是在确切垂直的5度内。例如,将横向候选边缘段3009与纵向物理边缘3013进行比较以确定基本垂直性或基本正交性,并将纵向候选边缘段3011与横向物理边缘3015进行比较以确定基本垂直性或基本正交性。第三标准预期,对于分别对应于横向物理边缘3017或纵向物理边缘3015的横向候选边缘段3009或纵向候选边缘段3011,潜在边缘应与它从其延伸的物理边缘基本上垂直。不满足正交性标准的候选边缘段可以被排除为潜在候选边缘。
候选边缘可以从满足以下三个标准中的每一个的多个候选边缘段中被选择或确定:位置标准、长度标准和正交性标准。多个候选边缘可以包括多个横向候选边缘和多个纵向候选边缘。图3C示出了单个横向候选边缘3008和单个纵向候选边缘3010。横向候选边缘3008与相关联的横向候选边缘段3009对齐并且从纵向物理边缘3013基本上垂直地延伸。纵向候选边缘3010与相关联的纵向候选边缘段3011对齐并且基本上垂直于横向物理边缘3015延伸。
在操作中,方法4000包括用于在多个横向候选边缘和多个纵向候选边缘中的相应边缘之间生成多个交点3024的操作4012。交点3024被定义为多个横向候选边缘或其投影中的任何一个与多个纵向候选边缘或其投影中的任何一个相交的位置。投影可用于所标识的候选边缘没有延伸到足够远以与垂直朝向的候选边缘之一相交的情况。横向候选边缘段3009和纵向候选边缘段3011之间的单个交点3024在图3C中描绘。如图3E所示,每个横向候选边缘3008A、3008B、3008C和纵向候选边缘3010A、3010B、3010C可以与多个交点3024A-3024I相关联。例如,横向候选边缘3008A与纵向候选边缘3010A、3010B和3010C相交以创建三个不同的交点3024A、3024D和3024G。这些交点3024A-3024I中的每一个表示与目标开放角3004A相对的目标物体的潜在角。
在操作中,方法4000包括生成与目标开放角3004A相关的候选最小可行范围的操作4014。如上所述,最小可行范围3006(如图3C所示)表示可以或可用于机械臂3320抓取或抓握以便移动物体3000的物体3000的表面3001上与目标开放角3004A相关联的范围。在目标开放角3004A中相关联的物体3000与其他物体相邻或接触的应用中,计算系统3100可能不能准确和/或精确地估计物体3000的尺寸,并且因此,难以准确地定义机械臂3320可以安全地抓取物体3000的范围。因此,最小可行范围3006基于估计的或潜在的尺寸来定义机械臂3320可以在不知道确切的尺寸的情况下抓取物体3000的范围。最小可行范围3006是物体3000的表面3001上由目标开放角3004A、多个横向候选边缘的横向候选边缘3008、多个纵向候选边缘的纵向候选边缘3010和交点3024定义的面积。
如上所述,多个横向候选边缘3008A、3008B、3008C、多个纵向候选边缘3010A、3010B、3010C和多个交点3024A-3024I在先前的操作中被标识。多个横向候选边缘3008A、3008B、3008C、多个纵向候选边缘3010A、3010B、3010C和多个交点3024A-3024I一起可以定义一组潜在最小可行范围候选3066,其中的各个候选(例如,潜在最小可行范围候选3006A-3006G)在图3E中示出。在实施例中,与目标开放角3004A相关联的最小可行范围候选可以根据交点3024标识,因为每个交点3024还指定其被形成的横向候选边缘3008和纵向候选边缘3010。如图3E中所描绘的,许多潜在最小可行范围3006可以与单个横向候选边缘3008A、3008B、3008C或单个纵向候选边缘3010A、3010B、3010C相关联。此外,该组潜在最小可行范围候选3066中的每一个都与单个交点3024相关联。如上所述,该组潜在最小可行范围候选3066中的每一个都适合于与最小可能物体相关联的最小候选大小3016和与最大可能物体相关联的最大候选大小3018内。
图3E的潜在最小可行范围候选3066在下表1中呈现为横向候选边缘3008A、3008B、3008C和纵向候选边缘3010A、3010B、3010C的组合。
/>
表1
候选最小可行范围3067可基于潜在最小可行范围候选3006A、3006B等被从该组潜在最小可行范围候选3066中选择出,其具有在目标开放角3004A和相关联的交点3024之间的最小对角线距离。最小距离可用作确定候选最小可行范围3067的主要因素。由于将缩放因子δ2用于长度标准,候选最小可行范围3067可能小于最小候选大小3016。在另外的实施例中,最小候选大小3016可以被设置为潜在最小可行范围候选3066的最小大小,以被选择为候选最小可行范围3067。
通过为候选最小可行范围3067选择最小对角线距离,系统确定候选最小可行范围3067不大于其所位于的实际物体3000。尽管形成候选最小可行范围3067的所标识的边缘可能不表示目标物体3000A的实际尺寸,但它们确实表示目标物体3000A的可能边缘。通过选择目标开放角3004A和相关联的交点3024之间的最小对角线距离,计算系统1100/3100确定具有仅存在于目标对象3000A上的增加的可能性的面积,即候选最小可行范围3067。实施例中,系统可以确定候选最小可行范围3067不与多于一个物体相交。因此,在候选最小可行范围3067内抓握目标物体3000A通过降低机械臂一次试图抓握多于一个物体3000的可能性来提高抓握操作的可靠性。
可以使用从该组潜在最小可行范围候选3066中确定最小可行范围候选的各种其他方法。例如,如果潜在最小可行范围候选包括也是先前标识的开放角3004的交点3024,则该潜在最小可行范围候选可被选择,因为可假设其与物体3000的整个表面3001相关。替代地,如果潜在最小可行范围候选具有与最小候选大小3016或最大候选大小3018基本上相似的尺寸,例如在某个百分比阈值内,则可以假设物体3000可以分别是最小候选大小3016或最大候选大小3018,并且潜在最小可行范围候选可被选择。在某些实施例中,要从该组潜在最小可行范围候选3066中选择的候选最小可行范围3067,可以基于潜在最小可行范围候选3006A、3006B等具有该组潜在最小可行范围候选3066的最大面积或中值面积。在某些实施例中,要从该组潜在最小可行范围候选3066中选择的候选最小可行范围3067,可以基于潜在最小可行范围候选3006A、3006B等具有与最短候选边缘相关联的交点3024。
在操作中,方法4000包括验证或调整最小可行范围候选3067以生成最小可行范围3006的操作4016。最小可行范围候选3067的验证可以包括一种或多种技术,如下所述。验证后的和/或调整后的最小可行范围候选3067因此可以被定义为最小可行范围3006并且可以被计算系统1100/3100用作检测假设或用于增强用于标识物体的检测假设。如本文所用,术语检测假设是指关于由计算系统1100/3100确定的物体的大小或形状的假设。在实施例中,检测假设可以经由进一步分析(例如,使用附加的图像分析技术)、通过机器人操纵和/或通过附加方式来确认。
可以为在操作4004中标识的每个开放角3004找到最小可行范围候选3067(根据操作4006-4014),并且可以通过与其他最小可行范围3607进行比较来验证如此检测到的最小可行范围候选3067。例如,计算系统1100/3100可以执行重叠验证或遮挡验证。计算系统1100/3100可以确定目标开放角3004A的最小可行范围候选3067的一部分是否与和不同开放角3004相关联的最小可行范围候选3067相交。在这样的情况下,目标开放角3004A的最小可行范围候选3067和不同开放角3004的最小可行范围候选3067之间的比较可以确定开放角3004/3004A属于同一物体3000A(遮挡验证),或者开放角3004/3004A属于不同的物体3000(重叠验证)。
在共享物体的情况下,计算系统1100/3100可以执行遮挡验证。属于同一目标物体3000A的两个最小可行范围候选3067可以彼此遮挡。计算系统1100/3100可以组合两个最小可行范围候选3067的信息以生成最小可行范围3006,或者可以调整目标开放角3004A的最小可行范围候选3067以并入不同开放角3004的最小可行范围候选3067的信息3004以创建物体3000A的更准确的最小可行范围3006。
替代地,如果角不属于同一物体3000,则计算系统1100/3100可以降低与这两个重叠的最小可行范围候者3067相关联的置信水平。在确定最小可行范围候选3067中的哪一个以指定为最小可行范围3006以用于进一步处理时,计算系统1100/3100可以选择具有最高置信水平(例如,具有与其他最小可行范围候选3067较少重叠或没有重叠)的最小可行范围候选3067。
在实施例中,最小可行范围候选3067的准确性还可以使用附加因素增加。例如,如果已知托盘包含统一类型的物体(例如具有单个SKU的物体),则每个物体的最小可行范围(并且特别地,与物体尺寸匹配的最小可行范围)可能被预期为基本上是统一的。在这样的情况下,若干不同的技术可用来从潜在最小可行范围候选3066中标识和验证最小可行范围候选者3067。单个SKU或统一物体方法可以包括模板验证操作、填充(packing)验证操作、和角分类操作中的一种或多种。
现在参考图3F,在实施例中,对于包含统一类型物体的物体存储库(例如,托盘、容器或其他物体存储库),最小可行范围候选3067可以基于模板验证操作从潜在可行范围候选3066中标识和验证出。本文执行的物体识别方法的方面在2020年8月12日提交的第16/991,510号美国申请和2020年8月12日提交的第16/991,466号美国申请中被更详细地描述,这些美国申请中的每一个通过引用并入本文。模板验证操作基于统一物体将具有相似尺寸和视觉特性的假设进行。由潜在最小可行范围候选3066定义的图像信息的部分可被分析以生成对应于每个潜在最小可行范围候选3066的模板3068。每个模板3068可以包括从相关联的图像部分生成的信息,包括至少纹理值、颜色值和尺寸值。纹理值可以定义潜在最小可行范围候选3066的图像部分是标识带纹理的表面还是无纹理的表面。颜色值可以定义表示潜在最小可行范围候选3066的图像部分的颜色。尺寸值可以表示潜在最小可行范围候选3066的边缘尺寸和/或面积。模板3068可以彼此比较,以标识在纹理值、颜色值和尺寸值中的一个或多个中匹配的模板3068。在这些值中的一个或多个中匹配可指示与匹配模板3068相关联的潜在最小可行范围候选3066表示真实物理物体3000。在物体3000是统一类型的情况下,可以预期它们具有匹配模板3068。因此,通过标识匹配模板3068,一个或多个最小可行范围候选3067可以从潜在最小可行范围候选3066中标识出。在实施例中,所标识的一个或多个最小可行范围候选3067还可以基于模板验证操作被验证为最小可行范围3006。
现在参考图3G和3H,在实施例中,对于包含统一类型物体3091的物体存储库3090(例如,托盘、容器或其他物体存储库),最小可行范围候选3067(这里未示出)可以是基于填充验证操作从潜在最小可行范围候选3066中被标识和/或验证出。如果已知物体存储库3090被完全填充(例如,具有完全被物体占据的层)或者已知物体存储库被填充在边缘周围,则此信息可用于以若干方式帮助或增强从潜在最小可行范围候选3066标识和验证最小可行范围候选3067。
首先,填充验证操作可以使用填充后的物体存储库3090的总面积来帮助标识和验证最小可行范围候选3067。如果物体存储库3090被完全填充,则位于其上的物体3091的总表面积将被单个物体3091的表面积整除。在图3G所示的示例中,物体3091的总表面积除以单个物体3091的表面积为8。潜在最小可行范围候选3066的面积可以与物体3091的总表面积进行比较以标识具有整除总表面积的面积的最小可行范围候选3067。阈值因子(例如,95%、98%、99%等)可被应用于除法运算,以解释噪声和其他测量误差源。根据本文描述的另外方法,所标识的最小可行范围候选3067还可以被验证以确定最小可行范围3006。
其次,填充验证操作可以使用填充后的物体储存库3090的尺寸来帮助标识和验证最小可行范围候选3067。在其中物体3091以相等数量的行和列排列的具体布置中,潜在最小可行范围候选3066的尺寸可以与物体存储库3090的尺寸进行比较以标识和/或验证最小可行范围候选3067。例如,物体存储库3090的横向尺寸X1和纵向尺寸X2将被与物体3091的尺寸匹配的潜在最小可行范围候选3066的尺寸整除。潜在最小可行范围候选3066在图3G中被示为有深色边界,具有尺寸D1和D2。如果X1=m*D1,其中m是整数(在图3G的示例中,m=2)并且X2=n*D2,其中n是整数(在图3G的示例中,n=4),则它可以指示潜在最小可行范围候选3066表示物体存储库3090上的物体3091的真实尺寸并且可以被标识为最小可行范围候选3067。如果潜在最小可行范围候选3066的尺寸不满足这些条件,则它不大可能表示物体存储库3090上的物体3091的真实尺寸。在实施例中,百分比阈值(例如,95%、98%、99%)可用于X1和X2的等式中以解释由于噪声和其他因素导致的潜在测量误差。根据本文描述的另外方法,所标识的最小可行范围候选3067还可以被验证以确定最小可行范围3006。
第三,填充验证操作可以使用物体储存库3090的尺寸来帮助标识和验证最小可行范围候选3067以用于更一般的布置。在图3H中所示的一般布置中,其中物体3091以完全填充物体存储库3090的边缘的不等数量的行和列(有时称被为针轮式码放(pinwheelpattern))布置,物体存储库3090的每一侧的长度应该等于物体3091的横向尺寸的整数加上物体3091的纵向尺寸的整数。无论物体存储库3090是否被完全填充,只要边缘被完全填充,一般布置填充操作都可被使用。潜在最小可行范围候选3066的尺寸与物体储存库3090的尺寸进行比较,以使用解释物体3091的宽度和长度两者的一对等式来标识和/或验证最小可行范围候选3067。潜在最小可行范围候选3066在图3H中示为有深色边界,具有尺寸D1和D2。在一般布置中,应被满足的等式如下。X1=m1*D1+n1*D2,其中m1和n1两者是整数(在图3H的示例中,m1=1且n1=3)并且X2=m2*D1+n2*D2,其中m2和n2两者是整数(在图3H的示例中,m2=1且n2=3)。如果两个等式可由潜在最小可行范围候选3066的尺寸满足,则它可以指示潜在最小可行范围候选3066表示物体存储库3090上的物体3091的真实尺寸并且可以被标识为最小可行范围候选3067。如果潜在最小可行范围候选3066的尺寸不满足这些条件,则不大可能表示物体存储库3090上的物体3091的真实尺寸。在实施例中,百分比阈值(例如,95%,98%,99%)可用于X1和X2的等式中以解释由于噪声和其他因素导致的潜在测量误差。根据本文描述的另外方法,所标识的最小可行范围候选3067还可以被验证以确定最小可行范围3006。
在实施例中,角分类操作可以由计算系统1100/3100在具有统一类型的物体3091的物体储存库3090上执行。因为物体3091是统一的,所以可以预期在开放角处可标识的物体3091可能具有某些共同特征。例如,物体3091的角类型可以在物体存储库3090的角之间进行比较。角类型可以包括例如矩形、八角形和圆形。在某些情况下,由于测量误差,可能难以区分物体存储库3090的角处的不同类型的物体角。例如,可能难以确定物体角是八角形还是圆形。在这样的情况下,可以比较物体存储库3090的每个角处的物体角,并且可以将最频繁标识的物体角确定为物体存储库3090中的物体3091的物体角类型。类似的技术可以用于确定位于物体存储库3090的角处的物体3000的带纹理的或无纹理的分类。
下面详述的方法5000描述了一种用于估计目标物体的尺寸的方法。在实施例中,方法5000可以利用如方法4000中定义的最小可行范围。在实施例中,一旦机械臂已经开始与物体交互,方法5000就可以估计目标物体的尺寸。特别地,有可能方法4000中定义的最小可行范围可能是由于噪声、错误边缘或其他不准确而导致的不正确大小。因此,机械臂可被指示为在不牢固的位置抓握物体,这增加了对物体或环境的损害的风险。例如,当试图提升时,在偏离中心的位置抓握物体可能导致抓握点处不可接受的扭矩水平。为了更准确地估计物体尺寸,机械臂可以移动抓握的物体以暴露物体与相邻物体之间的间隙,这允许对要被确定物体的尺寸的更准确地近似。然后所定义的最小可行范围和新标识的目标物体尺寸可被比较以确定所定义的最小可行范围的准确性,并且如果差异显著,则机械臂可以基于所定义的尺寸释放并重新抓握物体。
用于估计物体的尺寸的方法5000在图5中示出。方法5000基于移动或重新定位目标物体以实现对物体的物理尺寸的更好查看。在方法5000中,目标物体的目标开放角的最小可行范围被首先确定。目标物体的最小可行范围表示对目标物体尺寸的估计。例如,最小可行范围可以通过上述方法4000来估计。然后目标物体基于最小可行范围被抓取。为了提高目标物体尺寸估计的准确性,方法5000可以包括相对于周围物体移动或拖动目标物体以暴露物体之间的间隙。然后间隙可以用于确定目标物体的尺寸并且可以由计算系统使用(例如通过调整最小可行范围,例如,如在方法4000中生成的)。方法5000可以存储在非暂时性计算机可读介质上并且可以由至少一个处理电路执行,该至少一个处理电路与具有视场的相机通信。通过方法5000生成的目标物体估计尺寸可与例如通过方法4000确定的最小可行范围比较,以便确保机械臂在提升和移动物体之前牢固地抓握目标物体。
如上所述,尽管由方法4000执行的最小可行范围计算确保最小可行范围仅存在于单个物体上,但由于潜在包括错误边缘或其他误差源,最小可行范围的中心可能不在目标物体的中心附近。因此,在最小可行范围的中心抓握物体可能导致偏离中心且难以提升物体。如果方法的调整后的最小可行范围没有充分估计目标物体尺寸,则方法5000可以指示机械臂基于新生成的目标物体尺寸重新抓握目标物体。
在实施例中,方法5000可以利用用于标识最小可行范围的方法4000、在其之后和/或与其结合来执行。在这样的实施例中,方法5000的操作可以与方法4000的操作相同。例如,操作4002和5002、操作4004和5004以及操作4005和5005可以重合和/或是相同的操作。方法5000的操作5006可以合并操作4006中的所有或一些,包括操作4008-4016。
方法5000包括获取初始图像信息的操作5002,该初始图像信息表示图3的一个或多个物体3000(例如物体3000A-3000D)的物理特性。初始图像信息由相机3200生成并且描述与一个或多个物体相关联的至少物体外观,其中每个物体包括多个边缘。用于获取初始图像信息的操作5002可以包括上面关于操作4002讨论的任何或所有方法和技术。初始图像信息可以是在方法4000中收集的相同初始图像信息,或者它可以是新收集的初始图像信息。为了清楚起见,在操作5002中获取的任一初始图像信息源可被称为初始图像信息。本文所述的方法5000可由计算系统的至少一个处理电路执行。
在操作中,方法5000包括用于检测多个角3002的操作5004。为了检测存在的任何角,计算系统3100可以使用多种方法,包括上面关于操作4004讨论的任何和所有方法和技术。本文描述的操作5004可以由计算系统的至少一个处理电路来完成。
在操作中,方法5000包括用于从多个角3002中标识目标开放角3004A的操作5005。操作5005可以包括上面关于操作4005描述的任何和所有方法和技术。本文描述的操作5005可以由计算系统的至少一个处理电路完成。
在操作中,方法5000包括用于为目标开放角3004A定义最小可行范围3006的操作5006。操作5006可以包括执行方法4000的一个或多个部分,特别是操作4006到4016,以确定目标开放角3004A的最小可行范围3006。最小可行范围3006表示可以被机械臂3320抓取以移动物体3000的物体3000的表面3001上与目标开放角3004A相关联的范围。
在操作5006中定义的最小可行范围3006可以是由方法4000(例如,由操作4006到4016中的一个或多个)定义的验证后的最小可行范围3006。在另外的实施例中,由操作4014确定的候选最小可行范围可被选择以用于在方法5000中继续使用。如上所述,为目标开放角3004A定义最小可行范围包括定义相交角3024,其中相交角与目标开放角3004A相对。如本文所用,关于目标开放角3004A和相交角3024的术语“相对”是指这些角在目标物体的表面(例如,顶表面)的相对角处的位置,其中相对的角不具有从其延伸的公共边缘。如上面所讨论的,每个最小可行范围3006由目标开放角3004A、纵向物理边缘3013的一部分、横向物理边缘3015的一部分、横向候选边缘3008、纵向候选边缘3010和与横向候选边缘3008和纵向候选边缘3010相关联的交点3024来定义。如图3E所示,许多最小可行范围3006A、3006B、3006C等可以与单个横向候选边缘3008A、3008B、3008C或单个纵向候选边3010A、3010B、3010C相关联。此外,每个最小可行范围3006仅与单个交点3024相关联。本文描述的操作5006可以由计算系统的至少一个处理电路完成。
现在参考图6A,在操作中,方法5000包括用于基于最小可行范围3006定义非遮挡区域3027的操作5008。在方法5000的执行期间,机械臂3320可以在相机3200的视场3210和与开放角3004A相关联的物体3000之间的空间中移动。在此移动期间,机械臂3320可以挡住或遮挡用于检测相机3200的视场3210内的目标物体的特征。如下面所讨论的,方法5000涉及后续图像信息的捕获,例如,在操作5016处。为了准确地捕获描述目标物体3000A的尺寸和最小可行范围3006的后续图像信息,期望物体3000A的具体部分或特征保持非遮挡的并且被定位以便由相机3200可查看。
非遮挡区域3027是在补充图像信息收集操作期间希望获得其图像的一组物体的表面的二维范围,如下面所讨论的。在非遮挡区域3027和相机3200之间是非遮挡区,三维空间,其中在成像操作期间机械臂3320的定位应被避免以便不挡住或不遮挡相机3200获取非遮挡区域3027的补充图像信息。本文所指的挡住非遮挡区域3027是指挡住非遮挡区域3027被相机3200观察。
非遮挡区域3027的特征可以根据最小可行范围3006来定义。因此,最小可行范围3006的一个或多个边缘可以作为定义非遮挡区域3027的基础。用于包括在非遮挡区域3027中的特征可以包括从交点3024延伸的横向候选边缘3008,以及从交点3024基本上垂直于横向候选边缘3008延伸的纵向候选边缘3010。非遮挡区域3027的另外的部分可以包括定义最小可行范围3006的物理边缘3013/3015的扩展。包括在非遮挡区域3027中的物理边缘扩展是物体堆的物理边缘3013/3015延伸超过最小可行范围3006的边界的部分。物理边缘扩展是物理边缘3013/3015延伸超过物理边缘3013/3015与候选边缘3008/3010的相交的部分。
图6A中示出了非遮挡区域3027的示例。为了说明的目的,非遮挡区域3027被示为包括四个单独的条带3028A-3028D。每个条带3028是平行于并对应于目标物体的已知物理边缘或候选边缘延续的范围。例如,关于目标物体3000A,条带3028平行于并对应于横向候选边缘3008、纵向候选边缘3010、纵向物理边缘3013或横向物理边缘3015延续。例如,如图6A中所示,条带3028A对应于纵向物理边缘3013,条带3028B对应于横向候选边缘3008,条带3028C对应于纵向候选边缘3010,并且条带3028D对应于横向物理边缘3015。每个条带3028具有长度以及宽度并且被定位使得其与之对应的边缘(物理的或候选的)的至少一部分被包括在条带3028的区域内。
每个条带3028的长度可以是固定距离或者可以基于最大候选大小。例如,参考图6A,条带3028A被定位为对应于横向候选边缘3008并且延伸超出横向候选边缘3008直到条带3028A遇到最大候选大小3018的边界。条带3028可以具有各种宽度,诸如5mm、4mm、3mm,根据应用选择。条带3028的宽度越大,当物体3000A被移动或拖动时,间隙3026可被检测到的机会就越大。然而,更大的宽度可能会以噪声或信号误差的增加的可能性为代价而出现。条带3028的面积越小,机械臂3320可以具有的移动自由度越大,因为机械臂3320要避开的区域越小。此外,较小的遮挡区域可以减少计算负荷。本文描述的操作5008可以由计算系统的至少一个处理电路来完成。
在操作中,方法5000包括用于发送定位命令以用于定位机器人3300的机械臂3320的操作5010。定位命令可以由计算系统1100/3100发送,以使机械臂3320定位在抓握目标物体3000A并移动目标物体3000A的位置。定位命令可以使机械臂3320被定位在非遮挡区之外,因此机械臂3320和/或末端执行器装置3330不挡住非遮挡区域3027被相机查看。定位命令可由计算系统的至少一个处理电路发送。
在操作中,方法5000包括用于发送最小可行范围(MVR)抓握命令以用于从目标物体3000A的最小可行范围3006内的位置对目标物体3000A进行抓取、拾取、抓握等的操作5012。例如,最小可行范围3006的中心或近似中心可以由计算系统1100/3100选择用于抓握目标物体3000A。如上面所讨论的,末端执行器装置3330可以采用吸盘或能够通过经由物体表面的接触来抓握或固定物体的其他抓握工具。在实施例中,抓握命令可以被配置为使机械臂3320和末端执行器装置3330在抓握操作期间保持在非遮挡区之外。
在操作中,方法5000包括用于发送移动命令以用于移动目标物体3000A的操作5014。如上面所讨论的,目标物体3000A可被移动以打开目标物体3000A和相邻物体之间的一个或多个间隙,从而允许计算系统1100/3100更准确地估计目标物体3000A的尺寸。移动命令可以包括移动距离、移动方向和移动类型三个方面。如下面更详细讨论的移动距离和移动方向可以根据与相邻物体有关的信息来确定,如下文讨论的。移动类型可以包括提升运动或拖动运动。
在实施例中,移动命令的生成可以包括对移动命令的移动类型的确定。对移动类型的确定可包括确定是否使机械臂3320使用提升运动或抓握运动。为了决定使用哪种移动类型,计算系统1100/3100可以将最小可行范围3006(例如,如在操作5006中获取的)与最大候选大小3018进行比较。如果在与最大候选大小3018比较时最小可行范围3006小,则在操作5006中确定的最小可行范围3006通过仅表示小角而错误地估计目标物体3000A的尺寸的风险增加。如果机械臂3320将目标物体3000A从仅表示目标物体3000A的小角的最小可行范围3006提升,目标物体3000A或环境就可能由于强加在末端执行器设备3330上的增加的扭矩而被损坏。替代地,如果最小可行范围3006与最大候选大小3018是可比的,则最小可行范围3006准确描绘目标物体3000A的置信度更高。因此,最小可行范围3006和最大候选大小3018之间的范围候选比可用于确定是为移动命令选择提升运动还是抓握运动。如果范围候选比大于或等于某个阈值,则计算系统可以选择提升运动。示例阈值包括50%或更大、60%或更大、70%或更大、80%或更大、以及90%或更大。当范围候选比率超过阈值时,计算系统1100/3100可以选择提升运动,因为最小可行范围3006和最大候选大小3018之间的可比较的相对大小增加了机械臂3032将能够牢固地抓握目标物体3000A而无由于增加扭矩而对物体3000A或环境造成损坏的高风险的置信度。在这样的情况下选择提升运动作为移动类型还可以允许计算系统3100如下所述测量目标物体3000A的大小,以及目标物体3000A的重量。
如果范围候选比小于阈值,则拖动运动可被选择为移动命令的移动类型。计算系统1100/3100可以选择拖动运动,因为如果阈值未被超过,则最小可行范围准确地表示目标物体3000A的尺寸的确定性较低,这增加了对目标物体3000A或环境两者中的任一个的损坏的风险。在实施例中,移动命令可以被配置为使机械臂3320在执行拖动运动时提供小的提升力以减少摩擦。选择拖动运动可以允许计算系统1100/3100如下所述测量目标物体3000A的大小,但不测量目标物体3000A的重量。
移动命令的移动距离和移动方向可被确定以允许目标物体3000A相对于周围或相邻物体3000B-3000D移动,以暴露物体3000的边缘之间的间隙3026。在实施例中,目标物体3000A的移动距离和移动方向基于目标开放角3004A的移动距离和方向。移动距离可以根据暴露间隙所需的移动量来确定。移动方向可以基于暴露间隙的可能性和避免与相邻于目标物体3000A的物体3000的碰撞的可能性来确定。
确定移动距离可以根据暴露间隙所需的移动量来确定。为了暴露间隙3026,目标物体3000A可以选择足以暴露超过间隙宽度阈值的间隙3026的移动距离(更多细节参见下文)。在实施例中,移动距离可以根据物体的大小来选择(例如,更大的物体可能需要更大的移动距离来创建可标识的间隙3026)。在在移动命令的执行期间间隙3026被查看的一些实施例中,可能没有预设移动距离。移动距离可以基于足够的间隙大小(超过间隙宽度阈值)已被检测到的确定来动态地确定。
移动方向可被选择以移动目标物体3000A远离相邻物体3000以暴露间隙3026同时避免潜在的碰撞。在实施例中,移动方向可被选择为向量的组合,每个向量表示远离相邻物体的方向。因此,物体3000A可以在对角线方向3029上移动。对角线方向3029表示与横向物理边缘向量3014相反的方向上的水平向量和与纵向物理边缘向量3012相反的方向上的垂直向量的组合。间隙3026一旦暴露,可由计算系统1100/3100使用以估计目标物体3000A的尺寸,如下面更详细解释的。本文描述的操作5014可以由计算系统的至少一个处理电路完成。
在实施例中,计算系统1100/3100可以在移动命令的执行期间调整移动命令。移动命令的调整可以在确定移动命令时考虑物体3000A的拖动是否被例如重物体的障碍物阻碍。为了避免对机械臂3320或物体3000A两者中的任一个的损坏,系统可以包括例如检测拖动力或阻力何时超过所定义的阈值的力传感器。所定义的阈值可以根据与机器人3300、机械臂3320和/或末端执行器设备3330相关的安全系数来选择。所定义的阈值也可以根据与物体3000A和/或要被移动的物体类型相关的安全系数来选择。如果所定义的阈值被超过,则机械臂3320可被命令以试图在与原始移动方向和移动距离不同的方向和距离上执行拖动,和/或机械臂3320可被命令以改变抓握物体3000A的位置。在大量拖动力或阻力已被检测到的实施例中,机械臂3320可以保持抓握物体3000A直到力减退,以便降低物体3000A由于力而无意和意外移动的风险。例如,在目标物体3000A被堆在多个物体上的情况下,过大的拖动力或阻力可能导致位于目标物体3000A下方的物体3000当中的不稳定。
处理电路可以被配置为控制机器人3300的机械臂3320以便避免在操作5010、5012和5014(下面讨论的)期间挡住或遮挡非遮挡区域3027,使得相机3200可以保持非遮挡区域3027的可视性。计算系统3100可以为机器人3300的末端执行器装置3330和/或机械臂3320生成定位、抓握和移动命令以便避免挡住非遮挡区域3027(例如,条带3028A-3028D)被相机3320查看。在实施例中,定位、抓握和移动命令可以被配置为允许在定位和抓握命令期间以及在移动命令的至少一部分期间挡住非遮挡区域。例如,机械臂3320的末端执行器装置3330可以被定位以用于抓握目标物体3000A,并且目标物体3000A可以在机器人臂3320的至少一部分正挡住非遮挡区域的同时被抓握。在抓握目标物体3000A之后,机械臂3320还可以被定位以便避免挡住非遮挡区域3027。在另外的实施例中,移动命令可以在机械臂3320正挡住非遮挡区域3027时开始,并且移动命令的执行导致机械臂3320进一步移动到避免挡住非遮挡区域3027的位置。在另外的实施例中,机械臂3320部分的位置可以在移动命令的执行期间被调整以确保当补充图像信息在操作5016处被捕获时它们不挡住非遮挡区域。
在实施例中,可能存在情况,在这些情况中,执行定位、抓握和移动命令而没有机器人3300的机械臂3320部分地或完全地从相机视场3210挡住非遮挡区域是不可能或不可行的。在这样的情况下,计算系统1100/3100为机器人3300的机械臂3320生成允许机械臂3320部分地挡住非遮挡区域3027的移动命令或指令,因为只要非遮挡区域3027的某些方面保持未阻碍,计算系统1100/3100就可以准确地估计目标物体3000的尺寸。特别地,位于相机3200的视场3210内的交点3024、横向候选边缘3008的至少一部分和纵向候选边缘3010的至少一部分可以允许计算系统1100/3100估计目标物体3000A尺寸。在部分遮挡的情况下,如下面更详细讨论的,计算系统1100/3100可以被配置为从在相机3200的视场3210内的交点3024、横向候选边缘3008的一部分以及纵向候选边缘3010的一部分推断或投影目标物体3000A的估计物体尺寸。因此,计算系统1100/3100可以被配置为引起定位、抓握和移动命令的执行以允许部分遮挡,尽管如此,该部分遮挡仍使交点3024、横向候选边缘3008的至少一部分和纵向候选边缘3010的至少一部分不被挡住被相机3200查看。
在操作中,方法5000包括用于获取一个或多个物体3000的后续图像信息的操作5016。后续图像信息被获取以标识一个或多个物体3000(具体地是目标物体3000A)的移动(在操作5014中发生)。后续图像信息包括表示在操作5014之后一个或多个物体的改变后的位置的信息。与操作5002类似,后续图像信息由相机3200收集或捕获,如图3A所示。在捕获补充图像信息时,操作5016可以包括上面关于操作4002和5002讨论的任何或所有方法和技术。此外,如上面所讨论的,先前执行的机器人移动命令(定位、抓握、移动)可被执行以使非遮挡区域不被挡住或至少部分不被挡住,如上所述。
此外,捕获补充图像信息可以在上述机器人移动命令的执行之后或期间执行。例如,补充图像信息可以在运动命令的执行之后捕获。在另一示例中,补充图像信息可以在运动命令的执行期间捕获。在完成运动命令之后捕获的补充图像信息可以被称为补充静止图像信息,而在执行运动命令期间捕获的补充图像信息可以被称为补充运动图像信息。本文描述的操作5016可以由计算系统的至少一个处理电路来完成。
在操作中,方法5000包括用于基于补充图像信息来估计目标物体3000A的尺寸的操作5018。图6B描绘了目标物体3000A根据操作5014被拖动之后的后续图像信息。用于估计目标物体3000A的尺寸的操作5018可以使用补充静止图像信息、补充运动图像信息或两者。
根据补充静止图像信息来估计目标物体3000A的尺寸包括,在与移动命令相关联的机器人移动完成之后,检测目标物体3000A与在后续图像信息内描绘的任何相邻物体3000之间的间隙3026的存在。对于间隙3026的存在,在非遮挡区域3027或如图6A和图6B所示的条带3028A-3028D处分析后续图像信息。间隙3026可以根据本文描述的任何图像分析技术(例如,边缘检测、点云分析等)从补充图像信息检测出。间隙3026指示目标物体3000A的边界或边缘与相邻物体的边界或边缘分离。在图6B中,目标物体3000A被示为与物体3000B和3000D分离,这分别创建间隙3026A和3026B。
每个间隙3026A、3026B在标识之后可以被附加地分析以测量其宽度并确定间隙宽度是否超过间隙宽度阈值。间隙宽度阈值可被设置在1cm和3cm之间、1.5cm和2.5cm之间,或接近2cm。其他间隙宽度阈值可被适当使用。在实施例中,间隙宽度阈值可以根据正被分析物体的大小(较大物体具有较大阈值)或根据相机和系统中涉及的其他传感器的能力(更精确的相机和传感器允许较小阈值)来选择。例如,具有超过间隙宽度阈值的宽度的间隙3026可被确定为对应于物体3000的边缘,而不超过间隙宽度阈值的间隙3026可因由成像噪声、振动、或其他不准确导致而被忽略。在此示例中,非遮挡区域3027的条带3028A-3028D可以由计算系统3100分析以便指示或检测超过间隙宽度阈值的间隙3026是否存在。参考图6B,条带3028A和3028C包围间隙3026A,而条带3028B和3028D包围间隙3026B。一旦超过间隙宽度阈值的间隙3026被检测到,它们就可用于定义目标物体3000A和相邻物体3000两者的物理边缘。基于间隙3026标识的物理边缘可附加地用于区分或标识物体3000彼此以及估计目标物体3000A的尺寸。
间隙3026的标识允许计算系统1100/3100确定目标物体3000A的真实物理边缘。基于目标物体3000A的真实物理边缘,计算系统1100/3100可以估计目标物体3000A的尺寸。
在实施例中,用于估计目标物体3000A的尺寸的操作5018可以操作来在由移动命令的执行引起的机器人运动期间检测和分析间隙3026以及物体3000的移动。本文描述的操作5018可以由计算系统的至少一个处理电路来完成。这样的分析可以基于在操作5016期间捕获的补充运动图像信息。如上所述,根据补充运动图像信息的间隙检测可以用于补充或代替根据补充静止图像信息的间隙检测。计算系统1100/3100可以基于标识定位在条带3028A-3028D内的点簇来执行这样的间隙和物体运动检测。计算系统1100/3100可以在移动命令引起机器人运动期间沿着条带3028A-3028D搜索,以检测点(例如点云中的点)是否结合物体3000A的拖动或提升运动两者中的任一个来移动。
被跟踪的点可以与任何物体3000的表面3001上的位置重合。计算系统3100可以将沿相同方向移动和移动相同量的所标识的点分组到簇中。簇可用于基于簇的移动来标识物体并区分相邻物体。每个簇的移动可与每个其他簇的移动比较。如果两个或更多簇显示可比较的移动,则每个簇都可能与同一物体相关联。例如,第一簇点可以与目标物体3000A的物理边缘3013相关联,并且第二簇点可以与目标物体3000A的横向物理边缘3015相关联。在这样的示例中,第一簇和第二簇的移动将是可比较的,因此,计算系统3100可以将这些簇与同一目标物体3000A相关联。
在上述簇跟踪期间收集的信息可以以两种方式使用。首先,簇跟踪可以以独立方式被使用以标识物体之间的间隙3026并标识物体的真实物理边缘。例如,示出相似运动的四个垂直边缘可被理解为物体的真实物理边缘。其次,簇跟踪可用来补充由间隙检测方法基于补充静止图像信息获取的信息。例如,物体的一部分可能具有与间隙相似的视觉特性。因此,根据补充静止图像信息,物体的该部分可能被错误地标识为间隙。然而,如果物体的该部分与在移动命令的执行期间被成像和监测的条带3028A-3028D之一重合,则可以确定与错误间隙相关联的所有点簇都以类似方式移动。因此,错误间隙可以被标识为错误的,因为如果间隙是真实的,则与间隙相关联的一些簇将示出不移动,因为那些簇将是相邻的、不移动的物体的表面上的点。
在操作中,方法5000可以包括用于发送释放命令以用于使机器人3300的末端执行器装置3330释放目标物体3000A的操作5020。操作5020是可选操作,如果目标物体3000A的估计尺寸与最小可行范围3006相比超过容差阈值,则该操作可被执行。在操作5012中,如上面所讨论的,机械臂3320被命令以基于在操作5006定义的最小可行范围3006抓取目标物体3000A。如上所述,在操作5006定义的最小可行范围3006可以基于具有最小面积的潜在候选最小可行范围来选择。如上面关于操作5014所述,最小可行范围3006低估目标物体3000A的尺寸的情况存在。在这样的情况下,机器人3300的机械臂3320可能以不稳定的方式(例如,太靠近边缘或偏离中心)抓持物体3000,这可能导致对目标物体3000A、环境或机器人3300本身的损坏。
例如,目标物体3000A可以具有使用一条胶带耦合在一起的两个翼片。在操作5006期间,计算系统1100/3100可能不正确地将单个目标物体3000A的两个翼片之间的间隙视为目标物体3000A的边缘,这导致可能不被机器人3300的机械臂3320牢固地抓握的最小可行范围3006。在这样的情况下,偏离中心的抓持可能导致机器人3300的机械臂3320无意地撕开翼片。基于大小差异,如上面关于操作5014所讨论的,计算系统1100/3100将指示机器人3300的机械臂3320拖动而不是提升物体,这降低了损坏的风险。
在更准确地估计目标物体3000A的尺寸之后,计算系统1100/3100可以确定是否释放和重新抓握该物体。最小可行范围3006可以与目标物体3000A的估计尺寸比较。如果最小可行范围3006与目标物体3000A的估计尺寸之间的差异超过容差阈值,则机器人3300的机械臂3320可被命令以释放目标物体3000A。容差阈值可以基于最小可行范围3006与目标物体3000A的估计尺寸和/或目标物体3000A的重量的比来选择。特别地,容差阈值可被设置以便当目标物体3000A的估计尺寸显著大于最小可行范围3006时被超过。容差阈值的一些示例包括:目标物体3000A的估计尺寸为大于最小可行范围3006大小的1.25x、1.5x、2x、2.5x或3x。如该果比较产生容差阈值之外的结果并且释放命令被发送,则如下所述的用于重新抓握目标物体3000A的操作5022被执行。如果该比较产生在容差阈值内的结果,则释放命令不被发送并且操作5022被跳过并且如下所述的操作5024被执行。本文描述的操作5020可以由计算系统的至少一个处理电路完成。
在操作中,方法5000包括操作5022,用于发送重新抓握命令以用于机器人3300的机械臂3320重新抓取目标物体3000A的估计尺寸内的目标物体3000A。重新抓握命令可以在机器人3300的机械臂3320已经释放目标物体3000A之后执行。操作5022可在操作5020确定容差阈值被超过并且随后机器人3300的机械臂3320已释放物体3000A时发生。一旦目标物体3000A被释放,机器人3300的机械臂3320被重新定位并且被指示基于目标物体3000A的估计尺寸再次抓取目标物体3000A。例如,机械臂3320可被指示在目标物体3000A的估计中心处或附近抓取目标物体3000A。重新抓取目标物体3000A的附加步骤确保在提升目标物体3000A之前更稳定的抓持。本文描述的操作5022可以由计算系统的至少一个处理电路完成。
在操作中,方法5000包括用于向机械臂3320发送转移命令的操作5024。转移命令可以在两种情况下发送。第一,如果在操作5018确定释放命令是必要的(例如,目标物体的估计尺寸超过了相对于最小可行范围的阈值),则在作为操作5022的结果机械臂3320被确定为正在牢固地抓握目标物体3000A之后,转移命令被发送。第二,如果在操作5018确定释放命令是不必要的(例如,目标物体的估计尺寸不超过相对于最小可行范围的阈值),则转移命令可以在不传输释放命令的情况下被发送。计算系统1100/3100被配置为发送转移命令以供机械臂3320提升目标物体3000A并将目标物体转移到目的地。通过提升物体3000A,关于目标物体3000A的重量和尺寸的附加信息可被确定。目标物体3000A的重量可用于改变计算系统1100/3100在进一步操作中向机器人3300提供的指令,并且该重量可用于帮助分类和标识目标物体3000A。本文描述的操作5024可以由计算系统的至少一个处理电路来完成。
在实施例中,系统可以基于方法4000和5000执行卸垛操作。卸垛操作可以涉及迭代地执行方法4000和5000以标识和估计托盘上物体的尺寸,以便安全牢固地执行卸垛操作。每个物体根据本文描述的MVR和尺寸估计技术而被标识和评估,使得物体的运输可被实现而不损坏物体、环境和/或机械臂。本文描述的方法在需要在托盘物体被卸垛时标识它们的大小、形状和重量的情况下可能特别有用。
对于相关领域的普通技术人员将明显的是,在不脱离任何实施例的范围的情况下,可以对本文所述的方法和应用进行其他适当的修改和改编。上述实施例是说明性示例,并且不应解释为将本发明限于这些特定实施例。应当理解,本文所公开的各种实施例可以以与说明书和附图中具体呈现的组合不同的组合来进行组合。还应当理解,取决于示例,本文描述的任何过程或方法的某些动作或事件可以以不同的顺序执行,可以被添加、合并或完全省略(例如,所有描述的动作或事件对于执行方法或过程可能不是必需的)。此外,尽管为了清楚起见,本文实施例的某些特征被描述为由单个部件、模块或单元来执行,但是应当理解,本文描述的特征和功能可以由部件、单元或模块的任何组合来执行。因此,在不脱离所附权利要求书所限定的本发明的精神或范围的情况下,本领域技术人员可以影响各种变化和修改。
实施例1是一种计算系统,包括非暂时性计算机可读介质;与具有视场的相机通信的至少一个处理电路,该至少一个处理电路被配置为,当一个或多个物体处于或者已经处于视场中时,执行存储在非暂时性计算机可读介质上的指令以用于:获取一个或多个物体的初始图像信息,其中初始图像信息由相机生成;基于初始图像信息检测一个或多个物体的多个角;从多个角中标识目标物体的目标开放角;为目标物体定义最小可行范围(MVR);基于最小可行范围定义非遮挡区域;发送定位命令以用于定位机器人的臂;发送抓握命令以用于在最小可行范围内抓取目标物体;发送移动命令以用于使用机器人的臂基于移动方向、移动距离和移动类型来移动目标物体;获取一个或多个物体的补充图像信息;以及基于补充图像信息计算目标物体的估计尺寸,其中定位命令、抓握命令和移动命令中的至少一个被配置为防止机器人的臂挡住一个或多个物体的非遮挡区域。
实施例2是实施例1的计算系统,其中至少一个处理电路还被配置用于,如果由估计尺寸定义的区域与最小可行范围相比超过容差阈值,则发送释放命令以用于使机器人的末端执行器释放目标物体。
实施例3是实施例2的计算系统,其中至少一个处理电路还被配置用于,发送重新抓握命令以用于机器人的末端执行器抓取估计尺寸内的目标物体。
实施例4是实施例1-3中任一项的计算系统,其中至少一个处理电路还被配置用于,如果估计尺寸与最小可行范围相比在容差阈值内,则发送转移命令以用于机器人的臂转移目标物体。
实施例5是实施例1-4中任一项的计算系统,其中为目标开放角定义最小可行范围包括定义与目标开放角相对的相交角。
实施例6是实施例1-5中任一项的计算系统,其中定义最小可行范围还包括标识目标物体的物理边缘。
实施例7是实施例1-6中任一项的计算系统,其中为目标开放角定义最小可行范围包括定义从相交角在第一方向上延伸的第一候选边缘以及定义从相交角在基本上垂直于第一方向的第二方向上延伸的第二候选边缘。
实施例8是实施例1-7中任一项的计算系统,其中非遮挡区域包括相交角以及第一候选边缘和第二候选边缘的至少一部分。
实施例9是实施例1-8中任一项的计算系统,其中至少一个处理电路还被配置用于发送定位命令、抓握命令和移动命令,使得机器人的臂在补充图像信息被获取时不挡住非遮挡区域。
实施例10是实施例1-9中任一项所述的计算系统,其中至少一个处理电路还被配置为基于补充图像信息检测目标物体和相邻于目标物体的物体之间的至少一个间隙。
实施例11是实施例1-10中任一项的计算系统,还包括:从初始信息中标识目标物体的第一物理边缘;基于至少一个间隙标识目标物体的第二物理边缘,其中计算目标物体的估计尺寸是根据第一物理边缘和第二物理边缘执行的。
实施例12是实施例1-11中任一项的计算系统,其中移动距离和移动方向是基于避免与相邻于目标物体的物体的碰撞来确定的。
实施例13是实施例1-12中任一项的计算系统,其中获取补充图像信息是在由移动命令的执行引起的机械臂的移动的期间执行的。
实施例14是实施例1-13中任一项的计算系统,其中至少一个处理电路还被配置用于,根据由移动命令的执行引起的机械臂的移动的期间的可比较的移动来标识目标物体的物理边缘。
实施例15是实施例1-14中任一项的计算系统,其中至少一个处理电路还被配置为,基于MVR和目标物体的最大候选大小之间的比较,将移动类型确定为提升移动或拖动移动。
实施例16是一种控制机器人系统的方法,该机器人系统包括非暂时性计算机可读介质、与具有视场的相机通信并被配置为执行指令的至少一个处理电路,方法包括:获取一个或多个物体的初始图像信息,其中初始图像信息由相机生成;基于初始图像信息检测一个或多个物体的多个角;从多个角中标识目标物体的目标开放角;为目标物体定义最小可行范围(MVR);基于最小可行范围定义非遮挡区域;发送定位命令以用于定位机器人的臂;发送抓握命令以用于在最小可行范围内抓取目标物体;发送移动命令以用于使用机器人的臂基于移动方向、移动距离和移动类型来移动目标物体;获取一个或多个物体的补充图像信息;以及基于补充图像信息计算目标物体的估计尺寸,其中定位命令、抓握命令和移动命令中的至少一个被配置为防止机器人的臂挡住一个或多个物体的非遮挡区域。
实施例17是实施例16的方法,其中为目标开放角定义最小可行范围包括:定义与目标开放角相对的相交角;标识目标物体的物理边缘;定义从相交角在第一方向延伸的第一候选边缘;以及定义从相交角在基本上垂直于第一方向的第二方向延伸的第二候选边缘。
实施例18为实施例16的方法,还包括:基于补充图像信息检测目标物体和相邻于目标物体的物体之间的至少一个间隙;从初始信息中标识目标物体的第一物理边缘;以及基于至少一个间隙标识目标物体的第二物理边缘,其中计算目标物体的估计尺寸是根据第一物理边缘和第二物理边缘执行的。
实施例19是实施例16的方法,其中获取补充图像信息是在由移动命令的执行引起的机械臂的移动的期间执行的,该方法还包括根据由移动命令的执行引起的机械臂的移动的期间的可比较的移动来标识目标物体的物理边缘。
实施例20是一种非暂时性计算机可读介质,该非暂时性计算机可读介质包括用于由与具有视场的相机通信并被配置的至少一个处理电路执行的指令,当一个或多个物体处于或者已经处于视场中时,指令被配置用于:获取一个或多个物体的初始图像信息,其中初始图像信息由相机生成;基于初始图像信息检测一个或多个物体的多个角;从多个角中标识目标物体的目标开放角;为目标物体定义最小可行范围(MVR);基于最小可行范围定义非遮挡区域;发送定位命令以用于定位机器人的臂;发送抓握命令以用于在最小可行范围内抓取目标物体;发送移动命令以用于使用机器人的臂基于移动方向、移动距离和移动类型来移动目标物体;获取一个或多个物体的补充图像信息;以及基于补充图像信息计算目标物体的估计尺寸,其中定位命令、抓握命令和移动命令中的至少一个被配置为防止机器人的臂挡住一个或多个物体的非遮挡区域。
实施例21是一种计算系统,包括非暂时性计算机可读介质;与具有视场的相机通信的至少一个处理电路,该至少一个处理电路被配置为,当一个或多个物体处于或者已经处于视场中时,执行存储在非暂时性计算机可读介质上的指令以用于:获取表示一个或多个物体的图像信息,每个物体具有多个边缘,其中图像信息由相机生成并描述与一个或多个物体相关联的至少物体外观;基于图像信息检测一个或多个物体的多个角;从多个角中标识目标开放角;为目标开放角定义最小可行范围,其中最小可行范围通过以下定义:生成多个候选边缘段;从多个候选边缘段中确定多个候选边缘;定义多个候选边缘的相应候选边缘之间的多个交点;基于多个交点定义一组潜在最小可行范围候选;以及从该组潜在最小可行范围候选中为多个角中的目标开放角选择最小可行范围候选;以及验证最小可行范围候选作为目标开放角的最小可行范围。
实施例22是实施例21的计算系统,其中图像信息从三维视图卷绕为二维视图。
实施例23是实施例21或22的计算系统,其中生成多个边缘段包括在由最小候选大小和最大候选大小定义的范围内生成多个边缘段。
实施例24是实施例21-23的计算系统,其中最小可行范围候选是基于最小面积从该组潜在最小可行范围候选中选择的。
实施例25是实施例21-24的计算系统,其中标识目标开放角包括识别所选开放角不与另一个物体相邻。
实施例26是实施例21-25的计算系统,其中验证最小可行范围候选作为最小可行范围包括:执行最小可行范围候选与至少一个其他最小可行范围候选的重叠验证。
实施例27是实施例21-26的计算系统,其中从多个候选边缘段确定多个候选边缘包括:根据段长度标准评估多个候选边缘段。
实施例8是实施例21-27的计算系统,其中从多个候选边缘段确定多个候选边缘包括:根据正交性标准评估多个候选边缘段。
实施例29是实施例21-28的计算系统,其中从多个候选边缘段确定多个候选边缘包括:根据位置标准评估多个候选边缘段。
实施例30是实施例21-29的计算系统,其中验证最小可行范围候选是根据填充验证操作来执行的。
实施例31是一种控制机器人系统的方法,该机器人系统包括非暂时性计算机可读介质、与具有视场的相机通信并被配置为执行指令的至少一个处理电路。方法包括获取表示一个或多个物体的图像信息,每个物体具有多个边缘,其中图像信息由相机生成并描述与一个或多个物体相关联的至少物体外观;基于图像信息检测一个或多个物体的多个角;从多个角中标识目标开放角;为目标开放角定义最小可行范围,其中最小可行范围通过以下定义:生成多个候选边缘段;从多个候选边缘段中确定多个候选边缘;定义多个候选边缘的相应候选边缘之间的多个交点;基于多个交点定义一组潜在最小可行范围候选;以及从该组潜在最小可行范围候选中为多个角中的目标开放角选择最小可行范围候选;以及验证最小可行范围候选作为目标开放角的最小可行范围。
实施例32是实施例31的方法,其中生成多个边缘段包括在由最小候选大小和最大候选大小定义的范围内生成多个边缘段。
实施例33是实施例31或32的方法,其中最小可行范围候选是基于最小面积从该组潜在最小可行范围候选中选择的。
实施例34是实施例31-33的方法,其中标识目标开放角包括识别所选择的开放角不与另一个物体相邻。
实施例35是实施例31-34的方法,其中验证最小可行范围候选作为最小可行范围包括:执行最小可行范围候选与至少一个其他最小可行范围候选的重叠验证。
实施例36是实施例31-35的方法,其中从多个候选边缘段确定多个候选边缘包括:根据段长度标准评估多个候选边缘段。
实施例37是实施例31-36的方法,其中从多个候选边缘段确定多个候选边缘包括:根据正交性标准评估多个候选边缘段。
实施例38是实施例31-37的方法,其中从多个候选边缘段确定多个候选边缘包括:根据位置标准评估多个候选边缘段。
实施例39是实施例31-38的方法,其中验证最小可行范围候选是根据填充验证操作来执行的。
实施例40是一种非暂时性计算机可读介质,包括用于由与具有视场的相机通信并被配置的至少一个处理电路执行的指令,当一个或多个物体处于或者已经处于视场中时,指令被配置为:获取表示一个或多个物体的图像信息,每个物体具有多个边缘,其中图像信息由相机生成并描述与一个或多个物体相关联的至少物体外观;基于图像信息检测一个或多个物体的多个角;从多个角中标识目标开放角;为目标开放角定义最小可行范围,其中最小可行范围通过以下定义:生成多个候选边缘段;从多个候选边缘段中确定多个候选边缘;定义多个候选边缘的相应候选边缘之间的多个交点;基于多个交点定义一组潜在最小可行范围候选;以及从该组潜在最小可行范围候选中为多个角中的目标开放角选择最小可行范围候选;以及验证最小可行范围候选作为目标开放角的最小可行范围。

Claims (20)

1.一种计算系统,包括:
与机器人以及与具有视场的相机通信的至少一个处理电路,所述机器人具有臂和连接到该臂的末端执行器,所述至少一个处理电路被配置为,当一个或多个物体处于或者已经处于所述视场中时,执行存储在非暂时性计算机可读介质上的指令以用于:
获取一个或多个物体的初始图像信息,其中所述初始图像信息由所述相机生成;
基于所述初始图像信息检测所述一个或多个物体的多个角;
从所述多个角中标识目标物体的目标开放角;
为所述目标物体定义最小可行范围(MVR);
基于所述最小可行范围定义非遮挡区域;
发送定位命令以用于定位机器人的臂;
发送抓握命令以用于在所述最小可行范围内抓取所述目标物体;
发送移动命令以用于使用所述机器人的臂基于移动方向、移动距离和移动类型来移动所述目标物体;
获取所述一个或多个物体的补充图像信息;以及
基于所述补充图像信息计算所述目标物体的估计尺寸,
其中所述定位命令、所述抓握命令和所述移动命令中的至少一个被配置为防止所述机器人的臂挡住所述一个或多个物体的所述非遮挡区域。
2.如权利要求1所述的计算系统,其中所述至少一个处理电路还被配置用于:如果由所述估计尺寸定义的区域与所述最小可行范围相比超过容差阈值,则发送释放命令以用于使所述机器人的所述末端执行器释放所述目标物体。
3.如权利要求2所述的计算系统,其中所述至少一个处理电路还被配置用于:发送重新抓握命令以用于所述机器人的所述末端执行器抓取所述估计尺寸内的所述目标物体。
4.如权利要求1所述的计算系统,其中所述至少一个处理电路还被配置用于:如果所述估计尺寸与所述最小可行范围相比在容差阈值内,则发送转移命令以用于所述机器人的臂转移所述目标物体。
5.如权利要求1所述的计算系统,其中为所述目标开放角定义所述最小可行范围包括定义与所述目标开放角相对的相交角。
6.如权利要求5所述的计算系统,其中定义所述最小可行范围还包括标识所述目标物体的物理边缘。
7.如权利要求6所述的计算系统,其中为所述目标开放角定义所述最小可行范围包括:定义从所述相交角在第一方向上延伸的第一候选边缘以及定义从所述相交角在基本上垂直于第一方向的第二方向上延伸的第二候选边缘。
8.如权利要求7所述的计算系统,其中所述非遮挡区域包括所述相交角以及第一候选边缘和第二候选边缘的至少一部分。
9.如权利要求1所述的计算系统,其中所述至少一个处理电路还被配置用于:发送所述定位命令、所述抓握命令和所述移动命令,使得所述机器人的臂在所述补充图像信息被获取时不挡住所述非遮挡区域。
10.如权利要求1所述的计算系统,其中所述至少一个处理电路还被配置为:基于所述补充图像信息检测所述目标物体和相邻于所述目标物体的物体之间的至少一个间隙。
11.如权利要求10所述的计算系统,还包括:
从所述初始图像信息中标识所述目标物体的第一物理边缘;
基于所述至少一个间隙标识所述目标物体的第二物理边缘,其中计算所述目标物体的所述估计尺寸是根据第一物理边缘和第二物理边缘执行的。
12.如权利要求1所述的计算系统,其中所述移动距离和所述移动方向是基于避免与相邻于所述目标物体的所述物体的碰撞来确定的。
13.如权利要求1所述的计算系统,其中获取所述补充图像信息是在由所述移动命令的执行引起的所述机器人的臂的移动的期间执行的。
14.如权利要求13所述的计算系统,其中所述至少一个处理电路还被配置用于:根据由所述移动命令的执行引起的所述机器人的臂的移动的期间的可比较的移动来标识所述目标物体的物理边缘。
15.如权利要求1所述的计算系统,其中所述至少一个处理电路还被配置为:基于所述MVR和所述目标物体的最大候选大小之间的比较,将所述移动类型确定为提升移动或拖动移动。
16.一种控制机器人系统的方法,所述机器人系统包括非暂时性计算机可读介质、与具有视场的相机通信并被配置为执行指令的至少一个处理电路,所述方法包括:
获取一个或多个物体的初始图像信息,其中所述初始图像信息由所述相机生成;
基于所述初始图像信息检测所述一个或多个物体的多个角;
从所述多个角中标识目标物体的目标开放角;
为所述目标物体定义最小可行范围(MVR);
基于所述最小可行范围定义非遮挡区域;
发送定位命令以用于定位机器人的臂;
发送抓握命令以用于在所述最小可行范围内抓取所述目标物体;
发送移动命令以用于使用所述机器人的臂基于移动方向、移动距离和移动类型来移动所述目标物体;
获取所述一个或多个物体的补充图像信息;以及
基于所述补充图像信息计算所述目标物体的估计尺寸,
其中所述定位命令、所述抓握命令和所述移动命令中的至少一个被配置为防止所述机器人的臂挡住所述一个或多个物体的非遮挡区域。
17.如权利要求16所述的方法,其中为所述目标开放角定义所述最小可行范围包括:
定义与所述目标开放角相对的相交角;
标识所述目标物体的物理边缘;
定义从所述相交角在第一方向延伸的第一候选边缘;以及
定义从所述相交角在基本上垂直于第一方向的第二方向延伸的第二候选边缘。
18.如权利要求16所述的方法,还包括:
基于所述补充图像信息检测所述目标物体和相邻于所述目标物体的物体之间的至少一个间隙;
从所述初始信息中标识所述目标物体的第一物理边缘;以及
基于所述至少一个间隙标识目标物体的第二物理边缘,
其中计算所述目标物体的所述估计尺寸是根据第一物理边缘和第二物理边缘执行的。
19.如权利要求16所述的方法,其中获取所述补充图像信息是在由所述移动命令的执行引起的机械臂的移动的期间执行的,所述方法还包括:根据由所述移动命令的执行引起的所述机器人的臂的移动的期间的可比较的移动来标识所述目标物体的物理边缘。
20.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括用于由与具有视场的相机通信并被配置的至少一个处理电路执行的指令,当一个或多个物体处于或者已经处于视场中时,所述指令被配置用于:
获取一个或多个物体的初始图像信息,其中所述初始图像信息由所述相机生成;
基于所述初始图像信息检测所述一个或多个物体的多个角;
从所述多个角中标识目标物体的目标开放角;
为所述目标物体定义最小可行范围(MVR);
基于所述最小可行范围定义非遮挡区域;
发送定位命令以用于定位机器人的臂;
发送抓握命令以用于在所述最小可行范围内抓取所述目标物体;
发送移动命令以用于使用所述机器人的臂基于移动方向、移动距离和移动类型来移动所述目标物体;
获取所述一个或多个物体的补充图像信息;以及
基于所述补充图像信息计算所述目标物体的估计尺寸,
其中所述定位命令、所述抓握命令和所述移动命令中的至少一个被配置为防止所述机器人的臂挡住所述一个或多个物体的非遮挡区域。
CN202310843958.6A 2021-05-18 2022-05-17 用于物体大小测量的机器人系统 Pending CN116619386A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163189743P 2021-05-18 2021-05-18
US63/189,743 2021-05-18
CN202280003782.7A CN115643800A (zh) 2021-05-18 2022-05-17 用于物体大小测量的机器人系统
PCT/US2022/029654 WO2022245842A1 (en) 2021-05-18 2022-05-17 A robotic system for object size measurement

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202280003782.7A Division CN115643800A (zh) 2021-05-18 2022-05-17 用于物体大小测量的机器人系统

Publications (1)

Publication Number Publication Date
CN116619386A true CN116619386A (zh) 2023-08-22

Family

ID=84060666

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202280003782.7A Pending CN115643800A (zh) 2021-05-18 2022-05-17 用于物体大小测量的机器人系统
CN202310843958.6A Pending CN116619386A (zh) 2021-05-18 2022-05-17 用于物体大小测量的机器人系统
CN202210542953.5A Pending CN115366091A (zh) 2021-05-18 2022-05-18 用于物体大小检测的机器人系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202280003782.7A Pending CN115643800A (zh) 2021-05-18 2022-05-17 用于物体大小测量的机器人系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210542953.5A Pending CN115366091A (zh) 2021-05-18 2022-05-18 用于物体大小检测的机器人系统

Country Status (5)

Country Link
US (2) US20220371200A1 (zh)
EP (1) EP4341053A1 (zh)
JP (4) JP7189586B2 (zh)
CN (3) CN115643800A (zh)
WO (1) WO2022245842A1 (zh)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11333770A (ja) * 1998-03-20 1999-12-07 Kobe Steel Ltd 積荷位置姿勢認識装置
JP4665857B2 (ja) * 2006-07-19 2011-04-06 トヨタ自動車株式会社 アームを誘導可能な移動体およびアームを誘導する方法
FI20106387A (fi) * 2010-12-30 2012-07-01 Zenrobotics Oy Menetelmä, tietokoneohjelma ja laite tartuntakohdan määrittämiseksi
KR102081139B1 (ko) * 2014-03-12 2020-02-25 한국전자통신연구원 물체 피킹 시스템, 물체 검출 장치 및 그 방법
US10455222B2 (en) * 2017-03-30 2019-10-22 Intel Corporation Technologies for autonomous three-dimensional modeling
US10369701B1 (en) * 2018-10-30 2019-08-06 Mujin, Inc. Automated package registration systems, devices, and methods
WO2020091846A1 (en) * 2018-10-30 2020-05-07 Mujin, Inc. Automated package registration systems, devices, and methods
JP7097799B2 (ja) * 2018-11-21 2022-07-08 Thk株式会社 画像情報処理装置、把持システム、および画像情報処理方法
US11389965B2 (en) * 2019-07-26 2022-07-19 Mujin, Inc. Post-detection refinement based on edges and multi-dimensional corners
US11345029B2 (en) * 2019-08-21 2022-05-31 Mujin, Inc. Robotic multi-gripper assemblies and methods for gripping and holding objects
US11006039B1 (en) * 2020-02-13 2021-05-11 Mujin, Inc. Method and system for determining occlusion within a camera field of view
US11403764B2 (en) * 2020-02-14 2022-08-02 Mujin, Inc. Method and computing system for processing candidate edges

Also Published As

Publication number Publication date
JP2022177834A (ja) 2022-12-01
CN115643800A (zh) 2023-01-24
JP2023016882A (ja) 2023-02-02
JP7189586B2 (ja) 2022-12-14
JP2022177833A (ja) 2022-12-01
CN115366091A (zh) 2022-11-22
EP4341053A1 (en) 2024-03-27
US20220371200A1 (en) 2022-11-24
WO2022245842A1 (en) 2022-11-24
JP7201189B2 (ja) 2023-01-10
JP2023024554A (ja) 2023-02-16
US20220375097A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
US11797926B2 (en) Robotic system with automated object detection mechanism and methods of operating the same
US11883966B2 (en) Method and computing system for performing object detection or robot interaction planning based on image information generated by a camera
JP7433609B2 (ja) 物体識別のための方法および計算システム
JP7175487B1 (ja) 画像ベースのサイジングメカニズムを備えたロボットシステム及びロボットシステムを操作するための方法
CN116619386A (zh) 用于物体大小测量的机器人系统
US11900652B2 (en) Method and computing system for generating a safety volume list for object detection
JP7398662B2 (ja) ロボット多面グリッパアセンブリ及びその操作方法
WO2021246476A1 (en) Method and computing system for performing or facilitating physical edge detection
JP7191352B2 (ja) 物体検出を実施するための方法および計算システム
WO2023034533A1 (en) Robotic system with overlap processing mechanism and methods for operating the same

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination