DE112019000247T5 - Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Erkennung geeigneter Mindestbereiche - Google Patents

Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Erkennung geeigneter Mindestbereiche Download PDF

Info

Publication number
DE112019000247T5
DE112019000247T5 DE112019000247.3T DE112019000247T DE112019000247T5 DE 112019000247 T5 DE112019000247 T5 DE 112019000247T5 DE 112019000247 T DE112019000247 T DE 112019000247T DE 112019000247 T5 DE112019000247 T5 DE 112019000247T5
Authority
DE
Germany
Prior art keywords
edge
mvr
edges
exposed
initial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112019000247.3T
Other languages
English (en)
Inventor
Jinze Yu
Jose Jeronimo Moreira Rodrigues
Rosen Nikolaev Diankov
Xutao Ye
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 DE112019000247T5 publication Critical patent/DE112019000247T5/de
Pending legal-status Critical Current

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)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)
  • De-Stacking Of Articles (AREA)
  • Specific Conveyance Elements (AREA)
  • Image Processing (AREA)
  • Stacking Of Articles And Auxiliary Devices (AREA)
  • Control Of Conveyors (AREA)

Abstract

Die vorliegende Offenbarung betrifft Verfahren und Systeme zum Erzeugen eines verifizierten geeigneten Mindestbereichs (MVR) eines Objektes. Eine exponierte Außenecke und exponierte Kanten eines Objektes können durch Verarbeiten von Bilddaten erkannt werden. Ein anfänglicher MVR kann durch Erkennen gegenüberliegender paralleler Kanten erzeugt werden, die den exponierten Kanten gegenüberliegen. Der anfängliche MVR kann angepasst werden und das angepasste Ergebnis kann getestet werden, um einen verifizierten MVR zu erzeugen.

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 AUTO-DETECTION PIPELINE.“ Die verwandte Anmeldung ist Mujin, Inc., zugeordnet und mit dem Aktenzeichen 131837-8003.US50 versehen. Der Gegenstand dieser ist durch Verweis darauf in die vorliegenden 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 von der Palette genommen werden. Pakete können von menschlichen Arbeitern entpalettiert werden, was ressourcenintensiv sein und das Verletzungsrisiko für die menschlichen Arbeiter erhöhen kann. In industriellen Umgebungen können Entpalettiervorgä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 bildgebende Vorrichtung 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 (z. B. Abmessungen eines Pakets, Gewicht und/oder Schwerpunkt) der bildlich dargestellten 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 umgeschlagen 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, in denen ähnliche Bezugszeichen ä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 Deckfläche des beispielhaften Stapels gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie.
    • 3C veranschaulicht Sensordaten, die der Deckfläche gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie entsprechen.
    • 4A veranschaulicht Sensordaten, die einer Deckfläche 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 einen Satz 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 veranschaulicht eine Draufsicht auf einen Satz von palettierten Paketen gemäß einigen Ausführungsformen der vorliegenden Technologie.
    • 8 veranschaulicht ein Beispiel für einen zusammengeführten MVR-Bereich gemäß einigen Ausführungsformen der vorliegenden Technologie.
    • 9 ist ein Blockdiagramm eines Verfahrens zum Betreiben des Robotersystems aus 1 gemäß einigen Ausführungsformen der vorliegenden Technologie.
    • 10 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 (z. B. 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 (z. B. mit geringfügigen oder keinen Eingaben durch den menschlichen Bediener) Registrieren von vorher unbekannten oder unerkannten Objekten bereit (z. B. Paketen, Kartons, Verpackungen usw.).
  • Um zu ermitteln, ob Objekte erkannt werden, kann das Robotersystem Daten im Hinblick auf Objekte an einer Startposition (z. B. 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 (z. B. 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 erkannt ermitteln, wenn die verglichenen Daten nicht mit den Registrierungsdaten von bekannten oder erwarteten Objekten übereinstimmen.
  • Das Robotersystem kann die unerkannten Objekte entsprechend einer oder mehreren Schätzungen manipulieren und zusätzliche Informationen (z. B. 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. Beim Erzeugen des MVR können exponierte Außenecken und exponierte Kanten durch Überprüfen von Punktwolkendaten erkannt werden. Auf Grundlage der erkannten exponierten Außenecke und exponierten Kanten kann ein anfänglicher MVR durch Erkennen von gegenüberliegenden Kanten erzeugt werden, die den exponierten Kanten gegenüberliegen. Als veranschaulichendes Beispiel kann ein Paar exponierte Kanten senkrecht zueinander sein und eine exponierte Außenecke bilden. Der anfängliche MVR für ein derartiges Objekt kann von der exponierten Außenecke entlang der exponierten Kanten zu den erkannten gegenüberliegenden Kanten verlaufen.
  • In einigen Ausführungsformen kann der anfängliche MVR weiter verarbeitet werden, wie etwa durch Testen potentieller MVR-Bereiche durch Vergrößern des anfänglichen MVR zu einem Ende eines Bereichs, der durch die Punktwolke definiert ist. Ein zusammengeführter MVR des Objektes kann den anfänglichen MVR und die potentiellen MVR umfassen. Ein verifizierter MVR kann erzeugt werden, wenn der zusammengeführte MVR eine oder mehrere vorbestimmte Bedingungen erfüllt. Der verifizierte MVR kann einen genauen Bereich darstellen, der das unerkannte Objekt umfasst. Auf Grundlage des verifizierten MVR kann das System, wie in der vorliegenden Schrift beschrieben, das Objekt registrieren und eine Aufgabe im Hinblick auf das Objekt ausführen, wie etwa durch Greifen und/oder Bewegen des Objektes.
  • 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 bzw. die beschrieben ist, in mindestens einer Ausführungsform der vorliegenden Offenbarung enthalten sind. 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 (z. B. 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 (z. B. 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 (z.B. 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 konfiguriert sein, um 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 (z. B. 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 (z. B. Platzierungspositionen/-ausrichtungen, eine 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 (z. B. 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 (z. B. das Bewegen und/oder Neuausrichten) eines Zielobjektes 112 (z. B. eines von den Paketen, Kisten, Behältern, Körben, Paletten usw., die der auszuführenden Aufgabe entsprechen) von einer Startposition 114 zu einer Aufgabenposition 116 umfassen. Beispielsweise kann die Entladeeinheit 102 (z. B. ein Containerentladeroboter) konfiguriert sein, um das Zielobjekt 112 von einer Position auf einem Träger (z. B. einem Lastkraftwagen) zu einer Position auf einem Förderband zu übertragen. Außerdem kann die Übertragungseinheit 104 konfiguriert sein, um das Zielobjekt 112 von einer Position (z. B. dem Förderband, einer Palette oder einer Tonne) zu einer anderen Position (z. B. einer Palette, einer Tonne usw.) zu übertragen. In einem anderen Beispiel kann die Übertragungseinheit 104 (z.B. ein Palettierungsroboter) konfiguriert sein, um das Zielobjekt 112 von einer Startposition (z. B. 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 (z. B. durch Bewegen der Palette, die das Zielobjekt 112 trägt) von der Übertragungseinheit 104 zu einer Lagerposition (z. B. 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 Entpalettierungseinheit für das Übertragen der Objekte von Korbwagen oder Paletten auf Fördervorrichtungen 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 (z. B. 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 (z. B. Robotersteuerarme) umfassen, die zur Bewegung an Gelenken verbunden sind (z. B. Rotations- und/oder Translationsverschiebungen). Die strukturellen Elemente und die Gelenke können eine kinetische Kette bilden, die konfiguriert ist, um einen Endeffektor (z. B. den Greifer) zu steuern, der konfiguriert ist, um eine oder mehrere Aufgaben (z. B. 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 (z. B. 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 (z. B. 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 konfiguriert sind, um Informationen zu erhalten, die 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 (z. B. 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 (z. B. 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 (z. B. 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 (z. B. einer Aufnahmeposition, wie etwa innerhalb des Lastkraftwagens oder auf dem Förderband) erfassen und auswerten, um das Zielobjekt 112 und die Startposition 114 davon zu erkennen. Gleichermaßen kann das Robotersystem 100 ein Bild eines anderen festgelegten Bereichs (z. B. 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 auswerten, 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 (z. B. 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 (z. B. Positionscodierer, Potentiometer usw.) gehören, die konfiguriert sind, um Positionen von strukturellen Elementen (z. B. 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.
  • Übertragen und Registrieren 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 (z. B. eine Instanz der Übertragungseinheit 104 aus 1), zu dem ein Endeffektor 204 (z. B. 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 (z. B. einer Gruppierung von Objekten) darauf aufweisen. Die Aufgabenposition 116 für den Roboterarm 202 kann eine Absetzposition (z. B. ein Ausgangspunkt) auf einem Förderband 206 sein (z. B. 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 einer bekannten Stelle über und in Richtung der Startposition 114 befinden. Der erste Bildgebungssensor 212 kann Bildgebungsdaten (z. B. 3D-Punktwolken und/oder visuelle oder 2D-Bilder) erzeugen, die einer oder mehreren Draufsichten der 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 (z. B. 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 einer oder mehreren bekannten Stellen über/seitlich neben der 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 einer Schwellendistanz von der Aufgabenposition 116 entsprechen.
  • Objekterkennung
  • 3A ist eine Veranschaulichung eines beispielhaften Objektstapels (z. B. des Zielstapels 210 aus 2), der durch das Robotersystem 100 aus 1 verarbeitet wird; 3B ist eine Veranschaulichung einer Deckfläche des beispielhaften Stapels (z. B. eine eigentliche Draufsicht 310 auf den Zielstapel 210); und 3C ist eine Veranschaulichung von Sensordaten (z. B. Draufsichtdaten 320), die der Deckfläche entsprechen, allesamt gemäß einer oder mehreren Ausführungsformen der vorliegenden Technologie. Unter gemeinsamer Bezugnahme auf die 3A, 3B und 3C 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 (z. B. das Förderband 206 aus 2), wie vorstehend beschrieben. Zum Übertragen der Objekte kann das Robotersystem 100 Bilddaten (z. B. 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 von Differenzen hinsichtlich der Tiefenmessungen und/oder Bildeigenschaften erkennen (z. B. andere Farben, lineare Muster, Schatten, Unterschiede hinsichtlich der Klarheit usw.). Das Robotersystem 100 kann exponierte Kanten 322 erkennen (z. B. Kanten von Objektdeckflächen, 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, 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 (z.B. 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 (z. B. Teile, die nicht mit den Registrierungsdaten übereinstimmen) können unerkannten Objekten 314 entsprechen. Die Kanten der unerkannten Objekte 314 sind unter Verwendung von gestrichelten Linien in 3C gezeigt.
  • Auf Grundlage des Abgleichens der Bilddaten kann das Robotersystem 100 die erkannten Objekte 312 in den jeweiligen Bilddaten finden, die weiter in echte Positionen für den Zielstapel 210 übersetzt werden können (beispielsweise durch eine im Vorfeld kalibrierte 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 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 (z. B. den Punktwolkendaten) dargestellt sind. Beispielsweise kann das Robotersystem 100 die exponierten Außenecken 326 auf Grundlage des Erkennens von Schnittpunkten/Kreuzungen zwischen zwei oder mehreren der exponierten Kanten 322 (z. B. Kanten, die in 3D-Bilddaten erkannt wurden, auch bezeichnet als 3D-Kanten) mit verschiedenen Ausrichtungen erkennen (z. B. 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 Schwellenwinkelbereich 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 (z.B. 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 (z. B. von dem ersten Bildgebungssensor 212 aus 2). 4A ist eine Veranschaulichung von Sensordaten 401, die einer Deckfläche entsprechen, im Anschluss an einen anfänglichen Satz Vorgänge (z. B. 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 keines der erkannten Objekte 312 in den Bilddaten (z. B. den 2D-Bilddaten und/oder der 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 (z. B. 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 mehr der exponierten Kanten 322 entsprechend einem jeweiligen Schwellenwinkelbereich erkennen. Beispielsweise kann das Robotersystem 100 die exponierten Innenecken 402 als Schnittstellen zwischen zwei oder mehr 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 (z.B. 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 des Auswertens 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 nach dem Abbilden des gegriffenen Objektes das Robotersystem 100 das gegriffene Objekt zu einem Ziel bewegen (z. B. dem Förderband 206 aus 2).
  • Zur weiteren Beschreibung 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 auswerten, um einen MVR 412 abzuleiten, der verwendet werden kann, um eine Greifposition 420 zu ermitteln. 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. Dementsprechend kann in einigen Ausführungsformen der MVR 412 auf dem Endeffektor 204 aus 2 beruhen. Beispielsweise kann der MVR 412 mit einer Grundfläche des Endeffektors 204, wie etwa einer Fläche entlang der X-Y-Ebene, die durch den Endeffektor 204 eingenommen wird (z. B. die Saugnäpfe des Greifers), oder einer größeren Fläche mit zusätzlichen/Pufferregionen 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 (z. B. des ausgewählten Registrierungsziels). In einigen Ausführungsformen kann der MVR 412 einer möglichen Mindest- und/oder Maximalgröße entsprechen, die physischen Abmessungen (z. B. Längen, Breiten, Höhen, Durchmessern, Umfängen usw.) für die kleinst- bzw. größtmögliche Instanz der Objekte in dem Zielstapel 210 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 (d. h. Werte, die vor dem Verarbeiten des Zielstapels 210 bereitgestellt wurden oder bekannt waren). Einzelheiten bezüglich der Ableitung des MVR 412 sind nachstehend beschrieben.
  • In einigen Ausführungsformen kann das Robotersystem 100 eine Reihe möglicher Greifpositionen unter Verwendung des MVR 412 ableiten. Beispielsweise kann das Robotersystem 100 eine erste Greifposition ableiten, bei der eine Abmessung des MVR 412 mit einer ersten exponierten Kante fluchtet, sowie eine zweite Greifposition, bei der die Abmessung mit einer zweiten exponierten Kante fluchtet. In einigen Ausführungsformen kann das Robotersystem 100 mehr als eine Greifposition ableiten, bei der der MVR 412 mit einer der exponierten Kanten fluchtet. Zudem kann das Robotersystem 100 die erste Greifposition ableiten, die sich in dem MVR 412 befindet oder einen Teil des MVR 412 überlappt.
  • 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 befinden wird 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 (z. B. Anheben, horizontale Übertragung und/oder Datenerfassungsprozesse zur Registrierung). In einigen Ausführungsformen kann das Robotersystem 100 die Greifposition 420 aus dem Satz von potentiellen Greifpositionen auswählen. Beispielsweise kann das Robotersystem 100 aus dem Satz entsprechend einer relativen Ausrichtung des Arms auswählen (z. B. unter Bevorzugung des Roboterarms, der über die exponierten Kanten 322 hinweg verläuft und nicht mit anderen Teilen überlappt).
  • In einigen Ausführungsformen kann das Robotersystem 100 die Greifposition 420 und/oder den MVR 412 auf Grundlage von erkannten Linien 422 und/oder geschätzten Kanten 424 ableiten. Beispielsweise kann das Robotersystem 100 die erkannten Linien 422 und/oder die geschätzten Kanten 424 auf Grundlage von Unterschieden in Tiefenmessungen und/oder Bildeigenschaften in den Sensordaten 401 erkennen. Das Robotersystem 100 kann Kanten/Linien, die keinen Schnittpunkt mit der exponierten Kante 322 aufweisen, als die erkannten Linien 422 erkennen, die Linien in Oberflächenmarkierungen des Objektes oder Objektkanten entsprechen können. Das Robotersystem 100 kann Ergebnisse, die einen Schnittpunkt mit mindestens einer exponierten Kante 322 aufweisen, als die geschätzten Kanten 424 erkennen. Das Robotersystem 100 kann zudem die geschätzten Kanten 424 auf Grundlage eines Vergleichs der Ausrichtung der erkannten Kanten/Linien mit der Ausrichtung der exponierten Kanten 322 erkennen/verifizieren. Beispielsweise kann das Robotersystem 100 eine erkannte Kante/Linie 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 Verifizierung gleicher Abstände zwischen zwei oder mehreren jeweiligen Punkten an dem getesteten Kantenpaar testen (z. B. der erkannten Kante und der einen der exponierten Kanten 322). In einigen Ausführungsformen kann das Robotersystem 100 die parallelen Ausrichtungen erkennen, wenn das getestete Kantenpaar eine gemeinsame Kante in denselben Winkeln schneiden, wie etwa, wenn beide Kanten eine andere exponierte Kante in einem Winkel zwischen 80°-100° schneiden.
  • Dementsprechend kann das Robotersystem 100 die Greifposition 420 ableiten, die nicht mit den erkannten Linien 422 und/oder den geschätzten Kanten 424 überlappt. Das Robotersystem 100 kann die Greifposition 420 auf Grundlage des Ausgleichens eines Verhältnisses zwischen Abständen zwischen Kanten des MVR 412 und den nächsten erkannten Linien 422 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 des Ausgleichens 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 und/oder den erkannten Linien 422 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 (z. B. 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 (z. B. Punktwolkendaten) 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. In einigen Ausführungsformen kann das Robotersystem 100 den MVR auf Grundlage des Erkennens von gegenüberliegenden Kanten erzeugen (z. B. der geschätzten Kanten 424 aus 4B), die exponierten Kanten entsprechen (z. B. 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 (z. B. einem Satz seitlich benachbarter Positionen mit Tiefenmaßen in einem Schwellenkontinuitätsbereich 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, der 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 (z. B. 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 (z. B. die exponierten Kanten 322 aus 3C) befinden, fehlen und/oder von jedweden umgebenden Objekten getrennt sein. Dementsprechend können zu dem Bildgebungsergebnis (z. B. der 3D-Punktwolke) abrupte Änderungen der dargestellten Werte (z. B. 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 (z. B. 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 (z. B. einer Punktwolke und/oder einem 2D-Bild) und Ermitteln einer oder mehrerer Schichten erkennen. Beispielsweise kann das Robotersystem 100 eine obere Schicht von Objekt(en) (z. B. 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 (z. B. einen 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 bilden/definieren (z. B. eine der Schichten oder einen Teil darin), 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 (z. B. einem 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 (z. B. unvollständigen Kanten) in den Bildgebungsdaten verarbeiten (z. B. anpassen). Der angepasste MVR kann überprüft werden, um einen finalen MVR zu ermitteln, der verwendet wird, um die Greifposition 420 zu ermitteln und/oder das unerkannte Objekt zu registrieren.
  • 5 veranschaulicht eine Draufsicht auf einen Satz palettierter Pakete 500 (z. B. den 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 (z. B. einer Draufsicht). In bestimmten Situationen kann mindestens ein Teil der Kanten 512a-d (z.B. Kanten 512c-d) geschlossen sein und an andere benachbarte Objekte/Kanten anstoßen. Im umgekehrten Fall können einige der Kanten (z. B. 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 benachbarten 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 (z. B. 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äß einiger Ausführungsformen der vorliegenden Technologie. Wie in 6 gezeigt, kann eine Punktwolke (z. B. die grafische Darstellung 600) verarbeitet werden, um eine exponierte Außenecke 614 zu erkennen (z. B. 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 (z. B. 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 (z. B. einem höchsten/nächstgelegenen Punkt in dem Zielstapel 310). Der Schwellenkontinuitätsbereich kann gleichermaßen Grenzen für 2D-Bildeigenschaften definieren (z. B. Farbe und/oder Helligkeit), um eine Kontinuität über einen Satz horizontal benachbarter Positionen hinweg zu erkennen. Eine Tiefe einer Schicht der Punktwolke kann einer Trennung entlang einer Richtung entsprechen, die eine Normale zu einer Oberfläche eines jeweiligen Objektes bildet (z. B. 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 (z. B. ein oder mehrere Prozessoren darin) Schichten auf Grundlage der Gruppierung von Tiefenwerten in der Punktwolke entsprechend einer oder mehreren vorbestimmten Kontinuitätsregeln/-schwellen erkennen. Beispielsweise kann das Robotersystem 100 einen Satz 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 (z. B. 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, an der 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 (z.B. 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 des Erkennens 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 Objekts/der Objekte 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 (z. B. 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 (z.B. die Kanten 512a-b) sich schneiden/einen Winkel in einem Schwellenwinkelbereich (z. B. 80° - 100°) bilden.
  • Als ein veranschaulichendes Beispiel kann das Robotersystem 100 die offene 3D-Ecke 614 durch Erkennen einer ersten Region 612 und benachbarter Regionen 616a-c erkennen. Das Robotersystem 100 kann die erste Region 612 erkennen, wenn ein Satz benachbarter horizontaler Positionen in der abgetasteten Region der Schicht Tiefenwerte aufweist, die in dem Schwellenkontinuitätsbereich zueinander liegen. Das Robotersystem 100 kann die benachbarten Regionen 616a-c als andere horizontale Positionen mit Tiefenwerten erkennen, die nicht in dem Schwellenkontinuitätsbereich von den Tiefenwerten in der ersten Region 612 liegen. In einigen Ausführungsformen kann das Robotersystem 100 Kanten der ersten Region 612 und/oder den Beginn der benachbarten Regionen 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 (z. B. einer geraden Linie und/oder einer Mindesttrennweite zwischen Objekten). Insbesondere können die benachbarten Regionen 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 ersten Region 612). Die resultierenden Kanten zwischen der ersten Region 612 und den benachbarten Regionen 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 die erste Region 612 einen Quadranten bildet, während die benachbarten Regionen 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 sein und kann eine ‚L‘-förmige Ecke keine gültige Ecke umfassen. Dementsprechend kann das Robotersystem 100 Kantensegmente erkennen, die eine oder mehrere Anforderungen erfüllen (z. B. eine minimale gerade durchgehende Länge), sowie auf Grundlage des Verlängerns derartiger Kantensegmente um eine vorbestimmte Länge. Wenn die verlängerten Kantensegmente andere Segmente oder verlängerte Segmente in einem Winkel schneiden, kann das Robotersystem 100 einen Punkt auf der Konturform (z. B. 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 (z. B. 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 einer Größe der ersten Region 612, der Position der offenen 3D-Ecke 614 in Relation zu einer Form der ersten Region 612, einer Differenz der Tiefenwerte zwischen umgebenden Regionen (z. B. zwischen der ersten Region 612 und den benachbarten Regionen 616a und 616c) und/oder einem horizontalen Abstand zwischen der ersten Region 612 und einer anderen Region (z. B. einer anderen Oberfläche/einem anderen Objekt) mit Tiefenwerten in dem Schwellenkontinuitätsbereich von denjenigen in der ersten Region 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, aber nicht muss. Einige der unvollständigen Kanten können tatsächlichen Kanten von Kartons/Lücken zwischen Kartons entsprechen, die aufgrund des Rauschens, der Platzierung von anderen Objekten und/oder der Kapazität/Position einer Bildgebungsvorrichtung (z. B. Kamera) unter Umständen nicht zu erkennen sind. Die unvollständigen Kanten können zudem visuelle Muster oder Kennzeichnungen auf 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 (z. B. periphere Kanten der ersten Region 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 einen Satz palettierter Pakete gemäß einigen Ausführungsformen der vorliegenden Technologie. 7 veranschaulicht zudem einen anfänglichen MVR 710 in Relation zu der Draufsicht (z. B. 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 (z. B. 3D-Sensorausgabe) mit Tiefenwerten in dem Schwellenkontinuitätsbereich zueinander ableiten (z. B. die Region 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 (z.B. eine erste Ecke 714a und/oder eine zweite Ecke 714b) und entsprechenden 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 (z.B. der ersten Ecke 714a) und folgend exponierten Kanten (z. B. weg von der ersten Ecke 714a) ableiten. Der anfängliche MVR 710 kann verlängert werden, bis die nachverfolgten exponierten Kanten geschnitten werden oder anderen exponierten Kanten gegenüberstehen (z. B. 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 (z. B. Abständen 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 Darstellen 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 (z. B. einer obersten Schicht) entsprechend den unvollständigen Kanten 712 (z.B. den erkannten Linien 422 und/oder anderen 2D-/3D-Kanten, die an einer oder mehreren Seiten nicht mit einer anderen Kante überstimmen oder sich mit dieser schneiden). Anders ausgedrückt, kann das Robotersystem 100 den anfänglichen MVR entsprechend den 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 sind zu einer der exponierten Kanten. 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 (z. B. nach Tiefe, Farbe, Helligkeit usw.).
  • Wie nachstehend näher beschrieben, kann das Robotersystem 100 einen verifizierten MVR 720 auf Grundlage des Verringerns des anfänglichen MVR 710 entsprechend den oder 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 der gegenüberliegenden parallelen Kanten 724 und/oder 728. Das Robotersystem 100 kann den anfänglichen MVR 710 durch Nachverfolgen einer gegenüberliegenden parallelen Kante (z. B. der gegenüberliegenden parallelen 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 (z. B. der jeweiligen exponierten Kanten 722 bzw. 726), bis die unvollständige Kante 712 erreicht ist. Anders ausgedrückt, kann das Robotersystem 100 die zweite Ecke 714b, die mit dem anfänglichen MVR 710 assoziiert ist, erkennen und sich anschließend von der zweiten Ecke 714 weg entlang der assoziierten Kanten bewegen (z. B. der gegenüberliegenden parallelen Kanten 724 und/oder 728), während es nach anderen Kanten sucht (z. B. 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 (z. B. 80° bis 100° und/oder anderen Bereichen, 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 ein Satz von Abständen zwischen mehreren Sätzen 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 ein Beispiel für einen zusammengeführten 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 Deckfläche 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 er eine Klappe einschließt und bis zu der 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 des 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 (z. B. 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 (z. B. anfängliche und erweiterte MVR) auf Grundlage des Nachverfolgens der ersten und der zweiten exponierten Kante 722 und 726 (z. B. 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 die 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 des Nachverfolgens der ersten und der zweiten exponierten Kante 722 und 726 über den anfänglichen Satz gegenüberliegender Kanten hinaus ermitteln (z.B. weg von der exponierten Außenecke 714a). Das Robotersystem 100 kann eine oder mehrere weitere gegenüberliegende Kanten (z. B. eine erste Kante 832 und/oder eine zweite Kante 836) erkennen, die einander schneiden oder in einem Schwellentrennungsabstand von der nachverfolgten Kante liegen (z. B. der ersten exponierte Kante 722 und/oder der zweiten exponierten 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 einer ersten der weiteren gegenüberliegenden Kante erkennen (z. B. der ersten 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 (z. B. der zweiten Kante 836).
  • Das Robotersystem 100 kann die zusätzlichen plausiblen MVR-Bereiche 812a-b auf Grundlage des Verifizierens/Testens der möglichen Flächen ermitteln (z. B. 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 (z. B. Teile der Bilder, die als mit dem anfänglichen MVR 710 assoziiert ermittelt wurden) und der anfängliche 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 (z. B. 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 des Kombinierens des anfänglichen MVR 710 und der 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 Regionen 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 (z. B. 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 kann der verifizierte MVR 820 den anfänglichen MVR 710 ohne jedwede der zusätzlichen plausiblen MVR umfassen. Zudem kann, wenn der verkleinerte MVR, der in 7 beschrieben ist, unter einer möglichen Mindestgröße liegt, der verifizierte MVR 720 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 verifizierten MVR verwenden, um das nicht registrierte Objekt entsprechend der vorstehenden Beschreibung zu registrieren und/oder zu manipulieren.
  • 9 veranschaulicht ein Blockdiagramm eines Verfahrens 900 zum Betreiben des Robotersystems 100 aus 1 gemäß einiger Ausführungsformen der vorliegenden Technologie. Das Verfahren 900 kann dem Erzeugen eines MVR (z. B. dem validierten MVR) zum Greifen, Manipulieren und/oder Registrieren von nicht registrierten Objekten dienen. Das Verfahren 900 kann auf Grundlage des Ausführens jeweiliger Anweisungen umgesetzt sein, die in einer oder mehreren Speichervorrichtungen mit einem oder mehreren Prozessoren gespeichert sind.
  • Das Verfahren 900 kann eine Punktwolkensegmentierung umfassen (Block 902). Die Punktwolkensegmentierung kann Schichten (z. B. Objektoberflächen) entsprechend der Höhe wirksam trennen. Das Robotersystem 100 kann die Punktwolkensegmentierung durch Auswerten von Bildgebungsdaten (z. B. 3D-Punktwolken- und/oder visuelle 2D-Bilder) von einem oder mehreren Bildgebungssensoren umsetzen (z. B. dem ersten Bildgebungssensor 212 aus 2). In einigen Ausführungsformen können die Bildgebungsdaten eine Draufsichtdarstellung des Zielobjektes 112 aus 1 und/oder des Zielstapels 210 aus 2 umfassen. Beim Auswerten der Bildgebungsdaten kann das Robotersystem 100 benachbarte Positionen/Abschnitte der Bilddaten/Bildausgabe entsprechend verschiedener erfasster Eigenschaften erkennen und gruppieren. Beispielsweise kann das Robotersystem 100 durchgehende Oberflächen auf Grundlage von Tiefenmaßen, Farben/Helligkeit und/oder anderen erfassten Eigenschaften, wie vorstehend beschrieben, erkennen.
  • In einigen Ausführungsformen kann zu dem Verfahren 900 beispielsweise das Erkennen eines Objektes in getrennten Schichten einer Punktwolke unter Verwendung einer Tiefenunterbrechung und/oder einer Normalentrennung (Block 904) gehören. Beispielsweise kann das Robotersystem 100 die Bildgebungsdaten auswerten, um Tiefenunterbrechungen über eine oder mehrere horizontale Richtungen hinsichtlich der Deckfläche des Zielstapels 210 zu erkennen. Die Tiefenunterbrechungen können auf Grundlage einer Trennung von Bereichen/Oberflächen (z. B. Änderungen der Tiefenwerte) entlang Richtungen ermittelt werden, die Normalen zu den erkannten Regionen/Oberflächen bilden. Dementsprechend kann das Robotersystem 100 durchgehende Oberflächen/Schichten und die jeweiligen Objekte erkennen.
  • Zu dem Verfahren 900 kann das Verarbeiten der getrennten Schichten gehören, um Ecken und Kanten zu erkennen (Block 906). Das Robotersystem 100 kann die Bilddaten und/oder die ermittelten Oberflächen/Schichten verarbeiten, um exponierte 3D-Ecken (z. B. die exponierten Außenecken 326 aus 3C) und/oder exponierte Kanten (z. B. die exponierten Kanten 322 aus 3C) zu erkennen. In einigen Ausführungsformen kann das Robotersystem 100 beispielsweise die exponierten Kanten 322 als Positionen erkennen, die der Tiefendifferenz entsprechen. Dementsprechend können die exponierten Kanten 322 (z. B. offene Kanten) zwei Seiten begrenzen oder diese definieren, die verschiedene Tiefenwerte aufweisen.
  • Wie vorstehend beschrieben, kann das Robotersystem 100 zudem die exponierten Außenecken 326 auf Grundlage des Erkennens von Positionen ableiten, an denen die exponierten Kanten 322 sich in einem Winkel schneiden, der eine oder mehrere vorbestimmte Eckschwellen erfüllt. Dementsprechend können die resultierenden exponierten Außenecke 326 einen Quadranten um die Ecke mit übereinstimmenden oder ähnlichen Tiefenmaßen aufweisen, während die übrigen Quadranten verschiedene Tiefenmaße aufweisen. In einigen Fällen, wie etwa bei Objekten, die eine Außenecke des Stapels bilden, können die Tiefenmaße in den umgebenden drei Quadranten einem leeren Raum entsprechen und eine dünne Punktwolke (z. B. bekannte Tiefenmaße) und/oder Punktwolkenrauschen aufweisen.
  • In einigen Ausführungsformen kann das Robotersystem 100 die exponierten Außenecken 326 zudem in eine Rangfolge bringen. Beispielsweise können die Außenecken, die weiter von anderen Schichten/Oberflächen entfernt sind, höher eingestuft/bewertet werden als Ecken, die horizontal näher an anderen Oberflächen sind, da die Außenecken, die weiter von anderen Schichten/Oberflächen entfernt sind, für einen Greif- oder Übertragungsvorgang zugänglicher sein und/oder eine geringere Wahrscheinlichkeit aufweisen können, dass benachbarte Objekte gegriffen oder gestört werden. Zudem kann das Robotersystem 100 die exponierten Außenecken in Relation zu den anderen Instanzen der exponierten Außenecken höher einstufen oder bewerten, wenn die Ecken weiter von einem zentralen Teil des Stapels/der Palette entfernt sind, wenn der umgebende Raum leerer oder näher an Rauschmustern ist und/oder wenn die Oberfläche höher über dem Boden liegt (z. B. näher an dem Draufsichtsensor).
  • Das Robotersystem 100 kann zusätzlich oder alternativ 2D-Kanten auf Grundlage des Auswertens von 2D-/visuellen Bildern ermitteln. In einigen Ausführungsformen kann das Robotersystem 100 die 2D-Kanten verwenden, um die exponierten Kanten 322 zu erkennen und/oder zu verifizieren.
  • Das Robotersystem 100 kann zudem die unvollständigen Kanten 712 aus 7 (z.B. die erkannten Linien 422) erkennen. Die unvollständigen Kanten 712 können unter Verwendung einer 2D- und/oder 3D-Auswertung erkannt werden. Wie vorstehend beschrieben, kann das Robotersystem 100 die unvollständigen Kanten 712 als 2D- und/oder 3D-Kanten erkennen, die andere Kanten nicht in Winkeln schneiden, die vorbestimmte Eckschwellen erfüllen, wie etwa zwischen 80°-100°. Die unvollständigen Kanten 712 können Mustern auf Objektoberflächen, tatsächlichen Kanten von Objekten, Lücken an den Objektoberflächen und/oder Lücken zwischen Objekten entsprechen. Dementsprechend kann das Robotersystem 100 die unvollständigen Kanten 712 entsprechend der nachstehenden Beschreibung für das Ableiten der verifizierten MVR weiter verarbeiten.
  • Zu dem Verfahren 900 kann das Erzeugen eines anfänglichen MVR gehören (Block 908). Das Robotersystem 100 kann den anfänglichen MVR 710 auf Grundlage der exponierten Außenecken 326 erzeugen. In einigen Ausführungsformen kann das Robotersystem 100 die exponierten Außenecken 326 auswählen/verarbeiten, die sich am höchsten über dem Boden und/oder am weitesten von der Mitte vor anderen befinden. Die exponierte 3D-Ecke und die exponierten Kanten können zusammen die Grundlage für das Erzeugen des anfänglichen MVR 710 bilden. Zu dem Erzeugen des anfänglichen MVR 710 können das Verarbeiten der getrennten Schichten der Punktwolke und das Durchführen einer weiteren Segmentierung jeder Schicht (d. h. der obersten Schicht) unter Verwendung von Kanten gehören, die anhand von Bildern erkannt wurden. Anders ausgedrückt, kann das Robotersystem 100 die verschiedenen Schichten/Flächen kombinieren, die aus den 3D-Segmentierungen mit Positionen von 2D-Kanten resultieren. Unter Verwendung der Positionen der 2D-/visuellen Kanten kann das Robotersystem 100 die 3D-Schichten weiter segmentieren. Das Robotersystem 100 kann die resultierenden Segmente oder Flächen der 3D-Schichten auswerten, um zu ermitteln, ob die Segmente mindestens eine exponierte Außenecke 326 enthalten und/oder ob die Segmentabmessungen Unter-/Obergrenzen erfüllen. Das Robotersystem 100 kann die Segmente, die eine oder beide dieser Bedingungen erfüllen, als den anfänglichen MVR 710 ermitteln.
  • Zusätzlich oder alternativ kann das Robotersystem 100 den anfänglichen MVR 710 durch Verlängern oder Nachverfolgen der ausgewählten exponierten Außenecke 326 (z.B. der exponierten Außenecke 614 aus 6) entlang der exponierten Kanten 322 ableiten. Bei dem Nachverfolgen der Kanten kann das Robotersystem 100 gegenüberliegende Kanten erkennen (Block 910). Beispielsweise kann das Robotersystem 100 verschiedene Positionen entlang der exponierten Kanten 322 inkrementell prüfen, um zu verifizieren, ob das nachverfolgte Segment eine Kurve beschreibt oder von einem anderen 2D-/3D-Segment unter Bildung eines Winkels geschnitten wird. In einigen Ausführungsformen kann das Robotersystem 100 den erkannten Winkel durch Vergleichen des Winkels mit einem Schwellenwinkelbereich testen. Beispielsweise kann der Schwellenwinkelbereich rechten Winkeln (z. B. 70°-110°) entsprechen, um rechteckige Oberflächen und/oder Kartons zu verarbeiten. Dementsprechend kann das Robotersystem 100 Kanten erkennen, die einer oder mehreren der exponierten Kanten 322 gegenüberliegen oder diesen anderweitig entsprechen (z. B. parallel dazu sind). Zudem kann das Robotersystem 100 in einigen Ausführungsformen Schnittpunkte mit den unvollständigen Kanten 712 ignorieren. Dementsprechend kann das Robotersystem 100 die exponierten Kanten 322 von der exponierten Außenecke 614 nachverfolgen, um die gegenüberliegenden Kanten zu erkennen.
  • Zu dem Erzeugen des anfänglichen MVR kann das Berechnen eines oder mehrerer Abstände gehören, die mit den gegenüberliegenden Paaren der offenen Kante und der gegenüberliegenden Kante assoziiert sind (Block 912). Anders ausgedrückt, kann das Robotersystem 100 eine oder mehrere Abmessungen der Fläche berechnen, die durch die exponierten Kanten 322 und die gegenüberliegenden Kanten definiert wird. Das Robotersystem 100 kann die Abmessungen entsprechend einer vorbestimmten Abbildung zwischen Teilen in dem Bild und realen Orten berechnen. Zudem kann das Robotersystem 100 eine vorbestimmte Gleichung verwenden, die reale Abmessungen auf Grundlage des Tiefenmaßes für die erkannten Kanten und/oder horizontale Abstände zwischen den Kanten in den 2D-/3D-Bildern berechnet.
  • In einigen Ausführungsformen kann das Robotersystem 100 beispielsweise zunächst die eine oder die mehreren Abmessungen berechnen und die sich schneidenden Kanten dann weiter untersuchen. Das Robotersystem 100 kann die Trennung zwischen einer Paarung der exponierten Kante 322 und der gegenüberliegenden/schneidenden Kante an zwei verschiedenen Positionen berechnen, wie etwa an zwei gegenüberliegenden Enden der schneidenden Kante und/oder an zwei anderen Punkten, die durch einen vorbestimmten Abstand entlang der Kanten getrennt sind. Das Robotersystem 100 kann die schneidenden Kanten als die gegenüberliegenden Kanten erkennen oder verifizieren, wenn die beiden Abstände in einem Grenzbereich voneinander liegen, wie etwa bei parallelen Linien.
  • Das Robotersystem 100 kann die Kanten testen, um weitere Prozesse zu steuern (Entscheidungsblock 914). Beispielsweise kann das Robotersystem 100 testen, ob die schneidenden Kanten in Bereichen liegen, die durch die exponierten Kanten definiert werden. In einigen Ausführungsformen kann das Robotersystem 100 auf Grundlage des Vergleichens der Tiefenmaße, der Farbe, der Helligkeit usw. zwischen der exponierten Kante und der jeweiligen möglichen gegenüberliegenden/schneidenden Kante testen. Zudem kann das Robotersystem 100 beispielsweise testen, ob der Abstand zwischen einem Paar von Kanten (z. B. die exponierte Kante und die jeweilige mögliche gegenüberliegende/schneidende Kante) einen oder mehrere Schwellenwerte erfüllt (z. B. eine MVR-Mindestabmessung und/oder eine MVR-Maximalabmessung). Wenn die möglichen schneidenden Kanten den Test nicht bestehen, kann das Robotersystem 100 sich weiter entlang der exponierten Kanten bewegen, um gegenüberliegende parallele Kanten zu erkennen (Schleife zurück zu Block 910). Der iterative Prozess kann durchgeführt werden, bis die Testbedingungen erfüllt sind oder bis eine MVR-Maximalabmessung entlang der exponierten Kanten erreicht ist.
  • Wenn die gegenüberliegende parallele Kante (z. B. die gegenüberliegenden parallelen Kanten 724/728 aus 7) die erforderliche/n Bedingung/en erfüllt, gehört zu dem Verfahren 900 das Erkennen zusätzlicher MVR-Bereiche (Block 916). Dazu kann das Verlängern nach außen in die X- und Y-Richtungen von dem anfänglichen MVR gehören (z. B. dem anfänglichen MVR 710), um übrige Teile der Schicht/Fläche abzudecken. Beispielsweise kann das Robotersystem 100 die zusätzlichen plausiblen MVR-Bereiche 812a-b auf Grundlage des Auswertens von Teilen der 2D- und/oder der 3D-Bilder erkennen, wie etwa durch Abgleichen visueller Eigenschaften/Tiefenwerte und Verifizieren/Testen der möglichen Flächen entsprechend der vorstehenden Beschreibung.
  • Zu dem Verfahren 900 kann das Erzeugen eines zusammengeführten MVR gehören (Block 918). Das Robotersystem 100 kann den zusammengeführten MVR durch Kombinieren der erweiterten Bereiche (z. B. der zusätzlichen plausiblen MVR-Bereiche 812a-b aus 8) und des anfänglichen MVR 710 erzeugen.
  • Zu dem Verfahren 900 kann das Verifizieren des zusammengeführten MVR gehören (Block 920). Zu dem Verifizieren des zusammengeführten MVR kann das Ermitteln gehören, ob der zusammengeführte MVR größer ist als eine vorbestimmte Obergrenze (Block 922). Wenn der zusammengeführte MVR beispielsweise größer ist als eine Obergrenze (d. h. entsprechend den Abmessungen der möglichen Maximalgröße), kann das Robotersystem 100 den zusammengeführten MVR ablehnen und einen verifizierten MVR erzeugen, der den anfänglichen MVR 710 ohne die zusätzlichen plausiblen MVR-Bereiche enthält (Block 928).
  • Wenn der zusammengeführte MVR kleiner ist als die Obergrenze, kann zu dem Verfahren 900 das Nachverfolgen der exponierten Kanten gehören, bis eine unvollständige Kante erreicht ist (Block 924). Beispielsweise kann das Robotersystem 100 eine zweite 3D-Ecke (z. B. eine separate Instanz der exponierten Außenecke 326) erkennen, die der Referenz-/beginnenden offenen 3D-Ecke entsprechen der 3D-Bilddaten diagonal gegenüberliegt. Das Robotersystem 100 kann die zweite 3D-Ecke auf Grundlage des Vergleichens von Positionen der exponierten Außenecken 326 in Relation zu den exponierten Kanten und/oder den gegenüberliegenden Kanten erkennen. In einigen Ausführungsformen kann das Robotersystem 100 die zweite 3D-Ecke als die Schnittstelle der gegenüberliegenden Kanten und/oder der Ecke des zusammengeführten MVR erkennen. Das Robotersystem 100 kann von der zweiten 3D-Ecke ausgehen und die jeweiligen Kanten (z. B. die gegenüberliegenden Kanten) in Richtung der ersten/anfänglichen 3D-Ecke nachverfolgen, die als die Referenz für den anfänglichen MVR dient. Beim Nachverfolgen der jeweiligen Kanten kann das Robotersystem 100 andere Kanten erkennen (z. B. die erkannten Linien 422 und/oder die unvollständigen Kanten 712), die beliebige der erkannten offenen/gegenüberliegenden Kanten schneiden und/oder parallel dazu angeordnet sind. Wenn andere derartige Kanten gefunden werden, kann das Robotersystem 100 einen möglichen MVR ableiten, der kleiner ist als der zusammengeführte MVR und/oder kleiner als der anfängliche MVR 710.
  • Das Robotersystem 100 kann die Kanten iterativ nachverfolgen, die der zweiten 3D-Ecke entsprechen, und den zweiten möglichen MVR anpassen/verkleinern (Block 926). In einigen Ausführungsformen kann das Robotersystem 100 den iterativen Prozess anhalten, (1) wenn eine oder mehrere Abmessungen des zweiten möglichen MVR eine Untergrenze und/oder eine Obergrenze verletzen, und/oder, (2) wenn keine unvollständigen und/oder parallelen Kanten in dem zweiten möglichen MVR vorhanden sind. Wenn der zweite mögliche MVR nicht weiter verkleinert werden kann, kann das Robotersystem 100 den verifizierten MVR als die letzte/kleinste Instanz des zweiten möglichen MVR erzeugen, die der Obergrenze/Untergrenze entsprochen hat (Block 928). Dies kann darauf hindeuten, dass keine weiteren unvollständigen Kanten in dem Bereich zwischen dem anfänglichen MVR und dem Bereich verbleiben, der durch Kanten mit einer Länge einer möglichen Mindestgröße definiert ist.
  • Dadurch, dass das Robotersystem 100 3D-Kanten und 2D-Kanten iterativ erkennt und validiert, wird eine höhere Genauigkeit für den MVR gewährleistet. Die Mehrheit der Kanten in 2D-/3D-Bildern können vollständig sein (z. B. erkennbar, parallel ausgerichtet/angeordnet und/oder senkrecht zueinander und/oder andere Kanten schneidend). Dementsprechend kann das Robotersystem 100 die vollständigen Kanten verwenden, um Teile der Bilddaten in Bereiche oder Schichten zu teilen, wie vorstehend beschrieben. Das Robotersystem 100 kann zudem andere Kanten auswerten (z. B. 2D-Kanten, unvollständige Kanten usw.), da tatsächliche Kanten unter Umständen in den Bilddaten nicht vollständig/genau erfasst sind. Eine höhere Genauigkeit des MVR kann eine bessere Effizienz beim Manipulieren und/oder Registrieren nicht registrierter Objekte bieten. Die höhere Genauigkeit hinsichtlich des MVR kann die Wahrscheinlichkeit erhöhen, dass eine einzelne Instanz des unerkannten Objektes gegriffen wird und/oder dass das unerkannte Objekt näher an der Position des Schwerpunktes (CoM) gegriffen wird. Dementsprechend kann das Robotersystem 100 Fehler verringern, die mit einem ungenauen Greifen der nicht registrierten Objekte assoziiert sind.
  • Beispielhaftes Verarbeitungssystem
  • 10 ist ein Blockdiagramm, das ein beispielhaftes Verarbeitungssystem 1000 veranschaulicht, in dem mindestens einige der in der vorliegenden Schrift beschriebenen Vorgänge ausgeführt werden können. Wie in 10 gezeigt, können zu dem Verarbeitungssystem 1000 eine oder mehrere zentrale Recheneinheiten („Prozessoren“) 1002, ein Hauptspeicher 1006, ein nichtflüchtiger Speicher 1010, ein Netzwerkadapter 1012 (z.B. Netzwerkschnittstellen), eine Videoanzeige 1018, Eingabe-/Ausgabevorrichtungen 1020, eine Steuerung 1022 (z. B. Tastatur und Zeigevorrichtungen), eine Festplatteneinheit 1024, einschließlich eines Speichermediums 1026, und eine Signalerzeugungsvorrichtung 1030 gehören, die kommunikativ mit einem Bus 1016 verbunden sind. Der Bus 1016 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 1016 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-13104-Bus, auch als „Firewire“ bezeichnet, gehören.
  • In verschiedenen Ausführungsformen arbeitet das Verarbeitungssystem 1000 als Teil einer Benutzervorrichtung, wenngleich das Verarbeitungssystem 1000 auch mit der Benutzervorrichtung verbunden sein kann (z. B. drahtgebunden oder drahtlos). In einer vernetzten Anwendung kann das Verarbeitungssystem 1000 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 1000 kann ein Servercomputer, ein Client-Computer, ein PC, ein Tablet, ein Laptop-Computer, ein PDA, 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 (der Reihe nach oder anderweitig), die durch das Verarbeitungssystem 1000 zu ergreifende Maßnahmen vorgeben.
  • Während der Hauptspeicher 1006, der nichtflüchtige Speicher 1010 und das Speichermedium 1026 (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 (z. B. eine zentrale oder verteilte Datenbank und/oder assoziierte Caches und Server), die einen oder mehrere Sätze Anweisungen 1028 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 ausgeführt werden, um die Ausführungsformen der Offenbarung umzusetzen, 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, umgesetzt sein. Die Computerprogramme umfassen in der Regel eine oder mehrere Anweisungen (z. B. die Anweisungen 1004, 1008, 1028) 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 1002 ausgelesen und ausgeführt werden, das Verarbeitungssystem 1000 veranlassen, Vorgänge auszuführen, um Elemente auszuführen, die die verschiedenen Aspekte der Offenbarung einbeziehen.
  • Zudem wird, wenngleich Ausführungsformen im Zusammenhang mit vollständig funktionsfähigen Computern und Computersystemen beschrieben wurden, der Fachmann erkennen, dass die verschiedenen Ausführungsformen als ein Programmprodukt in einer Vielzahl von Formen verteilt sein können und dass die Offenbarung ungeachtet der konkreten Art der maschinen- oder computerlesbaren Medien gleichwohl anwendbar ist, 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-Rechendiensten 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 1010, Floppy- und andere herausnehmbare Disketten, Festplattenlaufwerke, optische Datenträger (z. B. Compact Disk Read-Only Memory (CD ROM), Digital Versatile Disks (DVDs)), und Übertragungsmedien, wie etwa digitale und analoge Kommunikationsverbindungen.
  • Der Netzwerkadapter 1012 erlaubt dem Verarbeitungssystem 1000 ein Vermitteln von Daten in einem Netzwerk 1014 mit einer Einheit, die zu dem Verarbeitungssystem 1000 extern ist, unter Anwendung beliebiger bekannter und/oder praktischer Kommunikationsprotokolle, die durch das Verarbeitungssystem 1000 und die externe Einheit unterstützt werden. Zu dem Netzwerkadapter 1012 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, ein Protokollkonverter, ein Gateway, eine Brücke, ein Brückenrouter, ein Hub, ein digitaler Medienreceiver und/oder ein Repeater.
  • Zu dem Netzwerkadapter 1012 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 Fluss von Traffic 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 zu einem Verfahren zum Betreiben eines Robotersystems Folgendes gehören: Empfangen von Bilddaten, die einen Zielstapel darstellen, der ein oder mehrere nicht registrierte Objekte enthält; Erkennen einer exponierten Außenecke und exponierter Kanten, die damit assoziiert sind, durch Erkennen getrennter Schichten in den Bilddaten, wobei die exponierte Außenecke und die jeweiligen exponierten Kanten ein nicht registriertes Objekt darstellen; Erkennen von gegenüberliegenden Kanten, die den exponierten Kanten entsprechen, auf Grundlage des Erkennens einer oder mehrerer anderer Kanten, die die exponierten Kanten schneiden; Verifizieren der gegenüberliegenden Kanten auf Grundlage des Vergleichens einer Ausrichtung der gegenüberliegenden Kanten mit der Ausrichtung der exponierten Kanten; Erzeugen eines anfänglichen geeigneten Mindestbereichs (MVR), der einen Bereich darstellt, der von der exponierten Außenecke entlang der exponierten Kanten zu den verifizierten gegenüberliegenden Kanten verläuft; und Erzeugen eines verifizierten MVR auf Grundlage des Anpassens des anfänglichen MVR und des Testens eines jeweiligen Ergebnisses, wobei der verifizierte MVR eine geschätzte Oberfläche oder einen Teil davon von einem der nicht registrierten Objekte darstellt. Zu den exponierten Kanten können eine erste exponierte Kante und eine zweite exponierte Kante gehören, die die exponierte Außenecke definieren; die gegenüberliegenden Kanten können ein anfänglicher Satz gegenüberliegender Kanten sein, die eine erste anfängliche gegenüberliegende Kante und eine zweite anfängliche gegenüberliegende Kante umfassen, wobei die erste anfängliche gegenüberliegende Kante und die zweite anfängliche gegenüberliegende Kante laut Ermittlung parallel zu der ersten exponierten Kante bzw. der zweiten exponierten Kante sind; und zu dem Erzeugen des verifizierten MVR kann Folgendes gehören: Erkennen einer weiteren gegenüberliegenden Kante, die die erste exponierte Kante an einer Position schneidet, die hinter der zweiten anfänglichen gegenüberliegenden Kante in Relation zu der exponierten Außenecke liegt, wobei die weitere gegenüberliegende Kante laut Ermittlung parallel zu der zweiten anfänglichen gegenüberliegenden Kante und der zweiten exponierten Kante ist; Erkennen eines zusätzlichen plausiblen MVR-Bereichs mit einer Fläche zwischen den gegenüberliegenden Kanten und der weiteren gegenüberliegenden Kante; und Testen eines möglichen MVR, der das mögliche MVR-Segment und den anfänglichen MVR miteinander kombiniert. Zu dem Testen kann das Verifizieren gehören, ob eine oder mehrere Abmessungen des möglichen MVR eine maximale und/oder eine minimale Abmessungsgrenze für MVR erfüllen; und/oder das Verifizieren, ob Tiefenmessungen, Farben, Helligkeit oder eine Kombination daraus für Teile der Bildgebungsdaten, die dem möglichen MVR-Segment und dem anfänglichen MVR entsprechen, in einem Schwellenkontinuitätsbereich voneinander liegen. Der verifizierte MVR kann den anfänglichen MVR ohne das mögliche MVR-Segment umfassen, wenn der mögliche MVR einen oder mehrere vorbestimmte Schwellenwerte nicht erfüllt.
  • In einigen Ausführungsformen können zu den exponierten Kanten eine erste exponierte Kante und eine zweite exponierte Kante gehören, die die exponierte Außenecke definieren; die gegenüberliegenden Kanten sind ein anfänglicher Satz gegenüberliegender Kanten, die eine erste anfängliche gegenüberliegende Kante und eine zweite anfängliche gegenüberliegende Kante umfassen, wobei die erste anfängliche gegenüberliegende Kante und die zweite anfängliche gegenüberliegende Kante laut Ermittlung parallel zu der ersten exponierten Kante bzw. der zweiten exponierten Kante sind; und zu dem Erzeugen des verifizierten MVR kann Folgendes gehören: Erkennen einer weiteren gegenüberliegenden Kante zwischen der zweiten anfänglichen gegenüberliegenden Kante und der exponierten Außenecke, wobei die weitere gegenüberliegende Kante laut Ermittlung parallel zu der zweiten anfänglichen gegenüberliegenden Kante und der zweiten exponierten Kante ist; Erkennen eines verkleinerten möglichen MVR als eine Fläche in dem anfänglichen MVR, die durch die weitere gegenüberliegende Kante begrenzt wird, anstelle der zweiten anfänglichen gegenüberliegenden Kante, und Testen des verkleinerten möglichen MVR. Zu dem Erzeugen des verifizierten MVR kann zudem das Setzen des verkleinerten möglichen MVR als den verifizierten MVR gehören, wenn eine oder mehrere Abmessungen des möglichen MVR einer maximalen und/oder einer minimalen Abmessungsgrenze für MVR entsprechen.
  • In einigen Ausführungsformen kann zu dem Erkennen der weiteren gegenüberliegenden Kante zudem Folgendes gehören: Erkennen einer zweiten Ecke, die mit dem anfänglichen Satz gegenüberliegender Kanten assoziiert ist; Suchen nach einer Schnittstelle mit der weiteren gegenüberliegenden Kante beim Bewegen weg von der zweite Ecke entlang der ersten anfänglichen gegenüberliegenden Kante; und Testen einer Ausrichtung der weiteren gegenüberliegenden Kante auf Grundlage des Verifizierens, (1) dass ein Winkel zwischen der weiteren gegenüberliegenden Kante und der ersten anfänglichen gegenüberliegenden Kante in einem Schwellenbereich liegt, der einen rechten Winkel darstellt, und/oder, (2) dass ein Satz Abstände zwischen mehreren Sätzen jeweiliger Punkte entlang der weiteren gegenüberliegenden Kante und der zweiten exponierten Kante in einem Schwellenbereich zueinander liegen. In einigen Ausführungsformen können die Bilddaten Folgendes umfassen: (1) eine 3D-Bildgebungsausgabe mit Tiefenmaßen für Positionen entlang einer horizontalen Ebene und (2) eine 2D-Bildgebungsausgabe, die den Zielstapel visuell entlang der horizontalen Ebene darstellt; zu dem Erkennen der exponierten Kanten kann Folgendes gehören: Erkennen jeder der getrennten Schichten als einen Satz benachbarter Positionen entlang der horizontalen Ebene der 3D-Bildgebungsausgabe, deren Tiefenmaße in einem Schwellenbereich voneinander liegen, und Erkennen peripherer Grenzen der getrennten Schichten als 3D-Kanten; zu dem Erkennen der exponierten Außenecke kann das Auswählen einer Schnittstelle gehören, die durch einen Satz der 3D-Kanten gebildet wird, wobei der Satz 3D-Kanten die exponierten Kanten sind; und zu dem Erkennen der weiteren gegenüberliegenden Kante kann das Erkennen einer unvollständigen Kante und/oder einer erkannten Linie auf Grundlage des Auswertens der 3D-Bildgebungsausgabe, der 2D-Bildgebungsausgabe oder einer Kombination davon gehören. Zu dem Erzeugen des verifizierten MVR kann zudem das Erkennen einer 3D-Kante auf Grundlage des Auswertens der 3D-Bildgebungsausgabe gehören, wobei die 3D-Kante (1) näher an der exponierten Außenecke entlang der ersten exponierten Kante liegt als die zweite anfängliche gegenüberliegende Kante und (2) parallel zu der zweiten anfänglichen gegenüberliegenden Kante und der zweiten exponierten Kante ist; das Anpassen des anfänglichen MVR, damit dieser zusätzlich eine Fläche zwischen der zweiten anfänglichen gegenüberliegenden Kante und der 3D-Kante umfasst; wobei: die weitere gegenüberliegende Kante ein Ergebnis der Auswertung von Teilen der 2D-Bildgebungsausgabe ist, die dem angepassten anfänglichen MVR entspricht; und der verkleinerte mögliche MVR die Fläche in dem angepassten anfänglichen MVR umfasst.
  • In einigen Ausführungsformen kann zu einem Robotersystem Folgendes gehören: mindestens ein Prozessor; und mindestens eine Speichervorrichtung, die mit dem mindestens einen Prozessor verbunden ist und auf der von dem Prozessor ausführbare Anweisungen für Folgendes gespeichert sind: Empfangen von Bilddaten, die einen Zielstapel darstellen, der ein oder mehrere nicht registrierte Objekte enthält; Erkennen einer exponierten Außenecke und exponierter Kanten, die damit assoziiert sind, auf Grundlage des Auswertens der Bilddaten, wobei die exponierte Außenecke und die jeweiligen exponierten Kanten ein nicht registriertes Objekt darstellen; Erzeugen eines anfänglichen geeigneten Mindestbereichs (MVR), der einen Bereich darstellt, der von der exponierten Außenecke entlang der exponierten Kanten zu den gegenüberliegenden Kanten verläuft; und Erzeugen eines verifizierten MVR auf Grundlage des Anpassens des anfänglichen MVR und des Testens eines jeweiligen Ergebnisses. Die mindestens eine Speichervorrichtung kann Anweisungen für Folgendes umfassen: Empfangen der Bilddaten mit 3D-Tiefenmaßen; Erkennen der exponierten Außenecke auf Grundlage von Folgendem: Erkennen von Oberflächen auf Grundlage der 3D-Tiefenmaße, wobei jede der Oberflächen einen Satz benachbarter Positionen mit den 3D-Tiefenmaßen in einem Schwellenkontinuitätsbereich umfasst, Erkennen von 3D-Kanten auf Grundlage der erkannten Oberflächen, wobei die 3D-Kanten seitlichen Grenzen der Oberflächen entsprechen, Erkennen der exponierten Außenecke als eine Schnittstelle zwischen einer ersten 3D-Kante und einer zweiten 3D-Kante, die eine der Oberflächen begrenzt, wobei das Paar der 3D-Kanten den exponierten Kanten entspricht; und Erzeugen des anfänglichen MVR auf Grundlage von Folgendem: Erkennen einer ersten gegenüberliegenden Kante beim Bewegen entlang der zweiten 3D-Kante weg von der exponierten Außenecke, wobei die erste gegenüberliegende Kante eine Instanz der 3D-Kanten ist, die mit der ersten 3D-Kante assoziiert sind; und Erkennen einer zweiten gegenüberliegenden Kante beim Bewegen entlang der ersten 3D-Kante weg von der exponierten Außenecke, wobei die zweite gegenüberliegende Kante eine Instanz der 3D-Kanten ist, die mit der zweiten 3D-Kante assoziiert sind, wobei der anfängliche MVR eine Fläche umfasst, die durch die exponierten Kanten und die erste und die zweite gegenüberliegende Kante begrenzt ist. Die Anweisungen zum Erzeugen des verifizierten MVR können auf Folgendem basieren: Erkennen einer weiteren gegenüberliegenden Kante beim Bewegen von der zweiten gegenüberliegenden Kante entlang der ersten 3D-Kante und weg von der exponierten Außenecke, wobei die weitere gegenüberliegenden Kante, die zweite 3D-Kante und die zweiten gegenüberliegenden Kanten laut Ermittlung parallel zueinander sind; und Testen eines möglichen MVR, der den anfänglichen MVR und eine Fläche zwischen der weiteren gegenüberliegenden Kante und der zweiten gegenüberliegenden Kante entsprechend einer maximalen und/oder einer minimalen Abmessungsschwelle kombiniert. Die Anweisungen zum Erzeugen des verifizierten MVR können das Erzeugen des verifizierten MVR mit dem anfänglichen MVR umfassen, wie etwa ohne die Fläche zwischen der weiteren gegenüberliegenden Kante und der zweiten gegenüberliegenden Kante, wenn der mögliche MVR die maximale und/oder die minimale Abmessungsschwelle nicht erfüllt. Die Anweisungen zum Erzeugen des verifizierten MVR können zudem das Erzeugen des verifizierten MVR mit dem möglichen MVR umfassen, wenn der mögliche MVR die maximale und/oder die minimale Abmessungsschwelle erfüllt.
  • In einigen Ausführungsformen können auf einem materiellen, nichtflüchtigen computerlesbaren Medium durch den Prozessor ausführbare Anweisungen gespeichert sein, die bei Ausführung durch einen Prozessor den Prozessor veranlassen: Bilddaten zu empfangen, die einen Zielstapel darstellen, der ein oder mehrere nicht registrierte Objekte enthält; eine exponierte Außenecke und exponierte Kanten, die damit assoziiert sind, auf Grundlage des Auswertens der Bilddaten zu erkennen, wobei die exponierte Außenecke und die jeweiligen exponierten Kanten ein nicht registriertes Objekt darstellen; einen anfänglichen geeigneten Mindestbereich (MVR) zu erzeugen, der einen Bereich darstellt, der von der exponierten Außenecke entlang der exponierten Kanten zu gegenüberliegenden Kanten verläuft; und einen verifizierten MVR auf Grundlage des Anpassens des anfänglichen MVR und des Testens eines jeweiligen Ergebnisses zu erzeugen. Die durch den Prozessor ausführbaren Anweisungen können den Prozessor zudem veranlassen: die Bilddaten mit 3D-Tiefenmaßen zu empfangen; die exponierte Außenecke und die exponierten Kanten auf Grundlage des Auswertens der Bilddaten entsprechend den 3D-Tiefenmaßen zu erkennen; den anfänglichen MVR auf Grundlage des Erkennens einer ersten gegenüberliegenden Kante und einer zweiten gegenüberliegenden Kante zu erzeugen, wobei die erste gegenüberliegende Kante eine Instanz der 3D-Kanten, die mit einer ersten exponierten Kante der exponierten Kanten assoziiert sind, und der zweiten gegenüberliegenden Kante, die mit einer zweiten exponierten Kante der exponierten Kanten assoziiert ist, ist; und wobei: der anfängliche MVR eine Fläche umfasst, die durch die exponierten Kanten und die erste und die zweite gegenüberliegende Kante begrenzt ist. Die durch den Prozessor ausführbaren Anweisungen können den Prozessor zudem veranlassen, den verifizierten MVR auf Grundlage von Folgendem zu erzeugen: Erkennen einer weiteren gegenüberliegenden Kante zwischen der zweiten anfänglichen gegenüberliegenden Kante und der exponierten Außenecke, wobei die weitere gegenüberliegende Kante, die zweite exponierte Kante und die zweite anfängliche gegenüberliegende Kante laut Ermittlung parallel zueinander sind; und Erkennen eines verkleinerten möglichen MVR als eine Fläche in dem anfänglichen MVR, die durch die weitere gegenüberliegende Kante anstelle der zweiten anfänglichen gegenüberliegenden Kante begrenzt ist. Die durch den Prozessor ausführbaren Anweisungen können den Prozessor zudem veranlassen, die weitere gegenüberliegende Kante auf Grundlage von Folgendem zu erkennen: Erkennen einer zweiten Ecke, die der exponierten Außenecke diagonal gegenüberliegt; Suchen nach der weiteren gegenüberliegenden Kante beim Bewegen weg von der zweiten Ecke entlang der ersten anfänglichen gegenüberliegenden Kante; und Ermitteln, ob die weitere gegenüberliegende Kante parallel zu der zweiten exponierten Kante ist, und zwar auf Grundlage eines Winkels zwischen der weiteren gegenüberliegenden Kante und der ersten anfänglichen gegenüberliegenden Kante und/oder einem Satz Abstände zwischen mehreren Sätzen entsprechender Punkte entlang der weiteren gegenüberliegenden Kante und der zweiten exponierten Kante. In einigen Ausführungsformen können die durch den Prozessor ausführbaren Anweisungen den Prozessor zudem veranlassen, den verifizierten MVR auf Grundlage von Folgendem zu erzeugen: Vergrößern des anfänglichen MVR entsprechend einer ersten zusätzlichen Kante über eine der exponierten Kanten von der exponierten Außenecke hinaus, wobei die erste zusätzliche Kante eine zweite Ecke umfasst, die der exponierten Außenecke gegenüberliegt; Erkennen einer weiteren gegenüberliegenden Kante auf Grundlage des Bewertens eines oder mehrerer Teile in den Bilddaten von der zweiten Ecke zu der exponierten Außenecke; und Erzeugen des verifizierten MVR als eine Fläche in dem anfänglichen MVR, die durch die weitere gegenüberliegende Kante anstelle der zweiten anfänglichen gegenüberliegenden Kante begrenzt wird.
  • Wie vorstehend angedeutet, können die in der vorliegenden Schrift vorgestellten Techniken beispielsweise durch programmierbare Schaltungen (z. B. einen oder mehrere Mikroprozessoren), programmiert mit Software und/oder Firmware, insgesamt in festverdrahteten (d. h. 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/752756 [0001]
    • US 62/852963 [0001]
    • US 16/290741 [0001]
    • US 10369701 [0001]

Claims (20)

  1. Verfahren, umfassend: Empfangen von Bilddaten, die einen Zielstapel darstellen, der ein oder mehrere nicht registrierte Objekte enthält; Erkennen einer exponierten Außenecke und exponierter Kanten, die damit assoziiert sind, durch Erkennen von getrennten Schichten in den Bilddaten, wobei die exponierte Außenecke und die jeweiligen exponierten Kanten ein nicht registriertes Objekt darstellen; Erkennen gegenüberliegender Kanten, die den exponierten Kanten entsprechen, auf Grundlage des Erkennens einer oder mehrerer anderer Kanten, die die exponierten Kanten schneiden; Verifizieren der gegenüberliegenden Kanten auf Grundlage des Vergleichens einer Ausrichtung der gegenüberliegenden Kanten mit der Ausrichtung der exponierten Kanten; Erzeugen eines anfänglichen geeigneten Mindestbereichs (MVR), der eine Fläche darstellt, die von der exponierten Außenecke entlang der exponierten Kanten zu den verifizierten gegenüberliegenden Kanten verläuft; und Erzeugen eines verifizierten MVR auf Grundlage des Anpassens des anfänglichen MVR und des Testens eines jeweiligen Ergebnisses, wobei der verifizierte MVR eine geschätzte Oberfläche oder einen Teil davon von einem der nicht registrierten Objekte darstellt.
  2. Verfahren nach Anspruch 1, wobei: die exponierten Kanten eine erste exponierte Kante und eine zweite exponierte Kante umfassen, die die exponierte Außenecke definieren; die gegenüberliegenden Kanten ein anfänglicher Satz gegenüberliegender Kanten sind, die eine erste anfängliche gegenüberliegende Kante und eine zweite anfängliche gegenüberliegende Kante umfassen, wobei die erste anfängliche gegenüberliegende Kante und die zweite anfängliche gegenüberliegende Kante laut Ermittlung parallel zu der ersten exponierten Kante bzw. der zweiten exponierten Kante sind; und zu dem Erzeugen des verifizierten MVR Folgendes gehört: Erkennen einer weiteren gegenüberliegenden Kante, die die erste exponierte Kante an einer Position schneidet, die hinter der zweiten anfänglichen gegenüberliegenden Kante liegt, in Relation zu der exponierten Außenecke, wobei die weitere gegenüberliegende Kante laut Ermittlung parallel zu der zweiten anfänglichen gegenüberliegenden Kante und der zweiten exponierten Kante ist; Erkennen eines zusätzlichen plausiblen MVR-Bereichs mit einer Fläche zwischen den gegenüberliegenden Kanten und der weiteren gegenüberliegenden Kante; und Testen eines möglichen MVR, der das mögliche MVR-Segment und den anfänglichen MVR miteinander kombiniert.
  3. Verfahren nach Anspruch 2, wobei zu dem Testen das Verifizieren gehört, ob eine oder mehrere Abmessungen des möglichen MVR einer maximalen und/oder einer minimalen Abmessungsschwelle für MVR entsprechen.
  4. Verfahren nach Anspruch 2, wobei zu dem Testen das Verifizieren gehört, ob Tiefenmessungen, Farben, Helligkeit oder eine Kombination daraus für Teile der Bildgebungsdaten, die dem möglichen MVR-Segment und dem anfänglichen MVR entsprechen, in einem Schwellenkontinuitätsbereich voneinander liegen.
  5. Verfahren nach Anspruch 2, wobei der verifizierte MVR den anfänglichen MVR ohne das mögliche MVR-Segment umfasst, wenn der mögliche MVR einen oder mehrere vorbestimmte Schwellenwerte nicht erfüllt.
  6. Verfahren nach Anspruch 1, wobei: die exponierten Kanten eine erste exponierte Kante und eine zweite exponierte Kante umfassen, die die exponierte Außenecke definieren; die gegenüberliegenden Kanten ein anfänglicher Satz gegenüberliegender Kanten sind, die eine erste anfängliche gegenüberliegende Kante und eine zweite anfängliche gegenüberliegende Kante umfassen, wobei die erste anfängliche gegenüberliegende Kante und die zweite anfängliche gegenüberliegende Kante laut Ermittlung parallel zu der ersten exponierten Kante bzw. der zweiten exponierten Kante sind; und zu dem Erzeugen des verifizierten MVR Folgendes gehört: Erkennen einer weiteren gegenüberliegenden Kante zwischen der zweiten anfänglichen gegenüberliegenden Kante und der exponierten Außenecke, wobei die weitere gegenüberliegende Kante laut Ermittlung parallel zu der zweiten anfänglichen gegenüberliegenden Kante und der zweiten exponierten Kante ist; Erkennen eines verkleinerten möglichen MVR als eine Fläche in dem anfänglichen MVR, die durch die weitere gegenüberliegende Kante anstelle der zweiten anfänglichen gegenüberliegenden Kante begrenzt ist; und Testen des verkleinerten möglichen MVR.
  7. Verfahren nach Anspruch 6, wobei zu dem Erzeugen des verifizierten MVR das Setzen des verkleinerten möglichen MVR als den verifizierten MVR gehört, wenn eine oder mehrere Abmessungen des möglichen MVR einer maximalen und/oder einer minimalen Abmessungsschwelle für MVR entsprechen.
  8. Verfahren nach Anspruch 6, wobei zu dem Erkennen der weiteren gegenüberliegenden Kante Folgendes gehört: Erkennen einer zweiten Ecke, die mit dem anfänglichen Satz gegenüberliegender Kanten assoziiert ist; Suchen nach einer Schnittstelle mit der weiteren gegenüberliegenden Kante beim Bewegen von der zweiten Ecke entlang der ersten anfänglichen gegenüberliegenden Kante; und Testen einer Ausrichtung der weiteren gegenüberliegenden Kante auf Grundlage des Verifizierens, (1) dass ein Winkel zwischen der weiteren gegenüberliegenden Kante und der ersten anfänglichen gegenüberliegenden Kante in einem Schwellenbereich liegt, der einen rechten Winkel darstellt, und/oder, (2) dass ein Satz Abstände zwischen mehreren Sätzen jeweiliger Punkte entlang der weiteren gegenüberliegenden Kante und der zweiten exponierten Kante in einem Schwellenbereich zueinander liegen.
  9. Verfahren nach Anspruch 6, wobei: die Bilddaten (1) eine 3D-Bildgebungsausgabe mit Tiefenmaßen für Positionen entlang einer horizontalen Ebene und (2) eine 2D-Bildgebungsausgabe umfassen, die den Zielstapel entlang der horizontalen Ebene visuell darstellt; zu dem Erkennen der exponierten Kanten Folgendes gehört: Erkennen jeder der getrennten Schichten als einen Satz benachbarter Positionen entlang der horizontalen Ebene der 3D-Bildgebungsausgabe mit Tiefenmaßen in einem Schwellenbereich zueinander, und Erkennen peripherer Grenzen der getrennten Schichten als 3D-Kanten; zu dem Erkennen der exponierten Außenecke das Auswählen einer Schnittstelle gehört, die durch einen Satz der 3D-Kanten gebildet wird, wobei der Satz 3D-Kanten die exponierten Kanten umfasst; und zu dem Erkennen der weiteren gegenüberliegenden Kante das Erkennen einer unvollständigen Kante und/oder einer erkannten Linie auf Grundlage des Auswertens der 3D-Bildgebungsausgabe, der 2D-Bildgebungsausgabe oder einer Kombination daraus gehört.
  10. Verfahren nach Anspruch 9, wobei zu dem Erzeugen des verifizierten MVR Folgendes gehört: Erkennen einer 3D-Kante auf Grundlage des Auswertens der 3D-Bildgebungsausgabe, wobei die 3D-Kante (1) näher an der exponierten Außenecke entlang der ersten exponierten Kante liegt als die zweite anfängliche gegenüberliegende Kante und (2) parallel zu der zweiten anfänglichen gegenüberliegenden Kante und der zweiten exponierten Kante ist; Anpassen des anfänglichen MVR, damit dieser zusätzlich eine Fläche zwischen der zweiten anfänglichen gegenüberliegenden Kante und der 3D-Kante umfasst; wobei: die weitere gegenüberliegende Kante ein Ergebnis der Auswertung von Teilen der 2D-Bildgebungsausgabe ist, entsprechend dem angepassten anfänglichen MVR; und der verkleinerte mögliche MVR die Fläche in dem angepassten anfänglichen MVR umfasst.
  11. 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 von Bilddaten, die einen Zielstapel darstellen, der ein oder mehrere nicht registrierte Objekte enthält; Erkennen einer exponierten Außenecke und exponierter Kanten, die damit assoziiert sind, auf Grundlage der Auswertung der Bilddaten, wobei die exponierte Außenecke und die jeweiligen exponierten Kanten ein nicht registriertes Objekt darstellen; Erzeugen eines anfänglichen geeigneten Mindestbereichs (MVR), der eine Fläche darstellt, die von der exponierten Außenecke entlang der exponierten Kanten zu gegenüberliegenden Kanten verläuft; und Erzeugen eines verifizierten MVR auf Grundlage des Anpassens des anfänglichen MVR und des Testens eines jeweiligen Ergebnisses.
  12. Robotersystem nach Anspruch 11, wobei die mindestens eine Speichervorrichtung Anweisungen für Folgendes umfasst: Empfangen der Bilddaten mit 3D-Tiefenmaßen; Erkennen der exponierten Außenecke auf Grundlage von: dem Erkennen von Oberflächen auf Grundlage der 3D-Tiefenmaße, wobei jede der Oberflächen einen Satz benachbarter Positionen mit den 3D-Tiefenmaßen in einem Schwellenkontinuitätsbereich umfasst, dem Erkennen von 3D-Kanten auf Grundlage der erkannten Oberflächen, wobei die 3D-Kanten seitlichen Grenzen der Oberflächen entsprechen, dem Erkennen der exponierten Außenecke als eine Schnittstelle zwischen einer ersten 3D-Kante und einer zweiten 3D-Kante, die eine der Oberflächen begrenzen, wobei das Paar 3D-Kanten den exponierten Kanten entspricht; und Erzeugen des anfänglichen MVR auf Grundlage von: dem Erkennen einer ersten gegenüberliegenden Kante beim Bewegen entlang der zweiten 3D-Kante weg von der exponierten Außenecke, wobei die erste gegenüberliegende Kante eine Instanz der 3D-Kanten ist, die mit der ersten 3D-Kante assoziiert ist; und dem Erkennen einer zweiten gegenüberliegenden Kante beim Bewegen entlang der ersten 3D-Kante weg von der exponierten Außenecke, wobei die zweite gegenüberliegende Kante eine Instanz der 3D-Kanten ist, die mit der zweiten 3D-Kante assoziiert ist, wobei der anfängliche MVR eine Fläche umfasst, die durch die exponierten Kanten und die erste und die zweite gegenüberliegende Kante begrenzt ist.
  13. Robotersystem nach Anspruch 12, wobei die mindestens eine Speichervorrichtung Anweisungen zum Erzeugen des verifizierten MVR auf Grundlage von Folgendem umfasst: Erkennen einer weiteren gegenüberliegenden Kante beim Bewegen von der zweiten gegenüberliegenden Kante entlang der ersten 3D-Kante und weg von der exponierten Außenecke, wobei die weitere gegenüberliegende Kante, die zweite 3D-Kante und die zweite gegenüberliegende Kante laut Ermittlung parallel zueinander sind; und Testen eines möglichen MVR, der den anfänglichen MVR und eine Fläche zwischen der weiteren gegenüberliegenden Kante und der zweiten gegenüberliegenden Kante entsprechend einer maximalen und/oder einer minimalen Abmessungsschwelle kombiniert.
  14. Robotersystem nach Anspruch 13, wobei die mindestens eine Speichervorrichtung Anweisungen zum Erzeugen des verifizierten MVR mit dem anfänglichen MVR umfasst, ohne die Fläche zwischen der weiteren gegenüberliegenden Kante und der zweiten gegenüberliegenden Kante, wenn der mögliche MVR die maximale und/oder die minimale Abmessungsschwelle nicht erfüllt.
  15. Robotersystem nach Anspruch 13, wobei die mindestens eine Speichervorrichtung Anweisungen zum Erzeugen des verifizierten MVR mit dem möglichen MVR umfasst, wenn der mögliche MVR die maximale und/oder die minimale Abmessungsschwelle erfüllt.
  16. Materielles, nichtflüchtiges computerlesbares Medium mit darauf gespeicherten Anweisungen für den Prozessor, die bei Ausführung durch einen Prozessor den Prozessor veranlassen: Bilddaten zu empfangen, die einen Zielstapel darstellen, der ein oder mehrere nicht registrierte Objekte enthält; eine exponierte Außenecke und exponierte Kanten zu erkennen, die damit assoziiert sind, auf Grundlage der Auswertung der Bilddaten, wobei die exponierte Außenecke und die jeweiligen exponierten Kanten ein nicht registriertes Objekt darstellen; einen anfänglichen geeigneten Mindestbereich (MVR) zu erzeugen, der eine Fläche darstellt, die von der exponierten Außenecke entlang der exponierten Kanten zu gegenüberliegenden Kanten verläuft; und einen verifizierten MVR auf Grundlage des Anpassens des anfänglichen MVR und des Testens eines jeweiligen Ergebnisses zu erzeugen.
  17. Nichtflüchtiges computerlesbares Medium nach Anspruch 16, das zudem den Prozessor veranlasst: die Bilddaten mit 3D-Tiefenmaßen zu empfangen; die exponierte Außenecke und die exponierten Kanten auf Grundlage des Auswertens der Bilddaten entsprechend den 3D-Tiefenmaßen zu erkennen; den anfänglichen MVR auf Grundlage des Erkennens einer ersten gegenüberliegenden Kante und einer zweiten gegenüberliegenden Kante zu erzeugen, wobei die erste gegenüberliegende Kante eine Instanz der 3D-Kanten, die mit einer ersten exponierten Kante der exponierten Kanten assoziiert ist, und der zweiten gegenüberliegenden Kante, die mit einer zweiten exponierten Kante der exponierten Kanten assoziiert ist, ist; und wobei: der anfängliche MVR eine Fläche umfasst, die durch die exponierten Kanten und die erste und die zweite gegenüberliegende Kante begrenzt ist.
  18. Nichtflüchtiges computerlesbares Medium nach Anspruch 17, das zudem den Prozessor veranlasst, den verifizierten MVR auf Grundlage von Folgendem zu erzeugen: Erkennen einer weiteren gegenüberliegenden Kante zwischen der zweiten anfänglichen gegenüberliegenden Kante und der exponierten Außenecke, wobei die weitere gegenüberliegende Kante, die zweite exponierte Kante und die zweite anfängliche gegenüberliegende Kante laut Ermittlung parallel zueinander sind; und Erkennen eines verkleinerten möglichen MVR als eine Fläche in dem anfänglichen MVR, die durch die weitere gegenüberliegende Kante anstelle der zweiten anfänglichen gegenüberliegenden Kante begrenzt ist.
  19. Nichtflüchtiges computerlesbares Medium nach Anspruch 18, das zudem den Prozessor veranlasst, die weitere gegenüberliegende Kante auf Grundlage von Folgendem zu erkennen: Erkennen einer zweiten Ecke, die der exponierten Außenecke diagonal gegenüberliegt; Suchen nach der weiteren gegenüberliegenden Kante beim Bewegen von der zweiten Ecke entlang der ersten anfänglichen gegenüberliegenden Kante; und Ermitteln, ob die weitere gegenüberliegende Kante parallel zu der zweiten exponierten Kante ist, und zwar auf Grundlage eines Winkels zwischen der weiteren gegenüberliegenden Kante und der ersten anfänglichen gegenüberliegenden Kante und/oder einem Satz Abstände zwischen mehreren Sätzen entsprechender Punkte entlang der weiteren gegenüberliegenden Kante und der zweiten exponierten Kante.
  20. Nichtflüchtiges computerlesbares Medium nach Anspruch 16, das zudem den Prozessor veranlasst, den verifizierten MVR auf Grundlage von Folgendem zu erzeugen: Vergrößern des anfänglichen MVR entsprechend einer ersten zusätzlichen Kante über eine der exponierten Kanten von der exponierten Außenecke hinaus, wobei die erste zusätzliche Kante eine zweite Ecke umfasst, die der exponierten Außenecke gegenüberliegt; Erkennen einer weiteren gegenüberliegenden Kante auf Grundlage des Bewertens eines oder mehrerer Teile in den Bilddaten von der zweiten Ecke zu der exponierten Außenecke; und Erzeugen des verifizierten MVR als eine Fläche in dem anfänglichen MVR, die durch die weitere gegenüberliegende Kante anstelle der zweiten anfänglichen gegenüberliegenden Kante begrenzt ist.
DE112019000247.3T 2018-10-30 2019-10-29 Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Erkennung geeigneter Mindestbereiche Pending DE112019000247T5 (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/058656 WO2020092433A1 (en) 2018-10-30 2019-10-29 A robotic system with automated package registration mechanism and minimum viable region detection

Publications (1)

Publication Number Publication Date
DE112019000247T5 true DE112019000247T5 (de) 2020-09-03

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
DE112019000172.8T Pending DE112019000172T5 (de) 2018-10-30 2019-10-29 Ein Robotersystem mit automatisiertem Paketabtast- und Registrierungsmechanismus 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
DE112019000177.9T Pending DE112019000177T5 (de) 2018-10-30 2019-10-29 Ein robotersystem mit automatisiertem paketregistrierungsmechanismus und verfahren zum betreiben dieses systems
DE112019000127.2T Pending DE112019000127T5 (de) 2018-10-30 2019-10-29 Ein robotersystem mit automatisiertem objekterkennungsmechanismus und verfahren zum betreiben dieses systems
DE112019000247.3T Pending DE112019000247T5 (de) 2018-10-30 2019-10-29 Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Erkennung geeigneter Mindestbereiche

Family Applications Before (5)

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
DE112019000172.8T Pending DE112019000172T5 (de) 2018-10-30 2019-10-29 Ein Robotersystem mit automatisiertem Paketabtast- und Registrierungsmechanismus 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
DE112019000177.9T Pending DE112019000177T5 (de) 2018-10-30 2019-10-29 Ein robotersystem mit automatisiertem paketregistrierungsmechanismus und verfahren zum betreiben dieses systems
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 (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9238304B1 (en) * 2013-03-15 2016-01-19 Industrial Perception, Inc. Continuous updating of plan for robotic object manipulation based on received sensor data
CN110893999A (zh) * 2018-09-12 2020-03-20 泰科电子(上海)有限公司 图像采集系统和图像采集方法
WO2020091846A1 (en) 2018-10-30 2020-05-07 Mujin, Inc. Automated package registration systems, devices, and methods
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
US11741566B2 (en) * 2019-02-22 2023-08-29 Dexterity, Inc. Multicamera image processing
US10549928B1 (en) 2019-02-22 2020-02-04 Dexterity, Inc. Robotic multi-item type palletizing and depalletizing
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
CN114096331A (zh) * 2020-06-04 2022-02-25 牧今科技 用于执行或促进物理边缘检测的方法和计算系统
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 北京市商汤科技开发有限公司 一种物品配送方法、装置、设备以及存储介质
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
EP4304818A1 (de) * 2021-03-10 2024-01-17 Aquabot Ltd. System und verfahren zur identifizierung oder erfassung von daten entsprechend einem tragbaren artikel
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
US20220289502A1 (en) * 2021-03-15 2022-09-15 Dexterity, Inc. Adaptive robotic singulation system
KR20230162961A (ko) * 2021-03-26 2023-11-29 보스턴 다이나믹스, 인크. 통합 모바일 조작기 로봇을 위한 동적 질량 추정 방법들
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
US20220375097A1 (en) * 2021-05-18 2022-11-24 Mujin, Inc. Robotic system for object size detection
US20220388171A1 (en) * 2021-06-03 2022-12-08 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 リンクウィズ株式会社 計測システム、計測方法、プログラム
WO2023023369A2 (en) * 2021-08-19 2023-02-23 Rehrig Pacific Company Pallet wrapper and imaging system
WO2023023366A1 (en) 2021-08-19 2023-02-23 Rehrig Pacific Company Imaging system with unsupervised learning
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
JPWO2023054539A1 (de) * 2021-09-28 2023-04-06
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
CN115246547B (zh) * 2021-10-21 2023-09-12 梅卡曼德(北京)机器人科技有限公司 垛型续码方法、装置、计算设备及计算机存储介质
US20230137715A1 (en) * 2021-10-28 2023-05-04 Ubtech North America Research And Development Center Corp Vision-guided picking and placing method, mobile robot and computer-readable storage medium
MX2022013771A (es) 2021-11-01 2023-05-02 Rehrig Pacific Co Sistemas de entrega.
AT525778B1 (de) * 2021-11-09 2023-11-15 Tgw Logistics Group Gmbh Verfahren und Vorrichtung zum Entnehmen eines Ladeguts von einem Stapel
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
KR102521819B1 (ko) * 2023-01-26 2023-04-17 주식회사 브릴스 파렛타이징 시스템
CN117369349B (zh) * 2023-12-08 2024-02-23 如特数字科技(苏州)有限公司 一种远程监测智能机器人的管理系统
CN117532644B (zh) * 2023-12-26 2024-04-12 广东亚数智能科技股份有限公司 一种三维视觉引导机械手抓取装置及其控制方法

Family Cites Families (108)

* 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 村田機械株式会社 パレタイズパターン認識装置
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 ファナック株式会社 ワーク取出し装置
EP1607195B1 (de) 2003-03-27 2011-01-05 Sony Corporation Robotervorrichtung und verfahren zur steuerung derselben
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 株式会社ダイフク 物品移載装置
US20090028686A1 (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
US9089966B2 (en) * 2010-11-17 2015-07-28 Mitsubishi Electric Corporation Workpiece pick-up apparatus
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
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
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 上海沃迪自动化装备股份有限公司 多功能机器人码垛系统
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 ファナック株式会社 バラ積みされた物品をロボットで取出す装置
US9238304B1 (en) 2013-03-15 2016-01-19 Industrial Perception, Inc. Continuous updating of plan for robotic object manipulation based on received sensor data
JP6255706B2 (ja) * 2013-04-22 2018-01-10 富士通株式会社 表示制御装置、表示制御方法、表示制御プログラムおよび情報提供システム
JP5945968B2 (ja) * 2013-09-03 2016-07-05 株式会社安川電機 ロボットハンド、ロボットシステム、及び物品のデパレタイズ方法
JP5897532B2 (ja) 2013-11-05 2016-03-30 ファナック株式会社 三次元空間に置かれた物品をロボットで取出す装置及び方法
CA2879277C (en) 2014-01-22 2021-05-04 Axium Inc. 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 株式会社東芝 荷役装置及びその動作方法
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 株式会社東芝 搬送装置および搬送方法
CA3004711C (en) 2015-11-13 2022-01-11 Berkshire Grey, Inc. Sortation systems and methods for providing sortation of a variety of objects
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
JP6479264B2 (ja) 2017-01-13 2019-03-06 三菱電機株式会社 協働ロボットシステム、及びその制御方法
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 村田機械株式会社 ピッキングシステム
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控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
US10369701B1 (en) 2018-10-30 2019-08-06 Mujin, Inc. Automated package registration systems, devices, and methods
WO2020091846A1 (en) 2018-10-30 2020-05-07 Mujin, Inc. Automated package registration systems, devices, and methods
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE112019000247T5 (de) Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Erkennung geeigneter Mindestbereiche
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
DE102019130923B4 (de) Robotersystem für das palettieren von paketen unter verwendung von echtzeit-platzierungssimulation
DE102020127473A1 (de) Robotersystem mit wandbasiertem packmechanismus und verfahren zum betreiben dieses systems
DE102019009201B3 (de) Ein Robotersytem mit Stückverlustverwaltungsmechanismus
DE102020207368B4 (de) Objekthandhabungssteuervorrichtung, Objekthandhabungsvorrichtung, Objekthandhabungsverfahren und Computerprogrammprodukt
DE112020000067T5 (de) Roboter-mehrfachgreiferbaugruppen und -verfahren zum greifen und halten von objekten
DE102014102943B4 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102019130635A1 (de) Ein robotersystem mit packmechanismus
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
R083 Amendment of/additions to inventor(s)
R082 Change of representative

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