[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE112019000217T5 - Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Leitung zur automatischen Erkennung - Google Patents

Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Leitung zur automatischen Erkennung Download PDF

Info

Publication number
DE112019000217T5
DE112019000217T5 DE112019000217.1T DE112019000217T DE112019000217T5 DE 112019000217 T5 DE112019000217 T5 DE 112019000217T5 DE 112019000217 T DE112019000217 T DE 112019000217T DE 112019000217 T5 DE112019000217 T5 DE 112019000217T5
Authority
DE
Germany
Prior art keywords
mvr
image data
objects
robot system
edges
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.)
Granted
Application number
DE112019000217.1T
Other languages
English (en)
Other versions
DE112019000217B4 (de
Inventor
Jinze Yu
Jose Jeronimo Moreira Rodrigues
Rosen Nikolaev Diankov
Xutao Ye
Russell Islam
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 Inc
Original Assignee
Mujin Inc
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 Inc filed Critical Mujin Inc
Publication of DE112019000217T5 publication Critical patent/DE112019000217T5/de
Application granted granted Critical
Publication of DE112019000217B4 publication Critical patent/DE112019000217B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G61/00Use of pick-up or transfer devices or of manipulators for stacking or de-stacking articles not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G63/00Transferring or trans-shipping at storage areas, railway yards or harbours or in opening mining cuts; Marshalling yard installations
    • B65G63/002Transferring or trans-shipping at storage areas, railway yards or harbours or in opening mining cuts; Marshalling yard installations for articles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • 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
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65BMACHINES, APPARATUS OR DEVICES FOR, OR METHODS OF, PACKAGING ARTICLES OR MATERIALS; UNPACKING
    • B65B43/00Forming, feeding, opening or setting-up containers or receptacles in association with packaging
    • B65B43/42Feeding or positioning bags, boxes, or cartons in the distended, opened, or set-up state; Feeding preformed rigid containers, e.g. tins, capsules, glass tubes, glasses, to the packaging position; Locating containers or receptacles at the filling position; Supporting containers or receptacles during the filling operation
    • B65B43/46Feeding or positioning bags, boxes, or cartons in the distended, opened, or set-up state; Feeding preformed rigid containers, e.g. tins, capsules, glass tubes, glasses, to the packaging position; Locating containers or receptacles at the filling position; Supporting containers or receptacles during the filling operation using grippers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/74Feeding, transfer, or discharging devices of particular kinds or types
    • B65G47/90Devices for picking-up and depositing articles or materials
    • B65G47/91Devices for picking-up and depositing articles or materials incorporating pneumatic, e.g. suction, grippers
    • B65G47/915Devices for picking-up and depositing articles or materials incorporating pneumatic, e.g. suction, grippers provided with drive systems with rotary movements only
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/74Feeding, transfer, or discharging devices of particular kinds or types
    • B65G47/90Devices for picking-up and depositing articles or materials
    • B65G47/91Devices for picking-up and depositing articles or materials incorporating pneumatic, e.g. suction, grippers
    • B65G47/917Devices for picking-up and depositing articles or materials incorporating pneumatic, e.g. suction, grippers control arrangements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G59/00De-stacking of articles
    • B65G59/02De-stacking from the top of the stack
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • G05B19/40931Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine concerning programming of geometry
    • G05B19/40935Selection of predetermined shapes and defining the dimensions with parameter input
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2201/00Indexing codes relating to handling devices, e.g. conveyors, characterised by the type of product or load being conveyed or handled
    • B65G2201/02Articles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2203/00Indexing code relating to control or detection of the articles or the load carriers during conveying
    • B65G2203/04Detection means
    • B65G2203/041Camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2814/00Indexing codes relating to loading or unloading articles or bulk materials
    • B65G2814/03Loading or unloading means
    • B65G2814/0301General arrangements
    • B65G2814/0308Destacking devices
    • B65G2814/031Removing from the top
    • 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/40607Fixed camera to observe workspace, object, workpiece, global
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Robotics (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • Geometry (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Finance (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)
  • De-Stacking Of Articles (AREA)
  • Stacking Of Articles And Auxiliary Devices (AREA)
  • Specific Conveyance Elements (AREA)
  • Image Processing (AREA)
  • Control Of Conveyors (AREA)

Abstract

Die vorliegende Offenbarung betrifft das Erkennen und Registrieren unerkannter oder nicht registrierter Objekte. Ein geeigneter Mindestbereich (MVR) kann auf Grundlage des Überprüfens von Bilddaten abgeleitet werden, die Objekte in einer Startposition darstellen. Der MVR kann als ein sicherer MVR oder ein unsicherer MVR ermittelt werden, wobei sich dies nach einem oder mehreren Merkmalen richtet, die in den Bilddaten dargestellt sind. Der MVR kann verwendet werden, um jeweilige Objekte entsprechend der Ermittlung als sicher oder unsicher zu registrieren.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG(EN)
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Patentanmeldung mit der Seriennummer 62/752,756, eingereicht am 30. Oktober 2018, die in ihrer Gesamtheit durch Verweis in die vorliegende Schrift aufgenommen ist. Diese Anmeldung beansprucht zudem die Priorität der vorläufigen US-Patentanmeldung mit der Seriennummer 62/852,963 , eingereicht am 24. Mai 2019, die in ihrer Gesamtheit durch Verweis in die vorliegende Schrift aufgenommen ist. Diese Anmeldung steht zudem in Zusammenhang mit der US-Patentanmeldung mit der Seriennummer 16/290,741 , eingereicht am 1. März 2019, mittlerweile US-Patent Nr. 10,369,701 , und ist in ihrer Gesamtheit durch Verweis aufgenommen.
  • Diese Anmeldung enthält einen Gegenstand im Zusammenhang mit einer zeitgleich eingereichten US-Patentanmeldung von Jinze Yu, Jose Jeronimo Moreira Rodrigues und Rose Nikolaev Diankov, mit dem Titel „A ROBOTIC SYSTEM WITH AUTOMATED PACKAGE REGISTRATION MECHANISM AND MINIMUM VIABLE REGION DETECTION.“ Die verwandte Anmeldung ist Mujin, Inc., zugeordnet und mit dem Aktenzeichen 131837-8003.US40 versehen. Der Gegenstand dieser Anmeldung ist durch Verweis darauf in die vorliegende Schrift aufgenommen.
  • TECHNISCHES GEBIET
  • Die vorliegende Technologie bezieht sich im Allgemeinen auf Robotersysteme und insbesondere auf Systeme, Prozesse und Techniken für das Registrieren von Objekten.
  • ALLGEMEINER STAND DER TECHNIK
  • In vielen Fällen sind Pakete auf Paletten angeordnet (oder „palettiert“), um an einen Zielort gesendet zu werden, wobei die Pakete anschließend an dem Zielort depalettiert werden. Pakete können von menschlichen Arbeitern depalettiert werden, was ressourcenintensiv sein und das Verletzungsrisiko für die menschlichen Arbeiter erhöhen kann. In industriellen Anordnungen können Depalettiervorgänge durch Industrieroboter durchgeführt werden, wie etwa durch einen Roboterarm, der das Paket greift, anhebt, transportiert und an einem Absetzpunkt ablegt. Zudem kann eine Bildgebungsvorrichtung verwendet werden, um ein Bild eines Paketstapels zu erfassen, der auf die Palette geladen wurde. Ein System kann das Bild verarbeiten, um sicherzustellen, dass das Paket durch den Roboterarm effizient umgeschlagen wird, wie etwa durch Vergleichen des erfassten Bildes mit einem registrierten Bild, das in einer Registrierungsdatenquelle gespeichert ist.
  • Gelegentlich kann das erfasste Bild eines Pakets mit einem registrierten Bild übereinstimmen. Folglich können physische Eigenschaften (zum Beispiel Messungen der Abmessungen eines Pakets, seines Gewichts und/oder Massenmittelpunkts) der abgebildeten Objekte unbekannt sein. Werden die physischen Eigenschaften nicht ordnungsgemäß erkannt, können sich daraus eine Reihe unerwünschter Ergebnisse ergeben. Beispielsweise könnte eine derartige Situation zu einem Stillstand führen, was eine manuelle Registrierung des Pakets nach sich ziehen könnte. Zudem könnte eine derartige Situation dazu führen, dass das Paket falsch behandelt wird, insbesondere, wenn das Paket relativ schwer und/oder ungleichgewichtig ist.
  • Figurenliste
  • Verschiedene Merkmale und Eigenschaften der Technologie werden dem Fachmann durch eine genaue Lektüre der Detaillierten Beschreibung in Verbindung mit den Zeichnungen ersichtlicher. Ausführungsformen der Technologie sind beispielhaft und ohne Einschränkung in den Zeichnungen dargestellt, wobei gleiche Bezugsziffern ähnliche Elemente anzeigen können.
    • 1 veranschaulicht eine beispielhafte Umgebung, in der ein Robotersystem arbeiten kann.
    • 2 veranschaulicht das Robotersystem gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • 3A veranschaulicht einen beispielhaften Objektstapel, der durch das Robotersystem gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie verarbeitet wird.
    • 3B veranschaulicht eine Oberseite des beispielhaften Stapels gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • 3C veranschaulicht Sensordaten, die der Oberseite gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie entsprechen.
    • 4A veranschaulicht Sensordaten, die einer Oberseite entsprechen, im Anschluss an einen ersten Satz Vorgänge gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • 4B veranschaulicht einen Abschnitt der in 4A veranschaulichen Sensordaten gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • 5 veranschaulicht eine Draufsicht auf eine Reihe von palettierten Paketen gemäß einigen Ausführungsformen der vorliegenden Technologie.
    • 6 veranschaulicht eine grafische Darstellung einer exponierten Außenecke gemäß einigen Ausführungsformen der vorliegenden Technologie.
    • 7 ist ein Blockdiagramm eines Satzes von palettierten Paketen gemäß einigen Ausführungsformen der vorliegenden Technologie.
    • 8 veranschaulicht ein Beispiel für einen vereinigten MVR-Bereich gemäß einigen Ausführungsformen der vorliegenden Technologie.
    • 9 ist ein Ablaufdiagramm eines Objekterkennungsverfahrens gemäß einigen Ausführungsformen der vorliegenden Technologie.
    • 10 ist ein Blockdiagramm eines Verfahrens zum Betreiben des Robotersystems aus 1 gemäß einigen Ausführungsformen der vorliegenden Technologie.
    • 11 ist ein Blockdiagramm, das ein beispielhaftes Verarbeitungssystem veranschaulicht, in dem mindestens einige der in der vorliegenden Schrift beschriebenen Vorgänge ausgeführt werden können.
  • Die Zeichnungen zeigen verschiedene Ausführungsformen lediglich zum Zwecke der Veranschaulichung. Der Fachmann wird erkennen, dass alternative Ausführungsformen verwendet werden können, ohne von den Prinzipien der Technologie abzuweichen. Dementsprechend ist, wenngleich in den Zeichnungen konkrete Ausführungsformen dargestellt sind, die Technologie offen für verschiedene Modifikationen.
  • DETAILLIERTE BESCHREIBUNG
  • Systeme und Verfahren für Robotersysteme mit automatisierten Paketregistrierungsmechanismen sind in der vorliegenden Schrift beschrieben. Ein Robotersystem (zum Beispiel ein integriertes System von Vorrichtungen, das eine oder mehrere festgelegte Aufgaben ausführt), das gemäß einigen Ausführungsformen konfiguriert ist, stellt eine verbesserte Anwendbarkeit und Flexibilität durch Manipulieren und/oder autonomes/automatisches (zum Beispiel mit geringfügigen oder keinen Eingaben durch den menschlichen Bediener) Registrieren von vorher unbekannten oder unerkannten Objekten bereit (zum Beispiel Pakete, Kartons, Verpackungen usw.).
  • Um zu ermitteln, ob Objekte erkannt werden, kann das Robotersystem Daten im Hinblick auf Objekte an einer Startposition (zum Beispiel ein oder mehrere Bilder von exponierten Oberflächen der Objekte) abrufen und mit Registrierungsdaten für bekannte oder erwartete Objekte vergleichen. Das Robotersystem kann ein Objekt als erkannt ermitteln, wenn die verglichenen Daten (zum Beispiel ein Abschnitt des verglichenen Bildes) mit Registrierungsdaten (z.B. eines der registrierten Oberflächenbilder) für eines der Objekte übereinstimmen. Das Robotersystem kann ein Objekt als nicht registriert ermitteln, wenn die verglichenen Daten nicht mit den Registrierungsdaten von bekannten oder erwarteten Objekten übereinstimmen.
  • Das Robotersystem kann die unerkannten Objekte entsprechend einer oder mehrerer Schätzungen manipulieren und zusätzliche Informationen (zum Beispiel ein Oberflächenbild und/oder physische Abmessungen) über die unerkannten Objekte ermitteln. Beispielsweise kann das Robotersystem exponierte Kanten und/oder exponierte Außenecken der unerkannten Objekte erkennen, die von anderen Objekten getrennt sind oder nicht an diese angrenzen.
  • Zu der Schätzung kann das Erzeugen von geeigneten Mindestbereichen (Minimum Viable Regions - MVR) gehören, die Mindest- und/oder optimale Flächen darstellen, die erforderlich sind, um die jeweiligen unerkannten Objekte zu greifen und anzuheben. Jeder der MVR kann zudem eine Schätzung einer Oberfläche (zum Beispiel periphere Grenzen davon) von einem einzelnen unerkannten Objekt darstellen. Beim Erzeugen der MVR können exponierte Außenecken und exponierte Kanten durch Überprüfen zweidimensionaler (2D) und/oder dreidimensionaler (3D) Bildgebungsdaten erkannt werden. Auf Grundlage der erkannten exponierten Außenecke und exponierten Kanten kann ein anfänglicher MVR durch Erkennen von Kanten erzeugt werden, die den exponierten Kanten gegenüberliegen. Der anfängliche MVR kann weiter verarbeitet werden, wie etwa durch Bestimmen und Testen vergrößerter und/oder verkleinerter Bereiche, um einen verifizierten MVR zu erzeugen. Der anfängliche MVR kann zudem entsprechend der Sicherheit der Ermittlung des MVR verarbeitet werden (zum Beispiel ein Zustand oder ein Niveau, der/das eine Genauigkeit für den anfänglichen MVR darstellt). Beispielsweise kann das Robotersystem den anfänglichen MVR als einen sicheren MVR erkennen (zum Beispiel eine wahrscheinlich genaue Instanz des verifizierten MVR), wenn der anfängliche MVR drei oder mehr exponierte Ecken enthält und/oder unter Verwendung von drei oder mehr exponierten Ecken abgeleitet ist. Andernfalls (zum Beispiel, wenn der anfängliche MVR zwei oder weniger exponierte Ecken enthält und/oder unter Verwendung von zwei oder weniger exponierten Ecken abgeleitet ist) kann das Robotersystem den anfänglichen MVR als einen unsicheren MVR erkennen (zum Beispiel eine weniger wahrscheinlich genaue Instanz des verifizierten MVR).
  • Das Robotersystem kann den verifizierten MVR verwenden, um das unerkannte Objekt zu registrieren, wie etwa durch Speichern des verifizierten MVR und/oder anderer Verarbeitungsergebnisse, die unter Verwendung des verifizierten MVR abgeleitet wurden. Beispielsweise kann das Robotersystem die sicheren MVR verwenden, um mit dem Registrieren der jeweiligen unerkannten Objekte zu beginnen. Das Robotersystem kann zudem die sicheren MVR-Objekte manipulieren (beispielsweise durch Greifen und Übertragen zum Durchführen von Aufgaben) und dadurch die Wahrscheinlichkeit erhöhen, dass zusätzliche Ecken von Objekten exponiert werden, die in der Startposition verbleiben. Das Robotersystem kann die Erkennung und Analyse nach dem Übertragen der Objekte wiederholen, um vorher unsichere MVR als sichere MVR auf Grundlage der neu exponierten Ecken besser erkennen zu können.
  • Dementsprechend bieten die in der vorliegenden Schrift beschriebenen Ausführungsformen eine höhere Wahrscheinlichkeit für das genaue Erzeugen der MVR für die unerkannten Objekte. Die höhere Genauigkeit kann zu weniger Fehlern führen, wie etwa fallengelassene Pakete und/oder Kollisionen, die sich aus ungenauen Daten zu dem übertragenen Objekt ergeben. Zudem kann die höhere Genauigkeit in dem MVR zu genauen Registrierungsdaten führen, was zu einer höheren Effizienz durch positives Erkennen der nachfolgenden Verarbeitung derselben Art von Objekt führen kann. Daneben können die in der vorliegenden Schrift beschrieben Ausführungsformen verwendet werden, um Stammdaten (zum Beispiel eine Sammlung der Registrierungsdaten) ohne jedwede ursprüngliche Daten autonom zu initiieren und auszufüllen. Anders ausgedrückt, kann das Robotersystem die Objekte autonom registrieren, ohne jedwede vorhandene Registrierungsdaten und ohne Eingreifen/Eingaben eines menschlichen Bedieners.
  • In der nachstehenden Beschreibung sind zahlreiche spezifische Details dargelegt, um ein tiefgreifendes Verständnis der vorliegend offenbarten Technologie zu gewährleisten. In anderen Ausführungsformen können die hier eingeführten Techniken ohne diese spezifischen Details in die Praxis umgesetzt werden. In anderen Fällen werden hinreichend bekannte Merkmale, wie etwa spezifische Funktionen oder Routinen, nicht ausführlich beschrieben, um die vorliegende Offenbarung nicht unnötig undeutlich zu machen. Bezugnahmen in dieser Beschreibung auf „eine Ausführungsform“ oder dergleichen bedeuten, dass ein/e bestimmte/s Merkmal, Struktur, Material oder Charakteristik, das beziehungsweise die beschrieben ist, in mindestens einer Ausführungsform der vorliegenden Offenbarung enthalten ist. Somit beziehen sich derartige Formulierungen in dieser Beschreibung nicht notwendigerweise allesamt auf die gleiche Ausführungsform. Andererseits schließen sich derartige Verweise auch nicht notwendigerweise gegenseitig aus. Zudem können die konkreten Merkmale, Strukturen, Materialien oder Eigenschaften in einer oder mehreren Ausführungsformen auf eine beliebige geeignete Weise kombiniert werden. Es versteht sich, dass die in den Figuren gezeigten verschiedenen Ausführungsformen lediglich veranschaulichende Darstellungen und nicht unbedingt maßstabsgetreu sind.
  • Mehrere Details, die Strukturen oder Prozesse beschreiben, die hinreichend bekannt und oftmals mit Robotersystemen und -teilsystemen assoziiert sind, die jedoch einige signifikante Aspekte der offenbarten Techniken unnötig undeutlich machen können, sind der Einfachheit halber in der folgenden Beschreibung nicht dargelegt. Wenngleich die folgende Offenbarung mehrere Ausführungsformen verschiedener Aspekte der vorliegenden Technologie darlegt, können darüber hinaus mehrere andere Ausführungsformen andere Konfigurationen oder andere Komponenten als die in diesem Abschnitt beschriebenen aufweisen. Dementsprechend können die offenbarten Techniken andere Ausführungsformen mit zusätzlichen Elementen oder ohne mehrere der Elemente, die nachfolgend beschrieben sind, aufweisen.
  • Viele Ausführungsformen oder Aspekte der vorliegenden Offenbarung, die nachfolgend beschrieben sind, können die Form von computer- oder prozessorausführbaren Anweisungen annehmen, einschließlich Routinen, die von einem programmierbaren Computer oder Prozessor ausgeführt werden. Der Fachmann erkennt, dass die offenbarten Techniken auf anderen Computer- oder Prozessorsystemen als den nachfolgend gezeigten und beschriebenen umgesetzt werden können. Die in der vorliegenden Schrift beschriebenen Techniken können in einem Spezialcomputer oder einem Datenprozessor ausgeführt werden, der spezifisch programmiert, konfiguriert oder konstruiert ist, eine oder mehrere der nachfolgend beschriebenen computerausführbaren Anweisungen auszuführen. Dementsprechend beziehen sich die Begriffe „Computer“ und „Prozessor“, wie in der vorliegenden Schrift im Allgemeinen verwendet, auf einen beliebigen Datenprozessor und können Internetgeräte und tragbare Vorrichtungen umfassen (darunter Palmtop-Computer, tragbare Computer, Mobiltelefone, Mehrprozessorsysteme, prozessorbasierte oder programmierbare Unterhaltungselektronik, Netzwerkcomputer, Minicomputer und dergleichen). Informationen, die von diesen Computern und Prozessoren verarbeitet werden, können auf einem beliebigen geeigneten Anzeigemedium, einschließlich einer Flüssigkristallanzeige (liquid crystal display - LCD), dargestellt werden. Anweisungen zum Ausführen von computer- oder prozessorausführbaren Aufgaben können in oder auf einem beliebigen geeigneten computerlesbaren Medium, einschließlich Hardware, Firmware oder einer Kombination aus Hardware und Firmware, gespeichert sein. Anweisungen können in einer beliebigen geeigneten Speichervorrichtung enthalten sein, einschließlich beispielsweise eines Flash-Laufwerks und/oder eines anderen geeigneten Mediums.
  • Die Begriffe „gekoppelt“ und „verbunden“ samt deren Ableitungen können in der vorliegenden Schrift verwendet werden, um strukturelle Beziehungen zwischen den Komponenten zu beschreiben. Es versteht sich, dass diese Begriffe nicht als Synonyme füreinander bestimmt sind. Vielmehr kann „verbunden“ in bestimmten Ausführungsformen verwendet werden, um anzugeben, dass zwei oder mehr Elemente in direktem Kontakt miteinander stehen. Sofern aus dem Kontext nicht anderweitig ersichtlich, kann der Begriff „gekoppelt“ verwendet werden, um anzugeben, dass zwei oder mehr Elemente entweder in direktem oder in indirektem Kontakt miteinander (mit anderen Zwischenelementen dazwischen) stehen oder dass die zwei oder mehr Elemente miteinander wirken oder interagieren (zum Beispiel als eine Ursache-Wirkungs-Beziehung, wie etwa für die Signalübertragung/den Signalempfang oder für Funktionsaufrufe) oder beides.
  • Geeignete Umgebungen
  • 1 ist eine Veranschaulichung einer beispielhaften Umgebung, in der ein Robotersystem 100 arbeiten kann. Das Robotersystem 100 kann eine oder mehrere Einheiten (zum Beispiel Roboter) umfassen und/oder mit diesen kommunizieren, die konfiguriert sind, eine oder mehrere Aufgaben auszuführen. Aspekte des Packmechanismus können von den verschiedenen Einheiten praktiziert oder umgesetzt werden.
  • Für das in 1 veranschaulichte Beispiel kann das Robotersystem 100 eine Entladeeinheit 102, eine Übertragungseinheit 104 (zum Beispiel einen Palettierungsroboter und/oder einen Stückaufnahmeroboter), eine Transporteinheit 106, eine Ladeeinheit 108 oder eine Kombination davon in einem Lager oder einem Verteil-Nersandzentrum umfassen. Jede der Einheiten in dem Robotersystem 100 kann dazu konfiguriert sein, eine oder mehrere Aufgaben auszuführen. Die Aufgaben können nacheinander kombiniert werden, um einen Vorgang durchzuführen, der ein Ziel erreicht, wie etwa das Entladen von Objekten von einem Lastkraftwagen oder einem Lieferwagen und das Lagern dieser in einem Lager oder das Entladen von Objekten aus Lagerbereichen und Vorbereiten dieser für den Versand. In einem anderen Beispiel kann die Aufgabe das Platzieren der Objekte an einer Zielposition (zum Beispiel oben auf einer Palette und/oder innerhalb einer Tonne/eines Korbs/einer Kiste/eines Behälters) umfassen. Wie nachfolgend beschrieben, kann das Robotersystem Pläne (zum Beispiel Platzierungspositionen/- ausrichtungen, Sequenz für das Übertragen der Objekte und/oder entsprechende Bewegungspläne) für das Platzieren und/oder Stapeln der Objekte ableiten. Jede der Einheiten kann konfiguriert sein, um eine Sequenz von Handlungen (zum Beispiel Betreiben einer oder mehrerer Komponenten darin) entsprechend einem oder mehreren der abgeleiteten Pläne auszuführen, um eine Aufgabe auszuführen.
  • In einigen Ausführungsformen kann die Aufgabe das Steuern (zum Beispiel das Bewegen und/oder Neuausrichten) eines Zielobjektes 112 (zum Beispiel eines von den Paketen, Kisten, Behältern, Körben, Paletten usw., die der auszuführenden Aufgabe entsprechen) von einer Startposition 114 in eine Aufgabenposition 116 umfassen. Beispielsweise kann die Entladeeinheit 102 (zum Beispiel ein Containerentladeroboter) konfiguriert sein, das Zielobjekt 112 von einer Position auf einem Träger (zum Beispiel einem Lastkraftwagen) zu einer Position auf einem Förderband zu übertragen. Außerdem kann die Übertragungseinheit 104 konfiguriert sein, das Zielobjekt 112 von einer Position (zum Beispiel dem Förderband, einer Palette oder einer Tonne) zu einer anderen Position (zum Beispiel einer Palette, einer Tonne usw.) zu übertragen. In einem anderen Beispiel kann die Übertragungseinheit 104 (zum Beispiel ein Palettierungsroboter) konfiguriert sein, das Zielobjekt 112 von einer Startposition (zum Beispiel einer Palette, einem Aufnahmebereich und/oder einer Fördervorrichtung) zu einer Zielpalette zu übertragen. Beim Abschließen des Vorgangs kann die Transporteinheit 106 das Zielobjekt 112 von einem Bereich, der mit der Übertragungseinheit 104 assoziiert ist, zu einem Bereich, der mit der Ladeeinheit 108 assoziiert ist, übertragen, und die Ladeeinheit 108 kann das Zielobjekt 112 (zum Beispiel durch Bewegen der Palette, die das Zielobjekt 112 trägt) von der Übertragungseinheit 104 zu einer Lagerposition (zum Beispiel einer Position auf den Regalen) übertragen. Einzelheiten bezüglich der Aufgabe und der assoziierten Handlungen sind nachfolgend beschrieben.
  • Zum Zwecke der Veranschaulichung ist das Robotersystem 100 im Kontext eines Versandzentrums beschrieben; jedoch versteht es sich, dass das Robotersystem 100 konfiguriert sein kann, um Aufgaben in anderen Umgebungen/zu anderen Zwecken auszuführen, wie etwa für die Herstellung, den Zusammenbau, das Verpacken, die Gesundheitspflege und/oder andere Arten von Automatisierung. Es versteht sich zudem, dass das Robotersystem 100 andere Einheiten umfassen kann, wie etwa Handhabungsvorrichtungen, Serviceroboter, modulare Roboter usw., die in 1 nicht gezeigt sind. In einigen Ausführungsformen kann das Robotersystem 100 beispielsweise eine Depalettierungseinheit für das Übertragen der Objekte von Korbwagen oder Paletten auf Förderbänder oder andere Paletten, eine Containerwechseleinheit für das Übertragen der Objekte von einem Container auf einen anderen, eine Verpackungseinheit für das Einwickeln der Objekte, eine Sortiereinheit für das Gruppieren von Objekten gemäß einer oder mehreren Eigenschaften davon, eine Stückaufnahmeeinheit für das unterschiedliche Steuern (zum Beispiel Sortieren, Gruppieren und/oder Übertragen) der Objekte gemäß einer oder mehreren Eigenschaften davon oder eine Kombination davon umfassen.
  • Das Robotersystem 100 kann physische oder strukturelle Elemente (zum Beispiel Robotersteuerarme) umfassen, die zur Bewegung an Gelenken verbunden sind (zum Beispiel Rotations- und/oder Translationsverschiebungen). Die strukturellen Elemente und die Gelenke können eine kinetische Kette bilden, die konfiguriert ist, um einen Endeffektor (zum Beispiel den Greifer) zu steuern, der konfiguriert ist, um eine oder mehrere Aufgaben (zum Beispiel Greifen, Drehen, Schweißen usw.) in Abhängigkeit von der Verwendung/dem Betrieb des Robotersystems 100 auszuführen. Das Robotersystem 100 kann die Betätigungsvorrichtungen (zum Beispiel Motoren, Aktoren, Drähte, künstliche Muskeln, elektroaktive Polymere usw.) umfassen, die konfiguriert sind, um die strukturellen Elemente um ein entsprechendes Gelenk oder daran anzutreiben oder zu steuern (zum Beispiel zu verschieben und/oder neu auszurichten). In einigen Ausführungsformen kann das Robotersystem 100 Transportmotoren umfassen, die konfiguriert sind, um die entsprechenden Einheiten/Gehäuse von Ort zu Ort zu transportieren.
  • Das Robotersystem 100 kann Sensoren umfassen, die dazu konfiguriert sind, Informationen zu erhalten, die dazu verwendet werden, um die Aufgaben umzusetzen, wie etwa zum Steuern der strukturellen Elemente und/oder zum Transportieren der Robotereinheiten. Die Sensoren können Vorrichtungen umfassen, die konfiguriert sind, um eine oder mehrere physikalische Eigenschaften des Robotersystems 100 (zum Beispiel einen Zustand, eine Bedingung und/oder eine Position von einem oder mehreren strukturellen Elementen/Gelenken davon) und/oder einer unmittelbaren Umgebung zu erkennen oder zu messen. Einige Beispiele der Sensoren können Beschleunigungsmesser, Gyroskope, Kraftsensoren, Dehnungsmesser, Berührungssensoren, Drehmomentsensoren, Positionscodierer usw. umfassen.
  • In einigen Ausführungsformen können die Sensoren beispielsweise eine oder mehrere Bildgebungsvorrichtungen (zum Beispiel visuelle und/oder Infrarotkameras, zweidimensionale (2D) und/oder dreidimensionale (3D) Bildaufnahmekameras, Abstandsmessvorrichtungen, wie etwa Lidar oder Radar, usw.) umfassen, die konfiguriert sind, um die unmittelbare Umgebung zu erkennen. Die Bildgebungsvorrichtungen können Darstellungen der erkannten Umgebung erzeugen, wie etwa digitale Bilder und/oder Punktwolken, die durch Maschinen-/Computervision verarbeitet werden können (zum Beispiel zur automatischen Inspektion, Roboterführung oder für andere Roboteranwendungen). Wie nachstehend näher beschrieben, kann das Robotersystem 100 das digitale Bild und/oder die Punktwolke verarbeiten, um das Zielobjekt 112, die Startposition 114, die Aufgabenposition 116, eine Stellung des Zielobjekts 112, ein Konfidenzmaß bezüglich der Startposition 114 und/oder der Stellung oder eine Kombination davon zu erkennen.
  • Zur Steuerung des Zielobjekts 112 kann das Robotersystem 100 ein Bild eines festgelegten Bereichs (zum Beispiel einer Aufnahmeposition, wie etwa innerhalb des Lastkraftwagens oder auf dem Förderband) erfassen und analysieren, um das Zielobjekt 112 und die Startposition 114 davon zu erkennen. Gleichermaßen kann das Robotersystem 100 ein Bild eines anderen festgelegten Bereichs (zum Beispiel einer Ablageposition zum Platzieren von Objekten auf dem Förderband, einer Position zum Platzieren von Objekten innerhalb des Containers oder einer Position auf der Palette zum Stapeln) erfassen und analysieren, um die Aufgabenposition 116 zu erkennen. Beispielsweise können die Bildgebungsvorrichtungen eine oder mehrere Kameras, die konfiguriert sind, um Bilder des Aufnahmebereichs zu erzeugen, und/oder eine oder mehrere Kameras, die konfiguriert sind, um Bilder des Aufgabenbereichs (zum Beispiel Ablagebereichs) zu erzeugen, umfassen. Auf Grundlage der erfassten Bilder, wie nachstehend beschrieben, kann das Robotersystem 100 die Startposition 114, die Aufgabenposition 116, die assoziierten Stellungen, einen Pack-/Platzierungsplan, eine Übertragungs-/Packsequenz und/oder andere Verarbeitungsergebnisse ermitteln.
  • In einigen Ausführungsformen können zu den Sensoren beispielsweise Positionssensoren (zum Beispiel Positionscodierer, Potentiometer usw.) gehören, die konfiguriert sind, um Positionen von strukturellen Elementen (zum Beispiel den Roboterarmen und/oder den Endeffektoren) und/oder entsprechenden Gelenken des Robotersystems 100 zu erkennen. Das Robotersystem 100 kann die Positionssensoren verwenden, um Positionen und/oder Ausrichtungen der strukturellen Elemente und/oder der Gelenke während der Ausführung der Aufgabe zu verfolgen.
  • Übertragung und Registrierung von Objekten mit einem zielortbasierten Sensor
  • 2 ist eine Veranschaulichung des Robotersystems 100 aus 1 gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie. Zu dem Robotersystem 100 kann ein Roboterarm 202 gehören (zum Beispiel eine Instanz der Übertragungseinheit 104 aus 1), zu dem ein Endeffektor 204 (zum Beispiel ein Greifer) gehören kann. Der Roboterarm 202 kann konfiguriert sein, um das Zielobjekt 112 zwischen der Startposition 114 aus 1 und der Aufgabenposition 116 aus 1 zu übertragen. Wie in 2 veranschaulicht, kann die Startposition 114 eine Palette 208 mit einem Zielstapel 210 (zum Beispiel einer Gruppierung von Objekten) darauf aufweisen. Die Aufgabenposition 116 für den Roboterarm 202 kann eine Absetzposition (zum Beispiel ein Ausgangspunkt) auf einem Förderband 206 sein (zum Beispiel eine Instanz der Transporteinheit 106 aus 1). Beispielsweise kann der Roboterarm 202 konfiguriert sein, um die Objekte von dem Zielstapel 210 aufzunehmen und diese auf das Förderband 206 zu legen, damit ein Transport zu einem anderen Ziel/einer anderen Aufgabe erfolgen kann.
  • Das Robotersystem 100 kann im Rahmen der Durchführung des Übertragungsschrittes mit dem Roboterarm 202 einen oder mehrere Sensoren verwenden. In einigen Ausführungsformen können zu dem Robotersystem 100 ein erster Bildgebungssensor 212 und/oder ein zweiter Bildgebungssensor 214 gehören. Der erste Bildgebungssensor 212 kann einen oder mehrere 2D- und/oder 3D-Sensoren umfassen, wie etwa Kameras und/oder Tiefensensoren, die konfiguriert sind, um die Startposition 114 bildlich darzustellen und/oder zu analysieren. Der zweite Bildgebungssensor 214 kann einen oder mehrere 2D- und/oder 3D-Sensoren umfassen, wie etwa Kameras und/oder Tiefensensoren, die konfiguriert sind, um die Aufgabenposition 116 bildlich darzustellen und/oder zu analysieren. Beispielsweise können zu dem ersten Bildgebungssensor 212 ein/e oder mehrere Kameras und/oder Tiefensensoren gehören, die sich an einem bekannten Standort über und in Richtung der Startposition 114 befinden. Der erste Bildgebungssensor 212 kann Bildgebungsdaten (zum Beispiel 3D-Punktwolken und/oder visuelle oder 2D-Bilder) erzeugen, die einer oder mehreren Draufsichten auf die Startposition 114 entsprechen, wie etwa eine Draufsicht auf den Zielstapel 210. Wie nachstehend näher beschrieben, kann das Robotersystem 100 die Bildgebungsdaten von dem ersten Bildgebungssensor 212 verwenden, um einen geeigneten Mindestbereich (MVR) für unerkannte (zum Beispiel nicht registrierte) Objekte in dem Zielstapel 210 abzuleiten. Das Robotersystem 100 kann den MVR verwenden, um die unerkannten Objekte zu greifen (beispielsweise über den Endeffektor 204) und zu manipulieren (beispielsweise über den Roboterarm 202), wie etwa beim Bewegen der unerkannten Objekte von der Startposition 114 in die Aufgabenposition 116. Zudem können zu dem zweiten Bildgebungssensor 214 ein/e oder mehrere Kameras und/oder Tiefensensoren gehören, die an einem oder mehreren bekannten Standorten über/seitlich neben und in Richtung der Aufgabenposition 116 oder einem assoziierten Raum angeordnet sind. Dementsprechend kann der zweite Bildgebungssensor 214 Bildgebungsdaten erzeugen, die einer oder mehreren Drauf- und/oder Seitenansichten des Zielobjektes 112 bei oder innerhalb eines Schwellenabstands von der Aufgabenposition 116 entsprechen.
  • Objekterkennung
  • 3A ist eine Veranschaulichung eines beispielhaften Objektstapels (zum Beispiel der Zielstapel 210 aus 2), der durch das Robotersystem 100 aus 1 verarbeitet wird; 3B ist eine Veranschaulichung einer Oberseite des beispielhaften Stapels (zum Beispiel eine eigentliche Draufsicht 310 auf den Zielstapel 210); und 3C ist eine Veranschaulichung von Sensordaten (zum Beispiel Draufsichtdaten 320), die der Oberseite entsprechen, allesamt gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie. Unter Bezugnahme auf die 3A, 3B und 3C gemeinsam, kann das Robotersystem 100 konfiguriert sein, um die Objekte in dem Zielstapel 210 an eine andere Position zu übertragen, wie etwa die Aufgabenposition 116 aus 1 (zum Beispiel das Förderband 206 aus 2), wie vorstehend beschrieben. Zum Übertragen der Objekte kann das Robotersystem 100 Bilddaten (zum Beispiel die Draufsichtdaten 320) von dem ersten Bildgebungssensor 212 aus 2 verwenden, der über dem Zielstapel 210 angeordnet ist. Beispielsweise können zu den Draufsichtdaten 320 ein oder mehrere visuelle Bilder und/oder eine oder mehrere Tiefenkarten gehören, die die eigentliche Draufsicht 310 zeigen oder darstellen. Zudem kann das Robotersystem 100 die Draufsichtdaten 320 auswerten, um Kanten zu erkennen, die Objektgrenzen entsprechen können. Beispielsweise kann das Robotersystem 100 Kanten und/oder fortlaufende Oberflächen, die in den Bilddaten dargestellt sind, auf Grundlage der Differenzen hinsichtlich der Tiefenmessungen und/oder Bildeigenschaften erkennen (zum Beispiel andere Farben, lineare Muster, Schatten, Unterschiede hinsichtlich der Übersichtlichkeit usw.). Das Robotersystem 100 kann exponierte Kanten 322 erkennen (zum Beispiel Kanten von Objektoberseiten, die nicht horizontal an ein anderes Objekt/an eine andere Oberfläche mit im Wesentlichen derselben Höhe angrenzen), wie etwa auf Grundlage von Differenzen in den Tiefenmessungen.
  • Der Zielstapel 210 kann Objekte enthalten, die in den Stammdaten registriert sind, die Registrierungseinträge für erwartete oder bereits verarbeitete Objekte und/oder unerwartete Objekte umfassen, die nicht in den Stammdaten registriert sind. Somit kann das Robotersystem 100 die Bilddaten von Objektoberflächen 316 verwenden, um die Objekte zu erkennen oder zu identifizieren, die sich in dem Zielstapel 210 befinden. In einigen Ausführungsformen kann das Robotersystem 100 die Bilddaten oder einen oder mehrere Teile darin mit den Stammdaten abgleichen, um die Objekte in dem Zielstapel 210 zu erkennen. Beispielsweise kann das Robotersystem 100 die bekannten Objekte (zum Beispiel erkannte Objekte 312) in dem Zielstapel 210 erkennen, wenn ein Teil der Draufsichtdaten 320 mit einem oder mehreren Bildern der Objektoberflächen 316 in den Registrierungsdaten übereinstimmt. Die restlichen Teile der eigentlichen Draufsicht 310 (zum Beispiel Teile, die nicht mit den Registrierungsdaten übereinstimmen) können unerkannten Objekten 314 entsprechen. Die Kanten der unerkannten Objekte 314 sind durch gestrichelte Linien in 3C dargestellt.
  • Auf Grundlage von dem Abgleichen der Bilddaten kann das Robotersystem 100 die erkannten Objekte 312 in den jeweiligen Bilddaten finden, die weiter in echte Positionen in der realen Welt für den Zielstapel 210 übersetzt werden können (beispielsweise durch eine vorkalibrierte Tabelle und/oder Gleichungen, die Pixelpositionen auf einem Koordinatensystem abbilden). Zudem kann das Robotersystem 100 Positionen von nicht exponierten Kanten der erkannten Objekte 312 auf Grundlage des Abgleichs schätzen. Beispielsweise kann das Robotersystem 100 Abmessungen der erkannten Objekte 312 aus den Stammdaten abrufen. Das Robotersystem 100 kann Teile der Bilddaten messen, die durch die bekannten Abmessungen von den exponierten Kanten 322 der erkannten Objekte 312 getrennt sind. Entsprechend der Abbildung kann das Robotersystem 100 eine oder mehrere auf der Registrierung basierende Kanten 324 für die erkannten Objekte 312 ermitteln und/oder gleichermaßen die auf der Registrierung basierenden Kanten 324 auf echte Positionen in der realen Welt abbilden, ähnlich wie vorstehend beschrieben.
  • In einigen Ausführungsformen kann das Robotersystem 100 exponierte Außenecken 326 des Zielstapels 210 erkennen, wie diese in den Bilddaten (zum Beispiel die Punktwolkendaten) dargestellt sind. Beispielsweise kann das Robotersystem 100 die exponierten Außenecken 326 auf Grundlage des Erkennens von Schnittpunkten/Kreuzungen zwischen einem Satz aus zwei oder mehreren der exponierten Kanten 322 (zum Beispiel Kanten, die in 3D-Bilddaten erkannt wurden, auch bezeichnet als 3D-Kanten) mit verschiedenen Ausrichtungen erkennen (zum Beispiel in verschiedenen Winkeln verlaufend). In einer oder mehreren Ausführungsformen kann das Robotersystem 100 die exponierten Außenecken 326 erkennen, wenn die exponierten Kanten 322 einen Winkel bilden, der in einem vorbestimmten Bereich (auch bezeichnet als ein Winkelbereich) liegt, wie etwa für einen Schwelleneckwinkel von mehr als und/oder weniger als 90°. Wie nachstehend näher beschrieben, kann das Robotersystem 100 die exponierten Außenecken 326 und die jeweiligen exponierten Kanten 322 verwenden, um die unerkannten Objekte 314 zu verarbeiten und/oder zu manipulieren.
  • Verarbeiten von unerkannten Objekten
  • In einigen Ausführungsformen kann das Robotersystem 100 aus 1 die Objekte entsprechend dem Erkennungsstatus und/oder den relativen Positionen der Objekte in dem Zielstapel 210 aus 2 verarbeiten (zum Beispiel erkennen und/oder übertragen). Beispielsweise kann das Robotersystem 100 die erkannten Objekte zunächst aufnehmen und übertragen und anschließend einen weiteren Satz Bilddaten von den Sensoren erzeugen (zum Beispiel von dem ersten Bildgebungssensor 212 aus 2). 4A ist eine Veranschaulichung von Sensordaten 401, die einer Oberseite entsprechen, im Anschluss an einen anfänglichen Satz Vorgänge (zum Beispiel Aufnehmen und Übertragen der erkannten Objekte 312), gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie. Die schattierten Flächen in 4A entsprechen Veränderungen der Tiefenmaße im Anschluss an das Entfernen der erkannten Objekte 312, die in den 3B und 3C gezeigt sind.
  • Wenn das Robotersystem 100 keine der erkannten Objekte 312 in den Bilddaten (zum Beispiel die 2D-Bilddaten und/oder die 3D-Punktwolke) erkennt, kann das Robotersystem 100 die Bilddaten verarbeiten, um beliebige exponierte Ecken 326 und/oder die exponierten Kanten 322 zu erkennen, um die unerkannten Objekte 314 aus 3A zu lokalisieren. Beispielsweise kann das Robotersystem 100 die Sensordaten 401 (zum Beispiel die 3D-Punktwolke) ähnlich der vorstehenden Beschreibung verarbeiten, um die exponierten Außenecken 326 und/oder die exponierten Kanten 322 zu erkennen. Dementsprechend kann das Robotersystem 100 zudem beliebige Ecken/Kanten erkennen und/oder finden, die nach dem Entfernen der erkannten Objekte 312 exponiert sind. In einigen Ausführungsformen kann das Robotersystem 100 zudem exponierte Innenecken 402 als Schnittpunkte/Kreuzungen zwischen zwei oder mehreren der exponierten Kanten 322 entsprechend einem jeweiligen Schwellenwert erkennen. Beispielsweise kann das Robotersystem 100 die exponierten Innenecken 402 als Schnittstellen zwischen zwei oder mehreren der exponierten Kanten 322 erkennen, die einen Winkel von 180° in Relation zu den jeweiligen fortlaufenden Oberflächen überschreiten. In einigen Ausführungsformen kann das Robotersystem 100 die exponierten Innenecken 402 erkennen, wenn die exponierten Kanten 322 einen Winkel bilden, der in einem Schwellenwinkelbereich von größer und/oder kleiner als 270° liegt.
  • In einigen Ausführungsformen, wenn keines der erkannten Objekte 312 übrig bleibt, kann das Robotersystem 100 Registrierungsziele 406 in dem Zielstapel 210 (zum Beispiel unter den unerkannten Objekten 314) auf Grundlage der exponierten Ecken und/oder exponierten Kanten erkennen. Beispielsweise kann das Robotersystem 100 die exponierten Ecken/Kanten entsprechend einem Satz Präferenzen und/oder einem Bewertungsmechanismus bewerten. In einigen Ausführungsformen kann das Robotersystem 100 konfiguriert sein, um die exponierten Außenecken 326 auszuwählen, die am nächsten zu dem Roboterarm 202 aus 2 sind. Das Robotersystem 100 kann den jeweiligen Bereich der Sensordaten 401 und das jeweilige unerkannte Objekt 314 auswählen, das mit den ausgewählten exponierten Außenecken 326 assoziiert ist. Anders ausgedrückt, kann nach dem Verarbeiten der erkannten Objekte 312 das Robotersystem 100 die unerkannten Objekte 314 verarbeiten, die die exponierten Außenecken 326 des Zielstapels 210 bilden/ausmachen. Auf Grundlage von dem Auswerten der jeweiligen Abschnitte der Sensordaten 401 (beispielsweise über das Ableiten des MVR) kann das Robotersystem 100 die unerkannten Objekte 314 greifen, das gegriffene Objekt anheben und/oder horizontal übertragen und/oder das gegriffene Objekt zum Zwecke der Registrierung abbilden. Daneben kann das Robotersystem 100 nach dem Abbilden des gegriffenen Objektes das gegriffene Objekt zu einem Ziel bewegen (zum Beispiel das Förderband 206 aus 2).
  • Zum weiteren Beschreiben der Auswertung der Sensordaten ist 4B eine detaillierte Veranschaulichung eines Abschnittes 4B der Sensordaten 401 aus 4A gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie. Das Robotersystem 100 kann die Sensordaten 401 analysieren, um einen MVR 412 abzuleiten. Der MVR 412 kann eine Fläche mit einer Mindestgröße darstellen, die verwendet wird, um Objekte zu berühren, zu greifen und/oder anzuheben. Zudem kann der MVR 412 eine Schätzung einer Oberfläche und/oder peripherer Grenzen eines einzelnen unerkannten Objektes darstellen. Beispielsweise kann der MVR 412 mit einer Grundfläche des Endeffektors 204 oder einer größeren Fläche mit zusätzlichen/Pufferbereichen assoziiert sein, die die Grundfläche umgeben. Zudem kann der MVR 412 beispielsweise mit geschätzten Positionen von horizontalen Grenzen/Kanten eines unerkannten Objektes assoziiert sein (zum Beispiel das ausgewählte Registrierungsziel). In einigen Ausführungsformen kann der MVR 412 einer möglichen Mindest- und/oder Maximalgröße entsprechen, die physischen Abmessungen (zum Beispiel Längen, Breiten, Höhen, Durchmessern, Umfängen usw.) für die kleinst- beziehungsweise größtmögliche Instanz der in dem Zielstapel 210 erwarteten Objekte entsprechen kann. Anders ausgedrückt, kann das Robotersystem 100 ermitteln, dass keines der Objekte in dem Zielstapel 210 Abmessungen aufweisen wird, die unter der möglichen Mindestgröße und über der möglichen Maximalgröße liegen. Die möglichen Mindest- und Maximalgrößen können vorbestimmte Werte sein (das heißt Werte, die vor dem Verarbeiten des Zielstapels 210 bereitgestellt wurden oder bekannt waren). Einzelheiten bezüglich der Ableitung der MVR 412 sind nachstehend beschrieben.
  • Das Robotersystem 100 kann den MVR 412 verwenden, um eine Greifposition 420 zu ermitteln. Die Greifposition 420 kann einer Fläche an dem Objekt/Stapel entsprechen, die sich während der anfänglichen Manipulation direkt unter dem Endeffektor 204 befindet und/oder diesen berührt. Anders ausgedrückt, kann das Robotersystem 100 den Greifer über der Greifposition 420 anordnen, um das jeweilige Objekt für anschließende Manipulationen zu greifen (zum Beispiel Anheben, horizontale Übertragung und/oder Datenerfassungsprozesse zur Registrierung). In einigen Ausführungsformen kann das Robotersystem 100 die Greifposition 420 aus der Reihe von potentiellen Greifpositionen auswählen. Beispielsweise kann das Robotersystem 100 aus der Reihe entsprechend einer relativen Ausrichtung des Arms auswählen (zum Beispiel unter Bevorzugung des Roboterarms, der über die exponierten Kanten 322 verläuft und nicht mit anderen Teilen überlappt).
  • In einigen Ausführungsformen kann das Robotersystem 100 den MVR 412 auf Grundlage von geschätzten Kanten 424 ableiten. Beispielsweise kann das Robotersystem 100 eine Instanz der exponierten Außenecke 326 (zum Beispiel eine 3D-Ecke) für eine obere Schicht des Zielstapels 210 auswählen oder erkennen. Das Robotersystem 100 kann sich von der ausgewählten exponierten Außenecke 326 entlang der assoziierten exponierten Kanten 322 weg bewegen (zum Beispiel 3D zusammenlaufend bei/Bildung der ausgewählten Ecke). Beim Bewegen entlang der Kanten kann das Robotersystem 100 die geschätzten Kanten 424 auf Grundlage von Unterschieden hinsichtlich der 3D-Tiefenmessungen und/oder 2D-Bildeigenschaften (zum Beispiel Helligkeit, Farbe usw.) in den Sensordaten 401 erkennen. Das Robotersystem 100 kann Kanten oder Linien in 2D/3D-Bilddaten erkennen, die sich mit einer gekreuzten Kante schneiden und/oder innerhalb eines Schwellentrennabstandes von dieser befinden. Das Robotersystem 100 kann die erkannten Kanten im Rahmen der Ermittlung der geschätzten Kanten 424 testen. Das Robotersystem 100 kann die geschätzten Kanten 424 auf Grundlage eines Vergleichs der Ausrichtung der erkannten Kanten mit der Ausrichtung der exponierten Kanten 322 testen/verifizieren. Beispielsweise kann das Robotersystem 100 eine erkannte Kante als die geschätzte Kante 424 verifizieren, wenn diese parallel zu einer der exponierten Kanten 322 ist. In einigen Ausführungsformen kann das Robotersystem 100 die parallelen Ausrichtungen auf Grundlage der Überprüfung gleicher Abstände zwischen zwei oder mehreren jeweiligen Punkten an dem getesteten Paar Kanten testen (zum Beispiel die erkannte Kante und die nicht gekreuzte Instanz der exponierten Kanten 322). In einigen Ausführungsformen kann das Robotersystem 100 die parallelen Ausrichtungen erkennen, wenn das getestete Paar Kanten und/oder Verlängerungen davon eine gemeinsame Kante in demselben Winkeln schneiden, wie etwa, wenn beide Kanten und/oder Verlängerungen davon die gekreuzte Instanz der exponierten Kanten 322 in einem Winkel zwischen 80°-100° schneiden.
  • Dementsprechend kann das Robotersystem 100 die Greifposition 420 ableiten, die erkannte Linien (zum Beispiel 2D-Kanten und/oder unvollständige Kanten) und/oder die geschätzten Kanten 424 nicht überlappt. Das Robotersystem 100 kann die Greifposition 420 auf Grundlage von dem Ausgleichen eines Verhältnisses zwischen Abständen zwischen Kanten des MVR 412 und den nächsten erkannten Linien und/oder den geschätzten Kanten 424 ableiten. Da das Robotersystem 100 das Objekt bei oder um eine Ecke auf Grundlage des MVR 412 greift, kann das Robotersystem 100 die Greifposition 420 ableiten, die das höchstmögliche Drehmoment entlang einer beliebigen bestimmten Richtung auf Grundlage von dem Ausgleichen des Verhältnisses verringert. Zudem kann das Robotersystem 100 zusätzlich den MVR 412 ableiten oder anpassen, damit dieser mit den geschätzten Kanten 424 zusammenfällt oder bis zu diesen verläuft.
  • Das Robotersystem 100 kann die abgeleitete Greifposition 420 verwenden, um den Roboterarm 202 aus 2 und den Endeffektor 204 zu bewegen. Das Robotersystem 100 kann das Objekt greifen (zum Beispiel das Registrierungsziel 406), das sich an der Ecke des Stapels in der Greifposition 420 befindet. In einigen Ausführungsformen kann das Robotersystem 100 das gegriffene Objekt anheben und/oder horizontal übertragen, um die vorher nicht exponierten Kanten eindeutig unterscheiden zu können. Beispielsweise kann das Robotersystem 100 das Objekt um eine vorbestimmte Höhe, die einem Mindestabstand entspricht, anheben und/oder horizontal übertragen, um die Kanten genau unterscheiden zu können. Zudem kann das Robotersystem 100 das Objekt beispielsweise während dem Überwachen und/oder Auswerten der Änderungen der Höhe und/oder eines Kippens in dem Endeffektor anheben und/oder horizontal übertragen, so dass zusätzliche Kanten, die den exponierten Kanten 322 gegenüberliegen, erkennbar werden. Das Robotersystem 100 kann Daten während und/oder nach dem anfänglichen Anheben abrufen und verarbeiten, um die unerkannten Objekte 314 weiter zu beschreiben.
  • Überblick MVR-Erkennung
  • Die vorliegenden Ausführungsformen können das Erzeugen von genauen geeigneten Mindestbereichen (MVR) eines Objektes betreffen. Eine exponierte Außenecke und exponierte Kanten können durch Prüfen von 2D- und/oder 3D-Bildgebungsdaten erkannt werden (zum Beispiel Punktwolkendaten). Auf Grundlage der erkannten exponierten Außenecke und exponierten Kanten kann ein anfänglicher MVR durch Erkennen von Kanten erzeugt werden, die den exponierten Kanten gegenüberliegen. In einigen Ausführungsformen kann das Robotersystem 100 den MVR auf Grundlage von dem Erkennen von gegenüberliegenden Kanten erzeugen (zum Beispiel die geschätzten Kanten 424 aus 4B), die exponierten Kanten entsprechen (zum Beispiel parallel dazu sind). Der anfängliche MVR kann von der exponierten Außenecke entlang der exponierten Kanten zu den gegenüberliegenden Kanten verlaufen.
  • Nach dem Ermitteln des anfänglichen MVR können potentielle MVR-Bereiche, die von dem anfänglichen MVR zu einem Ende einer Oberfläche oder Schicht (zum Beispiel ein Satz seitlich benachbarter Positionen mit Tiefenmaßen in einem Schwellenbereich zueinander) verlaufen, die durch die Punktwolke definiert ist, erkannt werden. Ein zusammengeführter MVR des Objektes kann den anfänglichen MVR und die potentiellen MVR umfassen. Ein verifizierter MVR kann durch Prüfen/Testen des zusammengeführten MVR erzeugt werden. Der verifizierte MVR kann einen genauen Bereich darstellen, die das unerkannte Objekt umfasst. Auf Grundlage des verifizierten MVR kann das Robotersystem 100, wie in der vorliegenden Schrift beschrieben, das Objekt registrieren und eine Aufgabe im Hinblick auf das Objekt ausführen, wie etwa das Objekt greifen und/oder bewegen.
  • In vielen Fällen kann eine Kante (zum Beispiel eine Außen- oder exponierte Kante) des Objektes erkannt werden. Beispielsweise können Außenkanten von Objekten, die sich entlang der Peripherie des Zielstapels 210 aus 2 (zum Beispiel die exponierten Kanten 322 aus 3C) befinden, fehlen und/oder von jedweden umgebenden Objekten getrennt sein. Dementsprechend können zu dem Bildgebungsergebnis (zum Beispiel die 3D-Punktwolke) abrupte Änderungen der dargestellten Werte (zum Beispiel Höhenmaße und/oder Bildwerte, wie etwa Farben oder Helligkeit) gehören, die die Außenkanten darstellen. In vielen Fällen sind die anderen Kanten unter Umständen jedoch nicht sichtbar oder lassen sich schwer genau definieren (zum Beispiel auf Grundlage von einem Schwellenkonfidenzwert). Beispielsweise können Oberflächengestaltungen/Bilder auf einem Karton dazu führen, dass die Kanten an dem Objekt falsch erkannt werden. Dementsprechend kann es aufgrund der unvollständigen Kanten schwierig sein, Teile in den 2D-/3D-Bildgebungsdaten genau zu trennen.
  • Das Robotersystem 100 kann die exponierten Außenecken 326 und/oder exponierten Kanten 322 eines Objektes durch Prüfen der Bilddaten (zum Beispiel eine Punktwolke und/oder ein 2D-Bild) und Bestimmen einer oder mehrerer Schichten erkennen. Beispielsweise kann das Robotersystem 100 eine obere Schicht von Objekt(en) (zum Beispiel die unerkannten Objekte 314 aus 3B) in dem Zielstapel 210 auf Grundlage des Bildgebungsergebnisses erkennen. In der oberen Schicht kann das Robotersystem 100 ein Objekt und/oder einen Teil einer Oberfläche (zum Beispiel ein Bereich mit Höhenwerten in einem Schwellenkontinuitätsbereich zueinander) für eine MVR-Ableitung auswählen. Das Robotersystem 100 kann schätzen, dass die exponierten Kanten, die die Oberfläche (zum Beispiel eine der Schichten oder einen Teil darin) bilden/definieren, seitlichen/peripheren Grenzen der Oberfläche und/oder des jeweiligen Objektes entsprechen. Ein anfänglicher MVR kann durch Erkennen von gegenüberliegenden Kanten erzeugt werden, die den exponierten Kanten gegenüberliegen, wobei der anfängliche MVR von der exponierten Außenecke (zum Beispiel ein Schnittpunkt, der durch einen Satz der exponierten Kanten und/oder die peripheren Grenzen gebildet wird) entlang der exponierten Kanten zu gegenüberliegenden Kanten verlaufen kann.
  • Das Robotersystem 100 kann zudem den anfänglichen MVR durch Erweitern und/oder Schrumpfen der anfänglichen Schätzung auf Grundlage von Kennzeichnungen (zum Beispiel unvollständige Kanten) in den Bildgebungsdaten verarbeiten (zum Beispiel anpassen). Der angepasste MVR kann überprüft werden, um einen finalen MVR zu ermitteln, die verwendet wird, um die Greifposition 420 zu ermitteln und/oder das unerkannte Objekt zu registrieren.
  • 5 veranschaulicht eine Draufsicht auf eine Reihe von palettierten Paketen 500 (zum Beispiel der Zielstapel 210 aus 2) gemäß einigen Ausführungsformen der vorliegenden Technologie. Wie in 5 gezeigt, können zu einem ersten Objekt 510 die Kanten 512a-d gehören. Eine Kante kann eine Grenze des Objektes entsprechend der Ansicht aus einer bestimmten Perspektive darstellen (zum Beispiel eine Draufsicht). In bestimmten Situationen kann mindestens ein Teil der Kanten 512a-d (zum Beispiel Kanten 512c-d) geschlossen sein und an andere benachbarte Objekte/Kanten anstoßen. Im umgekehrten Fall können einige der Kanten (zum Beispiel die Kanten 512a-b) offen sein und den exponierten Kanten 322 aus 3C entsprechen.
  • Der erste Karton 510 kann eine oder mehrere exponierte Außenecken 514 umfassen, die von horizontal benachbarten Objekten getrennt sind oder keine horizontal getrennten Objekte aufweisen. Die exponierten Außenecken 514 können den exponierten Außenecken 326 aus 3 des Stapels entsprechen. Wie nachstehend erörtert, können die Bilddaten (zum Beispiel eine Punktwolke und/oder ein 2D-Bild) überprüft werden, um exponierte Kanten und eine exponierte Außenecke eines Pakets zu erkennen.
  • Punktwolkensegm entierung
  • 6 veranschaulicht eine grafische Darstellung 600 einer exponierten Außenecke gemäß einigen Ausführungsformen der vorliegenden Technologie. Wie in 6 gezeigt, kann eine Punktwolke (zum Beispiel die grafische Darstellung 600) verarbeitet werden, um eine exponierte Außenecke 614 zu erkennen (zum Beispiel eine der exponierten Außenecken 326 aus 3). Beispielsweise kann die Punktwolke einer Draufsicht, die durch eine 3D-Kamera erzeugt wurde, des ersten Objektes 510 aus 5 oder eines Teils davon entsprechen. Die Punktwolke kann eine dreidimensionale Punktwolke mit mehreren Schichten umfassen, die für die Tiefe stehen. Jede Schicht und/oder eine Oberfläche kann einem Satz horizontal benachbarter Tiefenwerte entsprechen, die in einem Schwellenkontinuitätsbereich zueinander liegen. Beispielsweise kann der Schwellenkontinuitätsbereich erfordern, dass horizontal benachbarte Positionen Tiefenmaße aufweisen, die in einem Schwellenabstand (zum Beispiel weniger als 1 Zentimeter) zueinander oder in einem Schwellenabstand entsprechend einer Neigung liegen. Zudem kann der Schwellenkontinuitätsbereich einen Boden und/oder eine Neigung relativ zu einer Bezugshöhe definieren (zum Beispiel ein höchster/nächstgelegener Punkt in dem Zielstapel 310). Der Schwellenkontinuitätsbereich kann gleichermaßen Grenzen für 2D-Bildeigenschaften definieren (zum Beispiel Farbe und/oder Helligkeit), um eine Kontinuität über einen Satz horizontal benachbarter Positionen zu erkennen. Eine Tiefe einer Schicht der Punktwolke kann einer Trennung entlang einer Richtung entsprechen, die normal ist zu einer Oberfläche eines jeweiligen Objektes (zum Beispiel vertikale Trennung).
  • Dementsprechend kann die Punktwolke analysiert und verarbeitet werden, um die Schichten zu trennen und/oder offene 3D-Kanten/Ecken zu erkennen. In einigen Ausführungsformen kann das Robotersystem 100 (zum Beispiel ein oder mehrere Prozessoren darin) Schichten auf Grundlage der Gruppierung von Tiefenwerten in der Punktwolke entsprechend einer oder mehreren vorbestimmten Kontinuitätsregeln/- schwelle erkennen. Beispielsweise kann das Robotersystem 100 eine Reihe horizontal benachbarter/verbundener Tiefenwerte gruppieren, wenn die Tiefenwerte in dem Schwellenkontinuitätsbereich zueinander liegen und/oder wenn die Tiefenwerte einer konstanten Neigung folgen, die eine flache und durchgehende Oberfläche darstellt. Das Robotersystem 100 kann exponierte Kanten (zum Beispiel die exponierten Kanten 512a und 512b aus 5) als Grenzen der erkannten Schichten erkennen. Anders ausgedrückt, kann das Robotersystem 100 die exponierten Kanten 512a und 512b als horizontale periphere Positionen der Schicht/Oberfläche erkennen, wenn eine geeignete Änderung der Tiefe auftritt. Im Allgemeinen können die Tiefenmaße für Objekte/Kanten, die eine obere Schicht des Zielstapels 210 bilden, eine geringere Größe (zum Beispiel darstellend einen geringeren Abstand zu der ersten Bildgebungsvorrichtung 312) aufweisen als Objekte/Kanten, die eine niedrigere Schicht unter der oberen Schicht bilden.
  • In einigen Ausführungsformen kann das Robotersystem 100 die exponierten Kanten auf Grundlage von dem Erkennen von visuellen Linien in visuellen 2D-Bildern ermitteln. Beispielsweise können Paletten und/oder Böden einer bekannten Farbe, Helligkeit usw. entsprechen. Dementsprechend kann das Robotersystem 100 Linien erkennen, die an derartige bekannte Muster als exponierte Kanten des/der Objekt(e) angrenzen. Zudem kann das Robotersystem 100 die 2D-Analyse verwenden, um die 3D-Erkennung der exponierten Kanten zu verifizieren.
  • Auf Grundlage der exponierten Kanten kann das Robotersystem 100 offene 3D-Ecken erkennen (zum Beispiel die exponierte Außenecke 514). Beispielsweise kann das Robotersystem 100 Formen/Winkel erkennen, die mit den exponierten Kanten assoziiert sind. Das Robotersystem 100 kann konfiguriert sein, um die exponierte Außenecke 514 als Position in der Punktwolke zu ermitteln, bei der die exponierten Kanten (zum Beispiel Kanten 512a-b) sich schneiden/einen Winkel in einem Schwellenwinkelbereich (zum Beispiel 80° - 100°) bilden.
  • Als ein veranschaulichendes Beispiel kann das Robotersystem 100 die offene 3D-Ecke 614 durch Erkennen eines ersten Bereichs 612 und benachbarter Bereiche 616a-c erkennen. Das Robotersystem 100 kann den ersten Bereich 612 erkennen, wenn eine Reihe benachbarter horizontaler Positionen in dem abgetasteten Bereich der Schicht Tiefenwerte aufweist, die in dem Schwellenkontinuitätsbereich zueinander liegen. Das Robotersystem 100 kann die benachbarten Bereiche 616a-c als andere horizontale Positionen mit Tiefenwerten erkennen, die nicht in dem Schwellenkontinuitätsbereich von den Tiefenwerten in dem ersten Bereich 612 liegen. In einigen Ausführungsformen kann das Robotersystem 100 Kanten des ersten Bereichs 612 und/oder den Beginn der benachbarten Bereiche 616a-c erkennen, wenn sich Tiefenwerte so ändern, dass sie nicht mehr in dem Schwellenkontinuitätsbereich liegen, und/oder wenn die Positionen der Änderungen der Tiefenwerte einer Formvorlage entsprechen (zum Beispiel eine gerade Linie und/oder eine Mindesttrennweite zwischen Objekten). Insbesondere können die benachbarten Bereiche 616a-c die Tiefenwerte aufweisen, die Abstände darstellen, die weiter von dem ersten Bildgebungssensor 212 entfernt sind als die Tiefenwerte für die Oberfläche des Zielstapels 210 (d. h. der erste Bereich 612). Die resultierenden Kanten zwischen dem ersten Bereich 612 und den benachbarten Bereichen 616a und 616c können den exponierten Kanten entsprechen. In einigen Ausführungsformen kann zu dem Erkennen der offenen 3D-Ecke 614 das Verifizieren gehören, dass der erste Bereich 612 einen Quadranten bildet, während die benachbarten Bereiche 616a-c übrigen Quadranten und/oder leeren Räumen entsprechen, wie etwa für Positionen außerhalb des Objektstapels. Ein leerer Raum kann auf einen Raum hindeuten, der mit einer sehr dünn besetzten Punktwolke erkannt wurde, was als Punktwolkenrauschen betrachtet werden kann.
  • Andere 3D-Ecken können unter Verwendung der 3D-Punktwolke ermittelt werden. In einigen Ausführungsformen kann die exponierte Außenecke eine Konturform haben und eine ‚L‘-förmige Ecke kann keine valide Ecke umfassen. Dementsprechend kann das Robotersystem 100 Kantensegmente erkennen, die eine oder mehrere Anforderungen erfüllen (zum Beispiel eine minimale gerade durchgehende Länge), [sowie auf Grundlage von dem Verlängern derartiger Kantensegmente um eine vorbestimmte Länge][A1]. Wenn die verlängerten Kantensegmente andere Segmente oder verlängerte Segmente in einem Winkel schneiden, kann das Robotersystem 100 einen Punkt auf der Konturform (zum Beispiel ein Mittelpunkt des Bogens zwischen den sich schneidenden Kantensegmenten) als die exponierte Außenecke erkennen.
  • In einigen Ausführungsformen können die 3D-Ecken in eine Rangfolge gebracht sein. Beispielsweise können 3D-Ecken, die von einem leeren Raum umgeben sind (zum Beispiel für Objekte, die sich an der Ecke einer oberen Schicht in dem Stapel befinden), einen höheren Rang aufweisen als andere Objekte. Die offene 3D-Ecke 614 kann auf Grundlage von anderen Faktoren in eine Rangfolge gebracht werden, wie etwa eine Größe des ersten Bereichs 612, die Position der offenen 3D-Ecke 614 in Relation zu einer Form des ersten Bereichs 612, eine Differenz der Tiefenwerte zwischen umgebenden Bereichen (zum Beispiel zwischen dem ersten Bereich 612 und den benachbarten Bereichen 616a und 616c) und/oder ein horizontaler Abstand zwischen dem ersten Bereich 612 und einem anderen Bereich (zum Beispiel eine andere Oberfläche/ein anderes Objekt) mit Tiefenwerten in dem Schwellenkontinuitätsbereich von denjenigen in dem ersten Bereich 616a.
  • In einigen Ausführungsformen kann das Robotersystem 100 eine unvollständige Kante erkennen. Die unvollständigen Kanten können Kanten sein, die im Rahmen der 2D- und/oder 3D-Analyse erkannt wurden und bei denen es sich um tatsächliche Kanten handeln kann oder auch nicht. Einige der unvollständigen Kanten können tatsächlichen Kanten von Kartons/Lücken zwischen Kartons entsprechen, die aufgrund der Rauschüberlagerung von anderen Objekten und/oder der Fähigkeit/Position einer Bildgebungsvorrichtung (zum Beispiel Kamera) unter Umständen nicht zu erkennen sind. Die unvollständigen Kanten können zudem visuelle Muster oder Kennzeichnungen an den Objektoberflächen sein, die im Rahmen der 2D-Bildanalyse erkannt wurden, wie etwa Oberflächenzeichnungen oder Kennzeichnungen oder eine Teilung/Naht zwischen Klappen eines Kartons, die zusammengeklebt sind. Im umgekehrten Fall weisen Kartons ohne Muster unter Umständen keine 2D-Linien auf, die als die unvollständigen Kanten erkannt werden können. Das Robotersystem 100 kann die unvollständigen Kanten an Positionen in den Sensorausgaben erkennen, die Rauschvarianzen überschreiten, Regeln/Schwellenwerte für das Erkennen von Kanten jedoch nicht vollständig erfüllen. In einigen Ausführungsformen kann das Robotersystem 100 die exponierten Außenkanten (zum Beispiel periphere Kanten des ersten Bereichs 612) unter Verwendung der 3D-Sensorausgaben und die unvollständigen Kanten unter Verwendung der 2D-Sensorausgaben erkennen. Zudem kann das Robotersystem 100 die unvollständigen Kanten als 2D- oder 3D-Kanten erkennen, die andere Kanten nicht in einem Winkel schneiden, der in dem Winkelschwellenbereich liegt. Einzelheiten hinsichtlich der unvollständigen Kanten sind nachstehend näher beschrieben.
  • Erzeugen eines anfänglichen MVR
  • 7 veranschaulicht eine Draufsicht auf eine Reihe von palettierten Paketen gemäß einigen Ausführungsformen der vorliegenden Technologie. 7 veranschaulicht zudem einen anfänglichen MVR 710 in Relation zu der Draufsicht (zum Beispiel 3D- und/oder 2D-Sensorbild des Zielstapels 210 aus 2). Der anfängliche MVR 710 kann eine anfängliche Schätzung der Grenzen eines MVR und/oder Kanten eines jeweiligen Objektes darstellen. Anders ausgedrückt, kann der anfängliche MVR 710 eine anfängliche Schätzung einer Oberfläche für ein unerkanntes Objekt darstellen. Das Robotersystem 100 kann die offene 3D-Ecke und/oder exponierten Kanten verwenden, um den anfänglichen MVR 710 abzuleiten. Zu dem Ableiten des anfänglichen MVR 710 kann das Prüfen jeder der Schichten gehören, die anhand der Punktwolke erkannt wurden, um Objekte, Kanten, Ecken usw. zu erkennen. Beispielsweise kann das Robotersystem 100 den anfänglichen MVR 710 als einen Bereich in den Punktwolkendaten (zum Beispiel 3D-Sensorausgabe) mit Tiefenwerten in dem Schwellenkontinuitätsbereich [zueinander ableiten][A2](zum Beispiel der erste Bereich 612 aus 6). Anders ausgedrückt, kann das Robotersystem 100 den anfänglichen MVR als die Gruppierung von horizontal benachbarten Positionen ableiten, die ausreichend identische oder linear gemusterte Tiefenwerte aufweisen, die einer durchgehenden Oberfläche entsprechen. Dementsprechend kann das Robotersystem 100 den anfänglichen MVR als eine Fläche ableiten, die mindestens teilweise durch die exponierten Außenecken 514 (zum Beispiel eine erste Ecke 714a und/oder eine zweite Ecke 714b) und jeweiligen exponierten Kanten begrenzt ist. Beispielsweise kann der anfängliche MVR 710 von der ersten Ecke 714a entlang der exponierten Kanten 722 und 726 zu den gegenüberliegenden Kanten 724 und 728 verlaufen. In einigen Ausführungsformen kann das Robotersystem 100 den anfänglichen MVR 710 beginnend an einer offenen 3D-Ecke (zum Beispiel die erste Ecke 714a) und den exponierten Kanten folgend (zum Beispiel weg von der offenen 3D-Ecke) ableiten. Der anfängliche MVR 710 kann verlängert werden, bis die verfolgten exponierten Kanten geschnitten werden oder anderen exponierten Kanten gegenüberstehen (zum Beispiel Kanten, die der nicht nachverfolgten Kante gegenüberliegen und/oder mit dieser parallel sind, wie etwa die gegenüberliegenden Kanten 724 und/oder 728).
  • In einigen Instanzen kann der anfängliche MVR 710 aus verschiedenen Gründen (zum Beispiel Raumaufteilung zwischen Objekten, Granularität des Sensors usw.) Oberflächen von mehreren Objekten entsprechen. Dementsprechend kann das Robotersystem 100 eine oder mehrere Abmessungen des abgeleiteten anfänglichen MVR 710 überprüfen. Das Robotersystem 100 kann verifizieren, dass die eine oder die mehreren Abmessungen des MVR 710 größer sind als eine mögliche Mindestgröße und kleiner sind als eine mögliche Maximalgröße. Die Schwellenabmessung kann eine kleinste und/oder eine größte Abmessung für Objekte darstellen, die durch das Robotersystem 100 empfangen werden können/erwartet werden. Zudem kann die Schwellenabmessung eine horizontale Grundfläche des Endeffektors 204 aus 2 darstellen, wie etwa zum Darstellung einer Mindestgröße für den Greif-/Kontaktbereich.
  • Wenn eine oder mehrere Abmessungen des anfänglichen MVR 710 nicht mehr in den Schwellenwerten liegen (beispielsweise durch Überschreiten der maximalen Abmessung oder Unterschreiten der Mindestabmessung), kann das Robotersystem 100 den anfänglichen MVR 710 anpassen, wie etwa durch Durchführen einer weiteren Segmentierung des anfänglichen MVR 710 (zum Beispiel eine oberste Schicht) entsprechend der unvollständigen Kanten 712 (zum Beispiel 2D-/3D-Kanten, die an einer oder mehreren Seiten nicht mit einer anderen Kante übereinstimmen oder sich mit dieser schneiden). Anders ausgedrückt, kann das Robotersystem 100 den anfänglichen MVR entsprechend der unvollständigen Kanten 712 anpassen/verkleinern und ein jeweiliges Ergebnis testen. In einigen Ausführungsformen kann das Robotersystem 100 die unvollständige Kante 712 als 2D-Kanten und/oder 3D-Kanten ermitteln, die eine exponierte Kante an einem oder mehreren Enden nicht schneiden. Zudem kann das Robotersystem 100 die unvollständige Kante 712 als 2D- und/oder 3D-Kanten ermitteln, die parallel zu einer der exponierten Kanten sind. In einigen Ausführungsformen kann das Robotersystem 100 Konfidenzwerte berechnen, die mit den unvollständigen Kanten 712 assoziiert sind. Die Konfidenzwerte können eine Wahrscheinlichkeit darstellen, dass die unvollständigen Kanten 712 Oberflächenkanten und/oder Trennungen zwischen benachbarten Objekten entsprechen. Als ein Beispiel kann das Robotersystem 100 die Konfidenzwerte auf Grundlage einer Gesamtlänge der unvollständigen Kanten 712, einer Form der unvollständigen Kanten 712 und/oder einer Differenz zwischen den unvollständigen Kanten 712 und Teilen berechnen, die die unvollständigen Kanten 712 umgeben (zum Beispiel nach Tiefe, Farbe, Helligkeit usw.).
  • Wie nachstehend näher beschrieben, kann das Robotersystem 100 einen verifizierten MVR 720 auf Grundlage von dem Verringern des anfänglichen MVR 710 entsprechend der oder bis auf die unvollständigen Kanten 712 ableiten. Anders ausgedrückt, kann das Robotersystem 100 einen verkleinerten möglichen MVR als eine Fläche in dem anfänglichen MVR 710 erkennen, die durch eine oder mehrere der unvollständigen Kanten 712 begrenzt ist, anstelle von gegenüberliegenden parallelen Kanten 724 und/oder 728. Das Robotersystem 100 kann den anfänglichen MVR 710 durch Nachverfolgen einer gegenüberliegenden parallelen Kante (zum Beispiel gegenüberliegende parallele Kanten 724, 728, bei denen es sich um 2D- und/oder 3D-Kanten handeln kann, wie die geschätzten Kanten 424 aus 4B) in Richtung einer jeweiligen exponierten Kante verkleinern (zum Beispiel die jeweiligen exponierten Kanten 722 beziehungsweise 726), bis die unvollständige Kante 712 erreicht ist. Anders ausgedrückt, kann das Robotersystem 100 die zweite Ecke 714b, die mit der anfänglichen MVR 710 assoziiert ist, erkennen und sich anschließend von der zweiten Ecke 714 weg entlang der assoziierten Kanten bewegen (zum Beispiel die gegenüberliegenden parallelen Kanten 724 und/oder 728), während es nach anderen Kanten sucht (zum Beispiel schneidende und/oder parallele Kanten, wie etwa die unvollständigen Kanten 712). Das Robotersystem 100 kann eine Ausrichtung der erkannten Kanten entsprechend der vorstehenden Beschreibung testen. Beispielsweise kann das Robotersystem 100 die erkannten Kanten erkennen, wenn ein Winkel zwischen der gekreuzten Kante und der erkannten Kante in einem Schwellenwinkelbereich liegt (zum Beispiel 80° bis 100° und/oder andere Bereiche, die einem rechten Winkel entsprechen). Zudem kann das Robotersystem 100 prüfen, dass die erkannten Kanten parallel zu jeweiligen exponierten Kanten sind, wie etwa, wenn eine Reihe von Abständen zwischen mehreren Reihen jeweiliger Punkte entlang der erkannten und der nicht gekreuzten exponierten Kante in einem Schwellenbereich zueinander liegen. Dies kann iterativ oder inkrementell erfolgen. Wenn der MVR nicht weiter verkleinert werden kann, kann das Robotersystem 100 die resultierende Fläche als den verifizierten MVR-Bereich 720 annehmen.
  • Das Robotersystem 100 kann den verkleinerten möglichen MVR auf Grundlage eines Vergleichs der verkleinerten Abmessung mit den Schwellenwerten entsprechend der vorstehenden Beschreibung verifizieren. Beispielsweise kann das Robotersystem 100 den verkleinerten möglichen MVR als den verifizierten MVR 720 ableiten, wenn die verkleinerte Fläche, die durch die unvollständige Kante 712 definiert wird, den Ober-/Untergrenzen entspricht. Zudem kann das Robotersystem 100 den verkleinerten möglichen MVR verifizieren, wenn die unvollständigen Kanten 712 Konfidenzwerten entsprechen, die einen vorbestimmten Schwellenwert überschreiten. Zudem kann das Robotersystem 100 die unvollständigen Kanten 712 um einen Schwellenabstand in eine oder mehrere Richtungen verlängern. Beispielsweise kann das Robotersystem 100 den verkleinerten möglichen MVR verifizieren, wenn die verlängerten unvollständigen Kanten andere Kanten unter Bildung eines Winkels schneiden, der einem Schwellenwinkelbereich entspricht.
  • Als ein Beispiel für das Vergrößern des anfänglichen MVR 710 veranschaulicht 8 einen beispielhaften zusammengeführte MVR-Bereich gemäß einigen Ausführungsformen der vorliegenden Technologie. In einigen Fällen können mehrere benachbarte Oberflächen im Wesentlichen dieselbe Höhe und eine Kante/horizontale Trennung zwischen den Oberflächen aufweisen. Als ein veranschaulichendes Beispiel kann das in der Punktwolke dargestellte Objekt eine Oberseite eines Kartons sein, die zwei getrennte rechteckige Klappen/Segmente aufweist, die durch einen Klebestreifen miteinander verbunden sind. Aufgrund einer oder mehrerer vorstehend erörterter Einschränkungen kann das Robotersystem 100 den anfänglichen MVR 710 so ableiten, dass eine Klappe eingeschlossen ist und diese bis zu einer Kante verläuft, die dem Klebeband oder der Trennung zwischen den Klappen/Segmenten entspricht. Für derartige Fälle kann das Robotersystem 100 zusätzliche Bereiche ableiten und diese mit dem anfänglichen MVR 710 im Rahmen der Ableitung eines verifizierten MVR 820 zusammenführen/testen.
  • Wie in 8 gezeigt, können zusätzliche plausible MVR-Bereiche 812a-b auf Grundlage von dem anfänglichen MVR 710 ermittelt werden. Die zusätzlichen plausiblen MVR-Bereiche 812a-b können Bereiche umfassen, die mit dem anfänglichen MVR 710 korreliert sind. Beispielsweise kann das Robotersystem 100 die zusätzlichen plausiblen MVR-Bereiche 812a-b auf Grundlage der Analyse von Teilen der 2D- und/oder 3D-Bilder ermitteln. Das Robotersystem 100 kann die zusätzlichen plausiblen MVR-Bereiche 812a-b als Positionen ermitteln, die eine übereinstimmende visuelle Eigenschaft (zum Beispiel Farbe, Helligkeit und/oder Bildmuster) und/oder übereinstimmende Tiefenwerte aufweisen, die in dem Schwellenkontinuitätsbereich liegen, jeweils in Relation zu dem anfänglichen MVR 710. Das Robotersystem 100 kann mögliche Flächen als Teile der Bilder ableiten, für die festgestellt wurde, dass sie mit dem anfänglichen MVR 710 assoziiert sind.
  • Als ein veranschaulichendes Beispiel kann das Robotersystem 100 die MVR (zum Beispiel anfängliche und erweiterte MVR) auf Grundlage von dem Nachverfolgen der ersten und der zweiten exponierten Kante 722 und 726 (zum Beispiel Kanten, die in den 3D-Bilddaten dargestellt sind) weg von der exponierten Außenecke 714a verarbeiten. Das Robotersystem 100 kann einen anfänglichen Satz gegenüberliegender Kanten erkennen, zu denen eine erste anfängliche gegenüberliegende Kante 822 und eine zweite anfängliche gegenüberliegende Kante 826 gehören. Das Robotersystem 100 kann den anfänglichen Satz gegenüberliegender Kanten verifizieren, wenn die erste exponierte Kante 722 parallel zu der ersten anfänglichen gegenüberliegenden Kante 822 und/oder die zweite exponierte Kante 726 parallel zu der zweiten gegenüberliegenden Kante 826 ist. Das Robotersystem 100 kann die verifizierten gegenüberliegenden Kanten verwenden, um den anfänglichen MVR 710 abzuleiten.
  • Das Robotersystem 100 kann zudem die zusätzlichen plausiblen MVR-Bereiche 812a-b auf Grundlage von dem Nachverfolgen der ersten und der zweiten exponierten Kante 722 und 726 über den anfänglichen Satz gegenüberliegender Kanten hinaus ermitteln (zum Beispiel weg von der exponierten Außenecke 714a). Das Robotersystem 100 kann eine oder mehrere weitere gegenüberliegende Kanten (zum Beispiel eine erste Kante 832 und/oder eine zweite Kante 836) erkennen, die einander schneiden oder in einem Schwellentrennungsabstand von der nachverfolgten Kante liegen (zum Beispiel die erste exponierte Kante 722 und/oder die zweite exponierte Kante 726). Das Robotersystem 100 kann die weiteren gegenüberliegenden Kanten ähnlich der vorstehenden Beschreibung verifizieren, wie etwa, wenn die erste Kante 832 parallel zu der ersten exponierten Kante 722 und/oder der ersten anfänglichen gegenüberliegenden Kante 822 und/oder wenn die zweite Kante 836 parallel zu der zweiten exponierten Kante 726 und/oder der zweiten anfänglichen gegenüberliegenden Kante 826 ist.
  • Wenn die eine oder die mehreren weiteren gegenüberliegenden Kanten verifiziert sind, kann das Robotersystem 100 die zusätzlichen plausiblen MVR-Bereiche erkennen. Beispielsweise kann das Robotersystem 100 einen ersten zusätzlichen plausiblen MVR-Bereich 812a als eine Fläche zwischen der ersten anfänglichen gegenüberliegenden Kante 822 und eine erste der weiteren gegenüberliegenden Kante erkennen (zum Beispiel die erste Kante 832). Zudem kann das Robotersystem 100 einen zweiten zusätzlichen plausiblen MVR-Bereich 812b als eine Fläche zwischen der zweiten anfänglichen gegenüberliegenden Kante 826 und einer zweiten der weiteren gegenüberliegenden Kante erkennen (zum Beispiel die zweite Kante 836).
  • Das Robotersystem 100 kann die zusätzlichen plausiblen MVR-Bereiche 812a-b auf Grundlage von dem Verifizieren/Testen der möglichen Flächen ermitteln (zum Beispiel Kombinationen des anfänglichen MVR 710 und des ersten zusätzlichen plausiblen MVR-Bereichs 812a und/oder des zweiten zusätzlichen plausiblen MVR-Bereichs 812b). Beispielsweise kann das Robotersystem 100 verifizieren, dass die Trennabstände zwischen möglichen Flächen (zum Beispiel Teile der Bilder, die als mit dem anfänglichen MVR 710 assoziiert ermittelt wurden) und dem anfänglichen MVR 710 unter einem vorbestimmten Schwellenwert liegen. Das Robotersystem 100 kann zudem die möglichen Flächen durch Vergleichen einer oder mehrerer Abmessungen davon mit Unter-/Obergrenzen für die Abmessung testen, die vorstehend beschrieben sind. Das Robotersystem 100 kann die möglichen Flächen als die zusätzlichen plausiblen MVR-Bereiche 812a-b ermitteln, wenn die möglichen Flächen unter einer Untergrenze liegen (zum Beispiel Abmessungen einer möglichen Mindestgröße). In einigen Ausführungsformen kann das Robotersystem 100 den Größenvergleich, den Trennabstand und/oder die Assoziation/Ähnlichkeit zwischen den möglichen Flächen und dem anfänglichen MVR 710 verwenden, um ein Konfidenzniveau zu berechnen. Das Konfidenzniveau kann eine Wahrscheinlichkeit darstellen, dass die möglichen Flächen demselben Objekt entsprechen wie die Teile, die dem anfänglichen MVR 710 entsprechen. Das Robotersystem 100 kann das Konfidenzniveau mit einem vorbestimmten Schwellenwert vergleichen, um zu ermitteln, ob die möglichen Flächen als die zusätzlichen plausiblen MVR-Bereiche 812a-b oder eine neue Instanz des anfänglichen MVR 710 eingestuft werden sollten (die beispielsweise einem separaten Objekt entspricht).
  • Erzeugen eines verifizierten MVR
  • Das Robotersystem 100 kann den verifizierten MVR 820 auf Grundlage von dem Kombinieren des anfänglichen MVR 710 und des zusätzlichen plausiblen MVR 812a-b ableiten. Dementsprechend kann das Robotersystem 100 einen möglichen MVR durch Vergrößern des anfänglichen MVR 710 dahingehend ableiten, dass diese andere in der Nähe gelegene Bereiche umfasst. Dementsprechend kann das Robotersystem 100 die Wahrscheinlichkeit einer genauen Schätzung einer vollständigen Oberfläche des nicht registrierten Objektes über den verifizierten MVR 820 erhöhen.
  • In einigen Ausführungsformen kann das Robotersystem 100 sowohl den verifizierten MVR 820 als auch den verifizierten MVR 720 ableiten (zum Beispiel ein Ergebnis der Verkleinerung des anfänglichen MVR 710). Entsprechend einem oder mehreren vorbestimmten Verfahren/einer oder mehreren vorbestimmten Gleichungen kann das Robotersystem 100 Konfidenzwerte für jeden der verifizierten MVR unter Verwendung von einem oder mehreren der vorstehend beschriebenen Verarbeitungsparameter berechnen. Das Robotersystem 100 kann den verifizierten MVR mit dem höheren Konfidenzwert als finalen MVR auswählen.
  • Alternativ kann das Robotersystem 100 den anfänglichen MVR 710 als den finalen MVR ableiten, wenn Tests auf kleinere und/oder größere mögliche Flächen nicht erfolgreich sind. Wenn der zusammengeführte MVR beispielsweise größer ist als eine mögliche Maximalgröße, kann der zusammengeführte MVR abgelehnt werden und der verifizierte MVR 820 kann den anfänglichen MVR 710 ohne jedwede der zusätzlichen plausiblen MVR umfassen. Zudem, wenn der verkleinerte MVR, die in 7 beschrieben ist, unter einer möglichen Mindestgröße liegt, kann der verifizierte MVR 710 den anfänglichen MVR 710 umfassen. In einigen Ausführungsformen kann das Robotersystem 100 den vergrößerten MVR zunächst durch Vergrößern des anfänglichen MVR 710 ableiten. Das Robotersystem 100 kann anschließend den vergrößerten MVR entsprechend der vorstehenden Beschreibung iterativ verkleinern, um den finalen MVR abzuleiten. Das Robotersystem 100 kann den finalen verifizierten MVR verwenden, um das nicht registrierte Objekt entsprechend der vorstehenden Beschreibung zu registrieren und/oder zu manipulieren.
  • Erzeugen eines geeigneten Mindestbereichs (MVR) mit automatischer Registrierungsleitung.
  • 9 veranschaulicht ein Ablaufdiagramm eines Objekterkennungsverfahrens 900 zum Erkennen von Objekten gemäß einigen Ausführungsformen der vorliegenden Technologie. Das Verfahren kann auf Informationen beruhen, die dem Robotersystem 100 aus 1 zugänglich sind und/oder an diesem empfangen wurden. Beispielsweise kann das Robotersystem 100 2D- und/oder 3D-Bilddaten empfangen/darauf zugreifen (beispielsweise über den ersten Bildgebungssensor 212 aus 2), die den Zielstapel 210 aus 2 und/oder die Objekte darin darstellen (zum Beispiel die registrierten Objekte und/oder die unerkannten Objekte). Das Robotersystem 100 kann zudem auf vorbestimmte und gespeicherte Daten zugreifen, wie etwa mögliche Mindestabmessungen der Pakete 112 aus 1 (auch bezeichnet als die mögliche Mindestgröße), mögliche Maximalabmessungen der Pakete 112 (auch bezeichnet als die mögliche Maximalgröße) oder eine Kombination daraus. Das Robotersystem 100 kann zudem auf die Stammdaten (auch bezeichnet als ein Objektsatz) zugreifen und diese verwenden, zu denen bekannte oder vorbestimmte Daten/Beschreibungen im Hinblick auf empfangbare oder erwartete Objekte gehören. Beispielsweise kann der Objektsatz Beschreibungen von Eigenschaften umfassen, die mit verschiedenen Objekten assoziiert sind, wie etwa Abmessungen, Oberflächenbilder/Aussehen, Muster, Farbe usw. von Objekten. Im Vergleich dazu können die Abmessungen von einzelnen Objekten in dem Zielstapel 210 (d. h. wie etwa das Paket 112) dem Robotersystem 100 bekannt sein oder nicht bekannt sein.
  • Das Objekterkennungsverfahren 900 kann ein schlagwortbasiertes Erkennungsverfahren umfassen (Block 902). In einigen Ausführungsformen kann zu dem schlagwortbasierten Erkennungsverfahren eine visuelle Analyse oder eine Computervisionsanalyse der 2D-Bilddaten gehören. Auf Grundlage der visuellen Analyse kann eine Erkennungsschätzung auf Grundlage des Objektsatzes erzeugt werden (Block 904). Die Erkennungsschätzung kann eine Hypothese umfassen, dass ein Teil in den Bilddaten (zum Beispiel die 2D-Bilddaten) mit einem Objekt übereinstimmt oder diesem entspricht, das in dem Objektsatz dargestellt ist. Beispielsweise kann das Robotersystem 100 die Erkennungsschätzung auf Grundlage von übereinstimmenden Bildteilen/Merkmalen, Schlagworten und/oder anderen aussehenbezogenen Daten zwischen dem Objektsatz und den 2D-Bilddaten erzeugen.
  • Das schlagwortbasierte Erkennungsverfahren kann das Überprüfen der Hypothese umfassen (Block 906). Anders ausgedrückt, kann das Robotersystem 100 die Erkennungsschätzung verifizieren, wie etwa auf Grundlage von Eigenschaften der registrierten Objekte in dem Objektsatz und/oder anderen Sensordaten (zum Beispiel 3D-Bilddaten, wie etwa Punktwolkendaten). Das Robotersystem 100 kann die Hypothese durch Prüfen/Abgleichen anderer Merkmale, lokaler Merkmalschlagworte und/oder der 3D-Bilddaten von einem 3D-Tiefensensor verifizieren. Beispielsweise kann das Robotersystem 100 die Hypothese auf Grundlage von dem Abgleichen eines Satzes wichtiger visueller Merkmale (zum Beispiel Logos, Namen, größte/hellste Merkmale usw.) mit dem Objektsatz erzeugen und die Hypothese auf Grundlage von dem Vergleichen anderer übriger visueller Merkmale mit dem Objektsatz verifizieren. Zudem kann das Robotersystem 100 die Hypothese auf Grundlage von dem Erkennen von Positionen in den 2D-Bilddaten verifizieren (d. h. Grenzen/Kanten davon), die einer Oberfläche entsprechen, die der Hypothese entspricht. Beispielsweise kann das Robotersystem 100 Eigenschaften von assoziierten 2D-Kanten (zum Beispiel Abmessungen und Positionen von Kanten) berechnen, die dem erkannten Teil der 2D-Bilddaten entsprechen. Das Robotersystem 100 kann die Hypothese auf Grundlage von dem Vergleichen der Positionen/Längen der 2D-Kanten für den angenommenen Teil der 2D-Bilddaten mit denjenigen verifizieren, die in den 3D-Bilddaten (zum Beispiel in der Punktwolke) dargestellt sind. Das Robotersystem 100 kann die Hypothese verifizieren, wenn die Eigenschaften der 3D-Kanten (zum Beispiel Längen), die der angenommenen Fläche entsprechen, mit denen des angenommenen Objektes übereinstimmen, das in dem Objektsatz dargestellt ist. Anders ausgedrückt, kann das Robotersystem 100 verifizieren, dass der angenommene Teil der 2D-Bilddaten mit einem Objekt übereinstimmt, das in dem Objektsatz dargestellt ist, wenn zusätzliche Aspekte, wie etwa Position/Längen der jeweiligen 3D-Kanten, des angenommenen Teils mit denen der Objekte übereinstimmen, die in dem Objektsatz dargestellt sind.
  • Das Objektregistrierungsverfahren 900 kann eine Punktwolkenerkennung umfassen (Block 908). In einigen Ausführungsformen kann zu dem Punktwolkenerkennungsverfahren eine 3D-Analyse der 3D-Bildgebungsdaten von einem 3D-Tiefensensor gehören. Zu der Punktwolkenerkennung kann das Trennen der Punktwolkendaten gehören, um Kanten und/oder Merkmale einzelner Schichten zu erkennen (Block 910). Beispielsweise kann das Robotersystem 100 die Punktwolkendaten entsprechend Tiefenmaßen trennen. Wie vorstehend beschrieben, kann das Robotersystem 100 Gruppierungen von benachbarten Positionen erkennen, deren Tiefenmaße in einem Schwellenbereich voneinander liegen. Dementsprechend kann das Robotersystem 100 die Gruppierungen erkennen, die den Schichten und/oder den Oberflächen des Zielstapels 210 entsprechen. In einigen Ausführungsformen kann das Robotersystem 100 Kanten/Grenzen, Oberflächenausrichtungen und/oder Unterbrechungen anhand der 3D-Bilddaten erkennen. Das Robotersystem 100 kann die erkannten Kanten/Grenzen, Oberflächenausrichtungen und/oder Unterbrechungen verwenden, um die Schichten zu erkennen, die durch die Kanten begrenzt sind, dieselbe Oberflächenausrichtung aufweisen und/oder sich an gegenüberliegenden Seiten der Unterbrechungen befinden. Zusätzlich oder alternativ kann das Robotersystem 100 in den 2D-Bilddaten erkannte Kanten verwenden, um die Kanten zu erkennen und/oder die 3D-Kanten zu validieren.
  • Eine Erkennungsschätzung kann auf Grundlage von gemessenen Abmessungen erzeugt werden (Block 912). Die Erkennungsschätzung kann eine Hypothese umfassen, dass ein Teil in den 3D-Bilddaten mit einem Objekt übereinstimmt oder zu diesem gehört, das in dem Objektsatz dargestellt ist. Beispielsweise kann das Robotersystem 100 die Erkennungsschätzung auf Grundlage von gemessenen Abmessungen von jeder einzelnen Schicht erzeugen. Das Robotersystem 100 kann annehmen, dass die erkannte/n Kante/Grenzen der Schichten/Oberflächen peripheren Kanten von einem oder mehreren Objekten entsprechen, die in dem Objektsatz dargestellt sind. Beispielsweise kann das Robotersystem 100 Längen der Kanten entsprechend der vorstehenden Beschreibung messen oder berechnen. Das Robotersystem 100 kann die Erkennungsschätzung erzeugen, zu der ein Teil des Bildes und/oder den jeweiligen Bereich an dem Zielstapel 210 gehört, die einem bekannten/registrierten Objekt in dem Objektsatz entspricht oder mit diesem übereinstimmt.
  • Das Robotersystem 100 kann die Erkennungsschätzung verifizieren (Block 914). Das Robotersystem 100 kann die Hypothese durch Vergleichen anderer Eigenschaften der angenommenen Fläche mit denjenigen der registrierten Objekte in dem Objektsatz verifizieren. Wenn beispielsweise die gemessenen Abmessungen der Kanten, die die Schichten bilden, mit jeweiligen Abmessungen für eines der registrierten Objekte übereinstimmen, kann das Robotersystem 100 verifizieren, dass das durch die verglichenen Kanten begrenzte Objekt wahrscheinlich das übereinstimmende registrierte Objekt ist. Alternativ oder zusätzlich kann das Robotersystem 100 die Hypothese auf Grundlage der Analyse eines Teils der 2D-Bilddaten verifizieren, der dem angenommenen Teil in den 3D-Bilddaten entspricht. Beispielsweise kann das Robotersystem 100 Koordinaten/Positionen für Punkte der erkannten 3D-Kanten ermitteln, die für die Längenvergleiche verwendet wurden. Das Robotersystem 100 kann die jeweiligen Positionen/den jeweiligen Teil in den 2D-Bilddaten des Zielstapels 210 ermitteln. Das Robotersystem 100 kann die Hypothese durch Vergleichen des erkannten Teils der 2D-Bilddaten mit den jeweiligen Darstellungen der Oberflächen verifizieren (zu denen Oberflächenbilder gehören können), die in dem Objektsatz gespeichert sind. Wenn 2D-Eigenschaften (zum Beispiel Aussehen, wie etwa Muster in der Helligkeit, Farbe usw.) des erkannten Teils des 2D-Bildes mit der Darstellung der Oberfläche des angenommenen registrierten Objektes übereinstimmen, kann das Robotersystem 100 die Hypothese verifizieren und erkennen, dass das jeweilige Objekt an der Position in dem Zielstapel 210 vorhanden ist. Dementsprechend kann das Robotersystem 100 die bekannten Objekte (zum Beispiel die erkannten Objekte 312 aus 3B) in dem Zielstapel 210 erkennen.
  • Das Objekterkennungsverfahren 900 kann mit einem nicht leeren Objektsatz initiiert werden. In einigen Ausführungsformen kann das Objekterkennungsverfahren 900 mit einer beliebigen der schlagwortbasierten Erkennung und/oder punktwolkenbasierten Erkennung beginnen, wie beschrieben unter Bezugnahme auf 9 oben. Alternativ oder zusätzlich kann das Objekterkennungsverfahren 900 entweder die schlagwortbasierte Erkennung oder die Punktwolkenerkennung ohne die jeweils andere durchführen oder die verschiedenen Erkennungsverfahren zusammenführen.
  • 10 ist ein Blockdiagramm eines Verfahrens 1000 zum Betreiben des Robotersystems 100 aus 1 gemäß einigen Ausführungsformen der vorliegenden Technologie. Das Robotersystem 100 kann das Verfahren 1000 ausführen, um die 2D-/3D-Bildgebungsdaten zu verarbeiten, die von dem ersten Bildgebungssensor 212 aus 2 erzeugt und/oder empfangen wurden. Beispielsweise kann das Robotersystem 100 das Verfahren 1000 durch Ausführen von Prozessoranweisungen, die auf Speichervorrichtungen gespeichert sind, unter Verwendung eines oder mehrerer Prozessoren ausführen. Dementsprechend können der eine oder die mehreren Prozessoren das/die in der vorliegenden Schrift beschriebene/n Verfahren ausführen. Der eine oder die mehreren Prozessoren können Daten empfangen, Daten analysieren, Ergebnisse/Befehle/Einstellungen erzeugen und/oder die Befehle/Einstellungen kommunizieren, um eine oder mehrere Robotereinheiten zu betreiben.
  • Zu dem Verfahren 1000 kann das Erkennen der bekannten/registrierten Objekte (zum Beispiel die erkannten Objekte 312 aus 3B) in dem Zielstapel 210 aus 2 gehören. Entsprechend dem Verfahren 1000 kann das Robotersystem 100 zudem die unerkannten Objekte 314 aus 3B verarbeiten und registrieren, die den nicht erklärten Bereichen in den Bilddaten entsprechen. Dementsprechend kann zu dem Verfahren 1000 das Objekterkennungsverfahren 900 aus 9 gehören.
  • Das Robotersystem 100 kann erkennen, dass nach dem Objekterkennungsverfahren 900 ein oder mehrere nicht erklärte Bereiche in den Bilddaten (Block 1002) verbleiben. Das Robotersystem 100 kann die nicht erklärten Bereiche als beliebige Teile der Bilddaten der Startposition 112 aus 1 erkennen (zum Beispiel in horizontalen Grenzen einer Palette, eines Wagens, eines Behälters usw.), die keine übereinstimmenden Objekte ergeben (oder diesen entsprechen), die in dem Objektsatz dargestellt sind (zum Beispiel Registrierungsdaten in den Stammdaten). Das Robotersystem 100 kann ermitteln, dass der/die nicht erklärte/n Bereich/e einem oder mehreren unerkannten Objekten 314 aus 3B entspricht/entsprechen.
  • Das Robotersystem 100 kann den/die nicht erklärte/n Bereich/e testen (Block 1004). Das Robotersystem 100 kann den nicht erklärten Bereich entsprechend seiner Form und/oder seiner Abmessungen testen. Dementsprechend kann das Robotersystem 100 Kanten in den Bilddaten erkennen (zum Beispiel das visuelle 2D-Bild und/oder die 3D-Punktwolke) (Block 1020). Beispielsweise kann das Robotersystem 100 die Schichten/Oberflächen in dem/den nicht erklärten Bereich/e der Bilddaten (zum Beispiel das 2D-Bild und/oder die 3D-Punktwolke) auf Grundlage von dem Erkennen benachbarter Positionen mit Tiefenmaßen erkennen, die in einem Schwellenbereich zueinander liegen. Das Robotersystem 100 kann die exponierten Kanten als die Grenzen der erkannten Schichten erkennen, in denen die Tiefenmaße nicht mehr in dem Schwellenbereich über horizontal benachbarte Positionen liegen. Zudem kann das Robotersystem 100 die Kanten auf Grundlage von dem Analysieren der 2D-Bilder auf Änderungen hinsichtlich der Helligkeit, Farben usw. erkennen. In einigen Ausführungsformen kann das Robotersystem 100 Sobel-Filter verwenden, um die Kanten zu erkennen.
  • Das Robotersystem 100 kann den/die nicht erklärte/n Bereiche/e durch Vergleichen der erkannten Kanten der nicht erklärten Bereiche mit vorbestimmten Formvorlagen und/oder Längen testen. Beispielsweise kann das Robotersystem 100 die Form der nicht erklärten Bereiche (das heißt entsprechend der Definition durch einen Satz verbundener Kanten) mit den Formvorlagen vergleichen, die erwartete Objekte darstellen (zum Beispiel Kasten- und/oder Zylinderformen). Das Robotersystem 100 kann die Abmessungen der Formvorlagen zum Testen der Formen der nicht erklärten Bereiche anpassen. Zusätzlich oder alternativ kann das Robotersystem 100 die Längen der erkannten Kanten (zum Beispiel Kanten, die in den 2D- und/oder 3D-Bilddaten dargestellt sind) berechnen und diese mit vorbestimmten Unter-/Obergrenzen abgleichen.
  • Wenn die Form und/oder die Längen die vorbestimmten Schwellenwerte/Bedingungen erfüllen, kann das Robotersystem 100 die Objekterkennung unter Verwendung einer MVR-Analyse entsprechend der vorstehenden Beschreibung durchführen und MVR erzeugen (Block 1006). Das Robotersystem 100 kann die anfänglichen MVR unter Verwendung der erkannten Kanten/Ecken (Block 1022) ableiten. Beispielsweise kann das Robotersystem 100 eine der offenen Ecken auswählen und den jeweiligen offenen Kanten folgen, um andere geeignete 2D-/3D-Kanten zu finden (zum Beispiel die geschätzten Kanten 424 aus 4B und/oder die gegenüberliegenden parallelen Kanten 724, 728 aus 7). Das Robotersystem 100 kann die anfänglichen MVR ableiten, wenn die offenen Kanten und die anderen geeigneten Kanten eine vorbestimmte Bedingung/einen vorbestimmten Schwellenwert erfüllen (zum Beispiel Anforderungen zur Mindest-/Maximalgröße).
  • In einigen Ausführungsformen kann das Robotersystem 100 zudem die anfänglichen MVR verarbeiten, wie etwa durch Vergrößern (Block 1024) und/oder Verkleinern (Block 1026) der anfänglichen MVR. Das Robotersystem 100 kann die anfänglichen MVR auf Grundlage von dem Bestimmen der zusätzlichen plausiblen MVR-Bereiche 812a-b aus 8 wie vorstehend beschrieben vergrößern. Das Robotersystem 100 kann die MVR (zum Beispiel den anfänglichen MVR und/oder den vergrößerten MVR) beginnend in einer anderen Ecke (zum Beispiel eine Ecke, die der ursprünglich ausgewählten Ecke diagonal gegenüberliegt) verkleinern, um Kanten zu finden. Beispielsweise kann das Robotersystem 100 andere Kanten (zum Beispiel die unvollständigen Kanten 712 aus 7 und/oder andere 2D-/3D-Kanten) in Betracht ziehen, um die MVR zu verkleinern.
  • Das Robotersystem 100 kann angepasste und/oder anfängliche MVR verifizieren (Block 1028). Das Robotersystem 100 kann den verifizierten MVR 820 aus 8 als eine Kombination des anfänglichen MVR und den plausiblen MVR-Bereichen ableiten, wenn die plausiblen MVR-Bereiche und/oder die Kombinationen eine vorbestimmte Bedingung/einen vorbestimmten Schwellenwert erfüllen (zum Beispiel entsprechende Anforderungen an die Mindest-/Maximalgröße). Das Robotersystem 100 kann den verifizierten MVR 720 aus 7 ableiten, wenn die durch die in Betracht gezogene/n Kante/n begrenzte Fläche eine vorbestimmte Bedingung/einen vorbestimmten Schwellenwert erfüllt (zum Beispiel entsprechende Anforderungen an die Mindest-/Maximalgröße). Wenn die in Betracht gezogenen Kanten die vorbestimmten Bedingungen/Schwellenwerte nicht erfüllen, kann das Robotersystem 100 den verifizierten MVR auf Grundlage von dem letzten validen Ergebnis ableiten. Beispielsweise kann das Robotersystem 100 den anfänglichen MVR als den verifizierten MVR setzen, wenn erweiterte Ergebnisse und reduzierte Ergebnisse die Testbedingungen nicht erfüllen. Zudem kann das Robotersystem 100 den verifizierten MVR 820 erzeugen, wenn eine anschließende Verkleinerung die Testbedingungen nicht erfüllt. In einigen Ausführungsformen kann das Robotersystem 100 den MVR zunächst verkleinern und anschließend vergrößern. Dementsprechend kann das Robotersystem 100 den verifizierten MVR 720 erzeugen, wenn die anschließende Vergrößerung die Testbedingungen nicht erfüllt.
  • Jede der verifizierten MVR kann eine Schätzung einer Oberfläche (zum Beispiel eine Oberseite) von einem der unerkannten Objekte 314 in dem nicht erklärten Bereich darstellen. Anders ausgedrückt, kann jeder verifizierte MVR eine geschätzte Erkennung darstellen, die ein Objekt in den nicht erklärten Bereichen darstellt.
  • Das Robotersystem 100 kann zudem die MVR analysieren, um zu ermitteln, ob diese sicher oder unsicher sind (Block 1008). Beispielsweise kann das Robotersystem 100 eine Reihe offener Ecken (zum Beispiel 3D-Ecken) ermitteln, die in den MVR vorhanden sind und verwendet werden, um die MVR abzuleiten, und die MVR entsprechend klassifizieren. Das Robotersystem 100 kann die MVR auf Grundlage von dem Vergleichen der Anzahl der assoziierten offenen Ecken mit einem vorbestimmten Schwellenwert klassifizieren/eine Klassifikation ermitteln. Als ein veranschaulichendes Beispiel kann das Robotersystem 100 unsichere MVR als die anfänglichen und/oder verifizierten MVR ermitteln, die zwei oder weniger offene 3D-Ecken umfassen oder unter Verwendung von zwei oder weniger offenen 3D-Ecken abgeleitet sind. Zudem kann das Robotersystem 100 sichere MVR als anfängliche und/oder verifizierte MVR ermitteln, die drei oder mehr offene 3D-Ecken umfassen oder unter Verwendung von drei oder mehr offenen 3D-Ecken abgeleitet sind.
  • In einigen Ausführungsformen kann das Robotersystem 100 die Unsicherheit des anfänglichen MVR ermitteln (zum Beispiel vor den Blöcken 1024-1028). Wenn der anfängliche MVR ein sicherer MVR ist, kann das Robotersystem 100 die vorstehend für die Blöcke 1024-1028 beschriebenen Vorgänge überspringen. Das Robotersystem 100 kann die vorstehend für die Blöcke 1024-1028 beschriebenen Vorgänge ausführen, wenn der anfängliche MVR der unsichere MVR ist. In anderen Ausführungsformen kann das Robotersystem 100 die Unsicherheit des verifizierten MVR nach dem Vergrößern, Verkleinern und/oder Verifizieren der verarbeiteten MVR ermitteln.
  • Das Robotersystem 100 kann den Objektsatz aktualisieren, wenn der MVR sicher ist (Block 1030). In einigen Ausführungsformen kann das Robotersystem den Objektsatz mit dem MVR entsprechend der Klassifizierung für den MVR aktualisieren. Beispielsweise kann unter Verwendung der sicheren MVR das Robotersystem 100 ein Objekt erkennen, wie etwa durch Bestimmen/Schlussfolgern, dass die sicheren MVR jeweils einem einzelnen erkannten Objekt entsprechen (zum Beispiel eine Instanz der unerkannten Objekte 314). Dementsprechend kann das Robotersystem 100 den sicheren MVR direkt erkennen und/oder registrieren (zum Beispiel ohne den MVR weiter anzupassen, zu testen und/oder zu verifizieren), wie etwa durch Speichern des sicheren MVR (zum Beispiel das visuelle Bild und/oder die jeweiligen Abmessungen) in dem Objektsatz. Unter Verwendung des aktualisierten Objektsatzes (d. h. der mit dem sicheren MVR aktualisierte Objektsatz) kann das Robotersystem 100 das Objekterkennungsverfahren 900 entsprechend der Darstellung durch die Feedback-Schleife erneut ausführen.
  • Wenn der MVR unsicher ist, kann das Robotersystem 100 eine Aufgabe entsprechend dem verifizierten MVR ausführen (Block 1010). Das Robotersystem 100 kann den verifizierten MVR verwenden, um die Greifposition 420 aus 4B abzuleiten. Beispielsweise kann das Robotersystem 100 ableiten, dass die Greifposition 420 mit der exponierten Ecke des verifizierten MVR ausgerichtet ist oder an diese anstößt. Zudem kann das Robotersystem 100 ableiten, dass die Greifposition 420 einen mittleren Teil des verifizierten MVR überlappt. Auf Grundlage der Greifposition 420 kann das Robotersystem 100 Befehle, Einstellungen und/oder Bewegungspläne zum Betreiben des Roboterarms 202 aus 2 und/oder des Endeffektors 204 aus 2 ableiten, um das Objekt zu greifen und zu übertragen. Für die Aufgabe kann das Robotersystem 100 das Objekt in die Aufgabenposition 116 aus 1 übertragen. Zudem kann das Robotersystem 100 weiterhin das Objekt in einer oder mehreren festgelegten Positionen abstellen, wie etwa, um das Objekt einem oder mehreren Sensoren vorzulegen und/oder das Objekt um eine oder mehrere Linien/Ebenen anzuordnen, während der Übertragung.
  • Das Robotersystem 100 kann zusätzliche Daten über das Objekt während seiner Übertragung abrufen (Block 1032). Beispielsweise kann das Robotersystem 100 das Objekt greifen und eine anfängliche Verschiebung durchführen (zum Beispiel Anheben und/oder um einen vorbestimmten Abstand horizontal verschieben). Das Robotersystem 100 kann eine oder mehrere aktualisierte 2D/3D-Bilddaten (beispielsweise über den ersten Bildsensor 212) im Anschluss an die anfängliche Verschiebung erzeugen. Auf Grundlage der erhöhten Trennung zwischen dem gegriffenen Objekt und den umgebenden Objekten kann das Robotersystem 100 die aktualisierten 2D-/3D-Bilddaten analysieren, um die Kanten, den MVR und/oder die Objektabmessungen erneut abzuleiten. Zudem kann das Robotersystem 100 eine Höhe des Objektes entsprechend einem oder mehreren kreuzenden Sensoren (nicht gezeigt) berechnen. Das Robotersystem 100 kann die Höhe des Endeffektors 204 ermitteln, wenn ein unterer Teil des übertragenen Objektes in eine seitlich ausgerichtete Erfassungslinie/-ebene eintritt beziehungsweise aus dieser austritt, die mit den kreuzenden Sensoren assoziiert ist (zum Beispiel Sensoren, die konfiguriert sind, um Unterbrechungen eines optischen Signals zu erkennen). Das Robotersystem 100 kann die Höhe auf Grundlage der Höhe des Endeffektors und einer bekannten Höhe der Erfassungslinie/-ebene berechnen. Zudem kann das Robotersystem 100 periphere Bilder, Kennzeichnungswerte/Positionen, das Gewicht und/oder andere physikalische Beschreibungen des Objektes während der Übertragung abrufen.
  • Das Robotersystem 100 kann das übertragene unerkannte Objekt registrieren (Block 1034). Das Robotersystem 100 kann das Objekt auf Grundlage von dem Speichern der zusätzlichen Daten und/oder des verifizierten MVR in dem Objektsatz entsprechend der vorstehenden Beschreibung registrieren. Das Robotersystem 100 kann den aktualisierten Objektsatz verwenden, um andere Objekte weiter zu erkennen, wie durch die Feedback-Schleife zu dem Objekterkennungsverfahren 900 veranschaulicht.
  • Im Rahmen der Ausführung der Verfahren, die Block 1010 entsprechen, kann das Robotersystem 100 die unsicheren MVRs an ein Planungsmodul (nicht gezeigt) zurückgeben, zusammen mit den erkannten Objekten (zum Beispiel Ergebnisse aus dem Objekterkennungsverfahren 900) und/oder den neu registrierten erkannten Objekten (zum Beispiel die sicheren MVR). Das Planungsmodul kann Bewegungspläne ableiten, um die erkannten Objekte, die ermittelten Objekte (zum Beispiel die unerkannten Objekte, die den sicheren MVR entsprechen) und/oder andere unerkannte Objekte zu manipulieren/übertragen. Das Robotersystem 100 kann zudem die zusätzlichen Informationen (zum Beispiel Objekthöhen, Kennzeichnungsdaten, Profilbilder usw.) während der Übertragung der unerkannten Objekte abrufen und die abgerufenen zusätzlichen Informationen verwenden, um die Registrierungsdaten in dem Objektsatz zu aktualisieren. Das Robotersystem 100 kann die abgerufenen zusätzlichen Informationen verwenden, um die unerkannten Objekte zu registrieren und/oder die finalen verifizierten MVR abzuleiten.
  • In einigen Ausführungsformen kann das Robotersystem 100 die nicht erklärten Bereiche verarbeiten und alle anfänglichen/verifizierten MVR darin erzeugen. Entsprechend einer iterativen Umsetzung des Verfahrens 1000 kann das Robotersystem 100 die nicht erklärten Bereiche mit dem Objektsatz abgleichen, um die sicheren MVR zunächst unter den erzeugten MVR zu ermitteln. Unter Verwendung des aktualisierten Objektsatzes (zum Beispiel die sicheren MVR) kann das Robotersystem 100 das Objekterkennungsverfahren 900 erneut ausführen und Objekte in dem nicht erklärten Bereich erkennen, die den sicheren MVR entsprechen. Das Robotersystem 100 kann den nicht erklärten Bereich aktualisieren, indem es Bereiche darin erkennt, die mit den sicheren MVR übereinstimmen, die verwendet werden, um den Objektsatz zu aktualisieren, wodurch jeweilige Objekte erkannt werden. Das Robotersystem 100 kann das Aktualisieren des nicht erklärten Bereichs beenden, indem es die Teile, die den sicheren MVR entsprechen/mit diesen übereinstimmen, aus dem nicht erklärten Bereich entfernt. Das Robotersystem 100 kann dieses iterative Verfahren wiederholen, bis die resultierenden nicht erklärten Bereiche keine sicheren MVR mehr enthalten. Für die unsicheren MVR kann das Robotersystem 100 die jeweiligen verifizierten MVR von dem nicht erklärten Bereich verwenden/ableiten, um die unerkannten Objekte darin zu manipulieren. Das Robotersystem 100 kann zudem die zusätzlichen Informationen während der Manipulation der unerkannten Objekte entsprechend der vorstehenden Beschreibung abrufen. Das Robotersystem 100 kann den Objektsatz mit den verifizierten MVR und/oder den zusätzlichen Informationen aktualisieren und das Objekterkennungsverfahren 900 fortführen, um andere Objekte zu erkennen, die mit den übertragenen Objekten übereinstimmen, und das iterative Verfahren wiederholen. Das Robotersystem 100 kann den nicht erklärten Bereich durch Erkennen von Bereichen darin aktualisieren, die mit den verifizierten MVR für die übertragenen Objekte übereinstimmen, wodurch die jeweiligen Objekte erkannt werden. Das Robotersystem 100 kann das Aktualisieren des nicht erklärten Bereichs dadurch beenden, dass Teile aus dem nicht erklärten Bereich entfernt werden, die mit den verifizierten MVR für die übertragenen Objekte übereinstimmen. Das Robotersystem 100 kann den aktualisierten nicht erklärten Bereich verarbeiten, um einen anschließenden MVR abzuleiten und zu verifizieren, der einem anschließenden Typ/einer anschließenden Instanz der unerkannten Objekte entspricht.
  • Zusätzlich oder alternativ kann das Robotersystem 100 die erkannten Objekte ermitteln und alle MVR ableiten und anschließend die Übertragung der Objekte planen. In anderen Ausführungsformen kann das Robotersystem 100 die MVR auf Grundlage von dem anfänglichen Übertragen der erkannten Objekte und/oder der Objekte, die sicheren MVR entsprechen, ableiten oder aktualisieren. Dementsprechend kann das Robotersystem 100 die Wahrscheinlichkeit erhöhen, dass zusätzliche 3D-Kanten/Ecken der unerkannten Objekte exponiert werden. Die höhere Wahrscheinlichkeit der Exposition der zusätzlichen 3D-Kanten/Ecken kann die Wahrscheinlichkeit erhöhen, dass die sicheren MVR erkannt werden, was eine höhere Genauigkeit bei dem Erkennen der Objekte und der abgeleiteten MVR bieten kann. Zudem kann die höhere Genauigkeit eine höhere Effizienz durch Verringern/Beseitigen von Verarbeitungsschritten und/oder durch Verringern von Verlustteilen und/oder Kollisionen bereitstellen, die durch eine ungenaue Objekterkennung verursacht wurden.
  • Das Robotersystem 100 kann die in der vorliegenden Schrift beschriebenen Ausführungsformen verwenden, um den Objektsatz autonom auszufüllen. Anders ausgedrückt, kann das Robotersystem 100 mit einem leeren Satz des Objektsatzes beginnen, der keine Registrierungsdaten enthält. Unter derartigen Bedingungen kann das Robotersystem 100 das Verfahren 1000 ausgehend von Block 1002 ausführen und die Gesamtheit der empfangenen Bilddaten als einen nicht erklärten Bereich erkennen. Da keine Registrierungsdaten vorliegen, kann das Robotersystem 100 die Objekte entsprechend ihrer Verarbeitung registrieren (zum Beispiel Übertragen von der Startposition 114 in die Aufgabenposition 116), wobei wenig bis kein menschliches Eingreifen erforderlich ist. Dementsprechend kann das Robotersystem 100 mit dem Ableiten von den MVR beginnen, ohne das Objekterkennungsverfahren 900 auszuführen, und eine Teilmenge der abgeleiteten MVR (zum Beispiel die sicheren MVR) in dem Objektsatz speichern. Das Robotersystem 100 kann das Verfahren 1000 entsprechend der vorstehenden Beschreibung iterativ ausführen, um die Objekte zu registrieren. Beispielsweise kann das Robotersystem 100 einen ersten Satz Objekte, der in dem nicht erklärten Bereich dargestellt ist, auf Grundlage von dem Vergleichen von jeweiligen Teilen darin mit der Teilmenge der abgeleiteten MVR, die in dem Objektsatz gespeichert sind, erkennen. Das Robotersystem 100 kann die übereinstimmenden Teile aus dem nicht erklärten Bereich entfernen und diese dadurch entsprechend der Erkennung des ersten Satzes Objekte aktualisieren. Das Robotersystem 100 kann den aktualisierten nicht erklärten Bereich verarbeiten, um einen neuen/nachfolgenden Satz MVR abzuleiten (zum Beispiel ein anderer Satz der sicheren MVR und/oder andere verifizierte MVR), um andere Objekte in dem aktualisierten nicht erklärten Bereich zu registrieren.
  • Beispielhaftes Verarbeitungssystem
  • 11 ist ein Blockdiagramm, das ein beispielhaftes Verarbeitungssystem 1100 veranschaulicht, in dem mindestens einige der in der vorliegenden Schrift beschriebenen Vorgänge ausgeführt werden können. Wie in 11 gezeigt, können zu dem Verarbeitungssystem 1100 eine oder mehrere zentrale Recheneinheiten („Prozessoren“) 1102, ein Hauptspeicher 1106, ein nichtflüchtiger Speicher 1110, ein Netzwerkadapter 1112 (zum Beispiel Netzwerkschnittstellen), eine Videoanzeige 1118, Eingabe-/Ausgabevorrichtungen 1120, eine Steuerung 1122 (zum Beispiel Tastatur und Zeigevorrichtungen), eine Festplatteneinheit 1124, einschließlich ein Speichermedium 1126, und eine Signalerzeugungsvorrichtung 1130 gehören, die kommunikativ mit einem Bus 1116 verbunden sind. Der Bus 1116 ist als eine Abstraktion veranschaulicht, die eine oder mehrere separate beliebige physische Busse, Punkt-zu-Punkt-Verbindungen oder beide verbunden durch entsprechende Brücken, Adapter oder Steuerungen darstellt. Zu dem Bus 1116 können dementsprechend beispielsweise ein Systembus, ein Peripheral-Component-Interconnect(PCI)-Bus oder PCI-Express-Bus, ein HyperTransport- oder Industry-Standard-Architecture(ISA)-Bus, ein Small-Computer-System-Interface(SCSI)-Bus, ein Universal-Serial-Bus (USB), ein IIC(12C)-Bus oder ein Institute-of-Electrical-and-Electronics-Engineers(IEEE)-Standard-1394-Bus, auch als „Firewire“ bezeichnet, gehören.
  • In verschiedenen Ausführungsformen arbeitet das Verarbeitungssystem 1100 als Teil einer Benutzervorrichtung, wenngleich das Verarbeitungssystem 1100 auch mit der Benutzervorrichtung verbunden sein kann (zum Beispiel drahtgebunden oder drahtlos). In einer vernetzten Anwendung kann das Verarbeitungssystem 1100 in der Funktion eines Servers oder einer Client-Maschine in einer Client-Server-Netzwerkumgebung oder als Peer-Maschine in einer Peer-to-Peer-Netzwerkumgebung (oder verteilten Netzwerkumgebung) arbeiten.
  • Das Verarbeitungssystem 1100 kann ein Servercomputer, ein Client-Computer, ein PC, ein Tablet, ein Laptop-Computer, ein PDA (Personal Digital Assistant), ein Mobiltelefon, ein Prozessor, eine Webanwendung, ein Netzwerkrouter, - Switch oder eine Netzwerkbrücke, eine Konsole, eine Handkonsole, eine Spielevorrichtung, eine Vorrichtung zum Wiedergeben von Musik, („intelligente“) Fernseher mit Internetanschluss, mit dem Fernseher verbundene Vorrichtungen, oder eine beliebige tragbare Vorrichtung oder Maschine sein, die in der Lage ist, eine Reihe von Anweisungen auszuführen (sequentiell oder anderweitig), die durch das Verarbeitungssystem 1100 zu ergreifende Maßnahmen vorgeben.
  • Während der Hauptspeicher 1106, der nichtflüchtige Speicher 1110 und das Speichermedium 1126 (auch als „maschinenlesbares Medium“ bezeichnet) laut Darstellung ein einzelnes Medium sind, sind die Begriffe „maschinenlesbares Medium“ und „Speichermedium“ so auszulegen, dass sie ein einzelnes Medium oder mehrere Medien umfassen (zum Beispiel eine zentrale oder verteilte Datenbank und/oder assoziierte Caches und Server), die einen oder mehrere Sätze Anweisungen 1128 speichern. Die Begriffe „maschinenlesbares Medium“ und „Speichermedium“ sind zudem so auszulegen, dass sie ein beliebiges Medium umfassen, das einen Satz Anweisungen zur Ausführung durch das Rechensystem speichern, codieren oder tragen kann und das Rechensystem veranlasst, eine beliebige oder mehrere der Methodiken der vorstehend offenbarten Ausführungsformen durchzuführen.
  • Im Allgemeinen können die Routinen, die zur Implementierung der Ausführungsformen der Offenbarung ausgeführt werden, als Teil eines Betriebssystems oder einer konkreten Anwendung, einer konkreten Komponente, eines konkreten Programms, eines konkreten Objekts, eines konkreten Moduls oder einer konkreten Anweisungsfolge, als „Computerprogramme“ bezeichnet, implementiert werden. Die Computerprogramme umfassen in der Regel eine oder mehrere Anweisungen (zum Beispiel Anweisungen 1104, 1108, 1128) die sich zu verschiedenen Zeitpunkten in verschiedenen Arbeitsspeicher- und Datenspeichervorrichtungen in einem Computer befinden und die, wenn sie durch eine oder mehrere Recheneinheiten oder Prozessoren 1102 ausgelesen und ausgeführt werden, das Verarbeitungssystem 1100 veranlassen, Vorgänge auszuführen, um Elemente auszuführen, die die verschiedenen Aspekte der Offenbarung einbeziehen.
  • Zudem wird der Fachmann erkennen, wenngleich Ausführungsformen im Zusammenhang mit vollständig funktionsfähigen Computern und Computersystemen beschrieben wurden, , dass die verschiedenen Ausführungsformen als ein Programmprodukt in einer Vielzahl von Formen verteilt sein können und dass die Offenbarung gleichwohl anwendbar ist ungeachtet der konkreten Art der maschinen- oder computerlesbaren Medien, die verwendet werden, um die Verteilung tatsächlich zu bewirken. Beispielsweise könnte die in der vorliegenden Schrift beschriebene Technologie unter Verwendung virtueller Maschinen oder von Cloud-Computing-Diensten umgesetzt sein.
  • Weitere Beispiele für maschinenlesbare Speichermedien, maschinenlesbare Medien oder computerlesbare (Speicher-)Medien sind unter anderem beschreibbare Medien, wie etwa flüchtige und nichtflüchtige Speichervorrichtungen 1110, Floppy- und andere herausnehmbare Disketten, Festplattenlaufwerke, optische Datenträger (zum Beispiel Compact Disk Read-Only Memory (CD ROM), Digital Versatile Disks (DVDs)), und Übertragungsmedien, wie etwa digitale und analoge Kommunikationsverbindungen.
  • Der Netzwerkadapter 1112 erlaubt dem Verarbeitungssystem 1100 ein Vermitteln von Daten in einem Netzwerk 1114 mit einer Einheit, die zu dem Verarbeitungssystem 1100 extern ist, unter Anwendung beliebiger bekannter und/oder praktischer Kommunikationsprotokolle, die durch das Verarbeitungssystem 1100 und die externe Einheit unterstützt werden. Zu dem Netzwerkadapter 1112 können eine oder mehrere der folgenden gehören: eine Netzwerkadapterkarte, eine drahtlose Netzwerkschnittstellenkarte, ein Router, ein Zugangspunkt, ein drahtloser Router, ein Switch, ein [Multilayer-Switch][A3], ein Protokollkonverter, ein Gateway, eine Brücke, ein Brückenrouter, ein Hub, ein digitaler Medienreceiver und/oder ein Repeater.
  • Zu dem Netzwerkadapter 1112 kann eine Firewall gehören, die in einigen Ausführungsformen die Genehmigung zum Zugreifen/Weitergeben auf/von Daten in einem Computernetzwerk regeln und/oder verwalten und verschiedene Vertrauensebenen zwischen verschiedenen Maschinen und/oder Anwendungen nachverfolgen kann. Die Firewall kann eine beliebige Anzahl von Modulen umfassen, die eine beliebige Kombination von Hardware- und/oder Softwarekomponenten umfassen, die in der Lage sind, einen vorbestimmten Satz Zugriffsrechte zwischen einem konkreten Satz Maschinen und Anwendungen, Maschinen und Maschinen und/oder Anwendungen und Anwendungen durchzusetzen, um beispielsweise den Verkehrsfluss und das Teilen von Ressourcen zwischen diesen verschiedenen Einheiten zu regulieren. Die Firewall kann daneben eine Zugangskontrollliste verwalten und/oder Zugriff darauf haben, aus der Berechtigungen hervorgehen, einschließlich beispielsweise die Zugriffs- und Betriebsrechte eines Objektes durch ein Individuum, eine Maschine und/oder eine Anwendung, und die Umstände, unter denen diese Berechtigungen stehen.
  • Beispiele
  • In einigen Ausführungsformen kann ein Verfahren zum Betreiben eines Robotersystems Folgendes umfassen: Empfangen von zweidimensionalen (2D) Bilddaten und dreidimensionalen (3D) Bilddaten, die einen Zielstapel darstellen, der ein oder mehrere unerkannte Objekte enthält; Erkennen eines nicht erklärten Bereichs der 2D- und/oder der 3D-Bilddaten auf Grundlage von einem Vergleich mit einem Objektsatz, der einen oder mehrere physikalische Aspekte der registrierten Objekte darstellt; Erkennen von einer oder mehreren Schichten in dem nicht erklärten Bereich der 2D-Bilddaten und/oder der 3D-Bilddaten, wobei jede Schicht einen Satz seitlich benachbarter Punkte mit Tiefenmaßen in einem Schwellenbereich zueinander in den 3D-Bilddaten umfasst; Erkennen von exponierten Kanten in dem nicht erklärten Bereich, wobei die exponierten Kanten Grenzen der einen oder mehreren Schichten darstellen, an denen die Tiefenmaße nicht mehr in dem Schwellenbereich über horizontal benachbarte Positionen liegen; Erkennen einer oder mehrerer exponierter Ecken auf Grundlage der exponierten Kanten, wobei jede der exponierten Ecken einem Schnittpunkt zwischen einem Satz der exponierten Kanten entspricht; Ableiten eines geeigneten Mindestbereichs (MVR) auf Grundlage der erkannten exponierten Kanten und der exponierten Ecken, wobei der MVR eine Schätzung einer Oberfläche für ein nicht registriertes Objekt darstellt, das in dem nicht erklärten Bereich dargestellt ist; Bestimmen einer Anzahl der exponierten Ecken, die mit dem abgeleiteten MVR assoziiert sind; Erkennen eines unerkannten Objektes entsprechend dem MVR und der Anzahl der exponierten Ecken; und Registrieren des unerkannten Objektes auf Grundlage von dem Aktualisieren des Objektsatzes, damit dieser den MVR und/oder ein Verarbeitungsergebnis davon als Darstellungen des unerkannten Objektes enthält. Das Verfahren kann zudem das iterative Aktualisieren und Analysieren des nicht erklärten Bereichs entsprechend dem aktualisierten Objektsatz auf Grundlage von Folgendem umfassen: Vergleichen des nicht erklärten Bereichs mit dem aktualisierten Objektsatz; Erkennen eines Teils in dem nicht erklärten Bereich, der mit dem MVR und/oder dem Verarbeitungsergebnis davon übereinstimmt, das verwendet wurde, um den Objektsatz zu aktualisieren; Erkennen eines Objektes entsprechend des Teils, der mit dem MVR und/oder dem Verarbeitungsergebnis übereinstimmt; und Aktualisieren des nicht erklärten Bereichs durch Entfernen des Teils, der mit dem MVR und/oder dem Verarbeitungsergebnis davon übereinstimmt. Der Objektsatz kann ein leerer Satz für eine anfängliche Iteration sein und der nicht erklärte Bereich kann die 2D-Bilddaten, die 3D-Bilddaten, einen Teil davon oder eine Kombination daraus für die anfängliche Iteration umfassen. Für die anfängliche Iteration kann zu dem Registrieren des unerkannten Objektes das autonome Ausfüllen des Objektsatzes beim Ausführen von Aufgaben gehören, an denen die unerkannten Objekte in dem Zielstapel beteiligt sind.
  • In einigen Ausführungsformen kann zu dem Erkennen des unerkannten Objektes das direkte Erkennen des unerkannten Objektes gehören, wenn die Anzahl der exponierten Ecken einen vorbestimmten Schwellenwert überschreitet; und zu dem Registrieren des erkannten Objektes kann das Speichern des MVR in dem Objektsatz direkt dann gehören, wenn die exponierten Ecken den vorbestimmten Schwellenwert überschreiten. In einigen Ausführungsformen kann der vorbestimmte Schwellenwert zwei sein.
  • In einigen Ausführungsformen kann ein Robotersystem Folgendes umfassen: mindestens einen Prozessor; und mindestens eine Speichervorrichtung, die mit dem mindestens einem Prozessor verbunden ist und auf der von dem Prozessor ausführbare Anweisungen gespeichert sind, um: eine oder mehrere Bilddaten zu empfangen, die ein oder mehrere unerkannte Objekte in einer Startposition darstellen; einen geeigneten Mindestbereich (MVR) auf Grundlage von dem Erkennen von einer oder mehreren exponierten Ecken in den einen oder mehreren Bilddaten abzuleiten, wobei jede der exponierten Ecken einen Schnittpunkt zwischen exponierten Kanten darstellt, die nicht horizontal zu einer anderen Oberfläche oder einem anderen Objekt benachbart sind; einen Objektsatz mit dem MVR und/oder einem Verarbeitungsergebnis davon auf Grundlage von einer Anzahl der exponierten Ecken zu aktualisieren, die mit dem MVR assoziiert sind, wobei: der Objektsatz einen oder mehrere physikalische Aspekte von vorher registrierten Objekten darstellt, und der MVR und/oder das Verarbeitungsergebnis davon ein oder mehrere physikalische Attribute von einem der unerkannte Objekte in der Startposition darstellt; und ein anderes Objekt in der Startposition auf Grundlage des aktualisierten Objektsatzes zu erkennen. Die mindestens eine Speichervorrichtung kann Folgendes umfassen: Anweisungen zum Bestimmen des MVR als einen sicheren MVR auf Grundlage von dem Vergleichen der Anzahl der exponierten Ecken mit einem vorbestimmte Schwellenwert, wie etwa, wenn der MVR mit drei oder mehr der exponierten Ecken assoziiert ist; und/oder Anweisungen zum Aktualisieren des Objektsatzes mit dem MVR und/oder einem Verarbeitungsergebnis davon direkt auf Grundlage von dem Ermitteln des MVR als den sicheren MVR und ohne weiteres Aktualisieren oder Anpassen des MVR. Die mindestens eine Speichervorrichtung kann zudem Anweisungen umfassen, um: einen nicht erklärten Bereich der Bilddaten zu erkennen, der keine Übereinstimmung mit Objekten zurückgibt, die in dem Objektsatz dargestellt sind; der MVR auf Grundlage von dem nicht erklärten Bereich abzuleiten, wobei der sichere MVR in dem nicht erklärten Bereich liegt; und einen Teil des nicht erklärten Bereichs zu entfernen, der mit dem sicheren MVR übereinstimmt, um das Objekt weiter zu erkennen und/oder zu manipulieren. In einer oder mehreren Ausführungsformen kann die mindestens eine Speichervorrichtung zudem Anweisungen umfassen, um: Vorgänge zum Übertragen eines unerkannten Objektes, das dem sicheren MVR entspricht, aus der Startposition; einen anschließenden MVR auf Grundlage von einem aktualisierten nicht erklärten Bereich abzuleiten, nachdem die Vorgänge zum Übertragen des unerkannten Objektes ausgeführt wurden, wobei der anschließende MVR ein weiteres unerkanntes Objekt in der Startposition darstellt und in dem aktualisierten nicht erklärten Bereich dargestellt ist; und den Objektsatz mit dem zweiten MVR und/oder einem Verarbeitungsergebnis davon zu aktualisieren.
  • In einigen Ausführungsformen kann zu dem Robotersystem die mindestens eine Speichervorrichtung gehören, die Anweisungen umfasst, um: den MVR als einen unsicheren MVR zu bestimmen, wenn der MVR mit zwei oder weniger der exponierten Ecken assoziiert ist; und den Objektsatz mit dem MVR und/oder einem Verarbeitungsergebnis davon auf Grundlage von dem weiteren Analysieren des unsicheren MVR und/oder dem Manipulieren von einem oder mehreren der unerkannten Objekte in der Startposition zu aktualisieren. Die mindestens eine Speichervorrichtung kann Anweisungen umfassen, um: ein oder mehrere erkannte Objekte auf Grundlage von dem Vergleichen der Bilddaten mit dem Objektsatz zu erkennen; einen nicht erklärten Bereich der Bilddaten zu erkennen, die keine Übereinstimmung mit dem Objektsatz zurückgibt; und den MVR mit dem nicht erklärten Bereich auf Grundlage von dem Erkennen der einen oder mehreren exponierten Ecken in dem nicht erklärten Bereich der Bilddaten abzuleiten, wobei der MVR eine Schätzung einer Oberfläche von einem der unerkannten Objekte in der Startposition darstellt. Die mindestens eine Speichervorrichtung kann zudem Anweisungen umfassen, um: Vorgänge zum Übertragen des einen oder der mehreren erkannten Objekte aus der Startposition auszuführen; den MVR nach dem Ausführen des Vorgangs zum Übertragen des einen oder der mehreren erkannten Objekte zu aktualisieren; und den Objektsatz mit dem aktualisierten MVR und/oder einem Verarbeitungsergebnis davon zu aktualisieren.
  • In einigen Ausführungsformen kann ein materielles, nichtflüchtiges computerlesbares Medium, auf dem Prozessoranweisungen gespeichert sind, die bei Ausführung durch einen Prozessor den Prozessor dazu veranlassen, ein Verfahren auszuführen, das Verfahren umfassend: das iterative Analysieren einer oder mehrerer empfangener Bilddaten, die registrierte und/oder unerkannte Objekte in einer Startposition darstellen, durch -- Ableiten eines oder mehrerer geeigneter Mindestbereiche (MVR) auf Grundlage von dem Erkennen einer oder mehrerer exponierter Ecken in den empfangenen Bilddaten, wobei jede der exponierten Ecken einen Schnittpunkt zwischen exponierten Kanten darstellt, die nicht horizontal zu einer anderen Oberfläche oder einem anderen Objekt benachbart sind; Bestimmen einer Klassifikation für jeden der MVR auf Grundlage von einer Anzahl der exponierten Ecken, die mit dem jeweiligen MVR assoziiert sind; Aktualisieren eines Objektsatzes mit den MVR und/oder einem Verarbeitungsergebnis davon entsprechend der jeweiligen Klassifizierung, wobei: der Objektsatz einen oder mehrere physikalische Aspekte von vorher registrierten Objekten darstellt, und jeder der MVR und/oder das Verarbeitungsergebnis davon ein oder mehrere physikalische Attribute eines der unerkannten Objekte in der Startposition darstellt; und Erkennen anderer Objekte in der Startposition unter Verwendung des aktualisierten Objektsatzes. In einigen Ausführungsformen umfassen die einen oder mehreren empfangenen Bilddaten zweidimensionale (2D) Bilddaten und dreidimensionale (3D) Bilddaten, die jeweils den Zielstapel aus einer Bildgebungsposition darstellen; und das Verfahren kann zudem umfassen: das Erzeugen einer Erkennungsschätzung auf Grundlage von dem Vergleichen der 2D-Bilddaten mit dem Objektsatz; und das Verifizieren der Erkennungsschätzung auf Grundlage der 3D-Bilddaten. Zu dem Erzeugen der Erkennungsschätzung kann zudem das Erzeugen der Erkennungsschätzung auf Grundlage des Vergleichs eines Teils der 2D-Bilddaten mit einem Oberflächenbild eines Objektes, das in dem Objektsatz dargestellt ist, gehören; und zu dem Verifizieren der Erkennungsschätzung kann zudem das Verifizieren der Erkennungsschätzung auf Grundlage von Folgendem gehören: Erkennen eines Teils in den 3D-Bilddaten, der der Erkennungsschätzung entspricht; Berechnen von Längen für 3D-Kanten in dem erkannten Teil der 3D-Bilddaten; und Verifizieren der Erkennungsschätzung, wenn die Längen der 3D-Kanten mit denen des Objektes übereinstimmen, das in dem Objektsatz dargestellt ist.
  • In einigen Ausführungsformen kann zu dem nichtflüchtigen computerlesbaren Medium das Verfahren gehören, wobei: die einen oder mehreren empfangenen Bilddaten zweidimensionale (2D) Bilddaten und dreidimensionale (3D) Bilddaten umfassen, die jeweils den Zielstapel aus einer Bildgebungsposition darstellen; und das Verfahren kann zudem umfassen: das Erzeugen einer Erkennungsschätzung auf Grundlage von dem Vergleichen der 3D-Bilddaten mit dem Objektsatz; und das Verifizieren der Erkennungsschätzung auf Grundlage der 2D-Bilddaten. Zu dem Erzeugen der Erkennungsschätzung kann das Erzeugen der Erkennungsschätzung auf Grundlage von Folgendem gehören: Erkennen einer Schicht in den 3D-Bilddaten, wobei die Schicht einen Satz horizontal benachbarter Positionen mit Tiefenmaßen umfasst, die in einem Schwellenbereich zueinander liegen, Erkennen von Kanten der Schicht, wobei die Kanten Positionen darstellen, an denen die Tiefenmaße außerhalb des Schwellenbereichs über horizontal benachbarten Positionen abweichen, Berechnen der Längen der Kanten, und Abgleichen der Kantenlängen mit Abmessungen eines Objektes, das in dem Objektsatz dargestellt ist; und zu dem Verifizieren der Erkennungsschätzung kann das Verifizieren der Erkennungsschätzung auf Grundlage von Folgendem gehören: Erkennen eines Teils in den 2D-Bilddaten, der der Erkennungsschätzung entspricht, Erkennen von 2D-Eigenschaften in dem erkannten Teil der 2D-Bilddaten, und Verifizieren der Erkennungsschätzung, wenn die 2D-Eigenschaften mit den jeweiligen Eigenschaften eines Bildes von einem der registrierten Objekte übereinstimmen, das in dem Objektsatz dargestellt ist. In einigen Ausführungsformen kann das nichtflüchtigen computerlesbare Medium das Verfahren umfassen, zu dem das iterative Aufbauen des Objektsatzes aus einem leeren Satz auf Grundlage von dem Analysieren der einen oder mehreren empfangenen Bilddaten durch Folgendes gehört: Erkennen der einen oder mehreren empfangenen Bilddaten oder eines Teils davon als einen nicht erklärten Bereich, wenn der Objektsatz keine Registrierungsdaten von beliebigen Objekten enthält; Ableiten des einen oder mehreren MVR aus dem nicht erklärten Bereich; Speichern von mindestens einer Teilmenge des einen oder mehreren MVR in dem Objektsatz entsprechend den jeweiligen Klassifikationen; Erkennen eines ersten Satzes Objekte, die in den empfangenen Bilddaten dargestellt sind, auf Grundlage von dem Abgleichen von Teilen der empfangenen Bilddaten mit dem einen oder den mehreren MVR, die in dem Objektsatz gespeichert sind; Aktualisieren des nicht erklärten Bereichs durch Entfernen der abgeglichenen Teile; und Ableiten eines neuen Satzes MVR auf Grundlage des aktualisierten nicht erklärten Bereichs, um einen zweiten Satz Objekte zu registrieren, die in den empfangenen Bilddaten dargestellt sind.
  • Wie vorstehend angedeutet, können die in der vorliegenden Schrift vorgestellten Techniken beispielsweise durch programmierbare Schaltungen (zum Beispiel einen oder mehrere Mikroprozessoren), programmiert mit Software und/oder Firmware, insgesamt in festverdrahteten (das heißt nicht programmierbaren) Spezialschaltungen oder in einer Kombination derartiger Formen umgesetzt sein. Spezialschaltungen können beispielsweise in Form von einem/einer oder mehreren anwendungsspezifischen integrierten Schaltkreisen (ASIC), programmierbaren Logikvorrichtungen (PLD), Universalschaltkreisen (FPGA) usw. vorliegen.
  • In Anbetracht der vorstehenden Informationen versteht es sich, dass konkrete Ausführungsformen der Erfindung in der vorliegenden Schrift zum Zwecke der Veranschaulichung beschrieben sind, jedoch verschiedene Modifikationen durchgeführt werden können, ohne von dem Geltungsbereich der Erfindung abzuweichen. Dementsprechend wird die Erfindung ausschließlich durch die beigefügten Patentansprüche beschränkt.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/852963 [0001]
    • US 16/290741 [0001]
    • US 10369701 [0001]

Claims (20)

  1. Verfahren zum Betreiben eines Robotersystems, wobei das Verfahren Folgendes umfasst: Empfangen zweidimensionaler (2D) Bilddaten und dreidimensionaler (3D) Bilddaten, die einen Zielstapel darstellen, der ein oder mehrere unerkannte Objekte enthält; Erkennen eines nicht erklärten Bereichs der 2D- und/oder der 3D-Bilddaten auf Grundlage eines Vergleichs mit einem Objektsatz, der einen oder mehrere physikalische Aspekte der registrierten Objekte darstellt; Erkennen einer oder mehrerer Schichten in dem nicht erklärten Bereich der 2D-Bilddaten und/oder der 3D-Bilddaten, wobei jede Schicht einen Satz seitlich benachbarter Punkte mit Tiefenmaßen umfasst, die in einem Schwellenbereich zueinander in den 3D-Bilddaten liegen; Erkennen von exponierten Kanten in dem nicht erklärten Bereich, wobei die exponierten Kanten Grenzen der einen oder mehreren Schichten darstellen, an denen die Tiefenmaße außerhalb des Schwellenbereichs über horizontal benachbarte Positionen abweichen; Erkennen von einer oder mehreren exponierten Ecken auf Grundlage der exponierten Kanten, wobei jede der exponierten Ecken einem Schnittpunkt zwischen einem Satz der exponierten Kanten entspricht; Ableiten eines geeigneten Mindestbereichs (MVR) auf Grundlage der erkannten exponierten Kanten und der exponierten Ecken, wobei der MVR eine Schätzung einer Oberfläche für ein nicht registriertes Objekt darstellt, das in dem nicht erklärten Bereich dargestellt ist; Bestimmen einer Anzahl der exponierten Ecken, die mit dem abgeleiteten MVR assoziiert sind; Ermitteln eines unerkannten Objektes entsprechend dem MVR und der Anzahl an exponierten Ecken; und Registrieren des unerkannten Objektes auf Grundlage von dem Aktualisieren des Objektsatzes dahingehend, dass dieser den MVR und/oder ein Verarbeitungsergebnis davon als Darstellungen des unerkannten Objektes enthält.
  2. Verfahren nach Anspruch 1, ferner umfassend das iterative Aktualisieren und Analysieren des nicht erklärten Bereichs entsprechend dem aktualisierten Objektsatz, auf Grundlage von dem: Vergleichen des nicht erklärten Bereichs mit dem aktualisierten Objektsatz; Erkennen eines Teils in dem nicht erklärten Bereich, der mit dem MVR und/oder dem Verarbeitungsergebnis davon übereinstimmt, die/das zum Aktualisieren des Objektsatzes verwendet wird; Erkennen eines Objektes entsprechend dem Teil, der mit dem MVR und/oder dem Verarbeitungsergebnis davon übereinstimmt; und Aktualisieren des nicht erklärten Bereichs durch Entfernen des Teils, der mit dem MVR und/oder dem Verarbeitungsergebnis davon übereinstimmt.
  3. Verfahren nach Anspruch 2, wobei: der Objektsatz ein leerer Satz für eine anfängliche Iteration ist; der nicht erklärte Bereich die 2D-Bilddaten, die 3D-Bilddaten, einen Teil davon oder eine Kombination davon für die anfängliche Iteration umfasst; und zu dem Registrieren des unerkannten Objektes das autonome Ausfüllen des Objektsatzes beim Ausführen von Aufgaben gehört, an denen die unerkannten Objekte in dem Zielstapel beteiligt sind.
  4. Verfahren nach Anspruch 1, wobei: zu dem Erkennen des unerkannten Objektes das direkte Erkennen des unerkannten Objektes gehört, wenn die Anzahl der exponierten Ecken einen vorbestimmten Schwellenwert überschreitet; und zu dem Registrieren des erkannten Objektes das direkte Speichern des MVR in dem Objektsatz gehört, wenn die exponierten Ecken den vorbestimmten Schwellenwert überschreiten.
  5. Verfahren nach Anspruch 4, wobei der vorbestimmte Schwellenwert zwei beträgt.
  6. Robotersystem umfassend: mindestens einen Prozessor; und mindestens eine Speichervorrichtung, die mit dem mindestens einem Prozessor verbunden ist und auf der von dem Prozessor ausführbare Anweisungen für Folgendes gespeichert sind: Empfangen einer oder mehrerer Bilddaten, die für ein oder mehrere unerkannte Objekte stehen, die sich in einer Startposition befinden; Ableiten eines geeigneten Mindestbereichs (MVR) auf Grundlage von dem Erkennen von einer oder mehreren exponierten Ecken in den einen oder mehreren Bilddaten, wobei jede der exponierten Ecken einen Schnittpunkt zwischen exponierten Kanten darstellt, die nicht zu einer anderen Oberfläche oder einem anderen Objekt horizontal benachbart sind; Aktualisieren eines Objektsatzes mit dem MVR und/oder einem Verarbeitungsergebnis davon auf Grundlage einer Anzahl der exponierten Ecken, die mit dem MVR assoziiert sind, wobei: der Objektsatz einen oder mehrere physikalische Aspekte von vorher registrierten Objekten darstellt, und der MVR und/oder das Verarbeitungsergebnis davon ein oder mehrere physikalische Attribute von einem der unerkannten Objekte in der Startposition darstellen; und Erkennen eines anderen Objektes in der Startposition auf Grundlage des aktualisierten Objektsatzes.
  7. Robotersystem nach Anspruch 6, wobei die mindestens eine Speichervorrichtung Anweisungen zum Bestimmen des MVR als einen sicheren MVR auf Grundlage von dem Vergleichen der Anzahl der exponierten Ecken mit einem vorbestimmten Schwellenwert umfasst.
  8. Robotersystem nach Anspruch 7, wobei die mindestens eine Speichervorrichtung Anweisungen zum Bestimmen des MVR als den sicheren MVR umfasst, wenn der MVR mit drei oder mehr der exponierten Ecken assoziiert ist.
  9. Robotersystem nach Anspruch 8, wobei die mindestens eine Speichervorrichtung Anweisungen zum Aktualisieren des Objektsatzes mit dem MVR und/oder einem Verarbeitungsergebnis davon direkt auf Grundlage von dem Ermitteln des MVR als den sicheren MVR und ohne weiteres Aktualisieren oder Anpassen des MVR umfasst.
  10. Robotersystem nach Anspruch 9, wobei die mindestens eine Speichervorrichtung Anweisungen für Folgendes umfasst: Erkennen eines nicht erklärten Bereichs der Bilddaten, die keine Übereinstimmung mit Objekten zurückgibt, die in dem Objektsatz dargestellt sind; Ableiten des MVR auf Grundlage des nicht erklärten Bereichs, wobei der sichere MVR in dem nicht erklärten Bereich liegt; und Entfernen eines Teils des nicht erklärten Bereichs, der mit dem sicheren MVR übereinstimmt, um das Objekt weiter zu erkennen und/oder zu manipulieren.
  11. Robotersystem nach Anspruch 10, wobei die mindestens eine Speichervorrichtung Anweisungen für Folgendes umfasst: Ausführen von Vorgängen zum Übertragen eines unerkannten Objektes, das dem sicheren MVR entspricht, aus der Startposition; Ableiten eines anschließenden MVR auf Grundlage eines aktualisierten nicht erklärten Bereichs, nachdem die Vorgänge zum Übertragen des unerkannten Objektes ausgeführt wurden, wobei der anschließende MVR ein weiteres unerkanntes Objekt in der Startposition darstellt und in dem aktualisierten nicht erklärten Bereich dargestellt ist; und Aktualisieren des Objektsatzes mit dem zweiten MVR und/oder einem Verarbeitungsergebnis davon.
  12. Robotersystem nach Anspruch 6, wobei die mindestens eine Speichervorrichtung Anweisungen für Folgendes umfasst: Bestimmen des MVR als einen unsicheren MVR, wenn der MVR mit zwei oder weniger der exponierten Ecken assoziiert ist; und Aktualisieren des Objektsatzes mit dem MVR und/oder einem Verarbeitungsergebnis davon auf Grundlage von dem weiteren Analysieren des unsicheren MVR und/oder dem Manipulieren von einem oder mehreren der unerkannten Objekte in der Startposition.
  13. Robotersystem nach Anspruch 6, wobei die mindestens eine Speichervorrichtung Anweisungen für Folgendes umfasst: Ermitteln von einem oder mehreren erkannten Objekten auf Grundlage von dem Vergleichen der Bilddaten mit dem Objektsatz; Erkennen eines nicht erklärten Bereichs der Bilddaten, die keine Übereinstimmung mit dem Objektsatz zurückgibt; und Ableiten des MVR innerhalb des nicht erklärten Bereichs auf Grundlage von dem Erkennen der einen oder mehreren exponierten Ecken in dem nicht erklärten Bereich der Bilddaten, wobei der MVR eine Schätzung einer Oberfläche von einem der unerkannten Objekte in der Startposition darstellt.
  14. Robotersystem nach Anspruch 13, wobei die mindestens eine Speichervorrichtung Anweisungen für Folgendes umfasst: Ausführen von Vorgängen zum Übertragen des einen oder der mehreren erkannten Objekte aus der Startposition; Aktualisieren des MVR nach dem Ausführen des Vorgangs zum Übertragen des einen oder der mehreren erkannten Objekte; und Aktualisieren des Objektsatzes mit dem aktualisierten MVR und/oder einem Verarbeitungsergebnis davon.
  15. Materielles, nichtflüchtiges computerlesbares Medium mit darauf gespeicherten Anweisungen für den Prozessor, die bei Ausführung durch einen Prozessor den Prozessor veranlassen, ein Verfahren auszuführen, wobei das Verfahren Folgendes umfasst: iteratives Analysieren einer oder mehrerer empfangener Bilddaten, die registrierte und/oder unerkannte Objekte in einer Startposition darstellen, durch: Ableiten eines oder mehrerer geeigneter Mindestbereiche (MVR) auf Grundlage von dem Erkennen von einer oder mehreren exponierten Ecken in den empfangenen Bilddaten, wobei jede der exponierten Ecken einen Schnittpunkt zwischen exponierten Kanten darstellt, die nicht zu einer anderen Oberfläche oder einem anderen Objekt horizontal benachbart sind; Bestimmen einer Klassifizierung für jeden der MVR auf Grundlage von einer Anzahl der exponierten Ecken, die mit dem jeweiligen MVR assoziiert sind; Aktualisieren eines Objektsatzes mit den MVR und/oder einem Verarbeitungsergebnis davon entsprechend der jeweiligen Klassifizierung, wobei: der Objektsatz einen oder mehrere physikalische Aspekte von vorher registrierten Objekten darstellt, und jeder der MVR und/oder das Verarbeitungsergebnis davon ein oder mehrere physikalische Attribute von einem der unerkannten Objekte in der Startposition darstellen; und Erkennen anderer Objekte in der Startposition unter Verwendung des aktualisierten Objektsatzes.
  16. Nichtflüchtiges computerlesbares Medium nach Anspruch 15, wobei: die einen oder mehreren empfangenen Bilddaten zweidimensionale (2D) Bilddaten und dreidimensionale (3D) Bilddaten umfassen, die jeweils den Zielstapel aus einer Bildgebungsposition darstellen; das Verfahren umfasst zudem: das Erzeugen einer Erkennungsschätzung auf Grundlage von dem Vergleichen der 2D-Bilddaten mit dem Objektsatz; und das Verifizieren der Erkennungsschätzung auf Grundlage der 3D-Bilddaten.
  17. Nichtflüchtiges computerlesbares Medium nach Anspruch 16, wobei: zu dem Erzeugen der Erkennungsschätzung das Erzeugen der Erkennungsschätzung auf Grundlage des Abgleichs eines Teils der 2D-Bilddaten mit einem Oberflächenbild eines Objektes gehört, das in dem Objektsatz dargestellt ist; zu dem Verifizieren der Erkennungsschätzung das Verifizieren der Erkennungsschätzung auf Grundlage von Folgendem gehört: Erkennen eines Teils in den 3D-Bilddaten, der der Erkennungsschätzung entspricht; Berechnen von Längen für 3D-Kanten in dem erkannten Teil der 3D-Bilddaten; und Verifizieren der Erkennungsschätzung, wenn die Längen der 3D-Kanten mit denen des Objektes übereinstimmen, das in dem Objektsatz dargestellt ist.
  18. Nichtflüchtiges computerlesbares Medium nach Anspruch 15, wobei: die einen oder mehreren empfangenen Bilddaten zweidimensionale (2D) Bilddaten und dreidimensionale (3D) Bilddaten umfassen, die jeweils den Zielstapel aus einer Bildgebungsposition darstellen; das Verfahren zudem Folgendes umfasst: das Erzeugen einer Erkennungsschätzung auf Grundlage von dem Vergleichen der 3D-Bilddaten mit dem Objektsatz; und das Verifizieren der Erkennungsschätzung auf Grundlage der 2D-Bilddaten.
  19. Nichtflüchtiges computerlesbares Medium nach Anspruch 18, wobei: zu dem Erzeugen der Erkennungsschätzung das Erzeugen der Erkennungsschätzung auf Grundlage von Folgendem gehört: Erkennen einer Schicht in den 3D-Bilddaten, wobei die Schicht einen Satz horizontal benachbarter Positionen mit Tiefenmaßen umfasst, die in einem Schwellenbereich zueinander liegen, Erkennen von Kanten der Schicht, wobei die Kanten Positionen darstellen, an denen die Tiefenmaße außerhalb des Schwellenbereichs über horizontal benachbarte Positionen abweichen, Berechnen der Längen der Kanten, und Übereinstimmen der Kantenlängen mit Abmessungen eines Objektes, das in dem Objektsatz dargestellt ist; und zu dem Verifizieren der Erkennungsschätzung das Verifizieren der Erkennungsschätzung auf Grundlage von Folgendem gehört: Erkennen eines Teils in den 2D-Bilddaten, der der Erkennungsschätzung entspricht, Erkennen von 2D-Eigenschaften in dem erkannten Teil der 2D-Bilddaten, und Verifizieren der Erkennungsschätzung, wenn die 2D-Eigenschaften mit jeweiligen Eigenschaften eines Bildes von einem der registrierten Objekte übereinstimmen, die in dem Objektsatz dargestellt sind.
  20. Nichtflüchtiges computerlesbares Medium nach Anspruch 15, wobei das Verfahren ferner das iterative Aufbauen des Objektsatzes aus einem leeren Satz auf Grundlage von dem Analysieren der einen oder mehreren empfangenen Bilddaten umfasst, durch: Erkennen der einen oder mehreren empfangenen Bilddaten oder eines Teils davon als ein nicht erklärter Bereich, wenn der Objektsatz keine Registrierungsdaten beliebiger Objekte enthält; Ableiten des einen oder der mehreren MVR von dem nicht erklärten Bereich; Speichern von mindestens einer Teilmenge des einen oder der mehreren MVR in dem Objektsatz entsprechend der jeweiligen Klassifizierungen; Erkennen eines ersten Satzes Objekte, der in den empfangenen Bilddaten dargestellt ist, auf Grundlage von dem Übereinstimmen von Teilen der empfangenen Bilddaten mit dem einen oder den mehreren MVR, die in dem Objektsatz gespeichert sind; Aktualisieren des nicht erklärten Bereichs durch Entfernen der übereinstimmenden Teile; und Ableiten eines neuen Satzes MVR auf Grundlage des aktualisierten nicht erklärten Bereichs, um einen zweiten Satz Objekte zu registrieren, die in den empfangenen Bilddaten dargestellt sind.
DE112019000217.1T 2018-10-30 2019-10-29 Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Leitung zur automatischen Erkennung Active DE112019000217B4 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862752756P 2018-10-30 2018-10-30
US62/752,756 2018-10-30
US201962852963P 2019-05-24 2019-05-24
US62/852,963 2019-05-24
PCT/US2019/058666 WO2020092442A1 (en) 2018-10-30 2019-10-29 A robotic system with automated package registration mechanism and auto-detection pipeline

Publications (2)

Publication Number Publication Date
DE112019000217T5 true DE112019000217T5 (de) 2020-08-06
DE112019000217B4 DE112019000217B4 (de) 2023-09-14

Family

ID=70327497

Family Applications (6)

Application Number Title Priority Date Filing Date
DE112019000125.6T Active DE112019000125B4 (de) 2018-10-30 2019-06-05 Systeme, vorrichtungen und verfahren zur automatisierten verpackungsregistrierung
DE112019000247.3T Pending DE112019000247T5 (de) 2018-10-30 2019-10-29 Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Erkennung geeigneter Mindestbereiche
DE112019000172.8T Pending DE112019000172T5 (de) 2018-10-30 2019-10-29 Ein Robotersystem mit automatisiertem Paketabtast- und Registrierungsmechanismus und Verfahren zum Betreiben dieses Systems
DE112019000177.9T Pending DE112019000177T5 (de) 2018-10-30 2019-10-29 Ein robotersystem mit automatisiertem paketregistrierungsmechanismus und verfahren zum betreiben dieses systems
DE112019000217.1T Active DE112019000217B4 (de) 2018-10-30 2019-10-29 Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Leitung zur automatischen Erkennung
DE112019000127.2T Pending DE112019000127T5 (de) 2018-10-30 2019-10-29 Ein robotersystem mit automatisiertem objekterkennungsmechanismus und verfahren zum betreiben dieses systems

Family Applications Before (4)

Application Number Title Priority Date Filing Date
DE112019000125.6T Active DE112019000125B4 (de) 2018-10-30 2019-06-05 Systeme, vorrichtungen und verfahren zur automatisierten verpackungsregistrierung
DE112019000247.3T Pending DE112019000247T5 (de) 2018-10-30 2019-10-29 Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Erkennung geeigneter Mindestbereiche
DE112019000172.8T Pending DE112019000172T5 (de) 2018-10-30 2019-10-29 Ein Robotersystem mit automatisiertem Paketabtast- und Registrierungsmechanismus und Verfahren zum Betreiben dieses Systems
DE112019000177.9T Pending DE112019000177T5 (de) 2018-10-30 2019-10-29 Ein robotersystem mit automatisiertem paketregistrierungsmechanismus und verfahren zum betreiben dieses systems

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE112019000127.2T Pending DE112019000127T5 (de) 2018-10-30 2019-10-29 Ein robotersystem mit automatisiertem objekterkennungsmechanismus und verfahren zum betreiben dieses systems

Country Status (6)

Country Link
US (12) US10703584B2 (de)
JP (15) JP6704154B2 (de)
KR (3) KR102650494B1 (de)
CN (11) CN111113492A (de)
DE (6) DE112019000125B4 (de)
WO (6) WO2020091846A1 (de)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9233470B1 (en) * 2013-03-15 2016-01-12 Industrial Perception, Inc. Determining a virtual representation of an environment by projecting texture patterns
CN110893999A (zh) * 2018-09-12 2020-03-20 泰科电子(上海)有限公司 图像采集系统和图像采集方法
DE112019000125B4 (de) 2018-10-30 2021-07-01 Mujin, Inc. Systeme, vorrichtungen und verfahren zur automatisierten verpackungsregistrierung
US10369701B1 (en) 2018-10-30 2019-08-06 Mujin, Inc. Automated package registration systems, devices, and methods
US11224951B2 (en) * 2018-12-21 2022-01-18 The Boeing Company Method and apparatus for single-sided clamp-up
US10549928B1 (en) 2019-02-22 2020-02-04 Dexterity, Inc. Robotic multi-item type palletizing and depalletizing
US11741566B2 (en) * 2019-02-22 2023-08-29 Dexterity, Inc. Multicamera image processing
US11046519B2 (en) 2019-02-25 2021-06-29 Rehrig Pacific Company Delivery system
EP3702985A1 (de) * 2019-02-28 2020-09-02 Accenture Global Solutions Limited Frachtladeoptimierung mit erweiterter realität
US11023763B2 (en) * 2019-03-19 2021-06-01 Boston Dynamics, Inc. Detecting boxes
US11069073B2 (en) * 2019-07-23 2021-07-20 Advanced New Technologies Co., Ltd. On-shelf commodity detection method and system
US11389965B2 (en) * 2019-07-26 2022-07-19 Mujin, Inc. Post-detection refinement based on edges and multi-dimensional corners
US10906188B1 (en) * 2019-10-25 2021-02-02 Dexterity, Inc. Singulation of arbitrary mixed items
SG10201913056VA (en) * 2019-12-23 2021-04-29 Sensetime Int Pte Ltd Method and apparatus for obtaining sample images, and electronic device
US11040836B1 (en) * 2020-01-24 2021-06-22 Becton Dickinson Rowa Germany Gmbh Device and method for separating piece goods
US11951636B1 (en) * 2020-01-28 2024-04-09 Embodied Intelligence Inc. Methods of collecting data through test interactions
US11403764B2 (en) * 2020-02-14 2022-08-02 Mujin, Inc. Method and computing system for processing candidate edges
US11443449B2 (en) * 2020-02-26 2022-09-13 Zebra Technologies Corporation Three-dimensional (3D) imaging systems and methods for virtual grading of package walls in commercial trailer loading
CA3115442A1 (en) 2020-04-20 2021-10-20 Rehrig Pacific Company Camera enabled portal
US12062182B2 (en) 2020-06-04 2024-08-13 Mujin, Inc. Method and computing system for performing or facilitating physical edge detection
WO2021246476A1 (en) * 2020-06-04 2021-12-09 Mujin, Inc. Method and computing system for performing or facilitating physical edge detection
CN113658205B (zh) * 2020-06-04 2022-08-12 牧今科技 用于执行或促进物理边缘检测的方法和计算系统
AT524101A1 (de) * 2020-07-27 2022-02-15 Tgw Logistics Group Gmbh System und Verfahren zur Erfassung einer Warenanzahl in einem Ladungsträger
JP7467268B2 (ja) 2020-07-30 2024-04-15 グローリー株式会社 計数装置、計数システム、計数方法、およびプログラム
JP7395451B2 (ja) * 2020-09-16 2023-12-11 株式会社東芝 ハンドリング装置、処理装置、コントローラ及びプログラム
CN112157671A (zh) * 2020-09-24 2021-01-01 中国标准化研究院 一种用于电子商务产品质量抽检的包裹取料机械手及方法
CN111928790B (zh) * 2020-10-16 2020-12-29 成都裕鸢航空零部件制造有限公司 一种基于互联网的航空零部件厚度计量装置及计量方法
CN112276956B (zh) * 2020-10-30 2022-05-17 北京市商汤科技开发有限公司 一种物品配送方法、装置、设备以及存储介质
JP7466435B2 (ja) * 2020-11-24 2024-04-12 川崎重工業株式会社 ロボット及び物品寸法取得方法
CN113058238B (zh) * 2020-12-05 2021-12-17 林周容 篮球内胎自动贴片系统及方法
CN112936243A (zh) * 2021-01-22 2021-06-11 广东电网有限责任公司广州供电局 基于二维码扫描的开关柜型号识别和定位装置
DE102021104773B3 (de) 2021-02-26 2022-03-17 IGZ Ingenieurgesellschaft für logistische Informationssysteme mbH Kommissionierroboter mit optimierter trajektorie und verfahren zum steuern eines kommissionierroboters
DE102021202340A1 (de) 2021-03-10 2022-09-15 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung
EP4304818A1 (de) * 2021-03-10 2024-01-17 Aquabot Ltd. System und verfahren zur identifizierung oder erfassung von daten entsprechend einem tragbaren artikel
US12129132B2 (en) 2021-03-15 2024-10-29 Dexterity, Inc. Singulation of arbitrary mixed items
US20220289502A1 (en) * 2021-03-15 2022-09-15 Dexterity, Inc. Adaptive robotic singulation system
EP4313504A1 (de) * 2021-03-26 2024-02-07 Boston Dynamics, Inc. Dynamische massenschätzungsverfahren für einen integrierten mobilen manipulatorroboter
JP2022157884A (ja) * 2021-03-31 2022-10-14 セイコーエプソン株式会社 ロボットの制御方法、ロボットシステムおよびロボット制御プログラム
CN113510697B (zh) * 2021-04-23 2023-02-14 知守科技(杭州)有限公司 机械手定位方法、装置、系统、电子装置和存储介质
US20220362936A1 (en) * 2021-05-14 2022-11-17 Intelligrated Headquarters, Llc Object height detection for palletizing and depalletizing operations
US12136223B2 (en) * 2021-05-18 2024-11-05 Mujin, Inc. Robotic system for object size detection
US12053890B2 (en) * 2021-06-03 2024-08-06 Intrinsic Innovation Llc Robotic workspace introspection via force feedback
US20230027984A1 (en) 2021-07-21 2023-01-26 Mujin, Inc. Robotic system with depth-based processing mechanism and methods for operating the same
US20230041343A1 (en) 2021-08-09 2023-02-09 Mujin, Inc. Robotic system with image-based sizing mechanism and methods for operating the same
JP6964917B1 (ja) * 2021-08-10 2021-11-10 リンクウィズ株式会社 計測システム、計測方法、プログラム
WO2023023366A1 (en) 2021-08-19 2023-02-23 Rehrig Pacific Company Imaging system with unsupervised learning
WO2023023369A2 (en) * 2021-08-19 2023-02-23 Rehrig Pacific Company Pallet wrapper and imaging system
AT525383A1 (de) * 2021-09-07 2023-03-15 Knapp Ag System zur Vereinzelung und Identifizierung von Artikeln
US20230070495A1 (en) * 2021-09-07 2023-03-09 Mujin, Inc. Robotic gripper assemblies for openable object(s) and methods for picking objects
CN118043177A (zh) * 2021-09-28 2024-05-14 京瓷株式会社 信息处理装置、机器人控制器、信息处理系统以及信息处理方法
IT202100025490A1 (it) * 2021-10-07 2023-04-07 Bosso S R L Magazzino automatico
US20230115849A1 (en) * 2021-10-11 2023-04-13 Mazor Robotics Ltd. Systems and methods for defining object geometry using robotic arms
WO2023060683A1 (zh) * 2021-10-13 2023-04-20 东南大学 一种基于三维点云模型的预制梁段表面平整度检测方法
CN115246547B (zh) * 2021-10-21 2023-09-12 梅卡曼德(北京)机器人科技有限公司 垛型续码方法、装置、计算设备及计算机存储介质
US12030191B2 (en) * 2021-10-28 2024-07-09 Ubkang (Qingdao) Technology Co., Ltd. Vision-guided picking and placing method, mobile robot and computer-readable storage medium
EP4174787A3 (de) 2021-11-01 2023-05-10 Rehrig Pacific Company Lieferungssystem
AT525778B1 (de) * 2021-11-09 2023-11-15 Tgw Logistics Group Gmbh Verfahren und Vorrichtung zum Entnehmen eines Ladeguts von einem Stapel
EP4429984A1 (de) * 2021-11-10 2024-09-18 Labo, Inc. Automatisierte produktentladung, -handhabung und -verteilung
CN113816137A (zh) * 2021-11-19 2021-12-21 佛山隆深机器人有限公司 一种基于机械臂的箱体分拣运输装置及控制方法
CN114161426B (zh) * 2021-12-29 2024-02-06 海澜智云科技有限公司 一种工业机器人的控制系统
CN116681758A (zh) * 2022-02-23 2023-09-01 北京百度网讯科技有限公司 车辆的姿态估计方法、装置、电子设备及存储介质
US11717974B1 (en) * 2022-06-10 2023-08-08 Sanctuary Cognitive Systems Corporation Haptic photogrammetry in robots and methods for operating the same
KR102486009B1 (ko) * 2022-06-23 2023-01-10 주식회사 대한엔지니어링 로봇팔을 이용한 디팔레타이징 자동화 시스템 및 방법
CN115009845B (zh) * 2022-08-04 2022-10-25 江苏安纳金机械有限公司 一种新型翘板机及其方法
KR102491429B1 (ko) * 2022-08-24 2023-01-27 주식회사 한성시스코 인공지능을 이용한 다수의 직육면체 블록들의 적층 구조에서의 각 블록의 인식 및 로딩 시스템, 및 그 방법
DE102022121538A1 (de) 2022-08-25 2024-03-07 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Ablegen eines Objekts vermittels eines Roboters
JP7488311B2 (ja) 2022-10-27 2024-05-21 アリー ロジスティック プロパティ カンパニー,リミテッド 物流作業を実行するための施設及び方法
WO2024115532A1 (de) * 2022-11-30 2024-06-06 Voith Patent Gmbh Vorrichtung und anordnung und verfahren zum umsetzen von ballen
WO2024125920A1 (de) * 2022-12-13 2024-06-20 Kuka Deutschland Gmbh Kalibrieren einer greifersteuerung
WO2024136993A1 (en) * 2022-12-20 2024-06-27 Liberty Reach Inc. Method and system for decanting a plurality of items supported on a transport structure at one time with a picking tool for placement into a transport container
KR102521819B1 (ko) * 2023-01-26 2023-04-17 주식회사 브릴스 파렛타이징 시스템
WO2024176359A1 (ja) * 2023-02-21 2024-08-29 ファナック株式会社 位置補正装置、ロボットシステムおよび位置補正プログラム
US20240316779A1 (en) * 2023-03-20 2024-09-26 Mujin, Inc. Robotic system with object handling mechanism for loading and unloading of cargo carriers
DE102023111746A1 (de) 2023-05-05 2024-11-07 Bayerische Motoren Werke Aktiengesellschaft Handhabungsvorrichtung für einen Transport von Objekten
CN117369349B (zh) * 2023-12-08 2024-02-23 如特数字科技(苏州)有限公司 一种远程监测智能机器人的管理系统
CN117532644B (zh) * 2023-12-26 2024-04-12 广东亚数智能科技股份有限公司 一种三维视觉引导机械手抓取装置及其控制方法
CN118220850B (zh) * 2024-05-21 2024-07-19 杭州灵智科技数字化装备有限公司 拆垛方法、装置、计算机设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10369701B1 (en) 2018-10-30 2019-08-06 Mujin, Inc. Automated package registration systems, devices, and methods

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4907169A (en) 1987-09-30 1990-03-06 International Technical Associates Adaptive tracking vision and guidance system
JP2894449B2 (ja) * 1989-04-07 1999-05-24 株式会社ダイフク カメラ使用の自動移載装置
JP2687030B2 (ja) 1990-02-09 1997-12-08 株式会社ダイフク ロボット使用の自動移載装置
JPH03277739A (ja) 1990-03-28 1991-12-09 Nippon Steel Corp プレス成形時の耐バリ性の優れた高r値複合鋼板およびその製造方法
US5290454A (en) 1992-11-12 1994-03-01 Pump And Paper Research Institute Of Canada Process for removal of suspended solids from pulp and paper mill effluents
JPH06171760A (ja) * 1992-12-02 1994-06-21 Mitsubishi Electric Corp デパレタイズ方法
JPH0753054A (ja) 1993-08-10 1995-02-28 Mitsubishi Electric Corp 自動荷卸し装置
JP3063487B2 (ja) 1993-09-27 2000-07-12 村田機械株式会社 パレタイズパターン認識装置
JP3516067B2 (ja) * 1994-04-26 2004-04-05 川崎重工業株式会社 デパレタイズ用画像作成方法および画像作成装置
JPH07291450A (ja) * 1994-04-26 1995-11-07 Kawasaki Heavy Ind Ltd インテリジェントパレタイズシステム
IT1275664B1 (it) * 1994-11-16 1997-10-17 Consorzio Telerobot Sistema per il controlllo e guida automatica di un gruppo elevatore a forche
JP3277739B2 (ja) * 1995-01-27 2002-04-22 三菱電機株式会社 産業用ロボット
JPH09251544A (ja) * 1996-03-14 1997-09-22 Toshiba Corp ワークエッジ検出画像処理装置
JP2921496B2 (ja) 1996-07-15 1999-07-19 三菱電機株式会社 画像処理装置および物体移載装置
US5908283A (en) * 1996-11-26 1999-06-01 United Parcel Service Of Americia, Inc. Method and apparatus for palletizing packages of random size and weight
US6272230B1 (en) 1998-02-11 2001-08-07 Analogic Corporation Apparatus and method for optimizing detection of objects in computed tomography data
JPH11333770A (ja) * 1998-03-20 1999-12-07 Kobe Steel Ltd 積荷位置姿勢認識装置
JPH10323491A (ja) 1998-07-06 1998-12-08 Hitachi Ltd 脱水洗濯機
SE513174C2 (sv) 1998-10-22 2000-07-24 Abb Ab Förfarande för hantering av containrar samt anordning för utförande av förfarandet
CN1162681C (zh) * 1999-03-19 2004-08-18 松下电工株式会社 三维物体识别方法及使用该方法的零件抓取系统
JP2001058723A (ja) 1999-08-20 2001-03-06 Amada Co Ltd 板材加工機における製品搬出方法及びその装置
JP2001072247A (ja) 1999-09-06 2001-03-21 Murata Mach Ltd 搬送システム
JP3596434B2 (ja) * 2000-06-30 2004-12-02 株式会社ダイフク 物品位置認識装置
JP3849514B2 (ja) 2001-12-10 2006-11-22 株式会社ダイフク 物品位置認識装置
JP2003237943A (ja) * 2002-02-12 2003-08-27 Rengo Co Ltd 段ボールケース束のデパレタイジング装置
US7085622B2 (en) * 2002-04-19 2006-08-01 Applied Material, Inc. Vision system
JP3768174B2 (ja) 2002-07-24 2006-04-19 ファナック株式会社 ワーク取出し装置
US7437214B2 (en) * 2003-03-27 2008-10-14 Sony Corporation Robot device and method of controlling the same
DE10317855A1 (de) 2003-04-16 2004-11-18 Rkb Reparatur- Und Karosseriebau Gmbh Verfahren und Einrichtung zum Verteilen von Paketen o. dgl. Beförderungsgütern
GB0405014D0 (en) 2004-03-05 2004-04-07 Qinetiq Ltd Movement control system
JP2005333824A (ja) 2004-05-24 2005-12-08 Olympus Corp 検体導入装置および培養処理装置
KR100657915B1 (ko) 2004-11-26 2006-12-14 삼성전자주식회사 코너 검출 방법 및 코너 검출 장치
JP2006300929A (ja) * 2005-03-22 2006-11-02 Jfe Engineering Kk 物体の3次元位置認識装置およびデパレタイズシステム
JP2007097057A (ja) 2005-09-30 2007-04-12 Brother Ind Ltd サーバ装置、機器情報提供方法、プログラム、ネットワークシステム、及び、機器共用化方法
JP4087874B2 (ja) * 2006-02-01 2008-05-21 ファナック株式会社 ワーク取り出し装置
JP4911341B2 (ja) * 2006-03-24 2012-04-04 株式会社ダイフク 物品移載装置
WO2009014677A1 (en) 2007-07-23 2009-01-29 Abb Inc. Robotic palletizing system
JP4565023B2 (ja) * 2008-07-04 2010-10-20 ファナック株式会社 物品取り出し装置
KR101003654B1 (ko) 2008-08-27 2010-12-23 삼성전기주식회사 반도체 패키지용 트랜스포머
US8489232B2 (en) 2008-09-30 2013-07-16 Amazon Technologies, Inc. Systems and methods for receiving shipment parcels
US8571298B2 (en) * 2008-12-23 2013-10-29 Datalogic ADC, Inc. Method and apparatus for identifying and tallying objects
DE102009011300B4 (de) * 2009-03-02 2022-08-11 Kuka Roboter Gmbh Beladung von Lademitteln mit Paketen mittels Manipulator
JP5429614B2 (ja) 2009-04-16 2014-02-26 株式会社Ihi 箱状ワーク認識装置および方法
US8508590B2 (en) * 2010-03-02 2013-08-13 Crown Equipment Limited Method and apparatus for simulating a physical environment to facilitate vehicle operation and task completion
US8538577B2 (en) * 2010-03-05 2013-09-17 Crown Equipment Limited Method and apparatus for sensing object load engagement, transportation and disengagement by automated vehicles
FI20105732A0 (fi) 2010-06-24 2010-06-24 Zenrobotics Oy Menetelmä fyysisten kappaleiden valitsemiseksi robottijärjestelmässä
US9796540B1 (en) 2010-06-30 2017-10-24 Thiele Technologies System and method for robotic palletization of packages susceptible to package-to-package dimensional creep
KR101453234B1 (ko) * 2010-11-17 2014-10-22 미쓰비시덴키 가부시키가이샤 워크 취출 장치
US9367770B2 (en) * 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
US9129277B2 (en) * 2011-08-30 2015-09-08 Digimarc Corporation Methods and arrangements for identifying objects
US10474858B2 (en) * 2011-08-30 2019-11-12 Digimarc Corporation Methods of identifying barcoded items by evaluating multiple identification hypotheses, based on data from sensors including inventory sensors and ceiling-mounted cameras
JP5510841B2 (ja) 2011-12-22 2014-06-04 株式会社安川電機 ロボットシステム及び仕分け済み物品の製造方法
US9067744B2 (en) 2011-10-17 2015-06-30 Kabushiki Kaisha Yaskawa Denki Robot system, robot, and sorted article manufacturing method
CN202717371U (zh) 2011-11-18 2013-02-06 上海沃迪自动化装备股份有限公司 多功能机器人码垛系统
US20170003113A1 (en) * 2011-12-06 2017-01-05 Hexagon Technology Center Gmbh Coordinate measuring machine having a camera
JP2013145525A (ja) * 2012-01-16 2013-07-25 Fuji Electric Co Ltd 物品取り出し判定装置、物品取り出し判定システム、物品取り出しシステム、物品取り出し判定プログラムおよび物品取り出し判定方法
CN202539084U (zh) 2012-03-01 2012-11-21 成都三茁科技有限公司 多位扫描识别系统
JP2013246589A (ja) * 2012-05-24 2013-12-09 Sharp Corp 空間情報生成装置、空間情報利用システム、空間情報生成方法、制御プログラム、および、記録媒体
JP5469216B2 (ja) 2012-07-31 2014-04-16 ファナック株式会社 バラ積みされた物品をロボットで取出す装置
US9233470B1 (en) * 2013-03-15 2016-01-12 Industrial Perception, Inc. Determining a virtual representation of an environment by projecting texture patterns
JP6255706B2 (ja) * 2013-04-22 2018-01-10 富士通株式会社 表示制御装置、表示制御方法、表示制御プログラムおよび情報提供システム
US9314924B1 (en) * 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
JP5945968B2 (ja) * 2013-09-03 2016-07-05 株式会社安川電機 ロボットハンド、ロボットシステム、及び物品のデパレタイズ方法
JP5897532B2 (ja) 2013-11-05 2016-03-30 ファナック株式会社 三次元空間に置かれた物品をロボットで取出す装置及び方法
US10343857B2 (en) 2014-01-22 2019-07-09 Symbiotic Canada ULC. Vision-assisted robotized depalletizer
CN103822594A (zh) * 2014-02-28 2014-05-28 华南理工大学 一种基于激光传感器和机器人的工件扫描成像方法
KR102081139B1 (ko) 2014-03-12 2020-02-25 한국전자통신연구원 물체 피킹 시스템, 물체 검출 장치 및 그 방법
JP5829306B2 (ja) 2014-05-12 2015-12-09 ファナック株式会社 レンジセンサの配置位置評価装置
US9205558B1 (en) 2014-07-16 2015-12-08 Google Inc. Multiple suction cup control
US9272417B2 (en) 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
US9327406B1 (en) * 2014-08-19 2016-05-03 Google Inc. Object segmentation based on detected object-specific visual cues
JP6486114B2 (ja) 2015-01-16 2019-03-20 株式会社東芝 荷役装置
US9486921B1 (en) 2015-03-26 2016-11-08 Google Inc. Methods and systems for distributing remote assistance to facilitate robotic object manipulation
US20160302521A1 (en) 2015-04-16 2016-10-20 Brian George Rennex Substantial energy return shoe with optimal low-impact springs and tuned gear change
JP6461712B2 (ja) 2015-05-28 2019-01-30 株式会社東芝 荷役装置及びその動作方法
US9875427B2 (en) * 2015-07-28 2018-01-23 GM Global Technology Operations LLC Method for object localization and pose estimation for an object of interest
US20170057148A1 (en) 2015-08-27 2017-03-02 Imflux Inc Plastic article forming apparatuses and methods for controlling melt flow
US11010816B2 (en) * 2015-08-27 2021-05-18 Imflux Inc Methods of selecting thermoplastic materials for use with plastic article forming apparatuses that control melt flow
JP6466297B2 (ja) * 2015-09-14 2019-02-06 株式会社東芝 対象物検出装置、方法及びデパレタイズ自動化装置並びに梱包箱
JP6711591B2 (ja) 2015-11-06 2020-06-17 キヤノン株式会社 ロボット制御装置およびロボット制御方法
JP6710622B2 (ja) * 2015-11-13 2020-06-17 株式会社東芝 搬送装置および搬送方法
CN108349083B (zh) 2015-11-13 2021-09-21 伯克希尔格雷股份有限公司 用于提供各种物体的分拣的分拣系统和方法
US10370201B2 (en) * 2015-11-13 2019-08-06 Kabushiki Kaisha Toshiba Transporting apparatus and transporting method
JP6298035B2 (ja) * 2015-12-17 2018-03-20 ファナック株式会社 モデル生成装置、位置姿勢算出装置、およびハンドリングロボット装置
JP6690300B2 (ja) * 2016-02-26 2020-04-28 村田機械株式会社 スタッカクレーン
US10124489B2 (en) * 2016-02-26 2018-11-13 Kinema Systems Inc. Locating, separating, and picking boxes with a sensor-guided robot
CN105817430B (zh) 2016-03-29 2017-12-29 常熟理工学院 基于机器视觉的产品检测方法
CN106063998B (zh) * 2016-04-13 2018-03-06 段炼 一种单罐内转动mvr系统
US10596700B2 (en) * 2016-09-16 2020-03-24 Carbon Robotics, Inc. System and calibration, registration, and training methods
US20180198983A1 (en) * 2017-01-06 2018-07-12 Olympus Corporation Image pickup apparatus, image pickup system, image pickup method, image pickup program, and display apparatus for image pickup
WO2018131237A1 (ja) * 2017-01-13 2018-07-19 三菱電機株式会社 協働ロボットシステム、及びその制御方法
JP6495355B2 (ja) 2017-02-15 2019-04-03 昭 宮田 給液装置
JP2018144155A (ja) * 2017-03-03 2018-09-20 株式会社キーエンス ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
CN106886165A (zh) 2017-03-10 2017-06-23 深圳市唯特视科技有限公司 一种基于模拟器的机械手抓取和操纵方法
JP6444499B1 (ja) 2017-04-04 2018-12-26 株式会社Mujin 制御装置、ピッキングシステム、物流システム、プログラム、及び、制御方法
US10328578B2 (en) * 2017-04-21 2019-06-25 X Development Llc Methods and systems for detecting, recognizing, and localizing pallets
JP6904106B2 (ja) 2017-06-27 2021-07-14 村田機械株式会社 ピッキングシステム
JP2019063984A (ja) 2017-10-02 2019-04-25 キヤノン株式会社 情報処理装置、方法及びロボットシステム
US10471597B1 (en) * 2017-11-01 2019-11-12 Amazon Technologies, Inc. Adaptive perception for industrial robotic systems
US10346987B1 (en) 2017-12-29 2019-07-09 Datalogic Usa, Inc. Locating objects on surfaces
JP6489243B2 (ja) * 2018-01-17 2019-03-27 セイコーエプソン株式会社 物体認識装置、物体認識方法、物体認識プログラム、ロボットシステム及びロボット
JP7065632B2 (ja) * 2018-02-13 2022-05-12 Kyoto Robotics株式会社 箱状物ピッキング装置及びその方法
JP2018158439A (ja) 2018-03-15 2018-10-11 株式会社東芝 物体ハンドリング装置、制御装置、および較正方法
CN110737399B (zh) 2018-07-20 2023-09-05 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
JP7467041B2 (ja) * 2018-09-27 2024-04-15 キヤノン株式会社 情報処理装置、情報処理方法及びシステム
DE112019000125B4 (de) 2018-10-30 2021-07-01 Mujin, Inc. Systeme, vorrichtungen und verfahren zur automatisierten verpackungsregistrierung
US11023763B2 (en) 2019-03-19 2021-06-01 Boston Dynamics, Inc. Detecting boxes
US10614340B1 (en) 2019-09-23 2020-04-07 Mujin, Inc. Method and computing system for object identification
US10625952B1 (en) 2019-10-18 2020-04-21 Grey Orange Pte. Ltd. Induction station for conveying packages in storage facility
US11020854B2 (en) * 2019-11-05 2021-06-01 Mujin, Inc. Robotic system with wall-based packing mechanism and methods of operating same
US11423610B2 (en) 2019-11-26 2022-08-23 Applied Research Associates, Inc. Large-scale environment-modeling with geometric optimization
US11798273B2 (en) 2021-03-12 2023-10-24 Lawrence Livermore National Security, Llc Model-based image change quantification
US20230041343A1 (en) 2021-08-09 2023-02-09 Mujin, Inc. Robotic system with image-based sizing mechanism and methods for operating the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10369701B1 (en) 2018-10-30 2019-08-06 Mujin, Inc. Automated package registration systems, devices, and methods

Also Published As

Publication number Publication date
JP2021505980A (ja) 2021-02-18
JP6704154B2 (ja) 2020-06-03
US20220076425A1 (en) 2022-03-10
WO2020092442A1 (en) 2020-05-07
US11797926B2 (en) 2023-10-24
JP2020537775A (ja) 2020-12-24
CN111776759A (zh) 2020-10-16
JP2020069636A (ja) 2020-05-07
JP2021050100A (ja) 2021-04-01
CN111861306A (zh) 2020-10-30
DE112019000247T5 (de) 2020-09-03
JP2021039795A (ja) 2021-03-11
US11189033B2 (en) 2021-11-30
JP6822718B1 (ja) 2021-01-27
JP6822719B2 (ja) 2021-01-27
JP6820634B2 (ja) 2021-01-27
WO2020092433A1 (en) 2020-05-07
JP7571951B2 (ja) 2024-10-23
DE112019000127T5 (de) 2020-06-18
JP2021054660A (ja) 2021-04-08
CN111861306B (zh) 2021-06-15
US20220051411A1 (en) 2022-02-17
DE112019000172T5 (de) 2020-07-16
CN111601761A (zh) 2020-08-28
US20200130963A1 (en) 2020-04-30
US20200130962A1 (en) 2020-04-30
CN111633633B (zh) 2021-05-07
JP2023160842A (ja) 2023-11-02
JP7548516B2 (ja) 2024-09-10
JP2021062978A (ja) 2021-04-22
JP7411932B2 (ja) 2024-01-12
CN111776759B (zh) 2021-07-23
CN111566028A (zh) 2020-08-21
JP7340203B2 (ja) 2023-09-07
KR102650494B1 (ko) 2024-03-22
US10703584B2 (en) 2020-07-07
US20200134830A1 (en) 2020-04-30
US11288810B2 (en) 2022-03-29
WO2020092428A1 (en) 2020-05-07
JP2023174652A (ja) 2023-12-08
JP7466150B2 (ja) 2024-04-12
JP2021503374A (ja) 2021-02-12
KR20210087065A (ko) 2021-07-09
US11176674B2 (en) 2021-11-16
CN111861305B (zh) 2021-08-03
JP6813229B1 (ja) 2021-01-13
US20200294244A1 (en) 2020-09-17
CN111633633A (zh) 2020-09-08
CN111776762B (zh) 2021-07-23
JP6820044B1 (ja) 2021-01-27
DE112019000177T5 (de) 2020-09-03
US20230008540A1 (en) 2023-01-12
JP2024023692A (ja) 2024-02-21
US12002007B2 (en) 2024-06-04
US11636605B2 (en) 2023-04-25
US11961042B2 (en) 2024-04-16
WO2020092447A1 (en) 2020-05-07
JP7555081B2 (ja) 2024-09-24
JP2020110918A (ja) 2020-07-27
JP2021051797A (ja) 2021-04-01
CN111629868A (zh) 2020-09-04
CN111776762A (zh) 2020-10-16
KR102650492B1 (ko) 2024-03-22
JP7352260B2 (ja) 2023-09-28
DE112019000217B4 (de) 2023-09-14
KR20210096615A (ko) 2021-08-05
CN111491878A (zh) 2020-08-04
CN111566027A (zh) 2020-08-21
DE112019000125T5 (de) 2020-07-02
CN111113492A (zh) 2020-05-08
US20200134828A1 (en) 2020-04-30
KR20240042157A (ko) 2024-04-01
JP2021501102A (ja) 2021-01-14
US20240020637A1 (en) 2024-01-18
US11501445B2 (en) 2022-11-15
CN111861305A (zh) 2020-10-30
US20240078512A1 (en) 2024-03-07
WO2020091846A1 (en) 2020-05-07
US20200130961A1 (en) 2020-04-30
WO2020092452A1 (en) 2020-05-07
DE112019000125B4 (de) 2021-07-01
US20210304416A1 (en) 2021-09-30
JP2021507857A (ja) 2021-02-25
US11062457B2 (en) 2021-07-13

Similar Documents

Publication Publication Date Title
DE112019000217B4 (de) Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Leitung zur automatischen Erkennung
DE102019009189B4 (de) Robotersytem mit Fehlererkennung und dynamischem Packmechanismus
DE102019130902B4 (de) Ein Robotersytem mit dynamischem Packmechanismus
DE102020111139A1 (de) Verfeinerung nach Erfassung basierend auf Kanten und mehrdimensionalen Ecken
DE102019009198B4 (de) Robotersystem mit verbessertem Abtastmechanismus
DE102019130635B4 (de) Ein robotersystem mit packmechanismus
DE102020127473A1 (de) Robotersystem mit wandbasiertem packmechanismus und verfahren zum betreiben dieses systems
DE102019130923B4 (de) Robotersystem für das palettieren von paketen unter verwendung von echtzeit-platzierungssimulation
DE102019130639B4 (de) ROBOTERSYSTEM ZUM VERARBEITEN VON PAKETEN, DIE AUßERHALB DER SEQUENZ ANKOMMEN
DE102019009201B3 (de) Ein Robotersytem mit Stückverlustverwaltungsmechanismus
DE112020000067T5 (de) Roboter-mehrfachgreiferbaugruppen und -verfahren zum greifen und halten von objekten
DE102020207368B4 (de) Objekthandhabungssteuervorrichtung, Objekthandhabungsvorrichtung, Objekthandhabungsverfahren und Computerprogrammprodukt
DE102020119866A1 (de) Roboter-mehrfachgreiferbaugruppen und -verfahren zum greifen und halten von objekten
DE102020112099A1 (de) Ein robotersystem mit einem koordinierten übertragungsmechanismus
DE102020116803A1 (de) System und verfahren zur objekterkennung auf der grundlage von bilddaten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R082 Change of representative

Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final