CN110116406B - 具有增强的扫描机制的机器人系统 - Google Patents
具有增强的扫描机制的机器人系统 Download PDFInfo
- Publication number
- CN110116406B CN110116406B CN201910337803.9A CN201910337803A CN110116406B CN 110116406 B CN110116406 B CN 110116406B CN 201910337803 A CN201910337803 A CN 201910337803A CN 110116406 B CN110116406 B CN 110116406B
- Authority
- CN
- China
- Prior art keywords
- location
- scan
- target object
- robotic system
- identifiers
- 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.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39543—Recognize object and plan hand shapes in grasping movements
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40053—Pick 3-D object from pile of objects
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Orthopedic Medicine & Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- De-Stacking Of Articles (AREA)
Abstract
一种用于操作机器人系统的方法,包括:基于成像数据而确定目标对象的初始姿势,其中所述初始姿势用于估计所述目标对象在拾取区域中的搁置取向;计算与所述初始姿势相关联的置信度测量值,其中所述置信度测量值用于表示所述初始姿势是正确的可能性;以及根据所述置信度测量值计算运动计划,所述运动计划用于基于以下操作而执行任务:从起始位置拾取所述目标对象,将所述目标对象传递到任务位置,以及扫描所述起始位置与所述任务位置之间的一个或多个对象标识符。
Description
技术领域
本公开总体上涉及机器人系统,且更具体地,涉及用于扫描对象的系统、过程和技术。
背景技术
由于其不断增加的性能和降低的成本,许多机器人(例如,被配置成自动/自主地执行物理动作的机器)现在广泛地用于许多领域。例如,机器人可以用于在制造和/或组装、封包和/或包装、运输和/或装运等过程执行各种任务(例如,操纵或传递对象通过空间)。在执行任务时,机器人可以复制人类动作,从而取代或减少执行危险或重复任务将另外需要的人为参与。
然而,在不考虑技术进步的情况下,机器人通常缺少复制执行更为复杂的任务所需要的人类灵敏度和/或适应性所必须的复杂性。例如,操纵机器人通常缺乏执行的动作中的控制粒度和灵活性,以考虑可能由各种现实世界因素引起的偏差或不确定性。因此,需要改进的技术和系统以便控制和管理机器人的各种方面,从而完成任务而不考虑各种真实世界因素。
附图说明
图1是具有增强的扫描机制的机器人系统可以在其中操作的示例性环境的图解。
图2是示出根据本公开的一个或多个实施方案的机器人系统的框图。
图3A是呈第一姿势的对象的图解。
图3B是图3A的呈第二姿势的对象的图解。
图3C是图3A的呈第三姿势的对象的图解。
图4是示出由根据本公开的一个或多个实施方案的机器人系统执行的示例性任务的俯视图。
图5A是根据本公开的一个或多个实施方案的用于操作图1的机器人系统的流程图。
图5B是根据本公开的一个或多个实施方案的用于基于扫描指标而得到运动计划的流程图。
具体实施方式
本文描述了用于具有增强的扫描机制的机器人系统的系统和方法。根据一些实施方案配置的机器人系统(例如,执行一个或多个指定任务的装置的整合系统)通过根据与对象的初始姿势相关联的不确定性得到和执行运动计划提供增强的扫描。
机器人系统可以被配置成基于操纵(例如,物理位移和/或重新定向)目标对象来执行任务。例如,机器人系统可以基于从源位置(例如,料箱、货盘或传送带)拾取目标对象并且将其移动到目的地位置而对各种对象进行挑选或重新定位。在一些实施方案中,所述任务还可以包括在传递期间对目标对象进行扫描,诸如通过向一组扫描仪呈现位于目标对象的一个或多个特定位置和/或表面上的一个或多个标识符(例如,条形码或快速响应(QR)码)。因此,机器人系统可以得到或计算有关以下操作的运动计划:夹持并拾取目标对象,将目标对象传递到呈现位置/取向以向扫描仪呈现标识符,以及将目标对象放置在任务位置处(例如,通过将对象传递到任务位置,调整对象的姿势,降下对象,和/或释放对象)。
为了执行任务,在一些实施方案中,机器人系统可以包括成像装置(例如,相机、红外传感器/相机、雷达、激光雷达等),所述成像装置用于识别目标对象的位置和/或姿势(例如,搁置取向)和/或目标对象周围的环境。在一些实施方案中,机器人系统还可以计算与所述姿势相关联的置信度测量值。所述置信度测量值可以表示确定的姿势匹配目标对象的实际真实世界姿势的确定性或可能性的测量值。对于说明性实例,机器人系统可以获得描绘对象的位置和取向的图像(例如,拾取区域(诸如源料箱或货盘)的图像),所述对象被定任务成被从拾取区域传递到任务区域(例如,目的地料箱或货盘)。机器人系统可以对图像进行处理,以根据预确定次序(例如,从顶部到底部和/或从外边缘向内)识别或选择目标对象。机器人系统还可以根据图像确定初始姿势,诸如通过对对象线进行识别和分组(例如,根据像素色彩、亮度和/或相对于相邻像素的值的改变)。在确定初始姿势时,机器人系统还可以根据预确定过程和/或等式计算置信度测量值(例如,与确定的姿势相关联的量化确定程度)。
根据所述位置、姿势、置信度测量值或其组合,机器人系统可以得到和执行运动计划(例如,有关致动器的用于移动一个或多个连接和/或接头的一系列控制)以执行任务。例如,为了挑选和/或重新定位目标对象,运动计划可以对应于首先在源位置处夹持目标对象,在空间上操纵所述目标对象,以及将目标对象放置在目的地位置处。
传统的系统严格地基于确定的对象姿势而得到和执行运动计划。因此,传统的系统在不考虑上游(例如,在收集输入数据时)可能已经发生的任何偏差、误差和/或不确定性的情况下得到和执行运动计划。为此,传统的系统无法缓和或纠正上游引入的缺陷,这导致要求人为干预/输入的任务失败(例如,识别对象失败和/或在传递期间丢失物件)。
与传统的系统不同,下面所描述的各种实施方案可以根据置信度测量值得到和执行运动计划。换句话说,下面所描述的机器人系统可以改变用于目标对象的方法、改变目标对象上的夹持位置、改变目标对象的呈现姿势/位置,和/或根据置信度测量值改变运动路径的其它部分。举说明性实例,机器人系统可以选择位于拾取区域中的箱子作为目标对象。对于该实例,所述箱子对应于对象顶部表面总体上水平定向且是暴露的并且对象侧表面(即,小于/窄于顶部表面)中的一个总体上竖直地定向并且也是暴露的姿势。机器人系统的主数据中可以包括对象在对象底部表面(即,与对象顶部表面相对)上具有一个标识符并且在对象侧表面中的一个上具有较小标识符。当在识别目标对象时机器人系统对拾取位置的图像进行处理时,机器人系统可以计算置信度测量值。例如,置信度测量值可以对应于在图像中捕获的箱子的一个或多个可见特性(例如,形状、色彩、图像、设计、标志、文本等)与主数据中的预确定信息之间的匹配的测量值。如果置信度测量值在阈值以上,以使得机器人系统充分确定地识别出对象顶部表面暴露在箱子的顶部上,那么机器人系统可以将末端执行器放置在暴露的顶部表面上方,夹持顶部表面,并且旋转目标对象以将底部表面呈现在扫描仪前方的固定位置处。如果置信度测量值低于阈值,以使得机器人系统无法识别顶部表面或底部表面是否暴露,那么机器人系统可以将末端执行器放置在对象侧表面中的一个旁边,夹持对象侧表面,并且旋转目标对象以在一组相对的扫描仪之间传递。
在空间中(例如,在起始位置与任务位置之间的位置处)对目标对象进行扫描提供改进的效率和速度以便执行任务。通过计算包括扫描位置并且还与目标扫描仪协调的运动计划,机器人系统可以有效地将有关传递目标对象的任务与有关扫描目标对象的任务进行组合。此外,基于初始取向的置信度测量值而得到运动计划还提高了扫描任务的效率、速度和准确性。机器人系统可以计算考虑对应于初始姿势不准确这一假设的可供替代的取向的运动计划。因此,机器人系统可以在即使具有姿势确定误差(例如,由于校准误差、非预期姿势、非预期照明条件等而引起)的情况下也增加准确地/成功地扫描目标对象的可能性。准确扫描的可能性增加可能会导致机器人系统的总吞吐量增加,并且会进一步减少操作员努力/干预。关于置信度计算和相关联的路径计算的细节在下面描述。
在下面的描述中,阐述了多种特定细节以提供对本公开的透彻理解。在其它实施方案中,可以在没有这些特定细节的情况下实践这里介绍的技术。在其它例子中,未详细描述诸如特定功能或例程等熟知的特征,以避免不必要地模糊本公开。本描述中引用“实施方案”、“一个实施方案”等意味着所描述的特定特征、结构、材料或特性包括在本公开的至少一个实施方案中。因此,这些短语在本说明书中出现不一定均表示相同的实施方案。另一方面,这些引用也不一定是相互排斥的。另外,特定特征、结构、材料或特性可以以任何合适的方式组合在一个或多个实施方案中。应当理解,附图中所示出的各种实施方案仅是说明性表示,且不一定按比例绘制。
出于清楚的目的,以下描述中未阐述描述熟知的且通常与机器人系统和子系统相关联但是可能会不必要地模糊所公开的技术的一些重要方面的结构或过程的若干细节。此外,虽然以下公开内容阐述了本公开的不同方面的若干实施方案,但是若干其它实施方案可以具有与该部分中所描述的那些不同的配置或不同的部件。因此,所公开的技术可以具有其它实施方案,所述其它实施方案具有额外的元件或不具有下面所描述的元件中的若干。
下面所描述的本公开的许多实施方案或方面可以采用计算机或控制器可执行指令的形式,包括由可编程计算机或控制器执行的例程。相关领域技术人员将了解,所公开的技术可以在除下面所示出和描述的那些以外的计算机或控制器系统上实践。本文所描述的技术可以在专用计算机或数据处理器中体现,所述专用计算机或数据处理器被专门地编程、配置或构建以执行下面所描述的计算机可执行指令中的一个或多个。因此,如本文中一般使用的术语“计算机”和“控制器”表示任何数据处理器,并且可以包括互联网设备和手持式装置(包括掌上型计算机、可佩戴计算机、蜂窝或移动电话、多处理器系统、基于处理器或可编程消费电子产品、网络计算机、微型计算机等)。通过这些计算机和控制器处理的信息可以在包括液晶显示器(LCD)的任何合适的显示介质上呈现。用于执行计算机或控制器可执行任务的指令可以存储在任何合适的计算机可读介质中或任何合适的计算机可读介质上,所述计算机可读介质包括硬件、固件或硬件和固件的组合。指令可以容纳在任何合适的存储器装置上,所述任何合适的存储器装置包括例如闪存盘和/或其它合适的介质。
术语“联接”和“连接”以及其衍生词可以在本文中被用来描述部件之间的结构关系。应当理解,这些术语并非意图作为彼此的同义词。实际上,在特定实施方案中,“连接”可以被用来指示两个或更多个元件彼此直接接触。除非在上下文中另有明确说明,否则术语“联接”可以用于指示两个或更多个元素直接或间接(在它们之间具有其它中间元件)彼此接触,或者两个或更多个元件共同协作或彼此交互(例如,如在因果关系中,诸如用于信号传输/接收或用于功能调用)或二者。
合适的环境
图1是具有增强的扫描机制的机器人系统100可以在其中操作的示例性环境的图解。机器人系统100包括被配置成执行一个或多个任务的一个或多个结构(例如,机器人)。增强的扫描机制的各方面可以由各种结构实践或实现。
对于图1中示出的实例,机器人系统100可以包括在仓库或配送/装运中心中的卸载单元102、传递单元104(例如,货盘装载机器人和/或物件拾取机器人)、运输单元106、装载单元108或其组合。机器人系统100中的单元中的每一个可以被配置成执行一个或多个任务。所述任务可以按顺序组合,以执行实现目标的操作,所述目标诸如从卡车或火车卸载对象以便存储在仓库中,或者从存储位置卸载对象并且将所述对象装载到卡车或货车上以便进行装运。举另一个实例,任务可以包括将对象从一个容器移动到另一个容器。所述单元中的每一个可以被配置成执行一系列动作(例如,操作其中的一个或多个部件)以执行任务。
在一些实施方案中,任务可以包括将目标对象112(例如,作为目标进行操纵的箱子、盒子、笼子、货盘等)从起始位置114操纵(例如,移动和/或重新定向)到任务位置116。例如,卸载单元102(例如,拆箱机器人)可以被配置成将目标对象112从载体(例如,卡车)中的位置传递到传送带上的位置。而且,传递单元104可以被配置成将目标对象112从一个位置(例如,传送带、货盘或料箱)传递到另一个位置(例如,运输单元106上的货盘、料箱或笼子)。举另一个实例,传递单元104(例如,物件拾取机器人)可以被配置成将目标对象112从一个容器传递到另一个容器。在完成操作的过程中,运输单元106可以将目标对象112从与传递单元104相关联的区域传递到与装载单元108相关联的区域,并且装载单元108可以将目标对象112从传递单元104传递(通过例如移动运送目标对象112的货盘)到存储位置(例如,货架上的位置)。下面描述了有关任务和相关联动作的细节。
出于说明性目的,在装运中心的上下文中描述了机器人系统100;然而,应当理解,机器人系统100可以被配置成以其它环境/出于其它目的(诸如用于制造、组装、包装、健康护理和/或其它类型的自动化)执行任务。还应当理解,机器人系统100可以包括其它单元,诸如图1中为实处的操纵器、服务机器人、模块化机器人等。例如,在一些实施方案中,机器人系统100可以包括用于将对象从笼式推车或货盘传递到传送带或其它货盘上的货盘卸载单元,用于将对象从一个容器传递到另一个容器的容器切换单元,用于包裹对象的包装单元,用于根据对象的一个或多个特性对对象进行分组的挑选单元,用于根据对象的一个或多个特性以不同方式操纵(例如,用于挑选、分组和/或传递)对象的物件拾取单元,或它们的组合。
合适的系统
图2是示出根据本公开的一个或多个实施方案的机器人系统100的框图。在一些实施方案中,例如,机器人系统100(例如,在上面描述的单元和/或机器人中的一个或多个处)可以包括电子/电气装置,诸如一个或多个处理器202、一个或多个存储装置204、一个或多个通信装置206、一个或多个输入-输出装置208、一个或多个致动装置212、一个或多个运输马达214、一个或多个传感器216或它们的组合。各种装置可以经由有线连接和/或无线连接彼此联接。例如,机器人系统100可以包括总线,诸如系统总线、外围部件互连(PCI)总线或PCI-Express总线、超传输或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、IIC(12C)总线或电气和电子工程师协会(IEEE)标准1394总线(也称为“火线”)。而且,例如,机器人系统100可以包括桥接器、适配器、控制器或其它信号相关装置,以便在装置之间提供有线连接。无线连接可以基于例如蜂窝通信协议(例如,3G、4G、LTE、5G等)、无线局域网(LAN)协议(例如,无线保真(WIFI))、对等或装置到装置通信协议(例如,蓝牙、近场通信(NFC)等)、物联网(IoT)协议(例如,NB-IoT、LTE-M等)和/或无线通信协议。
处理器202可以包括数据处理器(例如,中央处理单元(CPU)、专用计算机和/或车载服务器),所述数据处理器被配置成执行存储在存储装置204(例如,计算机存储器)上的指令(例如,软件指令)。处理器202可以实现程序指令以控制其它装置/与其它装置介接,从而致使机器人系统100来执行动作、任务和/或操作。
存储装置204可以包括上面存储有程序指令(例如,软件)的非暂时性计算机可读介质。存储装置204的一些实例可以包括易失性存储器(例如,高速缓冲存储器和/或随机存取存储器(RAM))和/或非易失性存储器(例如,快闪存储器和/或磁盘驱动器)。存储装置204的其它实例可以包括便携式存储器驱动器和/或云存储装置。
在一些实施方案中,存储装置204可以被用来进一步存储和提供对处理结果和/或预确定数据/阈值的访问。例如,存储装置204可以存储主数据252,所述主数据252包括可以由机器人系统100操纵的对象的描述(例如,箱子、盒子和/或产品)。在一个或多个实施方案中,主数据252可以包括有关预期将由机器人系统100操纵的对象的尺寸、形状(例如,有关潜在姿势的模板和/或用于识别呈不同姿势的对象的计算机生成模型)、色彩方案、图像、识别信息(例如,条形码、快速响应(QR)码、标志等,和/或其预期位置)、预期重量或它们的组合。在一些实施方案中,主数据252可以包括有关对象的操纵相关信息,诸如对象中的每一个上的质心位置、对应于一个或多个动作/调动的预期传感器测量结果(例如,有关力、力矩、压力和/或接触测量结果)或它们的组合。而且,例如,存储装置204可以存储对象跟踪数据254。在一些实施方案中,对象跟踪数据254可以包括扫描的或操纵的对象的日志。在一些实施方案中,对象跟踪数据254可以包括对象在一个或多个位置(例如,指定的拾取或放下位置和/或传送带)处的成像数据(例如,图片、点云、实时视频馈送等)。在一些实施方案中,对象跟踪数据254可以包括位置和/或对象在一个或多个位置处的取向。
通信装置206可以包括电路,所述电路被配置成经由网络与外部或远程装置通信。例如,通信装置206可以包括接收器、发射器、调制器/解调器(调制解调器)、信号检测器、信号编码器/解码器、连接器端口、网卡等。通信装置206可以被配置成根据一个或多个协议(例如,互联网协议(IP)、无线通信协议等)发送、接收和/或处理电气信号。在一些实施方案中,机器人系统100可以使用通信装置206来在机器人系统100的单元之间交换信息,和/或与机器人系统100外部的系统或装置交换信息(例如,用于报告、数据收集、分析和/或纠错目的)。
输入-输出装置208可以包括用户接口装置,所述用户接口装置被配置成传达信息给人类操作员和/或接收来自人类操作员的信息。例如,输入-输出装置208可以包括显示器210和/或其它输出装置(例如,扬声器、触觉电路或触觉反馈装置等),以便将信息传达给人类操作员。而且,输入-输出装置208可以包括控制或接收装置,诸如键盘、鼠标、触摸屏、传声器、用户接口(UI)传感器(例如,用于接收运动命令的相机)、可佩戴输入装置等。在一些实施方案中,在执行动作、任务、操作或其组合的过程中,机器人系统100可以使用输入-输出装置208来与人类操作员交互。
机器人系统100可以包括物理或结构构件(例如,机器人操纵器臂),所述物理或结构构件在接头处连接以便进行运动(例如,旋转和/或平移位移)。结构构件和接头可以形成动力学链,所述动力学链被配置成操纵末端执行器(例如,夹持装置),所述末端执行器被配置成根据机器人系统100的使用/操作执行一个或多个任务(例如,夹持、自旋、焊接等)。机器人系统100可以包括致动装置212(例如,马达、致动器、电线、人造肌肉、电活性聚合物等),所述致动装置212被配置成围绕对应接头或在对应结构处驱动或操纵(例如,位移和/或重新定向)结构构件。在一些实施方案中,机器人系统100可以包括运输马达214,所述运输马达214被配置成将对应单元/底座从一处运输到另一处。
机器人系统100可以包括传感器216,所述传感器216被配置成获得用于实现任务的信息,诸如有关操纵结构构件和/或有关运输机器人单元的信息。传感器216可以包括装置,所述装置被配置成检测或测量机器人系统100的一个或多个物理性质(例如,机器人系统100的一个或多个结构构件/接头的状态、条件和/或位置)和/或周围环境。传感器216的一些实例可以包括加速计、陀螺仪、力传感器、应变仪、触觉传感器、扭矩传感器、位置编码器等。
例如,在一些实施方案中,传感器216可以包括一个或多个成像装置222(例如,视觉和/或红外相机、2维和/或3维成像相机、诸如激光雷达或雷达等距离测量装置等),所述一个或多个成像装置222被配置成检测周围环境。成像装置222可以生成对检测的环境的表示,诸如数字图像和/或点云,用于实现机器/计算机视觉(例如,用于自动检验、机器人引导或其它机器人应用)。如下面进一步详细描述的,机器人系统100(经由例如处理器202)可以处理数字图像和/或点云,以识别图1的目标对象112、图1的起始位置114、图1的任务位置116、目标对象112的姿势、关于起始位置114和/或姿势的置信度测量值或它们的组合。
为了操纵目标对象112,机器人系统100(例如经由各种单元)可以捕获和分析指定区域(例如,拾取位置,诸如在卡车内侧或在传送带上)的图像,以识别目标对象112以及其起始位置114。类似地,机器人系统100可以捕获和分析另一指定区域(例如,用于将对象放置在传送带上的放下位置,用于将对象放置在容器内侧的位置,或货盘上出于堆垛目的的位置)的图像,以识别任务位置116。例如,成像装置222可以包括被配置成生成拾取区域的图像的一个或多个相机,和/或被配置成生成任务区域(例如,放下区域)的图像的一个或多个相机。基于捕获的图像,如下面所描述,机器人系统100可以确定起始位置114、任务位置116、相关联的姿势和/或置信度测量值。
在一些实施方案中,任务可以包括对目标对象112进行扫描,诸如用于记录物品以便进行装运/接收。为了完成扫描任务部分,成像装置222可以包括一个或多个扫描仪(例如,条形码扫描仪和/或QR码扫描仪),所述一个或多个扫描仪被配置成在传递期间(例如,在起始位置114与任务位置116之间)对识别信息进行扫描。因此,机器人系统100可以计算有关将目标对象112中的一个或多个部分呈现给扫描仪中的一个或多个的运动计划。
在一些实施方案中,例如,传感器216可以包括位置传感器224(例如,位置编码器、电位器等),所述位置传感器224被配置成检测机器人系统100的结构构件(例如,机器人臂和/或末端执行器)和/或对应接头的位置。机器人系统100可以使用位置传感器224来在执行任务期间跟踪结构构件和/或接头的位置和/或取向。
在一些实施方案中,例如,传感器216可以包括接触传感器226(例如,压力传感器、力传感器、应变仪、压阻/压电传感器、电容式传感器、弹塑性电阻传感器和/或其它触觉传感器),所述接触传感器226被配置成测量与多个物理结构或表面之间的直接接触相关联的特性。接触传感器226可以测量对应于末端执行器(例如,夹持装置)在目标对象112上的夹持的特性。因此,接触传感器226可以输出表示量化测量值(例如,测量的力、力矩、位置等)的接触测量值,对应于夹持装置与目标对象112之间的接触或附接程度。例如,接触测量值可以包括与由末端执行器施加到目标对象112上的力相关联的一个或多个力或力矩读数。下面描述了有关接触测量值的细节。
初始姿势和不确定性确定
图3A、图3B和图3C是呈各种姿势(例如,第一姿势312、第二姿势314和/或第三姿势316)的对象302的图解。姿势可以表示对象302的位置和/或取向。换句话说,姿势可以包括根据由机器人系统100所利用的网格系统的平移分量和/或旋转分量。在一些实施方案中,姿势可以由矢量、一组角度(例如,欧拉角和/或侧倾-俯仰-横摆角)、齐次变换或其组合表示。对象302的变换可以包括平移分量、旋转分量的组合、其中的改变或它们的组合的表示。机器人系统100可以对成像输出(例如,2维图像、3维图像、点云和/或来自图2的成像装置222的其它成像数据)进行处理,以识别对象302的姿势。例如,机器人系统100可以对定向到拾取区域的一个或多个相机的成像输出进行分析,以识别位于其中的对象302(例如,图1的目标对象112)的姿势。
为了识别所述姿势,机器人系统100可以首先根据模式识别机制和/或一组规则来分析成像数据,以识别对象廓线(例如,周边边缘或表面)。机器人系统100还可以将对象廓线的组群(例如,根据预确定规则和/或姿势模板)识别为对应于对象的每一个唯一实例。例如,机器人系统100可以识别对象廓线的组群,所述组群对应于跨越对象线的色彩、亮度、深度/位置或其组合的模式(例如,相同的值或以已知的速率/模式变化)。而且,例如,机器人系统100可以根据图2的主数据252中限定的预确定形状/姿势模板识别对象廓线的组群。
一旦对对象廓线进行分组,机器人系统100就可以识别对象302相对于一个或多个坐标系统的姿势,诸如根据由机器人系统100使用的网格或坐标系统。例如,机器人系统100可以根据一个或多个坐标系统识别对象302的一个或多个表面、边缘和/或点以及其取向/位置。
在一些实施方案中,机器人系统100可以识别对象302在成像数据中的一个或多个暴露表面(例如,第一暴露表面304、第二暴露表面306等)。例如,机器人系统100可以根据对象廓线和有关成像装置222的校准或映射数据从成像数据确定对象302的廓线形状和/或一个或多个尺寸(例如,长度、宽度和/或高度)。机器人系统100可以将确定的尺寸主数据252中的对应数据进行比较,以识别对象302。另外,当暴露的表面的尺寸匹配识别的对象的长度和宽度时,机器人系统100可以将暴露的表面识别为对象顶部表面322或对象底部表面324。而且,当暴露的表面的尺寸中的一个匹配识别的对象的高度时,机器人系统100可以将暴露的表面识别为对象外围表面326。
在一些实施方案中,例如,机器人系统100可以基于一个或多个暴露的表面上显示的一个或多个标记(例如,字母、数字、形状、视觉图像、标志或其组合)而识别对象302。机器人系统100可以基于将标记与主数据252中的一个或多个预确定图像进行比较而识别对象302。例如,机器人系统100可以包括包装表面上的产品名称、标志、设计/图像的一个或多个图像,或主数据252中它们的组合。机器人系统100可以将成像数据的一部分(例如,在对象302的对象廓线内的部分)与主数据252进行比较,以识别对象302。机器人系统100可以类似地基于将成像数据的所述部分与对于表面是唯一的预确定图像图案进行匹配而识别对象302的取向。
举说明性实例,图3A、图3B和图3C示出对应于对象302的不同姿势的示例性成像数据。图3A示出第一姿势312,其中第一暴露的表面304(例如,暴露的表面面相上)是对象顶部表面322且第二暴露的表面306(例如,暴露的表面总体上面向成像数据的源)是对象外围表面326中的一个。
在识别暴露的表面时,机器人系统100可以对图3A的成像数据进行处理,以测量第一暴露的表面304和/或第二暴露的表面306的尺寸(例如,像素数量)。机器人系统100可以使用预确定相机校准或映射功能将成像数据中的测量结果映射到真实世界尺寸。机器人系统100可以将映射的尺寸与主数据252中的已知/预期对象的尺寸进行比较,并且基于对尺寸进行匹配而识别对象。另外,机器人系统100可以识别出第一暴露的表面304是对象顶部表面322或对象底部表面324,因为约束第一暴露的表面304的一对交叉的对象边缘匹配识别的对象的长度和宽度。类似地,机器人系统100可以将第二暴露的表面306识别为对象外围表面326,因为限定第二暴露的表面306的对象边缘中的一个匹配识别的对象的高度。
在一些实施方案中,机器人系统100可以对图3A的成像数据进行处理,以识别对于对象的表面是唯一的一个或多个标记。例如,机器人系统100的主数据252中可以包括表面的一个或多个图像和/或其它视觉特性(例如,色彩、尺寸、大小等)和/或对象的如上所述的唯一标记。如图3A中所示,机器人系统100可以将对象识别为主数据252中列出的对象,因为在对象顶部表面322上具有‘A’。因此,机器人系统100还可以将第一暴露的表面304识别为对象顶部表面322。
在一些实施方案中,机器人系统100的主数据252中可以包括有关对象标识符332(例如,计算机可读视觉标识符,诸如对于对象302是唯一的条形码或QR码)的信息。例如,主数据252可以包括对象标识符332的图像和/或编码的消息、相对于表面和/或一组边缘的标识符位置334、标识符的一个或多个视觉特性或其组合。如图3A中所示,机器人系统100可以基于表面上存在对象标识符332和/或对象标识符332的位置匹配标识符位置334而将第二暴露的表面306识别为对象外围表面326。
图3B示出第二姿势314,其中使对象302沿着图3A中的方向B围绕竖直轴线旋转90度。例如,对象302的参考点‘α’可以在图3A中的左下转角和图3B中的右下转角。因此,与第一姿势312相比,对象顶部表面322可以在成像数据中看出呈不同的取向,和/或具有对象标识符322的对象外围表面326可以从视野中隐藏。
机器人系统100可以基于一个或多个识别视觉特征的特殊取向而识别不同姿势。例如,当在以下情况下时机器人系统100可以确定第一姿势312和/或第三姿势316:匹配对象的已知长度的尺寸在成像数据中水平地延伸,匹配对象的已知高度的尺寸在成像数据中竖直地延伸,和/或匹配对象的已知宽度的尺寸在成像数据中沿着深度轴线延伸。类似地,当匹配宽度的尺寸水平低延伸,匹配高度的尺寸竖直地延伸和/或匹配长度的尺寸沿着深度轴线延伸时,机器人系统100可以确定第二姿势314。而且,例如,机器人系统100可以基于可见标记(诸如图3A和图3B中示出的‘A’)的取向而确定对象302呈第一姿势312或第二姿势314。而且,例如,机器人系统100可以根据在表面的组合中见到的可见标记确定对象302呈第一姿势312,诸如当对象标识符332上可见到(即,在不同表面上)标记‘A’时。
图3C示出第三姿势316,其中使对象302沿着图3A中的方向C围绕水平轴线旋转180度。例如,对象302的参考点‘α’可以在图3A中的左下前转角和图3C中的左上后转角。因此,与第一姿势312相比,第一暴露的表面304可以是对象底部表面324,并且具有对象标识符332的对象顶部表面322和对象外围表面326二者可以从视野中隐藏。
如上所述,机器人系统100可以基于所示尺寸而识别所述对象302呈第一姿势312或第三姿势316。当顶部表面标记(例如,‘A’)可见时,机器人系统100可以识别对象302呈第一姿势312。而且,当底部表面标记(例如,对象标识符332的例子)可见时,机器人系统100可以识别对象302呈第三姿势316。
在确定对象302的姿势时,真实世界条件可以影响所述确定的准确性。例如,照明条件可以降低表面标记的可见性,诸如由于反射和/或阴影。而且,对象302的实际取向可以降低一个或多个呈现的表面的暴露或视角,以使得上面的任何标记可能不可识别。为此,在一些实施方案中,机器人系统100可以计算与确定的姿势相关联的置信度测量值。置信度测量值可以表示确定的姿势的准确性的测量值。在一些实施方案中,置信度测量值可以对应于确定的姿势匹配对象302的实际姿势的可能性。
在一些实施方案中,例如,机器人系统100可以基于在确定姿势的过程中使用的匹配测量值而计算置信度测量值。例如,机器人系统100可以基于与图像中的尺寸测量结果相关联的确定性间隔而计算置信度测量值。在一些实施方案中,当对象302与成像源(例如,图2的成像装置222)之间的距离减小和/或当对象302的测量的边缘更接近于与从成像源辐射的方向正交并且更远离与辐射方向平行的方向时,确定性间隔可以增加。而且,例如,机器人系统100可以基于成像数据中的标记或设计与主数据252中的已知标记/设计之间的匹配程度而计算置信度测量值。在一些实施方案中,机器人系统100可以使用成像数据或其一部分与预确定的标记/图像之间的重叠或偏差。机器人系统100可以根据诸如有关最小均方差(MMSE)机制的最大重叠和/或最低偏差测量值而识别对象和/或取向。此外,机器人系统可以基于得到的重叠/偏差测量值而计算置信度测量值。如下面更加详细地描述,机器人系统100可以根据置信度测量值而计算运动路径。换句话说,机器人系统100可以根据置信度测量值而以不同方式移动对象302。
系统操作
图4是示出由根据本公开的一个或多个实施方案的机器人系统100执行的示例性任务402的俯视图。如上所述,任务402可以代表由机器人系统100(例如,通过上面所描述的单元中的一个,诸如图1的传递单元104)执行以实现目标的一系列动作。如图4中所示,例如,任务402可以包括将目标对象112从起始位置114(例如,接纳货盘或料箱上/中的位置)移动到任务位置116(例如,挑选的货盘或料箱上/中的位置)。任务402还可以包括在从起始位置114移动到任务位置116的同时对目标对象112进行扫描。因此,机器人系统100可以根据扫描的信息更新图2的对象跟踪数据254,诸如通过根据对象跟踪数据254添加、移除和/或验证扫描的对象。
在一些实施方案中,机器人系统100可以对预确定区域成像,以识别和/或定位起始位置114。例如,机器人系统100可以包括指向拾取区域的源扫描仪412(即,图2的成像装置222的例子),所述拾取区域诸如指定用于源货盘或料箱的区域和/或传送带的接收侧上的区域。机器人系统100可以使用源扫描仪412以生成指定区域的成像数据(例如,捕获的图像和/或点云)。机器人系统100(经由例如图2的处理器202)可以为成像数据实现计算机视觉过程,以识别位于指定区域中的不同对象(例如,箱子或盒子)。下面描述了对象识别的细节。
根据识别的对象,机器人系统100可以选择(例如,根据预确定顺序或规则集和/或对象廓线的模板)一个作为用于执行任务402的目标对象112。对于选定目标对象112,机器人系统100还可以还可以对成像数据进行处理,以确定起始位置114和/或初始姿势。下面描述了选择和位置/姿势确定的细节。
机器人系统100还可以对另一预确定区域进行成像和处理,以识别任务位置116。在一些实施方案中,例如,机器人系统100可以包括成像装置222(未图示)的另一例子,所述成像装置222被配置成生成安置区域的成像数据,所述安置区域诸如指定用于挑选的货盘或料箱的区域和/或在传送带的发送侧上的区域。可以对成像结果进行处理(经由例如处理器202),以识别有关放置目标对象112的任务位置116和/或对应姿势。在一些实施方案中,机器人系统100可以根据有关堆垛和/或布置多个对象的预确定顺序或规则集来识别(基于或不基于成像结果)任务位置116。
在一些实施方案中,任务402可以包括出于产品记录目的和/或为了进一步识别目标对象112对目标对象112进行扫描(例如,对图3A和/或图3C的对象标识符332进行扫描)。例如,机器人系统100可以包括一个或多个目标扫描仪416(例如,成像装置222的更多实例,诸如条形码扫描仪或QR码扫描仪),所述一个或多个目标扫描仪416被配置成通常在拾取区域与放置区域之间的一个或多个位置处对目标对象112进行扫描。在一些实施方案中,对象扫描仪416可以面向水平方向,以对与扫描仪相邻的(例如,在对应于对应扫描仪的高度的高度)并且在竖直定向的表面上的标记进行扫描。在一些实施方案中,对象扫描仪416可以面向竖直方向,以对在扫描仪上方/下方并且在水平地定向的表面上的标记进行扫描。在一些实施方案中,对象扫描仪416可以面向彼此,以使得它们可以对对象的放置在对象扫描仪416之间的相对侧进行扫描。根据对象扫描仪416的位置和/或扫描方向,机器人系统100可以操纵目标对象112,以将目标对象112放置在呈现位置,和/或根据呈现姿势以便用对象扫描仪416对目标对象112的一个或多个表面/部分进行扫描。
使用识别的起始位置114和/或任务位置116,机器人系统100可以操作对应单元(例如,传递单元104)的一个或多个结构(例如,机器人臂414和/或末端执行器)来执行任务402。因此,机器人系统100(经由例如处理器202)可以计算(经由例如运动计划规则或算法)基本运动计划,所述基本运动计划对应于将被对应单元实现以执行任务402的一个或多个动作。例如,有关传递单元104的基本运动计划可以包括将末端执行器定位在接近位置(例如,用于放置末端执行器以接触并夹持目标对象112的位置/定位),夹持目标对象112,提升目标对象112,将目标对象112从起始位置114上方传递到用于扫描操作的呈现位置/姿势,将目标对象112从呈现位置传递到任务位置116上方,降下目标对象112,以及释放目标对象112。
在一些实施方案中,机器人系统100可以通过确定有关图2的操作机器人臂414和/或末端执行器的致动装置212中的一个或多个的一系列命令和/或设置来计算运动计划。例如,机器人系统100可以使用处理器202来计算致动装置212的命令和/或设置,所述命令和/或设置用于操纵末端执行器和机器人臂414来将末端执行器(例如,夹持装置)放置在围绕起始位置114的接近位置处,用末端执行器接合并夹持目标对象112,将末端执行器放置在围绕呈现位置的扫描位置(例如,指定的位置和/或取向)处,将末端执行器放置在围绕任务位置116的特定位置处,并且从未端执行器释放目标对象112。机器人系统100可以通过根据确定的一系列命令和/或设置操作致动装置212来执行动作以便完成任务402。
在一些实施方案中,机器人系统100可以基于表示确定的姿势匹配目标对象112的实际真实世界姿势的确定性或可能性的测量值的置信度测量值而得到运动计划。例如,机器人系统100可以根据置信度测量值而将末端执行器放置在用于拾取的不同位置处,诸如以便夹持或覆盖不同的表面,计算有关目标对象112的不同呈现位置/姿势或其组合。
举说明性实例,目标对象112可以是图3A的对象302,所述对象302被放置呈图3A的第一姿势312(即,图3A的对象顶部表面322总体上面向上并且是暴露的)。当置信度测量值高时(即,确定性程度高于阈值,表示确定的姿势更可能是准确的),机器人系统100可以计算第一运动计划422,所述第一运动计划422包括第一接近位置432和第一呈现位置442。例如,因为存在对象顶部表面322面向上(即,图3C的具有图3C的对象标识符332的对象底部表面324面向下)的充分确定性,所以机器人系统100可以计算包括第一接近位置432的第一运动计划422,用于将末端执行器直接放置在对象顶部表面322上方。因此,机器人系统100可以用末端执行器接触/覆盖对象顶部表面322夹持目标对象112,以使得对象底部表面324是暴露的。而且,机器人系统100可以计算包括有关目标对象112直接在面向上的扫描仪上方的第一呈现位置442的第一运动计划422,以便扫描位于对象底部表面324上的对象标识符332。
相比而言,当置信度测量值低(即,确定性程度低于阈值,表示确定的姿势不太可能准确)时,机器人系统100可以计算包括第二接近位置434和一个或多个第二呈现位置444的第二运动计划424(即,与第一运动计划422不同)。例如,机器人系统100可以测量和比较目标对象112的尺寸,并且确定(例如,当测量结果的确定性水平超过预确定阈值时)对象呈图3A的第一姿势312或图3C的第三姿势316。然而,机器人系统100可能难以对印刷在目标对象112的表面上的标记进行成像/处理,以使得与确定的姿势相关联的置信度测量值低于阈值。换句话说,机器人系统100可能不够肯定面向上的暴露表面是对象顶部表面322(例如,第一姿势312)或对象底部表面324(例如,第三姿势316)。
由于较高的不确定性程度,机器人系统100可以计算包括用于将末端执行器放置成邻近(例如,与对象顶部表面322和/或对象底部表面324对准和/或面向平行于对象顶部表面322和/或对象底部表面324的方向)图3A的对象外围表面326中的一个的第二接近位置434的第二运动计划424。因此,机器人系统100可以用末端执行器接触/覆盖对象外围表面326中的一个并且暴露对象顶部表面322和对象底部表面324二者来夹持目标对象112。机器人系统100可以同时地或顺序地将对象顶部表面322和对象底部表面324呈现或放置在对象扫描仪416前方(例如,在对象扫描仪416的扫描区域中和/或面向对象扫描仪416)。当目标对象112处于适当位置进行扫描时,机器人系统100可以操作对象扫描仪416(例如,至少面向对象顶部表面322和对象底部表面324的扫描仪)以同时和/或顺序地扫描呈现的表面并且捕获上面的对象标识符332。
而且,机器人系统100可以计算第二运动计划424,所述第二运动计划424包括第二呈现位置444,用于将最初面向下的表面(对象底部表面324)水平地放置并且直接放置在面向上的扫描仪上方和/或将最初面向上的表面(对象顶部表面322)竖直地放置并且直接放置在面向水平方向的扫描仪前方。第二运动计划424可以包括用于提供两个呈现位置/姿势的重新定向/旋转动作(例如,由虚线未填充的圆圈表示),从而使用正交定向的扫描仪来对相对顶部/底部表面二者进行扫描。例如,机器人系统100可以将对象顶部表面322顺序地呈现给面向上的扫描仪并且进行扫描,并且然后将目标对象112旋转90度以将对象底部表面324呈现给水平面向的扫描仪进行扫描。在一些实施方案中,重新定向/旋转动作可以是有条件的,以使得当读取对象标识符332的第一次扫描不成功时,机器人系统100实现对应的命令。
或者,例如,当置信度测量值低时,机器人系统100可以计算用于沿着目标对象112的宽度夹持/覆盖对象外围表面326中的一个的运动计划(未图示)。机器人系统100可以在一对水平相对的对象扫描仪416之间移动目标对象112,以沿着目标对象112的长度呈现对象外围表面326,从而扫描这种外围表面中的一个上的对象扫描仪332(例如,如图3A中所示)。下面描述了有关基于置信度测量值的运动计划的细节。
在执行有关任务402的动作的过程中,机器人系统100可以跟踪目标对象112的当前位置(例如,对应于由机器人系统100使用的网格的一组坐标)。例如,机器人系统100(经由例如处理器202)可以根据来自图2的位置传感器224的数据跟踪当前位置/姿势。机器人系统100可以根据来自位置传感器224的数据定位动力学链中的机器人臂414(例如,机器人臂的结构构件和/或接头)的一个或多个部分。机器人系统100还可以基于机器人臂414的位置和取向而计算末端执行器的位置/姿势,并且因此计算由末端执行器固持的目标对象112的当前位置。而且,机器人系统100可以基于根据航迹推算机制处理其它传感器读数(例如,力读数或加速计读数)、执行的致动命令/设置和/或相关联定时或它们的组合而跟踪当前位置。
操作流程
图5A是操作图1的根据本公开的一个或多个实施方案的机器人系统100的方法500的流程图。方法500可以根据与初始姿势确定相关联的置信度测量值执行图4的任务402。方法500可以用于基于所述置信度测量值而得到/计算和实现运动计划。可以使用图2的处理器202中的一个或多个基于执行存储在图2的存储装置204中的一个或多个上的指令而实现方法500。
在框501处,机器人系统100可以识别图2的成像装置222中的一个或多个的扫描区域。例如,机器人系统100(经由例如处理器202中的一个或多个)可以识别可以由成像装置222中的一个或多个(诸如图4的源扫描仪412和/或图4的对象扫描仪416)扫描的空间。在一些实施方案中,机器人系统100可以根据对象扫描仪416的取向识别定向在相对方向和/或正交方向的扫描区域。如图4中所示,在一些实施方案中,对象扫描仪416可以布置成彼此相对和/或面向彼此,诸如跨水平方向或跨竖直方向。而且,在一些实施方案中,对象扫描仪416可以被布置成彼此垂直,诸如一个面向上或面向下而另一个面向水平方向。
在一些实施方案中,例如,机器人系统100可以根据主数据252识别扫描区域。主数据252可以包括表示成像装置222和/或对应扫描区域的网格位置、坐标和/或其它标记。可以根据成像装置222的布局和/或物理布置、成像装置222的功能、环境因素(例如,照明条件和/或障碍物/结构)或其组合来预确定主数据252。在一些实施方案中,机器人系统100可以实现校准过程,以识别扫描区域。例如,机器人系统100可以使用图1的传递单元104来将已知的标记或代码放置在一组位置处,并且确定对应的成像装置是否准确地扫描已知的标记。机器人系统100可以基于导致准确扫描结果的已知标记的位置而识别扫描区域。
在框502处,机器人系统100可以对指定区域进行扫描。在一些实施方案中,机器人系统100可以使用(经由例如由处理器202发送的命令/提示)成像装置222中的一个或多个(例如,图4的源扫描仪412和/或其它区域扫描仪)以生成一个或多个指定区域的成像数据(例如,捕获的数字图像和/或点云),所述一个或多个指定区域诸如拾取区域和/或放下区域(例如,源货盘/料箱/传送带和/或任务货盘/料箱/传送带)。成像数据可以从成像装置222传送到一个或多个处理器202。因此,处理器202中的一个或多个可以接收表示拾取区域(例如,包括执行任务之前的对象)和/或放下区域(例如,包括执行任务之后的对象)的成像数据供进一步处理。
在框504处,机器人系统100可以识别图1的目标对象112和相关联的位置(例如,图1的起始位置114和/或图1的任务位置116)。在一些实施方案中,例如,机器人系统100(经由例如处理器202)可以根据模式识别机制和/或一组规则来对成像数据进行分析,以识别对象廓线(例如,周边边缘和/或表面)。机器人系统100还可以将对象廓线的组群和/或表面(例如,根据预确定规则和/或姿势模板)识别为对应于对象的每一个唯一实例。例如,机器人系统100可以识别对象廓线的组群,所述组群对应于跨越对象线的色彩、亮度、深度/位置或其组合的模式(例如,相同的值或以已知的速率/模式变化)。而且,例如,机器人系统100可以根据主数据252中限定的预确定形状/姿势模板、图像或其组合识别对象廓线的组群和/或表面。
根据拾取位置中的识别的对象,机器人系统100可以选择(例如,根据预确定顺序或规则集合/或对象廓线的模板)一个座位目标对象112。例如,机器人系统100可以诸如根据点云(代表相对于源扫描仪412的已知位置的距离/位置的)选择目标对象112作为位于上面的对象。而且,例如,机器人系统100可以选择目标对象112作为位于转角/边缘处的对象,并且所述对象具有成像结果中暴露/示出的两个或更多个表面。另外,机器人系统100可以根据预确定模式或顺序(例如,相对于参考位置从左到右,从最近到最远等)选择目标对象112。
对于选定目标对象112,机器人系统100还可以对成像结果进行处理,以确定起始位置114和/或初始姿势。例如,机器人系统100可以通过将目标对象112在成像结果中的位置(例如,有关确定的姿势的预确定参考点)映射到由机器人系统100使用的网格中的位置来确定起始位置114。机器人系统100可以根据预确定校准图对位置进行映射。
在一些实施方案中,机器人系统100可以对放下区域的成像结果进行处理,以确定对象之间的开放空间。机器人系统100可以基于根据预确定校准图对对象线进行映射而确定开放空间,所述预确定校准图将图像位置映射到系统所使用的真实世界位置和/或坐标。机器人系统100可以将开放空间确定为属于不同组群/对象的对象线(并且因此对象表面)之间的空间。在一些实施方案中,机器人系统100可以基于测量开放空间的一个或多个尺寸和将测量的尺寸与目标对象112的一个或多个尺寸(例如,如存储在图2的主数据252中)进行比较而确定适合于目标对象112的开放空间。机器人系统100可以根据预确定模式(例如,相对于参考位置从左到右,从最近到最远,从底部到顶部)将合适的/开放空间中的一个选择作为任务位置116。
在一些实施方案中,机器人系统100可以在不处理或补充处理成像结果的情况下确定任务位置116。例如,机器人系统100可以在不对区域进行成像的情况下根据预确定动作顺序和位置将对象放置在放置区域。而且,例如,机器人系统100可以对成像结果进行处理,以便执行多个任务(例如,传递多个对象,诸如位于堆垛的共同层/层上的对象)。
在框522处,例如,机器人系统100可以确定基于对成像数据(例如,来自源扫描仪412的成像数据)进行处理而确定初始姿势(例如,目标对象112在拾取位置处的搁置取向的估计值)。在一些实施方案中,机器人系统100可以基于将对象廓线与主数据252的预确定姿势模板中的廓线进行比较(例如,比较像素值)而确定目标对象112的初始姿势。机器人系统100可以识别先前与被选择作为目标对象112的对象相关联的一组对象廓线(例如,暴露的表面的边缘,诸如图3A和/或图3C的第一暴露表面304和/或图3A的第二暴露表面306)。机器人系统100可以基于选择姿势模板中对应于比较的对象廓线之间的最低差异测量值的一个而确定初始姿势。
在一些实施方案中,举另一个例子,机器人系统100可以基于目标对象112的物理尺寸而确定目标对象112的初始姿势。机器人系统100可以基于成像数据中捕获的暴露表面的尺寸而估计目标对象112的物理尺寸。机器人系统100可以测量有关成像数据中的每一个对象廓线的长度和/或角度,并且然后使用校准图、转换表或过程、预确定等式或其组合将测量的长度映射或转换成真实世界或标准长度。机器人系统100可以使用测量的尺寸来识别对应于物理尺寸的目标对象112和/或暴露表面。机器人系统100可以基于将估计的物理尺寸与主数据252中的对象以及其表面的一组已知的尺寸(例如,高度、长度和/或宽度)进行比较而识别对象和/或暴露表面。机器人系统100可以使用匹配的一组尺寸来识别暴露表面和对应取向。例如,当暴露表面的尺寸匹配有关预期对象的长度和宽度时,机器人系统100可以将暴露表面识别为图3A的对象顶部表面322或图3B的对象底部表面324(例如,一对相对的表面)。基于暴露表面的取向,机器人系统100可以确定初始姿势(例如,第一姿势312或当暴露表面面向上时的第三姿势316)。
在一些实施方案中,例如,机器人系统100可以基于目标对象112的一个或多个表面和/或其一个或多个标记的视觉图像而确定目标对象112的初始姿势。机器人系统100可以将一组连接的廓线内的像素值与主数据252的基于标记的预确定姿势模板进行比较。基于标记的姿势模板可以包括例如呈各种不同取向的预期对象的一个或多个唯一标记。机器人系统100可以基于选择表面、表面取向和/或对应姿势中的导致有关比较的图像的最低差异测量值的一个而确定初始姿势。
在框524处,机器人系统100可以计算与初始姿势相关联的置信度测量值。置信度测量值可以表示初始姿势匹配目标对象112的实际真实世界姿势的确定性或可能性的测量值。在一些实施方案中,机器人系统100可以计算置信度测量值作为确定初始姿势的一部分。例如,置信度测量值可以对应于对象廓线与上面所描述的选定模板中的廓线之间的差异测量值。而且,例如,置信度测量值可以对应于与上面所描述的估计的物理尺寸和/或角度相关联的容限水平。而且,例如,置信度测量值可以对应于成像数据中的视觉标记与上面所描述的模板图像之间的差异测量值。
在框506处,机器人系统100可以计算用于执行有关目标对象112的任务402的运动计划(例如,图4的第一运动计划422和/或图4的第二运动计划424)。例如,机器人系统100可以基于计算一系列命令或设置或其组合而计算有关图2的将操作图4的机器人臂414和/或末端执行器的致动装置212的运动计划。对于一些任务,机器人系统100可以计算将操纵机器人臂414和/或末端执行器以将目标对象112从起始位置114传递到任务位置116的顺序和设定值。机器人系统100可以实现运动规划机制(例如,过程、函数、等式、算法、计算机生成/可读模型或它们的组合),所述运动规划机制被配置成根据一个或多个约束条件、目标和/或规则来计算空间中的路径。例如,机器人系统100可以使用A*算法、D*算法和/或基于网格的其它搜索来计算空间中的路径,以便通过一个或多个呈现姿势/位置(例如,用于末端执行器的一个或多个对应扫描位置)将目标对象112从起始位置114移动到任务位置116。运动规划机制可以使用另一过程、函数或等式和/或映射表来将路径转换成有关致动装置212的一系列命令或设置或其组合。在使用运动规划机制的过程中,机器人系统100可以计算将操作机器人臂414和/或末端执行器的顺序,并且致使目标对象112遵循计算的路径。
在一些实施方案中,机器人系统100可以基于置信度测量值而选择性地计算/得到运动计划。机器人系统100可以根据置信度测量值计算包括接近位置(例如,图4的第一接近位置432和/或图4的第二接近位置434)、一个或多个扫描位置(例如,图4的第一呈现位置442和/或图4的第二呈现位置444)或其组合的运动计划。例如,机器人系统100可以根据基于将置信度测量值与充分阈值进行比较的结果的指标(例如,性能指标和/或扫描指标)计算接近位置和/或扫描位置。扫描位置可以用于放置末端执行器,以便将目标对象112的一个或多个表面呈现在将对一个或多个对象标识符332进行扫描的一个或多个对应对象扫描仪416前方(即,在其扫描区域中)。
在框532处,机器人系统100(经由例如处理器202)可以计算一组可用的接近位置。可用的接近位置可以对应于围绕起始位置114的足以用于放置末端执行器的开放或未占用空间。如下面进一步描述,机器人系统100可以将末端执行器放置在选定接近位置处,以便在不干扰其它对象的情况下接触并夹持目标对象112。
在一些实施方案中,例如,机器人系统100可以基于计算目标对象112的对象廓线与相邻对象的廓线之间的分离距离而计算一组可用的接近位置。机器人系统100可以将分离距离与对应于末端执行器的物理大小/形状和/或其不同取向的一组预确定距离进行比较。当对应分离距离超过对应于末端执行器的大小的一组预确定距离时,机器人系统可以识别可用接近位置中的每一个。
在决定框534处,机器人系统100可以将置信度测量值与一个或多个充分性条件(例如,一个或多个阈值)进行比较,以确定是否满足所述一个或多个充分性条件。当置信度测量值满足充分性条件(例如,置信度测量值超过要求的阈值)时,诸如在框536处所示,机器人系统100可以基于性能指标而计算运动计划(例如,第一运动计划422)。在一些实施方案中,当置信度测量值满足充分性条件时,机器人系统100可以假设初始姿势是正确的,并且在不考虑对应于有关扫描至少一个对象标识符的可能性和/或初始姿势可能不准确的可能性的扫描指标的情况下计算运动计划。
举说明性实例,在一些实施方案中,机器人系统100可以在框542处计算候选计划。候选计划可以各自是对应于可用接近位置和扫描位置(例如,有关目标对象112的对应呈现位置/取向)的唯一组合的运动计划的例子。在一些实施方案中,机器人系统100可以根据初始姿势计算标识符位置334,诸如通过旋转标识符位置334或主数据252中的对应模型/姿势。机器人系统100可以排除可能会使末端执行器覆盖(例如,直接在标识符位置334上方、前方和/或在阈值距离内)标识符位置334的可用接近位置。
机器人系统100可以计算有关所述一组可用接近位置(例如,框532的计算结果)中的每一个剩余可用接近位置的候选计划。对于每一个候选计划,机器人系统100还可以根据可用接近位置计算唯一的扫描位置。在一些实施方案中,机器人系统100可以基于旋转和/或平移目标对象112的模型而计算扫描位置,以使得对应于标识符位置334的表面位于扫描区域中,并且面向对应对象扫描仪。机器人系统100可以根据预确定过程、等式、函数等旋转和/或平移模型。
在框544处,机器人系统100可以计算有关每一个候选计划的性能指标。机器人系统100可以计算对应于用于完成任务402的吞吐率的性能指标。例如,性能指标可以与目标对象112所遍历的距离、估计的传递持续时间、有关致动装置212的若干命令和/或设置改变、有关候选计划的完成率(即,与物件丢失率互补)或其组合相关联。机器人系统100可以使用一个或多个测量的或已知数据(例如,与设置/命令相关联的加速度/速度,和/或与夹持表面和/或调遣相关联的物件丢失率)和预确定计算过程、等式、函数等计算有关候选运动计划的对应值。
在框546处,机器人系统100可以将具有最大性能指标的候选计划(即,以及对应接近位置)选择作为运动计划。例如,机器人系统100可以将所述一组候选计划中对应于最高完成率、最短行进距离、最少数量的命令和/或设置改变、最快传递持续时间或其组合的候选计划选择作为运动计划。因此,机器人系统100可以选择所述一组接近位置中对应于最高性能指标的可用接近位置作为接近位置。
相比而言,当置信度测量值未能满足充分性条件(例如,置信度测量值低于要求的阈值)时,机器人系统100可以根据不同的测量值计算候选计划。在一些实施方案中,如框538处所示,机器人系统100可以基于扫描指标而计算运动计划(例如,第二运动计划424)。扫描指标是对应于对象标识符332中的至少一个保持未被末端执行器覆盖并且是可扫描的而不考虑初始姿势是否准确的可能性的值(例如,二进制值或非二进制分值/百分比)。在一些实施方案中,当置信度测量值未能满足充分性条件时,例如,机器人系统100可以将扫描指标优先排在(例如,首先满足和/或给其较重的权重)性能指标前面。因此,机器人系统100可以计算包括一个或多个扫描位置的运动计划,所述一个或多个扫描位置用于将至少一个未覆盖对象标识符呈现(即,在扫描区域中和/或面向对应扫描仪)在对象扫描仪中的一个或多个前面。在进一步详细说明该过程时,图5B是基于根据本公开的一个或多个实施方案的扫描指标而选择性地计算运动计划(例如,用于末端执行器的一个或多个位置)的流程图538。
在一些实施方案中,基于扫描指标而计算运动计划可以包括如框552中所示计算一组暴露的标识符位置。机器人系统100可以相对于初始姿势计算所述一组暴露的标识符位置(例如,在末端执行器处于夹持位置的情况下可以保持可扫描的标识符位置334)。机器人系统100可以计算有关每一个可用接近位置的暴露的标识符位置。根据初始姿势是准确的这一假设,在末端执行器处于对应接近位置的情况下,暴露的标识符位置可以对应于对象标识符332保持未被覆盖的位置。
如上面所描述(对于框542),在一些实施方案中,主数据252可以包括描述有关预期对象中的每一个的标识符位置334的计算机模型或模板(例如,相对于一个或多个对象边缘和/或图像的偏移测量值)。机器人系统100可以基于旋转和/或平移主数据252中的预确定模型/模板而计算所述一组暴露的标识符位置,以匹配初始姿势。在一些实施方案中,机器人系统100可以排除可能会使末端执行器覆盖(例如,直接在标识符位置334上方、前方和/或在阈值距离内)标识符位置334的可用接近位置。换句话说,机器人系统100可以排除直接在标识符位置334上方、前方和/或在阈值距离内的接近位置。
在框554处,机器人系统100可以计算一组可选标识符位置。机器人系统100可以计算有关替代初始姿势的姿势的一组可供替代的标识符位置(例如,标识符位置334)。对于每一个可用的接近位置,机器人系统100可以计算可供替代的姿势,并且对于每一个可供替代的姿势,机器人系统100可以计算可供替代的标识符位置。为此,根据初始姿势是不准确的这一假设,在末端执行器处于对应接近位置的情况下,可供替代的标识符位置可以对应于对象标识符332保持未被覆盖的位置。如上面针对暴露的标识符位置所描述的,机器人系统100可以根据可供替代的姿势基于旋转和/或平移主数据252中的预确定模型/模板而计算可供替代的标识符位置。
在框556处,机器人系统100可以计算有关接近位置中的每一个、可供替代的姿势中的每一个、对象标识符中的每一个或其组合的暴露可能性。暴露可能性表示在末端执行器从对应接近位置夹持目标对象112的情况下一个或多个对象标识符将保持暴露且可扫描的可能性。暴露可能性可以表示初始姿势是准确的情形和初始姿势是不准确的情形二者。换句话说,暴露可能性可以表示即使初始姿势是不准确的一个或多个对象标识符仍然将保持暴露且可扫描的可能性。
在一些实施方案中,例如,机器人系统100可以将暴露可能性计算为条件概率,诸如对应于特定条件(例如,接近位置、可供替代的姿势、对象标识符或其组合的唯一例子)的概率值。在一些实施方案中,机器人系统100可以基于将条件概率与特定条件是真实的概率/可能性(例如,类似于置信度测量值的值)组合(经由例如相加和/或相乘)而计算暴露可能性。在一些实施方案中,当多个标识符将在考虑的接近位置和/或考虑的姿势被暴露时,机器人系统100可以基于将有关每一个可能暴露的标识符的概率相加来计算暴露可能性。
在一些实施方案中,机器人系统100可以基于暴露的标识符位置和可供替代的标识符位置(诸如针对每一个考虑的接近位置的每一个潜在姿势)而将概率值组合而计算暴露可能性。例如,机器人系统100可以使用有关暴露的标识符位置和可供替代的标识符位置的具有相反符号(例如,正或负)的概率来计算暴露可能性。机器人系统100可以基于将两个概率的大小相加和/或将概率与符号相加而计算暴露可能性。整体大小可以表示一个或多个对象标识符将保持可扫描的整体可能性,并且符号化/矢量化可能性可以表示即使初始姿势不准确一个或多个对象标识符仍将保持可扫描的可能性。因此,当整体大小较高并且符号化/矢量化可能性更接近零时接近位置将是理想的,诸如用于表示在不考虑初始姿势的准确性的情况下对象标识符将是可扫描的类似可能性。
在框558处,机器人系统100可以选择接近位置。在一些实施方案中,机器人系统100可以将包括暴露的标识符组(例如,根据初始姿势是正确的这一假设的对象标识符的一组估计的位置)和可供替代的标识符组(例如,根据初始姿势是不正确的这一假设的对象标识符的一组或多组估计的位置)的可用接近位置选择作为接近位置。换句话说,机器人系统100可以将在不考虑初始姿势的准确性的情况下会使得至少一个对象标识符暴露且可扫描的接近位置。在一些实施方案中,机器人系统100可以将对应于匹配和/或最接近目标条件(诸如最高整体大小和/或更接近零的符号化/矢量化可能性)的暴露可能性的可用接近位置选择作为接近位置。
在一些实施方案中,机器人系统100可以基于暴露可能性而计算扫描可能性(例如,暴露的对象标识符将被成功扫描的可能性)。例如,机器人系统100可以将暴露可能性与和对应暴露的对象标识符相关联的评估值(例如,跟踪的成功扫描率、物理大小和/或标识符类型)组合。机器人系统100可以将对应于最高扫描可能性的可用接近位置选择作为接近位置。
在一些实施方案中,机器人系统100可以将暴露的标识符组与可供替代的标识符组进行比较,以确定暴露的标识符组和可供替代的标识符组是否包括在目标对象112的相对表面上的位置(例如,在第一姿势312与第三姿势316之间)。因此,机器人系统100可以选择对应于与两个相对表面正交的第三表面(例如,对象外围表面326中的一个)的可用接近位置。
在框560处,诸如当置信度测量值未能满足充分性阈值时,机器人系统100可以基于选定接近位置而计算候选运动计划。机器人系统100可以计算包括有关末端执行器的一个或多个扫描位置的候选运动计划,所述一个或多个扫描位置对应于将对象标识符放置在暴露的识别符组和可供替代的标识符组二者中的一个或多个呈现位置/取向。换句话说,机器人系统100可以计算可以在不考虑初始姿势的准确性的情况下对目标对象112进行扫描的候选运动计划。
在一些实施方案中,机器人系统100可以计算考虑暴露的标识符组和可供替代的标识符组二者中的标识符位置的候选运动计划。例如,机器人系统100可以计算考虑相对和/或正交表面上的可能的标识符位置的候选运动计划。因此,机器人系统100可以考虑相反的姿势(例如,定向在相反方向上的姿势,其中目标对象的廓线从观察位置/角度保持相同)和/或除初始姿势以外的其它旋转的姿势。回头参看图3A和图3C,举说明性实例,当夹持位置对应于对象外围表面326中的一个时,机器人系统100可以计算考虑第一姿势312和第三姿势316二者的候选运动计划。
为了考虑多个可能的姿势(例如,初始姿势的错误估计),机器人系统100可以计算会将对象标识符放置在暴露的标识符组和可供替代的标识符组二者中的扫描姿势。在一些实施方案中,如框562处所示,机器人系统100可以计算有关在扫描区域中或穿过扫描区域的目标对象112的一组候选姿势。鉴于选定接近位置,机器人系统100可以如上面有关框542所描述的计算候选扫描位置,诸如通过旋转和/或平移标识符位置模型以将标识符位置334放置在扫描区域中。
在框564处,机器人系统100可以将暴露的标识符组和可供替代的标识符组映射到候选扫描位置中的每一个。机器人系统100可以基于从初始姿势开始旋转标识符位置模型而映射暴露的标识符组。机器人系统100可以基于从可供替代的姿势(例如,相对姿势)中的一个开始旋转标识符位置模型而映射可供替代的标识符组。
在映射了标识符位置的情况下,在框568处,机器人系统100可以将暴露的标识符组和可供替代的标识符组二者中的对象标识符的位置和/或取向与扫描区域进行比较。在决定框570处,机器人系统100可以确定候选姿势是否同时将暴露的标识符组和可供替代的标识符组二者中的对象标识符呈现给对象扫描仪。
在框572处,机器人系统100可以将同时将暴露的标识符组和可供替代的标识符组二者中的对象标识符呈现给不同的对象扫描仪/扫描区域的候选姿势识别为扫描姿势。例如,当夹持位置对应于对象外围表面326中的一个并且暴露的标识符组和可供替代的标识符组中的对象位置在相对表面上时,机器人系统100可以识别将目标对象112放置在一对相对/面对面的对象扫描仪之间的扫描姿势,其中所述目标对象112的相对表面中的每一个面向对象扫描仪中的一个。
在框574处,当候选姿势不会同时呈现暴露的标识符组和可供替代的标识符组二者中的对象标识符时,机器人系统100可以计算多个扫描位置(例如,第一扫描位置和第二扫描位置),所述多个扫描位置各自呈现来自暴露的标识符组和可供替代的标识符组的至少一个对象标识符。例如,第一扫描位置可以将暴露的标识符组中的一个或多个对象标识符位置呈现给对象扫描仪中的一个,并且第二扫描位置可以将可供替代的标识符组中的一个或多个对象标识符位置呈现给对象扫描仪中的一个。第二扫描位置可以与以下相关联:围绕轴线从第一扫描位置旋转末端执行器,平移末端执行器,或者其组合。
回头参看图4中所示出的实例,第二运动计划424可以对应于第二接近位置434,所述第二接近位置434对应于与如上所述的两个相对表面(例如,有关第一姿势312和第三姿势316)正交的第三表面(例如,对象外围表面326中的一个)。因此,第一扫描位置可以对应于第二呈现位置444中的第一个,所述第一个位置将对应于初始姿势(例如,第一姿势312)的表面(例如,估计成是对象底部表面324)放置在面向上的对象扫描416上方并且面向所述对象扫描仪416。第二扫描位置可以对应于第二呈现位置444中的第二个,所述第二个位置相对于总体传递方向(例如,总体上从起始位置114到任务位置116)在逆时针方向上将目标对象112旋转90度。因此,第二扫描位置可以对应于第二呈现位置444,所述第二呈现位置444在竖直取向上将对应于可供替代的姿势(例如,第三姿势316)的表面(例如,估计成是对象底部表面324)放置在面向水平方向的对象扫描仪416前方并且面向所述对象扫描仪416。
根据得到的扫描姿势和/或一组扫描位置,机器人系统100可以计算候选计划。机器人系统100可以使用上面描述的一个或多个机制(例如,A*机制)来计算候选计划,所述候选计划将末端执行器放置在选定接近位置处,相应地接触并夹持目标对象112,并且将目标对象112提升和传递到识别的扫描姿势和/或一组扫描位置。例如,当识别了扫描姿势时,机器人系统100可以计算用来确立有关在扫描区域中或穿过扫描区域的目标对象112的扫描姿势的候选计划。当机器人系统100未识别扫描姿势时,机器人系统100可以计算用来将末端执行器顺序地传递/定向通过所述一组多个扫描位置从而根据多个呈现位置/取向顺序地传递/旋转目标对象112的候选计划。
在框576处,机器人系统100可以重新计算或更新有关候选运动计划中的每一个的扫描可能性。机器人系统100可以基于将如上面有关框544所描述的各种概率和/或偏好(例如,有关接近位置、扫描位置、利用的对象扫描仪、可能暴露的标识符、相关联的误差和/或丢失率或其组合的概率和/或分值)组合但是相对于扫描指标而不是性能指标而更新扫描可能性。
在框578处,机器人系统100可以基于根据扫描可能性选择候选计划而计算运动计划。机器人系统100可以从候选计划中选择具有最大扫描可能性的候选计划作为运动计划。例如,机器人系统100可以选择具有在目标对象112的传递期间将暴露的标识符位置中的至少一个和可供替代的标识符位置中的至少一个放置在扫描区域中(即,在对象扫描仪中的一个或多个前方)的一个或多个中(例如,以便在起始位置114与任务位置116之间的空间中进行扫描)的最高可能性的候选计划。
当不止一个候选计划对应于在相对较小的差值(例如,预确定阈值)内的扫描可能性时,机器人系统100可以计算和评估(例如,如上面有关框544和546所描述的)对应于对应候选计划的性能指标。机器人系统100可以将最接近目标条件的候选计划选择作为运动计划。
在一些实施方案中,机器人系统100可以偏离示出的示例性流程。例如,机器人系统100可以如上所述选择接近位置。基于选定接近位置,机器人系统100可以夹持目标对象112,并且实现一组预确定操纵,诸如提升、重新定向、水平地平移、向下放置并且释放或其组合。在所述一组预确定操纵期间或之后,机器人系统100可以对拾取区域进行重新成像或扫描(经由例如循环回到框502),并且重新确定初始姿势和置信度测量值(经由例如框522和524)。
回到图5A,在框508处,机器人系统100可以开始实现得到的运动计划。机器人系统100可以基于操作一个或多个处理器202以将运动计划的命令和/或设置发送给其它装置(例如,对应的致动装置212和/或其它处理器)而实现运动计划,从而执行任务402。因此,机器人系统100可以通过根据一系列命令或设置或其组合操作致动装置212来执行运动计划。例如,机器人系统100可以操作致动装置212,以将末端执行器放置在围绕起始位置114的接近位置处,接触并夹持目标对象112或其组合。
在框582处,机器人系统100可以将末端执行器传递到扫描位置,从而将目标对象112传递到呈现位置/取向。例如,在从起始位置114提升目标对象112之后或同时,机器人系统100可以传递末端执行器以确立有关目标对象112的扫描姿势。而且,机器人系统100可以将末端执行器传递到第一扫描位置。
在框584处,机器人系统100可以操作对象扫描仪416以扫描目标对象112。例如,处理器202中的一个或多个可以将命令发送给对象扫描仪416以执行扫描,和/或将询问发送给对象扫描仪416以接收扫描状态和/或扫描的值。当运动计划包括扫描姿势时,诸如在框585处,机器人系统100可以实现运动计划以在正交于扫描区域的取向的方向上以扫描姿势将目标对象112传递跨越扫描区域。在传递目标对象112的同时,对象扫描仪416可以(同时和/或顺序地)扫描有关对象扫描仪332的多个可能的位置的多个表面。
在决定框586处,机器人系统100可以评估扫描结果(例如,状态和/或扫描的值),以确定是否扫描了目标对象112。例如,机器人系统100可以验证在实现运动计划之后直到第一扫描位置扫描结果。当扫描结果指示目标对象112的成功扫描(例如,对应于有效代码/标识符的检测的状态,和/或匹配识别的/预期对象的扫描值)时,诸如在框588处,机器人系统100可以将目标对象112传递到任务位置116。在一些实施方案中,基于成功的扫描,机器人系统100可以忽略任何后续扫描位置(例如,第二扫描位置),并且将目标对象112直接传递到任务位置116。
当扫描结果指示不成功的扫描时,在决定框590处,机器人系统100可以确定当前扫描位置是否是运动计划中的最后一个。当不是最后一个运动计划时,机器人系统100可以将目标对象112传递到下一个呈现位置/取向,如通过循环回到框582所示。
当当前扫描位置是运动计划中的最后一个时,机器人系统100可以如框592处所示实现一个或多个补救动作。在一些实施方案中,当有关运动计划中的所有扫描位置的扫描结果指示扫描失败时,机器人系统100可以停止和/或取消运动计划。在一些实施方案中,机器人系统100可以生成错误状态/消息以便通知操作员。在一些实施方案中,机器人系统100可以将目标对象112放置在指定用于未被扫描的对象的区域的内侧(即,在与起始位置114和任务位置116不同的位置处)。
基于成功地完成任务402(即,成功地扫描目标对象112并且将其放置在任务位置116处)或实现补救动作,机器人系统100可以移动到下一个任务/对象。在一些实施方案中,机器人系统100可以重新扫描指定区域,如通过循环回到框502所示。在一些实施方案中,机器人系统100可以使用现有成像数据来选择下一个对象作为目标对象112,如通过循环回到框504所示。
在空间中(例如,在起始位置114与任务位置116之间的位置处)对目标对象112进行扫描提供改进的效率和速度以便执行任务402。通过计算包括扫描位置并且还与目标扫描仪416协调的运动计划,机器人系统100可以有效地将有关传递目标对象的任务与有关扫描目标对象的任务进行组合。此外,根据初始取向的置信度测量值计算运动计划还提高了扫描任务的效率、速度和准确性。如上所述,机器人系统100可以计算考虑对应于初始姿势不准确这一假设的可供替代的取向的运动计划。因此,机器人系统100可以在即使具有姿势确定误差(诸如,由于校准误差、非预期姿势、非预期照明条件等而引起)的情况下也增加准确地/成功地扫描目标对象的可能性。准确扫描的可能性增加可能会导致机器人系统100的总吞吐量增加,并且会进一步减少操作员努力/干预。
结论
本公开的实例的以上具体实施方式不意图穷举或将本公开限制为上文公开的精确形式。虽然出于说明性目的在上面描述了本公开的具体实例,但是如相关领域的技术人员将认识到的,在本公开的范围内可以做出各种等同修改。例如,虽然以给定顺序呈现过程或块,但是可供替代的实现方式可以以不同的次序执行具有步骤的例程,或者采用具有块的系统,并且可以删除、移动、添加、细分、组合一些过程或块,和/或修改以提供可供替代的组合或子组合。这些过程或块中的每一个可以以多种不同的方式实现。而且,虽然有时将过程或块示出为串行执行,但是这些过程或块可以替代地并行执行或实现,或者可以在不同时间执行。另外,本文提到的任何具体数字仅是实例;可供替代的实现方式可以采用不同的值或范围。
根据以上具体实施方式,可以对本公开做出这些和其它改变。虽然具体实施方式描述了本公开的某些实例以及预期的最佳模式,但是无论上述描述在文本中出现的详细程度如何,本公开都可以以许多方式实践。系统的细节在其具体实现方式上可以有很大不同,同时仍然包含在本公开中。如上所述,在描述本公开的某些特征或方面时使用的特定术语不应被视为暗示本文中重新限定的术语限于本公开的与该术语相关联的任何特定特性、特征或方面。因此,除了所附权利要求之外,本发明不受限制。通常,以下权利要求中使用的术语不应被解释为将本公开限制于说明书中所公开的特定实例,除非以上具体实施方式部分明确地限定了这些术语。
虽然下面以某些权利要求形式呈现了本发明的某些方面,但是申请人以任何数量的权利要求形式考虑了本发明的各种方面。因此,申请人保留在提交本申请之后追究额外权利要求的权利以在本申请中或在继续申请中追究这些额外权利要求形式。
Claims (19)
1.一种用于操作机器人系统的方法,所述方法包括:
接收表示包括目标对象的拾取区域的成像数据;
基于所述成像数据而确定所述目标对象的初始姿势;
计算与所述初始姿势相关联的置信度测量值,其中所述置信度测量值指示所述初始姿势是准确的可能性;
基于所述置信度测量值而得到接近位置和至少一个扫描位置,所述接近位置限定有关末端执行器接触并夹持所述目标对象的位置,所述扫描位置限定有关所述末端执行器将所述目标对象的一个或多个表面呈现在一个或多个对应对象扫描仪前方以便对一个或多个对象标识符进行扫描的位置,
基于所述得到的接近位置和所述扫描位置而得到运动计划,
其中所述运动计划包括命令,设置,或其组合以便操作机器人臂和末端执行器来基于以下操作而执行任务:(1)从起始位置拾取所述目标对象,(2)将所述目标对象传递到任务位置,以及(3)将一个或多个对象标识符呈现给位于所述起始位置与所述任务位置之间的一个或多个对象扫描仪,
其中得到所述运动计划包括:
将所述置信度测量值与充分性阈值进行比较,
根据性能指标和/或扫描指标,基于所述比较的结果而选择性地计算所述接近位置和所述扫描位置,其中所述扫描指标对应于在不考虑所述初始姿势是否准确的情况下所述对象标识符中的至少一个保持不被所述末端执行器覆盖的可能性;以及
实现所述运动计划以便操作一个或多个致动装置来执行所述任务;
其中:
得到所述接近位置和所述扫描位置包括当所述置信度测量值未能满足所述充分性阈值时,将所述扫描指标优先排在所述性能指标前面。
2.如权利要求1所述的方法,其中得到所述接近位置和所述扫描位置包括当所述置信度测量值未能满足所述充分性阈值时,根据所述扫描指标得到所述接近位置和所述扫描位置。
3.如权利要求1所述的方法,其中得到所述接近位置和所述扫描位置包括当所述置信度测量值满足所述充分性阈值时,基于所述性能指标得到所述接近位置和所述扫描位置。
4.如权利要求1所述的方法,其中得到所述接近位置和所述扫描位置包括:
计算有关所述目标对象的围绕所述起始位置的一组可用接近位置,其中所述一组可用接近位置用于放置所述末端执行器以接触并夹持所述目标对象而不干扰其它对象;
计算有关所述一组可用接近位置中的每一个可用接近位置的暴露的标识符组,其中所述暴露的标识符组表示根据所述初始姿势是准确的第一假设,在所述末端执行器处于所述对应接近位置的情况下,所述对象标识符保持未被覆盖的对应位置;
计算有关所述一组可用接近位置中的每一个可用接近位置的可供替代的标识符组,其中所述可供替代的标识符组表示根据所述初始姿势是不准确的第二假设,在所述末端执行器处于所述对应接近位置的情况下,所述对象标识符保持未被覆盖的位置;以及
选择所述接近位置,其中所述接近位置是具有所述暴露的标识符组和所述可供替代的标识符组二者中的未被覆盖的对象标识符的所述可用接近位置。
5.如权利要求4所述的方法,其还包括:
识别对应于所述对象扫描仪的扫描区域;
计算有关在所述扫描区域中或穿过所述扫描区域的所述目标对象的一组候选姿势,其中每一个候选姿势将所述目标对象的多个表面呈现给所述对象扫描仪;
将所述暴露的标识符组和所述可供替代的标识符组映射到所述候选姿势中的每一个;
将有关每一个候选姿势的所述暴露的标识符组和所述可供替代的标识符组与所述扫描区域进行比较;
将扫描姿势识别为将所述暴露的标识符组和所述可供替代的标识符组中的所述对象标识符呈现到所述扫描区域的候选姿势;并且
其中得到所述运动计划包括:
得到确立在所述扫描区域中或穿过所述扫描区域的所述扫描姿势的所述运动计划。
6.如权利要求5所述的方法,其中:
识别扫描区域包括识别定向在相反方向,正交方向,或其组合上的扫描区域,以便对呈一个姿势的所述目标对象的不同表面进行扫描;以及
实现所述运动计划包括实现用于在正交于所述扫描区域的取向的方向上将呈所述扫描姿势的所述目标对象传递穿过所述扫描区域的运动计划。
7.如权利要求4所述的方法,其中得到所述运动计划包括计算至少第一扫描位置和第二扫描位置,其中所述第一扫描位置用于将所述暴露的标识符组中的位置呈现给所述对象扫描仪中的一个,并且所述第二扫描位置用于将所述可供替代的标识符组中的位置呈现给所述对象扫描仪中的一个。
8.如权利要求7所述的方法,其中实现所述运动计划包括:
验证在实现所述运动计划之后直到所述第一扫描位置的扫描结果;以及
当所述扫描结果表示成功扫描时,将所述目标对象传递到所述任务位置并且忽略所述第二扫描位置。
9.如权利要求7所述的方法,其中实现所述运动计划包括:
验证在实现所述运动计划之后直到所述第一扫描位置的扫描结果;以及
当所述扫描结果表示失败的扫描时,将所述目标对象传递到所述第二扫描位置。
10.如权利要求4所述的方法,其还包括:
将所述暴露的标识符组与所述可供替代的标识符组进行比较,以确定所述暴露的标识符组和所述可供替代的标识符组是否包括在所述目标对象的相对表面上的位置;以及
选择与正交于所述相对表面的第三表面相关联的所述接近位置。
11.如权利要求10所述的方法,其中得到所述接近位置和所述扫描位置包括当所述置信度测量值满足所述充分性阈值时在不考虑所述扫描指标的情况下得到所述接近位置和所述扫描位置。
12.如权利要求1所述的方法,其中计算所述运动计划包括:
计算有关所述目标对象的围绕所述起始位置的一组可用接近位置,其中所述一组可用接近位置表示用于放置所述末端执行器以夹持所述目标对象而不干扰其它对象的位置;
计算有关所述一组可用接近位置中的每一个可用接近位置的候选计划,其中所述候选计划包括候选扫描位置;
计算有关每一个候选计划的所述性能指标,其中所述性能指标对应于有关将所述目标对象放置在所述任务位置处的以下各者:与所述目标对象所遍历的距离相关联的吞吐率,估计的传递持续时间,若干命令或设置改变,与所述对应可用接近位置相关联的完成率,或其组合;以及
选择所述接近位置,其中所述接近位置是所述组中对应于最高性能指标的可用接近位置。
13.如权利要求1所述的方法,其中确定所述目标对象的所述初始姿势包括:
识别所述成像数据中的所述目标对象的暴露表面的一组边缘;
基于测量所述组中的所述边缘和将所述测量结果映射成标准长度,估计所述目标对象的物理尺寸;以及
基于识别所述暴露表面而确定所述初始姿势包括将所述暴露表面的所述估计的物理尺寸与主数据中的对象表面的一组已知尺寸进行匹配。
14.如权利要求13所述的方法,其中:
确定所述初始姿势包括识别匹配所述估计的物理尺寸的一对相对表面;以及
当所述置信度测量值未能满足所述充分性阈值时,计算考虑除所述初始姿势以外的相对姿势的所述运动计划,其中所述相对姿势和所述初始姿势对应于所述一对相对表面。
15.如权利要求13所述的方法,其中确定所述初始姿势包括基于使用所述暴露表面上的可见标记识别暴露表面,所述暴露表面的取向,或其组合而确定所述初始姿势,包括将所述可见标记与主数据中的对象表面上的一组已知标记进行匹配。
16.如权利要求1所述的方法,其中:
实现所述运动计划包括确定扫描结果;并且
还包括:
当所述扫描结果指示扫描失败时停止所述运动计划;以及
实现故障解决方案以便通知操作员,以便将所述目标对象放置在与所述起始位置和所述任务位置或其组合不同的位置处。
17.一种用于操作机器人系统的方法,所述方法包括:
识别一个或多个扫描区域,其中所述扫描区域中的每一个表示与对象扫描仪相邻的空间;
基于成像数据而确定目标对象的初始姿势,其中所述目标对象包括一个或多个对象标识符;
根据所述初始姿势是准确的第一假设计算所述对象标识符中的一个的第一估计位置;
根据所述初始姿势是不准确的第二假设计算所述对象标识符中的一个的第二估计位置;以及
计算将所述第一估计位置和所述第二估计位置放置在所述扫描区域中的一个或多个中的运动计划,其中所述运动计划包括致动装置命令,致动装置设置,或其组合以用于操作机器人臂和末端执行器来(1)拾取所述目标对象,(2)传递所述目标对象,以及(3)在所述传递期间将所述一个或多个对象标识符呈现给一个或多个对象扫描仪;
其中:
所述运动计划是基于接近位置和扫描位置得到的,所述接近位置限定了一个用于所述末端执行器接触和夹持目标对象的位置,所述扫描位置限定了一个用于末端执行器在一个或多个对应的对象扫描仪之前呈现目标对象的一个或多个表面的位置,以便扫描一个或多个对象标识符,
根据性能指标和/或扫描指标选择性地计算所述接近位置和所述扫描位置,其中扫描指标对应于至少一个对象标识符保持未被所述末端执行器所覆盖的可能性,而不管初始姿势是否准确;其中
当置信度测量值未能满足充分性阈值时,得到接近位置和所述扫描位置包括将所述扫描指标优先排在所述性能指标前面。
18.一种有形非暂时性计算机可读介质,所述有形非暂时性计算机可读介质上存储有处理器指令,当所述处理器指令被机器人系统经由其一个或多个处理器执行时致使所述机器人系统:
接收表示包括目标对象的拾取区域的成像数据;
基于所述成像数据而确定所述目标对象的初始姿势;
计算与所述初始姿势相关联的置信度测量值,其中所述置信度测量值指示所述初始姿势是准确的可能性;
基于所述置信度测量值而得到接近位置和至少一个扫描位置,所述接近位置限定有关末端执行器接触并夹持所述目标对象的位置,所述扫描位置限定有关所述末端执行器将所述目标对象的一个或多个表面呈现在一个或多个对应对象扫描仪前方以便对一个或多个对象标识符进行扫描的位置,
基于所述得到的接近位置和所述扫描位置而得到运动计划,
其中所述运动计划包括命令,设置,或其组合以便操作机器人臂和末端执行器来基于以下操作而执行任务:(1)从起始位置拾取所述目标对象,(2)将所述目标对象传递到任务位置,以及(3)将一个或多个对象标识符呈现给位于所述起始位置与所述任务位置之间的一个或多个对象扫描仪,
其中得到所述运动计划是基于:
将所述置信度测量值与充分性阈值进行比较,
根据性能指标和/或扫描指标,基于所述比较的结果而选择性地计算所述接近位置和所述扫描位置,其中所述扫描指标对应于在不考虑所述初始姿势是否准确的情况下所述对象标识符中的至少一个保持不被所述末端执行器覆盖的可能性;以及
实现所述运动计划以便操作一个或多个致动装置来执行所述任务;
其中:
得到所述接近位置和所述扫描位置是基于当所述置信度测量值未能满足充分性阈值时,将所述扫描指标优先排在所述性能指标前面。
19.如权利要求18所述的有形非暂时性计算机可读介质,其中得到所述接近位置和所述扫描位置还包括:
计算有关所述目标对象的围绕所述起始位置的一组可用接近位置,其中所述一组可用接近位置用于放置所述末端执行器以接触并夹持所述目标对象而不干扰其它对象;
计算有关所述一组可用接近位置中的每一个可用接近位置的暴露的标识符组,其中所述暴露的标识符组表示根据所述初始姿势是准确的第一假设,在所述末端执行器处于所述对应接近位置的情况下,所述对象标识符保持未被覆盖的对应位置;
计算有关所述一组可用接近位置中的每一个可用接近位置的可供替代的标识符组,其中所述可供替代的标识符组表示根据所述初始姿势是不准确的第二假设,在所述末端执行器处于所述对应接近位置的情况下,所述对象标识符保持未被覆盖的位置;以及
将具有在所述暴露的标识符组和所述可供替代的标识符组二者中的未被覆盖的对象标识符的所述可用接近位置选择作为所述接近位置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010834466.7A CN112109082A (zh) | 2019-01-25 | 2019-04-24 | 具有增强的扫描机制的机器人系统 |
CN202010834548.1A CN112091970B (zh) | 2019-01-25 | 2019-04-24 | 具有增强的扫描机制的机器人系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/258,120 | 2019-01-25 | ||
US16/258,120 US10456915B1 (en) | 2019-01-25 | 2019-01-25 | Robotic system with enhanced scanning mechanism |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010834466.7A Division CN112109082A (zh) | 2019-01-25 | 2019-04-24 | 具有增强的扫描机制的机器人系统 |
CN202010834548.1A Division CN112091970B (zh) | 2019-01-25 | 2019-04-24 | 具有增强的扫描机制的机器人系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110116406A CN110116406A (zh) | 2019-08-13 |
CN110116406B true CN110116406B (zh) | 2020-09-15 |
Family
ID=67521510
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010834466.7A Pending CN112109082A (zh) | 2019-01-25 | 2019-04-24 | 具有增强的扫描机制的机器人系统 |
CN201910337803.9A Active CN110116406B (zh) | 2019-01-25 | 2019-04-24 | 具有增强的扫描机制的机器人系统 |
CN202010834548.1A Active CN112091970B (zh) | 2019-01-25 | 2019-04-24 | 具有增强的扫描机制的机器人系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010834466.7A Pending CN112109082A (zh) | 2019-01-25 | 2019-04-24 | 具有增强的扫描机制的机器人系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010834548.1A Active CN112091970B (zh) | 2019-01-25 | 2019-04-24 | 具有增强的扫描机制的机器人系统 |
Country Status (4)
Country | Link |
---|---|
US (8) | US10456915B1 (zh) |
JP (3) | JP6708855B1 (zh) |
CN (3) | CN112109082A (zh) |
DE (1) | DE102019130046B4 (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9102055B1 (en) * | 2013-03-15 | 2015-08-11 | Industrial Perception, Inc. | Detection and reconstruction of an environment to facilitate robotic interaction with the environment |
CN107481284A (zh) * | 2017-08-25 | 2017-12-15 | 京东方科技集团股份有限公司 | 目标物跟踪轨迹精度测量的方法、装置、终端及系统 |
US10870204B2 (en) * | 2019-01-25 | 2020-12-22 | Mujin, Inc. | Robotic system control method and controller |
US10456915B1 (en) | 2019-01-25 | 2019-10-29 | Mujin, Inc. | Robotic system with enhanced scanning mechanism |
US11046519B2 (en) | 2019-02-25 | 2021-06-29 | Rehrig Pacific Company | Delivery system |
US11491656B2 (en) * | 2019-04-01 | 2022-11-08 | Walmart Apollo, Llc | Integrated item decanting system |
US10766141B1 (en) * | 2019-05-09 | 2020-09-08 | Mujin, Inc. | Robotic system with a coordinated transfer mechanism |
US11014237B2 (en) * | 2019-07-11 | 2021-05-25 | Intelligrated Headquarters, Llc | Methods, systems, and apparatuses, for path planning and execution in a robotic system |
US11192248B2 (en) | 2019-07-11 | 2021-12-07 | Invia Robotics, Inc. | Predictive robotic obstacle detection |
US11195270B2 (en) | 2019-07-19 | 2021-12-07 | Becton Dickinson Rowa Germany Gmbh | Measuring and verifying drug portions |
US11020854B2 (en) * | 2019-11-05 | 2021-06-01 | Mujin, Inc. | Robotic system with wall-based packing mechanism and methods of operating same |
CA3161301A1 (en) | 2019-11-12 | 2021-05-20 | Bright Machines, Inc. | A software defined manufacturing/assembly system |
CN111169979B (zh) * | 2019-12-10 | 2021-06-15 | 苏州市创怡盛实业有限公司 | 机械手搬运方法以及系统 |
CN113219900B (zh) * | 2019-12-12 | 2022-03-29 | 牧今科技 | 基于相机生成的图像信息执行运动规划的方法和计算系统 |
JP7023450B2 (ja) | 2019-12-12 | 2022-02-22 | 株式会社Mujin | カメラによって生成される画像情報に基づいて、動作計画を実行する方法および計算システム |
US11772271B2 (en) | 2020-01-10 | 2023-10-03 | Mujin, Inc. | Method and computing system for object recognition or object registration based on image classification |
US11130237B1 (en) | 2020-03-05 | 2021-09-28 | Mujin, Inc. | Method and computing system for performing container detection and object detection |
CN112288165B (zh) * | 2020-03-05 | 2022-02-18 | 牧今科技 | 用于执行容器检测和物体检测的方法和计算系统 |
US11922253B2 (en) | 2020-04-20 | 2024-03-05 | Rehrig Pacific Company | Camera enabled portal |
CN113569590A (zh) * | 2020-04-28 | 2021-10-29 | 三赢科技(深圳)有限公司 | 扫描装置及其扫描方法 |
CN114061580B (zh) * | 2020-05-22 | 2023-12-29 | 梅卡曼德(北京)机器人科技有限公司 | 基于对称程度的机器人抓取方法、装置、电子设备及介质 |
US20220135329A1 (en) * | 2020-10-29 | 2022-05-05 | Berkshire Grey, Inc. | Systems and methods for automated packaging and processing for shipping with object pose analysis |
CN112692837A (zh) * | 2021-01-11 | 2021-04-23 | 成都海瑞斯轨道交通设备有限公司 | 一种用于铁路货车车体检修的焊接机器人系统及焊接方法 |
CN113744305B (zh) * | 2021-01-20 | 2023-12-05 | 北京京东乾石科技有限公司 | 目标物检测方法、装置、电子设备和计算机存储介质 |
CN112894815B (zh) * | 2021-01-25 | 2022-09-27 | 西安工业大学 | 视觉伺服机械臂物品抓取最佳位姿检测方法 |
US11745347B2 (en) | 2021-03-19 | 2023-09-05 | Nvidia Corp. | Method for assessing the quality of a robotic grasp on 3D deformable objects |
US11823440B2 (en) | 2021-08-19 | 2023-11-21 | Rehrig Pacific Company | Imaging system with unsupervised learning |
CA3181434A1 (en) | 2021-11-01 | 2023-05-01 | Rehrig Pacific Company | Delivery system |
DE102022101825B3 (de) | 2022-01-26 | 2023-02-23 | Ssi Schäfer Automation Gmbh (At) | Verfahren und System für automatisierte Materialhandhabung einschließlich einer 100%-Verifikation |
CN114291595B (zh) * | 2022-03-02 | 2023-11-14 | 深圳市维象智能科技有限公司 | 三维视觉引导拆垛系统 |
CN114519744B (zh) * | 2022-04-20 | 2022-06-21 | 北京万龙精益科技有限公司 | 用于穿戴器具姿态确定的方法、装置和系统 |
CN114859916B (zh) * | 2022-05-09 | 2023-04-28 | 南京晓庄学院 | 依据图书馆机器人的导航系统与导航方法 |
DE102022121538A1 (de) | 2022-08-25 | 2024-03-07 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren zum Ablegen eines Objekts vermittels eines Roboters |
CN115619300B (zh) * | 2022-11-14 | 2023-03-28 | 昆船智能技术股份有限公司 | 一种件箱自动装车系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1747816A (zh) * | 2003-02-13 | 2006-03-15 | Abb公司 | 对工业机器人编程以相对于对象上的限定位置移动、包括表面扫描程序生成的方法和系统 |
CN205466149U (zh) * | 2015-12-31 | 2016-08-17 | 中国科学院深圳先进技术研究院 | 自动三维扫描机器人 |
CN107263485A (zh) * | 2017-08-10 | 2017-10-20 | 无锡职业技术学院 | 基于机器视觉工厂载货机器人 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4831549A (en) * | 1987-07-28 | 1989-05-16 | Brigham Young University | Device and method for correction of robot inaccuracy |
JPH05217014A (ja) | 1992-02-07 | 1993-08-27 | Fujitsu Ltd | バーコード読み取り方法 |
JPH05285803A (ja) * | 1992-04-03 | 1993-11-02 | Nissan Motor Co Ltd | バーコード付ワークの搬送システム |
US5789890A (en) * | 1996-03-22 | 1998-08-04 | Genmark Automation | Robot having multiple degrees of freedom |
SE0001312D0 (sv) * | 2000-04-10 | 2000-04-10 | Abb Ab | Industrirobot |
DE10249786A1 (de) * | 2002-10-24 | 2004-05-13 | Medical Intelligence Medizintechnik Gmbh | Referenzierung eines Roboters zu einem Werkstück und Vorrichtung hierfür |
AU2003300959A1 (en) * | 2002-12-17 | 2004-07-22 | Evolution Robotics, Inc. | Systems and methods for visual simultaneous localization and mapping |
US7689321B2 (en) * | 2004-02-13 | 2010-03-30 | Evolution Robotics, Inc. | Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system |
JP5528095B2 (ja) * | 2009-12-22 | 2014-06-25 | キヤノン株式会社 | ロボットシステム、その制御装置及び方法 |
DE102010002317B4 (de) | 2010-02-24 | 2018-06-14 | Apologistics Gmbh | System und Verfahren zur Vereinzelung und Kommissionierung von Artikeln |
JP2011209064A (ja) * | 2010-03-29 | 2011-10-20 | Fuji Xerox Co Ltd | 物品認識装置及びこれを用いた物品処理装置 |
KR101761313B1 (ko) * | 2010-12-06 | 2017-07-25 | 삼성전자주식회사 | 로봇 및 로봇의 경로생성방법 |
JP2013078825A (ja) | 2011-10-04 | 2013-05-02 | Yaskawa Electric Corp | ロボット装置、ロボットシステムおよび被加工物の製造方法 |
JP5366031B2 (ja) | 2011-10-17 | 2013-12-11 | 株式会社安川電機 | ロボット仕分けシステム、ロボット装置、及び仕分け済み物品の製造方法 |
JP5803769B2 (ja) * | 2012-03-23 | 2015-11-04 | トヨタ自動車株式会社 | 移動ロボット |
US8996167B2 (en) | 2012-06-21 | 2015-03-31 | Rethink Robotics, Inc. | User interfaces for robot training |
US9605950B2 (en) * | 2013-05-22 | 2017-03-28 | Cognex Corporation | System and method for efficient surface measurement using a laser displacement sensor |
DE102014107143B4 (de) * | 2013-05-22 | 2021-03-04 | Cognex Corp. | System und Verfahren zur Messung der Verschiebung einer Objektoberfläche |
DE102014008444A1 (de) * | 2014-06-06 | 2015-12-17 | Liebherr-Verzahntechnik Gmbh | Vorrichtung zum automatisierten Entnehmen von in einem Behälter angeordneten Werkstücken |
JP6415291B2 (ja) * | 2014-12-09 | 2018-10-31 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム |
US9878447B2 (en) * | 2015-04-10 | 2018-01-30 | Microsoft Technology Licensing, Llc | Automated collection and labeling of object data |
US10569516B2 (en) | 2015-06-08 | 2020-02-25 | Bemis Company, Inc. | Multilayered sheet |
JP6635690B2 (ja) * | 2015-06-23 | 2020-01-29 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
JP6466297B2 (ja) * | 2015-09-14 | 2019-02-06 | 株式会社東芝 | 対象物検出装置、方法及びデパレタイズ自動化装置並びに梱包箱 |
JP6498597B2 (ja) * | 2015-12-14 | 2019-04-10 | 本田技研工業株式会社 | 移動ロボットの制御装置 |
CA3178174A1 (en) | 2016-02-08 | 2017-08-17 | Berkshire Grey Operating Company, Inc. | Systems and methods for providing processing of a variety of objects employing motion planning |
JP6724499B2 (ja) * | 2016-04-05 | 2020-07-15 | 株式会社リコー | 物体把持装置及び把持制御プログラム |
EP3472677A1 (en) * | 2016-06-20 | 2019-04-24 | Hypertherm, Inc | Systems and methods for planning paths to guide robots |
AT519176B1 (de) * | 2016-10-14 | 2019-02-15 | Engel Austria Gmbh | Robotersystem |
JP7001354B2 (ja) | 2017-03-29 | 2022-01-19 | トーヨーカネツ株式会社 | 自動物流システム |
JP7045139B2 (ja) * | 2017-06-05 | 2022-03-31 | 株式会社日立製作所 | 機械学習装置、機械学習方法、および機械学習プログラム |
DE102017005882B4 (de) * | 2017-06-22 | 2019-08-01 | FPT Robotik GmbH & Co. KG | Verfahren zum Betrieb eines Roboters zur Überprüfung seiner Arbeitsumgebung |
US10870204B2 (en) | 2019-01-25 | 2020-12-22 | Mujin, Inc. | Robotic system control method and controller |
US10456915B1 (en) | 2019-01-25 | 2019-10-29 | Mujin, Inc. | Robotic system with enhanced scanning mechanism |
-
2019
- 2019-01-25 US US16/258,120 patent/US10456915B1/en active Active
- 2019-04-19 JP JP2019080213A patent/JP6708855B1/ja active Active
- 2019-04-24 CN CN202010834466.7A patent/CN112109082A/zh active Pending
- 2019-04-24 CN CN201910337803.9A patent/CN110116406B/zh active Active
- 2019-04-24 CN CN202010834548.1A patent/CN112091970B/zh active Active
- 2019-08-20 US US16/546,209 patent/US10569416B1/en active Active
- 2019-08-20 US US16/546,248 patent/US10576631B1/en active Active
- 2019-08-20 US US16/546,236 patent/US10569417B1/en active Active
- 2019-08-20 US US16/546,226 patent/US10596701B1/en active Active
- 2019-11-07 DE DE102019130046.0A patent/DE102019130046B4/de active Active
-
2020
- 2020-01-15 US US16/743,313 patent/US10933527B2/en active Active
- 2020-04-07 JP JP2020068723A patent/JP7284953B2/ja active Active
-
2021
- 2021-01-25 US US17/157,975 patent/US11638993B2/en active Active
-
2023
- 2023-04-25 US US18/306,949 patent/US20230381954A1/en active Pending
- 2023-05-10 JP JP2023077708A patent/JP2023090917A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1747816A (zh) * | 2003-02-13 | 2006-03-15 | Abb公司 | 对工业机器人编程以相对于对象上的限定位置移动、包括表面扫描程序生成的方法和系统 |
CN205466149U (zh) * | 2015-12-31 | 2016-08-17 | 中国科学院深圳先进技术研究院 | 自动三维扫描机器人 |
CN107263485A (zh) * | 2017-08-10 | 2017-10-20 | 无锡职业技术学院 | 基于机器视觉工厂载货机器人 |
Also Published As
Publication number | Publication date |
---|---|
DE102019130046B4 (de) | 2021-01-14 |
US10596701B1 (en) | 2020-03-24 |
US10569417B1 (en) | 2020-02-25 |
CN110116406A (zh) | 2019-08-13 |
JP2020121405A (ja) | 2020-08-13 |
US20230381954A1 (en) | 2023-11-30 |
CN112091970B (zh) | 2021-08-13 |
US10569416B1 (en) | 2020-02-25 |
US10456915B1 (en) | 2019-10-29 |
US20200238517A1 (en) | 2020-07-30 |
JP6708855B1 (ja) | 2020-06-10 |
US10933527B2 (en) | 2021-03-02 |
JP7284953B2 (ja) | 2023-06-01 |
US20210146533A1 (en) | 2021-05-20 |
JP2020116727A (ja) | 2020-08-06 |
DE102019130046A1 (de) | 2020-07-30 |
US11638993B2 (en) | 2023-05-02 |
US10576631B1 (en) | 2020-03-03 |
JP2023090917A (ja) | 2023-06-29 |
CN112091970A (zh) | 2020-12-18 |
CN112109082A (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110116406B (zh) | 具有增强的扫描机制的机器人系统 | |
US11772267B2 (en) | Robotic system control method and controller | |
JP7352260B2 (ja) | 自動物体検出機構を備えたロボットシステム、および、その動作方法 | |
KR102424718B1 (ko) | 동적 패킹 메커니즘을 구비한 로봇 시스템 | |
JP7495688B2 (ja) | ロボットシステムの制御方法及び制御装置 | |
JP6749034B1 (ja) | エッジ及び多次元コーナーに基づく検出後の精緻化 | |
JP6782046B1 (ja) | 画像データに基づく物体検出システム及び方法 | |
CN111470244B (zh) | 机器人系统的控制方法以及控制装置 | |
WO2023073780A1 (ja) | 学習データの生成装置および学習データの生成方法、並びに学習データを使用する機械学習装置および機械学習方法 | |
JP7218881B1 (ja) | 物体更新機構を備えたロボットシステム及びロボットシステムを操作するための方法 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Tokyo, Japan Applicant after: Maki Address before: Tokyo, Japan Applicant before: Mujingzhu Association |
|
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Lu Xian. Apricot light Inventor before: Johnson Diankov |
|
GR01 | Patent grant | ||
GR01 | Patent grant |