DE102020104468A1 - Robotersystem mit objektidentifizierungs- und handhabungsmechanismus und verfahren zu seinem betrieb - Google Patents

Robotersystem mit objektidentifizierungs- und handhabungsmechanismus und verfahren zu seinem betrieb Download PDF

Info

Publication number
DE102020104468A1
DE102020104468A1 DE102020104468.2A DE102020104468A DE102020104468A1 DE 102020104468 A1 DE102020104468 A1 DE 102020104468A1 DE 102020104468 A DE102020104468 A DE 102020104468A DE 102020104468 A1 DE102020104468 A1 DE 102020104468A1
Authority
DE
Germany
Prior art keywords
detectable
source
properties
entries
target
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
DE102020104468.2A
Other languages
English (en)
Inventor
Jose Jeronimo Moreira Rodrigues
Xutao Ye
Jinze Yu
Rosen Nikolaev Diankov
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 DE102020104468A1 publication Critical patent/DE102020104468A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • 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
    • 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/083Shipping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • 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
    • B65G57/00Stacking of articles
    • B65G57/02Stacking of articles by adding to the top of the stack
    • B65G57/03Stacking of articles by adding to the top of the stack from above
    • B65G57/04Stacking of articles by adding to the top of the stack from above by suction or magnetic devices
    • 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
    • B65G59/04De-stacking from the top of the stack by suction or magnetic devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • 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)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Automation & Control Theory (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Ein Robotersystem umfasst: eine Steuereinheit, die konfiguriert ist zum: Empfangen eines Objektsatzes mit einem oder mehreren Objekteinträgen, wobei: die Objekteinträge Quellobjekten einer Objektquelle entsprechen, wobei jeder der Objekteinträge durch eine oder mehrere Objekteintragseigenschaften beschrieben ist; Empfangen von Sensorinformationen, die eine oder mehrere erfassbare Objekteigenschaften für erfassbare Quellobjekte einer Objektquelle wiedergeben; Berechnen einer Objektübereinstimmungswahrscheinlichkeit zwischen den erfassbaren Quellobjekten und den Objekteinträgen auf Grundlage einer Eigenschaftskorrelation zwischen den erfassbaren Objekteigenschaften der erfassbaren Quellobjekte und den Objekteintragseigenschaften der Objekteinträge; Erzeugen einer Objektidentitätsschätzung für jedes der erfassbaren Quellobjekte auf Grundlage eines Vergleichs der Objektübereinstimmungswahrscheinlichkeit für jedes der erfassbaren Quellobjekte, die zu einer bestimmten Instanz der Objekteinträge gehört; Auswählen eines Zielobjekts aus den erfassbaren Quellobjekten; Erzeugen einer Objekthandhabungsstrategie zur Implementierung durch eine Objekthandhabungseinheit, um das Zielobjekt von der Objektquelle zu überführen, auf Grundlage der Objekteintragseigenschaften der Objekteinträge, die der Objektidentitätsschätzung entsprechen; Aktualisieren des Objektsatzes, um anzuzeigen, dass das Zielobjekt, das einer bestimmten Instanz der Objekteinträge entspricht, aus der Objektquelle entfernt wurde; und eine Speichereinheit, die mit der Steuereinheit verbunden ist und zum Speichern des Objektsatzes konfiguriert ist.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Technologie ist allgemein auf Robotersysteme und insbesondere auf Systeme, Prozesse und Techniken zum Identifizieren und Handhaben von Objekten gerichtet.
  • HINTERGRUND
  • Moderne Robotik und Automatisierung bieten zunehmend Funktionen für die Unterstützung in industriellen Umgebungen wie Fertigungsstätten, Abhol- und Vertriebszentren und Lagern. Forschung und Entwicklung bei bestehenden Technologien können eine Vielzahl unterschiedlicher Richtungen einschlagen.
  • Da Anwender durch die Verbreitung der Robotersysteme immer leistungsfähiger werden, wird diese neue Technologie von immer mehr neuen und alten Paradigmen genutzt. Es gibt viele technologische Lösungen, um diese neuen Funktionen zu nutzen, um die Automatisierung von Robotersystemen zu verbessern oder zu erweitern, beispielsweise die Fähigkeit von Robotersystemen, verschiedene Objekte autonom zu handhaben. Benutzer können sich jedoch nicht darauf verlassen, dass die Robotersysteme Objekte aus einer Reihe von Objekten auf konsistente Weise präzise und effizient identifizieren.
  • Somit besteht weiterhin ein Bedarf an einem Robotersystem mit einem Objekthandhabungsmechanismus für den Betrieb einer Objekthandhabungseinheit. Angesichts ständig wachsenden kommerziellen Wettbewerbsdrucks, wachsender Erwartungen der Verbraucher und abnehmender Möglichkeiten für bedeutende Produktdifferenzierungen auf dem Markt wird es immer wichtiger, Antworten auf diese Probleme zu finden. Ferner macht die Notwendigkeit, Kosten zu senken, Effizienz und Leistung zu steigern und dem Wettbewerbsdruck zu begegnen, die Suche nach Antworten auf diese Probleme noch dringlicher.
  • Es wurde lange nach Lösungen für diese Probleme gesucht, aber frühere Entwicklungen haben keine Lösungen gelehrt oder vorgeschlagen, und daher haben sich Lösungen für diese Probleme Fachleuten lange entzogen.
  • ABRISS
  • Eine Ausführungsform der vorliegenden Erfindung sieht ein Robotersystem vor, umfassend: eine Steuereinheit, konfiguriert zum: Empfangen eines Objektsatzes mit einem oder mehreren Objekteinträgen, wobei: die Objekteinträge Quellobjekten einer Objektquelle entsprechen, wobei jeder der Objekteinträge durch eine oder mehrere Objekteintragseigenschaften beschrieben ist; Empfangen von Sensorinformationen, die eine oder mehrere erfassbare Objekteigenschaften für erfassbare Quellobjekte einer Objektquelle wiedergeben; Berechnen einer Objektübereinstimmungswahrscheinlichkeit zwischen den erfassbaren Quellobjekten und den Objekteinträgen auf Grundlage einer Eigenschaftskorrelation zwischen den erfassbaren Objekteigenschaften der erfassbaren Quellobjekte und den Objekteintragseigenschaften der Objekteinträge; Erzeugen einer Objektidentitätsschätzung für jedes der erfassbaren Quellobjekte auf Grundlage eines Vergleichs der Objektübereinstimmungswahrscheinlichkeit für jedes der erfassbaren Quellobjekte, die zu einer bestimmten Instanz der Objekteinträge gehört; Auswählen eines Zielobjekts aus den erfassbaren Quellobjekten; Erzeugen einer Objekthandhabungsstrategie zur Implementierung durch eine Objekthandhabungseinheit, um das Zielobjekt von der Objektquelle zu überführen, auf Grundlage der Objekteintragseigenschaften der Objekteinträge, die zu der Objektidentitätsschätzung gehören; Aktualisieren des Objektsatzes, um anzuzeigen, dass das Zielobjekt, das einer bestimmten Instanz der Objekteinträge entspricht, aus der Objektquelle entfernt wurde; und eine Speichereinheit, die mit der Steuereinheit verbunden ist und zum Speichern des Objektsatzes konfiguriert ist.
  • Eine Ausführungsform der vorliegenden Erfindung sieht ein Betriebsverfahren eines Robotersystems vor, umfassend: Empfangen eines Objektsatzes mit einem oder mehreren Objekteinträgen, wobei: die Objekteinträge Quellobjekten einer Objektquelle entsprechen, wobei jeder der Objekteinträge durch eine oder mehrere Objekteintragseigenschaften beschrieben ist; Empfangen von Sensorinformationen, die eine oder mehrere erfassbare Objekteigenschaften für erfassbare Quellobjekte einer Objektquelle wiedergeben; Berechnen einer Objektübereinstimmungswahrscheinlichkeit zwischen den erfassbaren Quellobjekten und den Objekteinträgen auf Grundlage einer Eigenschaftskorrelation zwischen den erfassbaren Objekteigenschaften der erfassbaren Quellobjekte und den Objekteintragseigenschaften der Objekteinträge; Erzeugen einer Objektidentitätsschätzung für jedes der erfassbaren Quellobjekte auf Grundlage eines Vergleichs der Objektübereinstimmungswahrscheinlichkeit für jedes der erfassbaren Quellobjekte, die zu einer bestimmten Instanz der Objekteinträge gehört; Auswählen eines Zielobjekts aus den erfassbaren Quellobjekten; Erzeugen einer Objekthandhabungsstrategie zur Implementierung durch eine Objekthandhabungseinheit zum Überführen des Zielobjekts von der Objektquelle auf Grundlage der Objekteintragseigenschaften der Objekteinträge, die der Objektidentitätsschätzung entsprechen; und Aktualisieren des Objektsatzes, um anzuzeigen, dass das Zielobjekt, das einer bestimmten Instanz der Objekteinträge entspricht, aus der Objektquelle entfernt wurde.
  • Eine Ausführungsform der vorliegenden Erfindung sieht ein nichtflüchtiges computerlesbares Medium vor, das Befehle aufweist, die von einer Steuerschaltung für ein Robotersystem ausgeführt werden können, die Befehle umfassend: Empfangen eines Objektsatzes von Objekteinträgen, wobei: die Objekteinträge Quellobjekten einer Objektquelle entsprechen, wobei jeder der Objekteinträge durch eine oder mehrere Objekteintragseigenschaften beschrieben ist; Empfangen von Sensorinformationen, die eine oder mehrere erfassbare Objekteigenschaften für erfassbare Quellobjekte einer Objektquelle wiedergeben; Berechnen einer Objektübereinstimmungswahrscheinlichkeit zwischen den erfassbaren Quellobjekten und den Objekteinträgen auf Grundlage einer Eigenschaftskorrelation zwischen den erfassbaren Objekteigenschaften der erfassbaren Quellobjekte und den Objekteintragseigenschaften der Objekteinträge; Erzeugen einer Objektidentitätsschätzung für jedes der erfassbaren Quellobjekte auf Grundlage eines Vergleichs der Objektübereinstimmungswahrscheinlichkeit für jedes der erfassbaren Quellobjekte, die einer bestimmten Instanz der Objekteinträge entspricht; Auswählen eines Zielobjekts aus den erfassbaren Quellobjekten; Erzeugen einer Objekthandhabungsstrategie zur Implementierung durch eine Objekthandhabungseinheit zum Überführen des Zielobjekts von der Objektquelle auf Grundlage der Objekteintragseigenschaften der Objekteinträge, die der Objektidentitätsschätzung entsprechen; und Aktualisieren des Objektsatzes, um anzuzeigen, dass das Zielobjekt, das einer bestimmten Instanz der Objekteinträge entspricht, aus der Objektquelle entfernt wurde.
  • Bestimmte Ausführungsformen der Erfindung weisen andere Schritte oder Elemente zusätzlich zu oder anstelle der oben genannten auf. Die Schritte oder Elemente werden für Fachleute durch Lesen der folgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen ersichtlich.
  • Figurenliste
    • 1 ist eine beispielhafte Umgebung, in der ein Robotersystem mit einem Objekthandhabungsmechanismus arbeiten kann.
    • 2 ist ein Blockdiagramm, das das Robotersystem gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung zeigt.
    • 3 ist ein Beispiel des Robotersystems zum Identifizieren von Quellobjekten der Objektquelle gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
    • 4 ist eine Draufsicht, die ein Beispiel des Robotersystems bei der Ausführung einer Objekthandhabungsaufgabe gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung zeigt.
    • 5 ist ein Flussdiagramm für ein Verfahren zum Betreiben des Robotersystems von 1 gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung.
    • 6 ist ein Flussdiagramm eines Betriebsverfahrens eines Robotersystems in einer Ausführungsform der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezifische Details dargelegt, um für ein gründliches Verständnis der hier offenbarten Technologie zu sorgen. In weiteren Ausführungsformen können die hier eingeführten Techniken ohne diese spezifischen Details praktiziert werden. In anderen Fällen werden bekannte Merkmale, wie bestimmte Funktionen oder Routinen, nicht im Detail beschrieben, um zu vermeiden, dass die vorliegende Offenbarung unnötig verdunkelt wird. Verweise in dieser Beschreibung auf „eine Ausführungsform“, „eine erste Ausführungsform“ oder dergleichen bedeuten, dass ein bestimmtes Merkmal, eine bestimmte Struktur, ein bestimmtes Material oder eine bestimmte Eigenschaft, die beschrieben werden, in mindestens einer Ausführungsform der vorliegenden Offenbarung enthalten ist. Somit bezieht sich das Auftreten solcher Ausdrücke in dieser Beschreibung nicht notwendigerweise immer auf dieselbe Ausführungsform. Andererseits schließen sich solche Bezüge auch nicht unbedingt gegenseitig aus. Darüber hinaus können die besonderen Merkmale, Strukturen, Materialien oder Eigenschaften in einer oder mehreren Ausführungsformen auf jede geeignete Weise kombiniert werden.
  • Es versteht sich, dass die verschiedenen in den Figuren gezeigten Ausführungsformen lediglich beispielhafte Darstellungen sind. Ferner sind die Zeichnungen, die Ausführungsformen des Systems zeigen, halbdiagrammartig und nicht maßstabsgetreu, und insbesondere dienen einige der Abmessungen der Klarheit der Darstellung und sind in den gezeichneten Figuren übertrieben gezeigt. Obwohl die Ansichten in den Zeichnungen der einfachen Darstellung halber im Allgemeinen eine ähnliche Ausrichtung zeigen, ist die Darstellung in den Figuren zum größten Teil willkürlich. Im Allgemeinen kann die Erfindung in jeder beliebigen Ausrichtung betrieben werden.
  • Einige Details, die Strukturen oder Prozesse beschreiben, die bekannt und häufig mit Robotersystemen und -subsystemen verbunden sind, die jedoch einige wesentliche Aspekte der offenbarten Techniken unnötig verdunkeln könnten, sind in der folgenden Beschreibung aus Gründen der Klarheit nicht angegeben. Obwohl die folgende Offenbarung einige Ausführungsformen verschiedener Aspekte der vorliegenden Technologie beschreibt, können darüber hinaus einige weitere Ausführungsformen andere Konfigurationen oder andere Komponenten aufweisen, als in dieser Schrift beschrieben sind. Dementsprechend können die offenbarten Techniken weitere Ausführungsformen mit zusätzlichen Elementen oder ohne einige der nachstehend beschriebenen Elemente aufweisen.
  • Viele Ausführungsformen oder Aspekte der vorliegenden, nachstehend beschriebenen Offenbarung können die Form von computerausführbaren oder von einer Steuerung ausführbaren Befehle annehmen, beispielsweise Routinen, die von einem programmierbaren Computer oder einer programmierbaren Steuerung ausgeführt werden. Fachleute werden erkennen, dass die offenbarten Techniken auf anderen Computer- oder Steuerungssystemen als den nachstehend gezeigten und beschriebenen praktiziert werden können. Die hier beschriebenen Techniken können in einem Spezialcomputer oder -datenprozessor ausgeführt werden, der speziell programmiert, konfiguriert oder konstruiert ist, um eine oder mehrere der nachstehend beschriebenen computerausführbaren Befehle auszuführen. Dementsprechend beziehen sich die Begriffe „Computer“ und „Steuerung“, wie sie hier allgemein verwendet werden, auf jede Datenverarbeitungseinheit und können Internet-Geräte und Handheld-Geräte umfassen, beispielsweise Palmtop-Computer, tragbare Computer, Handys bzw. Mobiltelefone, Mehrprozessorsysteme, Prozessor-basierte oder programmierbare Unterhaltungselektronik, Netzwerkcomputer, Minicomputer und dergleichen. Informationen, die von diesen Computern und Steuerungen verarbeitet werden, können auf jedem geeigneten Anzeigemedium wie beispielsweise einer Flüssigkristallanzeige (LCD) angezeigt werden. Die Befehle zum Ausführen der vom Computern oder der Steuerungen ausführbaren Aufgaben können in bzw. auf einem geeigneten computerlesbaren Medium gespeichert sein, beispielsweise Hardware, Firmware oder einer Kombination aus Hardware und Firmware. Befehle können in jeder geeigneten Speichereinrichtung untergebracht sein, beispielsweise einem Flash-Laufwerk, einem USB-Gerät und/oder einem anderen geeigneten Medium.
  • Die Begriffe „gekoppelt“ und „verbunden“ zusammen mit ihren Ableitungen können hier verwendet werden, um strukturelle Beziehungen zwischen Komponenten zu beschreiben. Es versteht sich, dass diese Begriffe nicht als Synonyme für einander gedacht sind. Vielmehr kann in bestimmten Ausführungsformen „verbunden“ verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem Kontakt miteinander stehen. Sofern im Zusammenhang nicht anders angegeben, kann der Begriff „gekoppelt“ verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente entweder in direktem oder indirektem Kontakt (mit anderen Elementen, die zwischen ihnen liegen) miteinander stehen, oder dass die zwei oder mehr Elemente zusammenarbeiten oder miteinander interagieren (z. B. wie in einer Ursache-Wirkung-Beziehung wie beim Senden/Empfangen von Signalen oder bei Funktionsaufrufen) oder beides.
  • Die folgenden Ausführungsformen werden ausreichend detailliert beschrieben, um es Fachleuten zu ermöglichen, die Erfindung herzustellen und zu verwenden. Es versteht sich, dass weitere Ausführungsformen auf Grundlage der vorliegenden Offenbarung offensichtlich sind, und dass System-, Prozess- oder mechanische Änderungen vorgenommen werden können, ohne vom Umfang einer Ausführungsform der vorliegenden Erfindung abzuweichen.
  • Unter Bezugnahme auf 1 ist eine beispielhafte Umgebung gezeigt, in der ein Robotersystem 100 mit einem Objekthandhabungsmechanismus arbeiten kann. Die Betriebsumgebung für das Robotersystem 100 kann eine oder mehrere Strukturen wie Roboter oder Robotergeräte umfassen, die zum Ausführen einer oder mehrerer Aufgaben konfiguriert sind. Aspekte des Objekthandhabungsmechanismus können durch die verschiedenen Strukturen praktiziert oder implementiert werden.
  • In dem in 1 gezeigten Beispiel kann das Robotersystem 100 eine Entladeeinheit 102, eine Überführungseinheit 104, eine Transporteinheit 106, eine Fördereinheit 108 oder eine Kombination davon in einem Lager, einem Distributionszentrum oder einem Versandknoten umfassen. Jede der Einheiten in dem Robotersystem 100 kann zum Ausführen einer oder mehrerer Aufgaben konfiguriert sein. Die Aufgaben können sequentiell kombiniert werden, um einen Vorgang auszuführen, der ein Ziel erreicht, beispielsweise ein Entladen von Objekten aus einem Fahrzeug wie einem LKW, einem Anhänger, einem Kleinlastwagen oder einem Eisenbahnwagen, ein Lagern in einem Lager oder ein Entladen von Objekten von Lagerorten und Laden derselben auf ein Fahrzeug zum Versand. In einem weiteren Beispiel kann die Aufgabe ein Bewegen von Objekten von einem Ort wie einem Container, einem Behälter, einem Käfig, einem Korb, einem Regal, einer Plattform, einer Palette oder einem Förderband zu einem anderen Ort umfassen. Jede der Einheiten kann zum Ausführen einer Folge von Handlungen konfiguriert sein, etwa durch Betreiben einer oder mehrerer ihrer Komponenten, um eine Aufgabe auszuführen.
  • In einigen Ausführungsformen kann die Aufgabe eine Interaktion mit einem Zielobjekt 112 umfassen, beispielsweise ein Manipulieren, Bewegen oder Neuorientieren des Objekts oder eine Kombination davon. Das Zielobjekt 112 ist das Objekt, das von dem Robotersystem 100 gehandhabt wird. Insbesondere kann das Zielobjekt 112 das spezifische Objekt unter vielen Objekten sein, das das Ziel eines Vorgangs oder einer Aufgabe durch das Robotersystem 100 ist. Beispielsweise kann das Zielobjekt 112 das Objekt sein, das das Robotersystem 100 gesucht hat oder das gerade gehandhabt, manipuliert, bewegt oder neu ausgerichtet wird oder eine Kombination davon. Beispiele des Zielobjekts 112 können Kisten, Gehäuse, Rohre, Pakete, Bündel, ein Sortiment einzelner Gegenstände oder jedes andere Objekt aufweisen, das von dem Robotersystem 100 gehandhabt werden kann.
  • Beispielsweise kann die Aufgabe ein Überführen des Zielobjekts 112 von einer Objektquelle 114 zu einem Aufgabenort 116 umfassen. Die Objektquelle 114 ist ein Behältnis zum Lagern von Objekten. Die Objektquelle 114 kann zahlreiche Konfigurationen und Formen aufweisen. Beispielsweise kann die Objektquelle 114 eine Plattform mit oder ohne Wände sein, auf der Objekte platziert oder gestapelt werden können, wie beispielsweise eine Palette, ein Regal oder ein Förderband. Zum anderen kann die Objektquelle 114 ein teilweise oder vollständig geschlossenes Behältnis mit Wänden oder Deckel sein, in das Objekte gelegt werden können, etwa ein Behälter, Käfig oder Korb. In einigen Ausführungsformen können die Wände einer Objektquelle 114 mit einem teilweise oder vollständig geschlossenen Behältnis transparent sein oder Öffnungen oder Lücken verschiedener Größe aufweisen, so dass Teile des darin enthaltenen Objekts durch die Wände sichtbar oder teilweise sichtbar sein können.
  • 1 zeigt Beispiele der möglichen Funktionen und Vorgänge, die von den verschiedenen Einheiten des Robotersystems 100 bei der Handhabung des Zielobjekts 112 ausgeführt werden können, und es versteht sich, dass die Umgebung und die Bedingungen von den nachstehend beschriebenen abweichen können. Beispielsweise kann die Entladeeinheit 102 ein Fahrzeugentladeroboter sein, der zum Überführen des Zielobjekts 112 von einem Ort in einem Lastträger, wie beispielsweise einem LKW, zu einem Ort auf einem Förderband konfiguriert ist. Die Überführungseinheit 104, etwa ein Palettierroboter, kann ferner zum Überführen des Zielobjekts 112 von einem Ort auf dem Förderband zu einem Ort auf der Transporteinheit 106 konfiguriert sein, beispielsweise zum Laden des Zielobjekts 112 auf eine Palette auf der Transporteinheit 106. Die Überführungseinheit 104 kann beispielsweise ein Stückgut-Kommissionierroboter bzw. Piece-Picking-Roboter sein, der so konfiguriert ist, dass er das Zielobjekt 112 von einem Behälter in einen anderen Behälter überführt. Bei Beendigung des Vorgangs kann die Transporteinheit 106 das Zielobjekt 112 von einem der Überführungseinheit 104 zugeordneten Areal in ein der Fördereinheit 108 zugeordnetes Areal überführen, und die Fördereinheit 108 kann das Zielobjekt 112 von der Transporteinheit 106 zu einem Lagerort wie beispielsweise einem Ort auf den Regalen überführen, etwa indem sie die Palette bewegt, die das Zielobjekt 112 trägt. Details zur Aufgabe und den damit verbundenen Handlungen sind unten beschrieben.
  • Als Beispiel wird das Robotersystem 100 im Zusammenhang mit einem Versandzentrum beschrieben; es versteht sich jedoch, dass das Robotersystem 100 zum Ausführen von Aufgaben in einer anderen Umgebung oder für andere Zwecke konfiguriert sein kann, beispielsweise in der Herstellung, Montage, Verpackung, im Gesundheitswesen oder in anderen Arten von Automatisierung. Es versteht sich auch, dass das Robotersystem 100 andere Einheiten wie Manipulatoren, Serviceroboter oder modulare Roboter aufweisen kann, die in 1 nicht gezeigt sind. Das Robotersystem 100 kann in einigen Ausführungsformen beispielsweise eine Depalletiereinheit zum Überführen des Objekts von Käfigen, Wagen oder Paletten auf Förderer oder andere Paletten, eine Behälter-Wechseleinheit zum Überführen des Objekts von einem Behälter zu einem anderen, eine Verpackungseinheit zum Umhüllen des Objekts, eine Sortiereinheit zum Gruppieren des Objekts gemäß einer oder mehreren seiner Eigenschaften, eine Stückgut-Kommissioniereinheit zum Manipulieren des Objekts auf andere Art und Weise gemäß einer oder mehreren seiner Eigenschaften, beispielsweise Sortieren, Gruppieren oder Überführen, oder eine Kombination davon umfassen.
  • Unter Bezugnahme auf 2 ist ein Blockdiagramm gezeigt, das das Robotersystem 100 gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung zeigt. In einigen Ausführungsformen kann das Robotersystem 100 beispielsweise elektronische Vorrichtungen, elektrische Vorrichtungen oder eine Kombination davon aufweisen, wie beispielsweise eine Steuereinheit 202, eine Speichereinheit 204, eine Kommunikationseinheit 206, eine Systemschnittstelle 208, eine oder mehrere Betätigungsvorrichtungen 212, einen oder mehrere Transportmotoren 214, eine oder mehrere Sensoreinheiten 216 oder eine Kombination davon, die miteinander verbunden sind, mit einer oder mehreren der Einheiten oder Roboter integriert oder verbunden sind, die in 1 oben beschrieben sind, oder eine Kombination davon.
  • Die Steuereinheit 202 kann auf verschiedene Arten implementiert sein. Beispielsweise kann die Steuereinheit 202 ein Prozessor, eine anwendungsspezifische integrierte Schaltung (ASIC), ein eingebetteter Prozessor, ein Mikroprozessor, eine Hardware-Steuerlogik, eine Hardware-Finite-State-Maschine (FSM), ein digitaler Signalprozessor (DSP) oder eine Kombination davon sein. Die Steuereinheit 202 kann eine Software 210 ausführen, um die Intelligenz des Robotersystems 100 bereitzustellen.
  • Die Steuereinheit 202 kann eine Steuerschnittstelle 240 aufweisen. Die Steuerschnittstelle 240 kann zur Kommunikation zwischen der Steuereinheit 202 und anderen Funktionseinheiten des Robotersystems 100 verwendet werden. Die Steuerschnittstelle 240 kann auch für externe Kommunikation des Robotersystems 100 verwendet werden. Die Steuerschnittstelle 240 kann Informationen von den anderen Funktionseinheiten oder von externen Quellen empfangen oder Informationen an die anderen Funktionseinheiten oder an externe Ziele senden. Die externen Quellen und die externen Ziele bezeichnen Quellen und Ziele außerhalb des Robotersystems 100.
  • Die Steuerschnittstelle 240 kann auf unterschiedliche Weise implementiert sein und kann unterschiedliche Implementierungen in Abhängigkeit davon aufweisen, welche Funktionseinheiten oder externe Einheiten mit der Steuerschnittstelle 240 verbunden sind. Beispielsweise kann die Steuerschnittstelle 240 mit einem Drucksensor, einem Trägheitssensor, einem Mikrosystem (MEMS), einer optischen Schaltung, Wellenleitern, einer drahtlosen Schaltung, einer drahtgebundenen Schaltung, einer Anwendungsprogrammierschnittstelle oder einer Kombination davon implementiert sein.
  • Die Speichereinheit 204 kann Software 210, Stammdaten 246 oder eine Kombination davon speichern. Als Beispiel ist die Speichereinheit 204 als einzelnes Element gezeigt, obwohl es sich versteht, dass die Speichereinheit 204 aus verteilten Speicherelementen bestehen kann. Ferner ist das Robotersystem 100 beispielhaft mit der Speichereinheit 204 als Speichersystem mit einer einzigen Hierarchie gezeigt, obwohl klar ist, dass das Robotersystem 100 die Speichereinheit 204 in einer anderen Konfiguration aufweisen kann. Beispielsweise kann die Speichereinheit 204 mit anderen Speichertechnologien ausgebildet sein, die ein hierarchisches Speichersystem bilden, das andere Ebenen von Caching, Hauptspeicher, rotierenden Medien oder Offline-Speicher aufweist.
  • Die Speichereinheit 204 kann ein flüchtiger Speicher, ein nichtflüchtiger Speicher, ein interner Speicher, ein externer Speicher oder eine Kombination davon sein. Beispielsweise kann die Speichereinheit 204 ein nichtflüchtiger Speicher wie ein nichtflüchtiger Direktzugriffsspeicher (NVRAM), ein Flashspeicher oder ein Plattenspeicher, oder ein flüchtiger Speicher wie ein statischer Direktzugriffsspeicher (SRAM) sein. Als weiteres Beispiel kann die Speichereinheit 204 ein nichtflüchtiges Computermedium sein, das den nichtflüchtigen Speicher enthält, wie beispielsweise ein Festplattenlaufwerk, ein NVRAM, ein SSD-Gerät, eine Compakt-Disk (CD), eine digitale Videodiskette (DVD) oder ein USB-Flashspeicher-Gerät. Die Software 210 kann auf dem nichtflüchtigen computerlesbaren Medium gespeichert sein, so dass sie von einer Steuereinheit 202 ausgeführt werden kann.
  • Die Speichereinheit 204 kann eine Speicherschnittstelle aufweisen. Die Speicherschnittstelle kann zur Kommunikation zwischen der Speichereinheit 204 und anderen Funktionseinheiten des Robotersystems 100 verwendet werden. Die Speicherschnittstelle kann auch für externe Kommunikation des Robotersystems 100 verwendet werden. Die Speicherschnittstelle kann Informationen von den anderen Funktionseinheiten oder von externen Quellen empfangen oder Informationen an die anderen Funktionseinheiten oder an externe Ziele senden. Die externen Quellen und die externen Ziele bezeichnen Quellen und Ziele außerhalb des Robotersystems 100.
  • Die Speicherschnittstelle kann verschiedene Implementierungen aufweisen, abhängig davon, welche Funktionseinheiten oder externe Einheiten mit der Speichereinheit 204 verbunden sind. Die Speicherschnittstelle kann mit Technologien und Techniken implementiert sein, die der Implementierung der Steuerschnittstelle 240 ähneln.
  • In einer Ausführungsform kann die Speichereinheit 204 ferner verwendet werden, um Verarbeitungsergebnisse, vorbestimmte Daten, Schwellenwerte oder eine Kombination davon zu speichern und Zugriff darauf zu gewähren. Beispielsweise kann die Speichereinheit 204 die Stammdaten 246 speichern, die Beschreibungen des einen oder der mehreren Zielobjekte 112 umfassen, beispielsweise Kisten, Kistenarten, Gehäuse, Gehäusearten, Produkte oder eine Kombination davon. In einer Ausführungsform können die Stammdaten 246 Abmessungen, Formen, beispielsweise Vorlagen für mögliche Stellungen oder computergenerierte Modelle zum Erkennen des einen oder der mehreren Zielobjekte 112 in verschiedenen Stellungen, Farbschemata, Bilder, Identifikationsinformationen, beispielsweise Strichcodes, QR- (Quick Response-) Codes oder Logos, erwartete Orte, ein erwartetes Gewicht oder eine Kombination davon für das eine oder die mehreren Zielobjekte 112 umfassen, die von dem Robotersystem 100 manipuliert werden sollen.
  • In einer Ausführungsform können die Stammdaten 246 ferner manipulationsbezogene Informationen bezüglich des einen oder der mehreren Objekte umfassen, die von dem Robotersystem 100 angetroffen oder gehandhabt werden können. Beispielsweise können die manipulationsbezogenen Informationen für die Objekte einen Schwerpunkt jedes der Objekte oder erwartete Sensormessungen umfassen, beispielsweise Kraft-, Drehmoment-, Druck- oder Kontaktmessungen, die zu einer oder mehreren Handlungen, Manövern oder einer Kombination davon gehören.
  • Die Kommunikationseinheit 206 kann eine externe Kommunikation zu und von dem Robotersystem 100 ermöglichen. Beispielsweise kann die Kommunikationseinheit 206 es dem Robotersystem 100 ermöglichen, mit anderen Robotersystemen oder -einheiten, externen Vorrichtungen wie einem externen Computer, einer externen Datenbank, einer externen Maschine, einem externen Peripheriegerät oder einer Kombination davon über einen Kommunikationspfad 218, beispielsweise ein drahtgebundenes oder drahtloses Netzwerk, zu kommunizieren.
  • Der Kommunikationspfad 218 kann eine Vielzahl von Netzwerken und Netzwerktopologien aufweisen und darstellen. Beispielsweise kann der Kommunikationspfad 218 drahtlose Kommunikation, drahtgebundene Kommunikation, optische Kommunikation, Ultraschallkommunikation oder eine Kombination davon umfassen. Beispielsweise sind Satellitenkommunikation, Mobilfunkkommunikation, Bluetooth, der IrDA- („Infrared Data Association“)-Standard, WiFi („Wireless Fidelity“) und WiMax („Worldwide Interoperability for Microwave Access“) Beispiele für drahtlose Kommunikation, die im Kommunikationspfad 218 enthalten sein können. Kabel, Ethernet, DSL („Digital Subscriber Line“), Glasfaserleitungen, Fiber-to-the Home (FTTH) und POTS („Plain Old Telephone Service“) sind Beispiele für drahtgebundene Kommunikation, die in den Kommunikationspfad 218 aufgenommen werden können. Ferner kann der Kommunikationspfad 218 eine Anzahl von Netzwerktopologien und -entfernungen durchlaufen. Beispielsweise kann der Kommunikationspfad 218 eine direkte Verbindung, ein PAN (persönliches Netzwerk), ein LAN (lokales Netzwerk), ein MAN (regionales Netzwerk), ein WAN (Weitverkehrsnetz) oder eine Kombination davon umfassen. Das Robotersystem 100 kann Informationen zwischen den verschiedenen Einheiten über den Kommunikationspfad 218 übertragen. Beispielsweise können die Informationen zwischen der Steuereinheit 202, der Speichereinheit 204, der Kommunikationseinheit 206, der Systemschnittstelle 208, den Betätigungsvorrichtungen 212, den Transportmotoren 214, den Sensoreinheiten 216 oder einer Kombination davon übertragen werden.
  • Die Kommunikationseinheit 206 kann auch als Kommunikationsknoten fungieren, wodurch das Robotersystem 100 als Teil des Kommunikationspfads 218 fungieren kann und nicht darauf beschränkt ist, Endpunkt bzw. Endeinheit des Kommunikationspfads 218 zu sein. Die Kommunikationseinheit 206 kann aktive und passive Komponenten wie Mikroelektronik oder eine Antenne zur Interaktion mit dem Kommunikationspfad 218 umfassen.
  • Die Kommunikationseinheit 206 kann eine Kommunikationsschnittstelle 248 umfassen. Die Kommunikationsschnittstelle 248 kann zur Kommunikation zwischen der Kommunikationseinheit 206 und anderen Funktionseinheiten in dem Robotersystem 100 verwendet werden. Die Kommunikationsschnittstelle 248 kann Informationen von den anderen Funktionseinheiten oder von externen Quellen empfangen oder Informationen an die anderen Funktionseinheiten oder an externe Ziele senden. Die externen Quellen und die externen Ziele bezeichnen Quellen und Ziele außerhalb des Robotersystems 100.
  • Die Kommunikationsschnittstelle 248 kann verschiedene Implementierungen umfassen, abhängig davon, welche Funktionseinheiten mit der Kommunikationseinheit 206 verbunden sind. Die Kommunikationsschnittstelle 248 kann mit Technologien und Techniken implementiert sein, die der Implementierung der Steuerschnittstelle 240 ähneln.
  • Die Systemschnittstelle 208 kann ein Eingabegerät und ein Ausgabegerät aufweisen. Beispiele für das Eingabegerät der Systemschnittstelle 208 können eine Tastatur, ein Touchpad, Softkeys, eine Tastatur, ein Mikrofon, Sensoren zum Empfangen von Fernsignalen, eine Kamera zum Empfangen von Bewegungsbefehlen oder eine beliebige Kombination davon zum Bereitstellen von Daten- und Kommunikationseingaben aufweisen. Beispiele der Ausgabevorrichtung können eine Anzeigeschnittstelle 250 aufweisen. Die Anzeigeschnittstelle 250 kann eine beliebige grafische Benutzerschnittstelle sein, wie beispielsweise eine Anzeige, ein Projektor, ein Videobildschirm oder eine beliebige Kombination davon.
  • Die Steuereinheit 202 kann die Systemschnittstelle 208 so antreiben, dass diese vom Robotersystem 100 erzeugte Informationen darstellt oder empfängt. Die Steuereinheit 202 kann die Systemschnittstelle 208 so antreiben, dass diese vom Robotersystem 100 erzeugte Informationen darstellt. Ferner kann die Steuereinheit 202 die Software 210 für die anderen Funktionen des Robotersystems 100 ausführen. Die Steuereinheit 202 kann ferner die Software 210 ausführen, um mit dem Kommunikationspfad 218 über die Kommunikationseinheit 206 zu interagieren.
  • Das Robotersystem 100 kann physische bzw. Strukturelemente wie Roboter-Manipulatorarme aufweisen, die an Gelenken zur Bewegung wie einer Rotationsverschiebung, einer Translationsverschiebung oder einer Kombination davon verbunden sind. Die Strukturelemente und die Gelenke können eine kinetische Kette bilden, die konfiguriert ist, um einen Endeffektor wie einen Greifer zu manipulieren, um eine oder mehrere Aufgaben wie Greifen, Drehen oder Schweißen auszuführen, abhängig von der Verwendung oder dem Betrieb des Robotersystems 100. Das Robotersystem 100 kann die Betätigungsvorrichtungen 212 aufweisen, etwa Motoren, Aktuatoren, Drähte, künstliche Muskeln, elektroaktive Polymere oder eine Kombination davon, die so konfiguriert sind, dass sie die Strukturelemente um oder an einem jeweiligen Gelenk antreiben, manipulieren, verschieben, neu ausrichten oder eine Kombination davon. In einigen Ausführungsformen kann das Robotersystem 100 die Transportmotoren 214 aufweisen, die konfiguriert sind, um die entsprechenden Einheiten von Ort zu Ort zu transportieren.
  • Das Robotersystem 100 kann die Sensoreinheiten 216 aufweisen, die zum Empfangen von Informationen konfiguriert sind, die zum Ausführen von Aufgaben und Vorgängen, beispielsweise dem Manipulieren der Strukturelemente oder dem Transportieren der Robotereinheiten, verwendet werden. Die Sensoreinheiten 216 können Vorrichtungen aufweisen, die so konfiguriert sind, dass sie eine oder mehrere physische Eigenschaften des Robotersystems 100 erfassen oder messen, beispielsweise einen Zustand, eine Betriebsbedingung, einen Ort eines oder mehrerer Strukturelemente oder Gelenke, Informationen über Objekte oder deren unmittelbare Umgebung oder eine Kombination davon. Beispielsweise können die Sensoreinheiten 216 verschiedene Bildgebungsvorrichtungen 222, Systemsensoren 224, Kontaktsensoren 226 oder eine Kombination davon aufweisen.
  • In einigen Ausführungsformen können die Sensoreinheiten 216 eine oder mehrere Bildgebungsvorrichtungen 222 aufweisen. Die Bildgebungsvorrichtungen 222 sind Vorrichtungen, die konfiguriert sind, um die nähere Umgebung zu erfassen. Beispielsweise können die Bildgebungsvorrichtungen 222 zweidimensionale Kameras, dreidimensionale Kameras, die jeweils eine Kombination von visuellen und Infrarotfähigkeiten aufweisen können, Lidare, Radare, andere Entfernungsmessvorrichtungen und andere Bildgebungsvorrichtungen aufweisen. Die Bildgebungsvorrichtungen 222 können eine Darstellung der erfassten Umgebung erzeugen, etwa ein digitales Bild oder eine Punktwolke, die zum Implementieren von Maschinen/Computersehen für automatische Inspektion, Roboterführung oder andere Roboteranwendungen verwendet wird. Wie nachstehend ausführlicher beschrieben, kann das Robotersystem 100 das digitale Bild, die Punktwolke oder eine Kombination davon über die Steuereinheit 202 verarbeiten, um das Zielobjekt 112 von 1, eine Stellung des Zielobjekts 112 oder eine Kombination davon zu identifizieren. Zum Manipulieren des Zielobjekts 112 kann das Robotersystem 100 ein Bild eines ausgezeichneten Areals aufnehmen und analysieren, beispielsweise innerhalb des Lastwagens, innerhalb des Behälters oder eines Aufnahmeortes für Objekte auf dem Förderband, um das Zielobjekt 112 und dessen Objektquelle 114 von 1 zu identifizieren. In ähnlicher Weise kann das Robotersystem 100 ein Bild eines anderen ausgezeichneten Areals aufnehmen und analysieren, beispielsweise eines Ablageorts zum Platzieren von Objekten auf dem Förderband, eines Orts zum Platzieren von Objekten in dem Container oder eines Orts auf der Palette zu Stapelzwecken, um den Aufgabenort 116 von 1 zu identifizieren.
  • In einigen Ausführungsformen kann die Sensoreinheit 216 die Systemsensoren 224 aufweisen. Die Systemsensoren 224 sind Vorrichtungen zum Überwachen der Robotereinheiten. Zum Beispiel können die Systemsensoren 224 Einheiten oder Vorrichtungen zum Erfassen und Überwachen von Positionen von Strukturelementen wie den Roboterarmen und den Endeffektoren, zugehörigen Gelenken des Robotersystems 100 oder einer Kombination davon aufweisen. Als weiteres Beispiel kann das Robotersystem 100 die Systemsensoren 224 verwenden, um Orte oder Ausrichtungen der Strukturelemente und Gelenke oder eine Kombination davon während der Ausführung der Aufgabe zu verfolgen. Beispiele der Systemsensoren 224 können Beschleunigungsmesser, Gyroskope oder Positionsgeber aufweisen.
  • In einigen Ausführungsformen können die Sensoreinheiten 216 die Kontaktsensoren 226 aufweisen, etwa Drucksensoren, Kraftsensoren, Dehnungsmessstreifen, piezoresistive/piezoelektrische Sensoren, kapazitive Sensoren, elastoresistive Sensoren, Drehmomentsensoren, Sensoren für lineare Kräfte oder andere taktile Sensoren, die zum Messen einer Eigenschaft konfiguriert sind, die mit einem direkten Kontakt zwischen mehreren räumlichen Strukturen oder Oberflächen verbunden ist. Beispielsweise können die Kontaktsensoren 226 Eigenschaften messen, die einem Griff des Endeffektors am Zielobjekt 112 entsprechen, oder können das Gewicht des Zielobjekts 112 messen. Dementsprechend können die Kontaktsensoren 226 ein Kontaktmaß ausgeben, das ein quantifiziertes Maß darstellt, wie beispielsweise eine gemessene Kraft oder ein gemessenes Drehmoment, das einem Kontakt- oder Haltegrad zwischen dem Greifer und dem Zielobjekt 112 entspricht. Zum Beispiel kann das Kontaktmaß eine oder mehrere Kraft- oder Drehmomentmessungen aufweisen, die zu Kräften gehören, die vom Endeffektor auf das Zielobjekt 112 ausgeübt werden. Details bezüglich des Kontaktmaßes werden unten beschrieben.
  • Unter Bezugnahme auf 3 ist ein Beispiel des Robotersystems 100 zum Bestimmen einer Identität von Quellobjekten 302 der Objektquelle 114 gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung gezeigt. Die Quellobjekte 302 sind eine Sammlung von Objekten, die in oder auf der Objektquelle 114 gemäß der Konfiguration der Objektquelle 114 wie in 1 gezeigt enthalten sind. Bei den Quellobjekten 302 kann es sich um eine große Vielfalt bzw. Zusammenstellung von Gegenständen oder Objekten handeln, die sich in zahlreichen Eigenschaften wie Form, Größe, Farbe, Zusammensetzung und Inhalt ähneln oder voneinander unterscheiden. Wie in 3 gezeigt, können die Quellobjekte 302 beispielsweise von einem gleichmäßig angeordneten Stapel von Kisten oder einem ungeordneten Haufen unterschiedlicher Gegenstände reichen, die jeweils in einer zufälligen Stellung angeordnet sind. Die Quellobjekte 302 können das Zielobjekt 112 umfassen. Ferner ist die Objektquelle 114 als Beispiel als Palette gezeigt, obwohl klar ist, dass die Objektquelle 114 irgendeine Form von Behälter für die Quellobjekte 302 sein kann, wie in 1 beschrieben. Beispielsweise können in einer Ausführungsform die Quellobjekte 302 der Objektquelle 114 auf der Objektquelle 114 in Konfigurationen ohne eine oder mehrere Seitenwände, seitliche Haltestrukturen, Abdeckungen oder einer Kombination davon gestapelt sein. In einer weiteren Ausführungsform können die Quellobjekte 302 der Objektquelle 114 innerhalb der Objektquelle 114 in Konfigurationen gelagert sein, die Seitenwände, seitliche Haltestrukturen, Abdeckungen oder eine Kombination davon aufweisen.
  • Jedes der Quellobjekte 302 kann in einem Objektsatz 304 enthalten sein. Der Objektsatz 304 ist eine Gruppierung von Informationen bezüglich der Objekte. Die Gruppierung von Informationen kann physische Merkmale, Attribute und Eigenschaften des Zielobjekts 112 umfassen. In einigen Ausführungsformen kann der Objektsatz 304 eine einzelne Eigenschaft, ein einzelnes Merkmal oder Attribut oder eine Gruppe von Eigenschaften, Merkmalen oder Attributen umfassen, die ein einzelnes Objekt beschreiben. In einer weiteren Ausführungsform kann der Objektsatz 304 eine Gruppe oder Untergruppe von Objekten sein, die eine oder mehrere Eigenschaften, Merkmale oder Attribute teilen, wie beispielsweise Instanzen der Quellobjekte 302 in der Objektquelle 114, die die gleiche Form haben oder die gleichen Oberflächenmarkierungen aufweisen. Als solches kann ein einzelnes Objekt in einer oder mehreren Instanzen des Objektsatzes 304 enthalten sein, und eine einzelne Instanz eines Quellobjekts 302 kann mehreren Instanzen des Objektsatzes 304 zugeordnet sein. In einer weiteren Ausführungsform kann der Objektsatz 304 ein Verzeichnis aller Quellobjekte 302 sein, die einer bestimmten Instanz der Objektquelle 114 zugeordnet sind. Beispielsweise kann der Objektsatz 304 als Verzeichnis der Quellobjekte 302 Objekteinträge 306 umfassen. Die Objekteinträge 306 sind Dateneinträge, die einer bestimmten Instanz der Quellobjekte 302 entsprechen. Der Objektsatz 304 kann einen oder mehrere der Objekteinträge 306 umfassen, wobei jeder der Objekteinträge 306 einer bestimmten Instanz der Quellobjekte 302 entspricht, die in der Objektquelle 114 enthalten sind oder sich in dieser befinden.
  • Jeder der Objekteinträge 306 kann eine oder mehrere Objekteintragseigenschaften 308 aufweisen. Die Objekteintragseigenschaften 308 sind Beschreibungen der Objekteinträge 306. Insbesondere können die Objekteintragseigenschaften 308 Beschreibungen von physischen Merkmalen, Attributen und Eigenschaften der Objekteinträge 306 sein. Die Objekteintragseigenschaften 308 können aus einer Vielzahl von Eigenschaften bestehen, die die Objekteinträge 306 und die entsprechende Instanz der Quellobjekte 302 beschreiben, einschließlich einer eindeutigen Kennung 310, wie beispielsweise eines Barcodes oder eines QR-Codes; einer Objektkategorie, z. B. eines Produkt- bzw. Artikeltyps; eines Formprofils 312, das Oberflächenkonturen und dreidimensionale Formbeschreibungen aufweist, etwa eines rechteckigen Kastens, eines zylindrischen Rohrs oder einer ungleichmäßigen Form; Objektabmessungen 314 wie Länge, Breite, Höhe, Durchmesser oder einer Kombination davon; Oberflächengestaltungsschemata 316 wie Farbgebung, Markierungen, Bilder, Logos und Muster; eines Objektgewichts 318, das ein Maß für das Gewicht ist und Gewichtsverteilung und Schwerpunkt umfassen kann; einer Außenmaterialzusammensetzung 320 wie Kunststoff, Pappe oder Metall; der Objektoberflächentextur; und Verformbarkeitseigenschaften, die die Objektsteifigkeit 322, den Verformungsmodus 324, den Verformungsgrad 326 oder eine Kombination davon umfassen kann.
  • Die Objektsteifigkeit 322 ist eine Beschreibung der Oberflächensteifigkeit eines Objekts. Insbesondere kann die Objektsteifigkeit 322 den Betrag beschreiben, um den sich ein Objekt verformt, wenn Druck auf eine Oberfläche des Objekts ausgeübt wird, beispielsweise wenn es zusammengedrückt oder gedrückt wird.
  • Der Verformungsmodus 324 ist eine Beschreibung, wie sich die Form des Objekts ändert, wenn eine Kraft auf das Objekt ausgeübt wird. Beispielsweise kann der Verformungsmodus 324 beschreiben, wie sich die Form eines Quellobjekts 302 ändert, wenn es aus einem Ruhezustand angehoben wird. Als spezifisches Beispiel kann der Verformungsmodus 324 anzeigen, ob Teile des Quellobjekts 302 durchhängen oder sich biegen, wenn das Objekt aus einem Ruhezustand von einer Oberfläche abgehoben wird.
  • Der Verformungsgrad 326 ist das Ausmaß der Formkrümmung, das das Objekt erfährt, wenn eine Kraft auf das Objekt ausgeübt wird. Beispielsweise kann der Verformungsgrad 326 ein Maß für die Änderung einer Abmessung umfassen, wie beispielsweise die maximale Dehnungslänge, wenn das Quellobjekt 302 aus einem Ruhezustand von einer Oberfläche abgehoben und in der Luft gehalten wird.
  • In einigen Ausführungsformen können die Objekteintragseigenschaften 308 in Eigenschaftstypen klassifiziert sein. Beispielsweise können die Eigenschaftstypen für die Objekteintragseigenschaften 308 die Bildeigenschaften und die Kontakteigenschaften umfassen. Die Bildeigenschaften sind Instanzen der Objekteintragseigenschaften 308, die durch die Bildgebungsvorrichtungen 222 von 2 bestimmt werden können. Beispielsweise können die Eigenschaften vom Bildtyp die eindeutige Kennung 310, das Formprofil 312, die Objektabmessungen 314, die Oberflächenentwurfsschemata 316 oder eine Kombination davon umfassen. Die Kontakteigenschaften sind Instanzen der Objekteintragseigenschaften 308, die durch die Kontaktsensoren 226 von 2 bestimmt werden können, etwa das Objektgewicht 318, die Außenmaterialzusammensetzung 320, die Objektsteifigkeit 322 oder eine Kombination davon.
  • In einigen Ausführungsformen können die Aufgaben mit einer Objekthandhabungseinheit 328 implementiert werden. Die Objekthandhabungseinheit 328 ist eine Maschine, die so konfiguriert ist, dass sie Befehle ausführt, um Objekthandhabungsaufgaben zu automatisieren. Beispielsweise kann die Objekthandhabungseinheit 328 ein Roboter sein, der zum Manipulieren von Objekten konfiguriert ist, beispielsweise ein Palettierroboter, ein Depalletierroboter oder ein Behälter- oder Regal-Kommissionierroboter. Als weiteres Beispiel können die Entladeeinheit 102 von 1, die Überführungseinheit 104 von 1 und die Transporteinheit 106 von 1 Beispiele für die Objekthandhabungseinheit 328 sein. Im Allgemeinen kann die Objekthandhabungseinheit 328 neben der Objektquelle 114 angeordnet sein, um die Aufgabe auszuführen.
  • Die Objekthandhabungseinheit 328 kann einen Endeffektor 332 aufweisen, der mit einem Roboterarm 330 verbunden ist. Der Roboterarm 330 kann Strukturelemente, Gelenke zwischen den Elementen oder eine Kombination davon aufweisen, die zum Manipulieren des Endeffektors 332 konfiguriert sind. Der Endeffektor 332 ist der Teil der Objekthandhabungseinheit 328, der das Objekt berührt, das Objekt hält oder eine Kombination davon. Zum Beispiel zeigt 3 einen Endeffektor 332, der das Zielobjekt 112 hält.
  • Der Endeffektor 332 kann bewegt werden, indem die Betätigungsvorrichtungen 212 von 2 betrieben werden, die mit den Strukturelementen des Roboterarms 330, den Gelenken des Roboterarms 330 oder einer Kombination davon verbunden sind. Der Endeffektor 332 kann betrieben werden, um Objekte zu greifen oder freizugeben, indem eine oder mehrere der Betätigungsvorrichtungen 212 betrieben werden, die zu einem oder mehreren Abschnitten des Endeffektors 332 gehören oder an diesen befestigt sind. Der Endeffektor 332 kann eine Greifvorrichtung 334 aufweisen, die eine Vorrichtung ist, die zum Greifen oder Freigeben eines Objekts konfiguriert ist, wodurch das Objekt an dem Endeffektor 332 gehalten oder befestigt oder von ihm freigegeben wird.
  • In einigen Ausführungsformen kann die Greifvorrichtung 334 ein Anziehungs- oder Sauggreifer sein, der so konfiguriert ist, dass er ein Objekt über Anziehungskräfte hält oder befestigt, etwa wie durch ein Bilden und Aufrechterhalten eines Vakuumzustands zwischen der Greifvorrichtung 334 und dem Objekt erreicht wird. Beispielsweise kann die Greifvorrichtung 334 einen Satz von Saugnäpfen 336 aufweisen, die so konfiguriert sind, dass sie eine Oberfläche des Zielobjekts 112 berühren und den Vakuumzustand in den Räumen zwischen den Saugnäpfen 336 und der Oberfläche bilden/aufrechterhalten. Der Vakuumzustand kann erzeugt werden, wenn die Greifvorrichtung 334 über den Roboterarm 330 abgesenkt wird, wodurch die Saugnäpfe 336 gegen die Oberfläche des Zielobjekts 112 gedrückt werden und Gase zwischen den gegenüberliegenden Oberflächen herausdrückt werden. Wenn der Roboterarm 330 die Greifvorrichtung 334 anhebt, kann ein Druckunterschied zwischen den Räumen innerhalb der Saugnäpfe 336 und der unmittelbaren Umgebung das Zielobjekt 112 an den Saugnäpfen 336 befestigt halten. Dementsprechend kann ein Grad des Griffs oder der Befestigung der Greifvorrichtung 334 an dem Zielobjekt 112 auf der Anzahl der Saugnäpfe 336 beruhen, die den Vakuumzustand erfolgreich erzeugen und aufrechterhalten.
  • In einigen Ausführungsformen kann die Greifvorrichtung 334 ein mechanischer Greifer sein (nicht gezeigt), der so konfiguriert ist, dass er das Zielobjekt 112 durch direkte Berührung physisch greift. Beispielsweise kann die Greifvorrichtung 334 Greifbacken (nicht gezeigt) aufweisen, die so konfiguriert sind, dass sie das Zielobjekt 112 auf Grundlage eines Anlegens von Gegen- bzw. Kompressionskräften an dem Zielobjekt 112 greifen. Das Zielobjekt 112 kann auf Grundlage der resultierenden Reibung zwischen den Kontaktflächen der Greifbacken und dem Zielobjekt 112 gegriffen werden. Als Beispiel ist die Greifvorrichtung 334 als der Satz der Saugnäpfe 336 gezeigt, obwohl klar ist, dass die Greifvorrichtung 334 stattdessen ein mechanischer Greifer sein kann.
  • Die Objekthandhabungseinheit 328 kann eine oder mehrere der Sensoreinheiten 216 aufweisen. Beispielsweise können eine oder mehrere der Bildgebungsvorrichtungen 222, einer oder mehrere der Systemsensoren 224, einer oder mehrere der Kontaktsensoren 226 oder eine Kombination davon an der Objekthandhabungseinheit 328 befestigt oder in diese integriert sein. In einigen Ausführungsformen kann eine Instanz der Bildgebungsvorrichtungen 222 an dem Endeffektor 332 befestigt sein, um Bildinformationen aus der Perspektive des Endeffektors 332 bereitzustellen. In einigen Ausführungsformen können die Bildgebungsvorrichtungen 222 so konfiguriert sein, dass sie als Objektscanner fungieren, wie beispielsweise als Barcodescanner oder QR-Codescanner, die die eindeutige Kennung des Zielobjekts 112 scannen können.
  • In einigen Ausführungsformen kann die Objekthandhabungseinheit 328 die Systemsensoren 224 von 2 aufweisen, die an verschiedenen Komponenten der Objekthandhabungseinheit 328 befestigt oder in diese integriert sind, wie beispielsweise die Strukturelemente und Gelenke des Roboterarms 330, den Endeffektor 332 oder eine Kombination davon. Zum Beispiel können die Systemsensoren 224 so konfiguriert sein, dass sie Positionen erfassen, um Orte und Ausrichtungen des Roboterarms 330, des Endeffektors 332 oder einer Kombination davon zu verfolgen.
  • In einigen Ausführungsformen kann die Objekthandhabungseinheit 328 die Kontaktsensoren 226 von 2 aufweisen, etwa Kraft-, Druck-, Drehmoment- und/oder andere taktile Sensoren, die an der Greifvorrichtung 334 befestigt oder in diese integriert sind. Beispielsweise können die Kontaktsensoren 226 Berührungs- bzw. taktile Sensoren aufweisen, die so konfiguriert sind, dass sie anzeigen, ob abgetastete Oberflächen eine andere Oberfläche berühren, und/oder so konfiguriert sind, dass sie die Größe des Oberflächenbereichs bestimmen, der eine andere Oberfläche berührt. In einem weiteren Beispiel können die Kontaktsensoren 226 Drucksensoren aufweisen, die konfiguriert sind, um den Druck, wie beispielsweise den Vakuumzustand, innerhalb der Saugnäpfe 336 zu messen. In einem weiteren Beispiel können die Kontaktsensoren 226 Linearkraftsensoren aufweisen, die konfiguriert sind, um das Gewicht des Zielobjekts 112 zu messen, wie durch einen gestrichelten Pfeil angezeigt ist, das von der Greifvorrichtung 334 getragen oder gehalten wird. In einem weiteren Beispiel können die Kontaktsensoren 226 Drehmomentsensoren aufweisen, die konfiguriert sind, um das Drehmoment an der Greifvorrichtung 334, dem Roboterarm 330 oder einer Kombination davon zu messen.
  • In einigen Ausführungsformen kann das Robotersystem 100 eine oder mehrere Bildgebungsvorrichtungen 222 aufweisen, die um die Objektquelle 114 herum positioniert sind. Beispielsweise können die Bildgebungsvorrichtungen 222 auf die Objektquelle 114 oder ein Areal gerichtet sein, das die Objektquelle 114 aufweist. In einigen Ausführungsformen können die Bildgebungsvorrichtungen 222 so konfiguriert sein, dass sie als Objektscanner fungieren, wie beispielsweise als Barcodescanner oder QR-Codescanner, die die eindeutige Kennung 310 des Zielobjekts 112 scannen können.
  • Das Robotersystem 100 kann eine oder mehrere der Sensoreinheiten 216 wie beispielsweise der Bildgebungsvorrichtungen 222, der Systemsensoren 224, der Kontaktsensoren 226 oder einer Kombination davon aufweisen, verwenden oder beides, um Sensorinformationen 340 für die Objektquelle 114, die Quellobjekte 302 oder beide zu erzeugen. Beispielsweise können die Sensorinformationen 340 die Bildsensorinformationen 342, die Kontaktsensorinformationen 344 oder eine Kombination davon für die Objektquelle 114, die Quellobjekte 302 oder beide aufweisen. Beispiele der Bildsensorinformationen 342 können Bilddaten aufweisen, wie beispielsweise ein aufgenommenes Bild oder eine Punktwolke/Tiefenkarte der Objektquelle 114. Ein Beispiel für die Kontaktsensorinformationen 344 kann Druck-, Kraft-, Drehmomentmessungen oder eine Kombination davon aufweisen.
  • Im Allgemeinen hat das Robotersystem 100 anfangs keine Kenntnis von der Identität der Quellobjekte 302 für die bestimmte Objektquelle 114, beispielsweise wenn die Objektquelle 114 dem Robotersystem 100 zum ersten Mal begegnet. Insbesondere hat das Robotersystem 100 keine Kenntnis darüber, welche Instanz der Quellobjekte 302 einer bestimmten Instanz der verzeichneten Objekte 306 entspricht. Das Robotersystem 100 kann die Sensorinformationen 340 analysieren, um erfassbare Quellobjekte 350 aus den Quellobjekten 302 zu identifizieren. Die erfassbaren Quellobjekte 350 sind Instanzen der Quellobjekte 302, die so in oder auf der Objektquelle 114 positioniert sind, dass die Sensoreinheiten 216 Informationen über diese Quellobjekte 302 sammeln können. Insbesondere sind die erfassbaren Quellobjekte 350 Instanzen der Quellobjekte 302, die von Teilen der Objekthandhabungseinheit 328, die die Sensoreinheiten 216 umfassen, berührt werden können, die im Bereich bzw. Sichtfeld der Sensoreinheiten 216 liegen oder eine Kombination davon. Beispielsweise können die erfassbaren Quellobjekte 350 die Instanzen der Quellobjekte 302 sein, die außen auf oder in der Objektquelle 114 liegen bzw. angeordnet sind. Wie in 3 gezeigt, können die mit „II“, „III“, „IV“, „V“ und „VI“ bezeichneten Quellobjekte 302 die erfassbaren Quellobjekte 350 sein, da sie für die Bildgebungsvorrichtungen 222 wahrnehmbar sind, während die mit „VII“ und „VIII“ bezeichneten Quellobjekte 302 für die Bildgebungsvorrichtungen 222 nicht wahrnehmbar sind, weil sie durch die anderen Instanzen der Quellobjekte 302 blockiert sind. Details bezüglich der Identifizierung der erfassbaren Quellobjekte 350 werden nachstehend beschrieben.
  • Das Robotersystem 100 kann die Sensorinformationen 340 analysieren, um eine oder mehrere erfassbare Objekteigenschaften 352 für die erfassbaren Quellobjekte 350 zu identifizieren. Im Allgemeinen können die erfassbaren Objekteigenschaften 352 Informationen über physische Eigenschaften der erfassbaren Quellobjekte 350 sein, die durch Analyse der Sensorinformationen 340 hergeleitet werden. Beispielsweise können die erfassbaren Objekteigenschaften 352 Bildeigenschaften 354, Kontakteigenschaften 356 oder eine Kombination davon umfassen.
  • Die Bildeigenschaften 354 sind Eigenschaften der erfassbaren Quellobjekte 350, die aus den Bildsensorinformationen 342 abgeleitet sind. Beispielsweise können die Bildeigenschaften 354 die eindeutige Kennung 310, das Formprofil 312, die Objektabmessungen 314, die Oberflächenentwurfsschemata 316, den Ort oder die relative Position der erfassbaren Quellobjekte 350 auf oder in der Objektquelle 114, die Stellung der erfassbaren Quellobjekte 350 oder eine Kombination davon umfassen.
  • Die Kontakteigenschaften 356 sind Eigenschaften der erfassbaren Quellobjekte 350, die aus den Kontaktsensorinformationen 344 abgeleitet sind. Beispiele für die Kontakteigenschaften 356 können die Objektsteifigkeit 322, die Außenmaterialzusammensetzung 320, die Objektoberflächentextur, das Objektgewicht 318, den Schwerpunkt oder eine Kombination davon aufweisen
  • Im Allgemeinen kann die Identifizierung der erfassbaren Quellobjekte 350 allein auf Grundlage der erfassbaren Objekteigenschaften 352 zu uneindeutigen und ungenauen Ergebnissen führen. Darüber hinaus kann das Abgleichen der begrenzten Anzahl verfügbarer Instanzen der erfassbaren Objekteigenschaften 352 für jedes der erfassbaren Quellobjekte 350 mit einer Hauptliste aller vorstellbaren Objekte, die von dem Robotersystem 100 gehandhabt werden, eine ineffiziente Verschwendung von Zeit und Verarbeitungsressourcen sein.
  • Aus diesem Grund kann das Robotersystem 100 eine Objektidentitätsschätzung 360 für die erfassbaren Quellobjekte 350 auf Grundlage des Objektsatzes 304 erzeugen. Die Objektidentitätsschätzung 360 ist eine Schätzung davon, welche der Objekteinträge 306 die erfassbaren Quellobjekte 350 darstellen können. Beispielsweise kann die Objektidentitätsschätzung 360 einen Schätzwert umfassen, welche Objekteinträge 306 die erfassbaren Quellobjekte 350 am wahrscheinlichsten sind. Es wurde entdeckt, dass die Verwendung des Objektsatzes 304 zum Erzeugen der Objektidentitätsschätzung 360 die Effizienz und Geschwindigkeit des Identifizierens der erfassbaren Quellobjekte 350 verbessert, indem die möglichen Identitäten für jedes der erfassbaren Quellobjekte 350 von allen möglichen Objekten in einer Hauptliste von Objekten lediglich auf die Objekteinträge 306 des Objektsatzes 304 beschränkt werden. Beispielsweise kann in einigen Implementierungen das Robotersystem 100 die Objektidentitätsschätzung 360 auf Grundlage der erfassbaren Objekteigenschaften 352 und des Objektsatzes 304, und insbesondere der Objekteintragseigenschaften 308 der Objekteinträge 306 in dem Objektsatz 304 erzeugen. Als spezifisches Beispiel kann die Objektidentitätsschätzung 360 für eines der erfassbaren Quellobjekte 350 einem der Objekteinträge 306 entsprechen, wenn eine oder mehrere der erfassbaren Objekteigenschaften 352 mit einer oder mehreren der Objekteintragseigenschaften 308 übereinstimmen. Somit wurde entdeckt, dass das Robotersystem 100, das die erfassbaren Quellobjekte 350 auf Grundlage der Objekteinträge 306 des Objektsatzes 304 identifizieren kann, die Effizienz, Geschwindigkeit und Genauigkeit des Betriebs verbessern kann, indem die Anzahl möglicher Identitäten für jedes der erfassbaren Quellobjekte 350 begrenzt wird.
  • In einigen Fällen können die erfassbaren Quellobjekte 350 abhängig von der ermittelten Anzahl der erfassbaren Objekteigenschaften 352 und der Anzahl der Objekteintragseigenschaften 308 möglicherweise mehr als eine Instanz der Objektidentitätsschätzung 360 umfassen, was Übereinstimmungen mit mehreren Instanzen der Objekteinträge 306 anzeigt. In diesen Fällen kann der Grad, mit dem die Objektidentitätsschätzung 360 der erfassbaren Quellobjekte 350 mit einem der Objekteinträge 306 übereinstimmt, durch eine Objektübereinstimmungswahrscheinlichkeit 362 angegeben werden. Die Objektübereinstimmungswahrscheinlichkeit 362 ist ein Maß für den Grad der Sicherheit der Objektidentitätsschätzung 360. Insbesondere kann die Objektübereinstimmungswahrscheinlichkeit 362 ein Maß für die Sicherheit der Korrelation zwischen den erfassbaren Objekteigenschaften 352 und den Objekteintragseigenschaften 308 sein. Beispielsweise gehört ein höherer Wert der Objektübereinstimmungswahrscheinlichkeit 362 zu einer höheren Sicherheit der Objektidentitätsschätzung 360.
  • In einigen Ausführungsformen kann die Objektübereinstimmungswahrscheinlichkeit 362 auf Grundlage einer Eigenschaftskorrelation 364 zwischen den Eigenschaften der erfassbaren Quellobjekte 350 und den Objekteintragseigenschaften 308 berechnet werden. Die Eigenschaftskorrelation 364 ist ein Indikator dafür, ob eine bestimmte Instanz der erfassbaren Objekteigenschaften 352 für eines der erfassbaren Quellobjekte 350 mit der entsprechenden Instanz der Objekteintragseigenschaften 308 für einen der Objekteinträge 306 übereinstimmt. Im Allgemeinen kann die Eigenschaftskorrelation 364 für eine der erfassbaren Objekteigenschaften 352 als positiv bestimmt werden, wenn die erfassbaren Objekteigenschaften 352 mit der entsprechenden Instanz der Objekteintragseigenschaften 308 übereinstimmen, und als negativ bestimmt werden, wenn die erfassbaren Objekteigenschaften 352 nicht mit der entsprechenden Instanz der Objekteintragseigenschaften 308 übereinstimmen. Wenn sowohl die erfassbaren Objekteigenschaften 352 des erfassbaren Quellobjekts 350 als auch die Objekteintragseigenschaften 308 der Objekteinträge 306 eine Kiste ergeben, kann als spezifisches Beispiel die Eigenschaftskorrelation 364 eine Übereinstimmung für das Formprofil 312 anzeigen.
  • In einigen Ausführungsformen kann das Robotersystem 100 die Objektübereinstimmungswahrscheinlichkeit 362 für die erfassbaren Quellobjekte 350 so berechnen, dass eine Eindeutigkeit für eine oder mehrere der Objekteintragseigenschaften 308 berücksichtigt wird. Beispielsweise ist die eindeutige Kennung 310 eine Instanz der Objekteintragseigenschaften 308, die einen hohen Grad an Eindeutigkeit bietet, was es dem Robotersystem 100 ermöglichen kann, eines der Quellobjekte 302 von den anderen Instanzen der Quellobjekte 302 zu unterscheiden. Wenn umgekehrt beispielsweise jeder der Objekteinträge 306 das Formprofil 312 einer Kiste aufweist, weisen die Objekteintragseigenschaften 308 des Formprofils 312 einen niedrigen Grad an Eindeutigkeit auf. Als weiteres Beispiel kann das Robotersystem 100 die Eindeutigkeit einer Gruppe oder Kombination von Objekteintragseigenschaften 308 berücksichtigen. Wenn beispielsweise jeder der Objekteinträge 306 das Formprofil 312 einer Kiste aufweist, kann die Kombination der Objektabmessungen 314, der Oberflächenentwurfsschemata 316 oder anderer Instanzen der Objekteintragseigenschaften 308 kombiniert werden, um einen der Objekteinträge 306 von einer anderen Instanz der Objekteinträge 306 zu unterscheiden.
  • In einigen Fällen kann jedes der erfassbaren Quellobjekte 350 mit mehr als einem der Objekteinträge 306 übereinstimmen, wobei alle Übereinstimmungen unterschiedliche Werte der Objektübereinstimmungswahrscheinlichkeit 362 aufweisen können. Die unterschiedlichen Werte der Objektübereinstimmungswahrscheinlichkeit 362 sind dargestellt, indem das mit „II“ bezeichnete erfassbare Quellobjekt 350 mit der Objektübereinstimmungswahrscheinlichkeit 362 von 10 % für „Objekt B“ in dem Objektsatz 304 und der Objektübereinstimmungswahrscheinlichkeit 362 von 70 % für „Objekt C“ in dem Objektsatz 304 gezeigt ist, während das mit „III“ bezeichnete erfassbare Quellobjekt 350 mit der Objektübereinstimmungswahrscheinlichkeit 362 von 60 % für „Objekt B“ und von 30 % für „Objekt C“ gezeigt ist. Im Allgemeinen nimmt die Objektübereinstimmungswahrscheinlichkeit 362, die zu einer bestimmten Instanz der verzeichneten Objekte 304 gehört, zu, wenn mehr der erfassbaren Objekteigenschaften 352 für die erfassbaren Quellobjekte 350 verfügbar werden, beispielsweise aufgrund einer Ausgesetztheit gegenüber den Sensoreinheiten 216 oder von Messungen dieser.
  • Das Robotersystem 100 kann das Zielobjekt 112 aus den erfassbaren Quellobjekten 350 der Objektquelle 114 als Ziel einer Aufgabe auswählen, die von der Objekthandhabungseinheit 328 ausgeführt werden soll. Beispielsweise kann das Robotersystem 100 das Zielobjekt 112 gemäß einer vorbestimmten Sequenz, einem Satz von Regeln, Schablonen von Objektkonturen oder einer Kombination davon auswählen. Als ein spezifisches Beispiel kann das Robotersystem 100 das Zielobjekt 112 als eine Instanz der erfassbaren Quellobjekte 350 auswählen, auf die der Endeffektor 332 zugreifen kann, beispielsweise eine Instanz der erfassbaren Quellobjekte 350, die sich auf der Oberseite der Quellobjekte 302 gemäß der Punktwolke/Tiefenkarte befindet, die die Entfernungen und Positionen relativ zu einem bekannten Ort der Bildgebungsvorrichtungen 222 anzeigt. In einem weiteren spezifischen Beispiel kann das Robotersystem 100 das Zielobjekt 112 als eine Instanz der erfassbaren Quellobjekte 350 auswählen, die sich an einer Ecke oder einem Rand befindet und zwei oder mehr Oberflächen aufweist, die der Objekthandhabungseinheit 328 ausgesetzt oder für diese zugänglich sind. In einem weiteren spezifischen Beispiel kann das Robotersystem 100 das Zielobjekt 112 gemäß einem vorbestimmten Muster auswählen, beispielsweise von links nach rechts oder vom nächstgelegenen zum entferntesten relativ zu einem Referenzort, ohne andere Instanzen der Quellobjekte 302 zu stören oder zu verschieben. Die Zielobjekte 112 können durch die erfassbaren Objekteigenschaften 352 beschrieben werden.
  • In einigen Ausführungsformen kann das Robotersystem 100 die Objektidentitätsschätzung 360 auf Grundlage von zusätzlichen Instanzen der Sensorinformationen 340 verifizieren. Beispielsweise kann das Robotersystem 100 die Kontaktsensorinformationen 344 verwenden, um Instanzen der erfassbaren Objekteigenschaften 352 zu bestimmen, die von den Bildgebungsvorrichtungen 222 nicht oder nicht effektiv bestimmt werden können, wie das Objektgewicht 318, die Objektsteifigkeit 322, die Außenmaterialzusammensetzung 320 oder eine Kombination davon. In Fortsetzung des Beispiels kann das Robotersystem 100 die erfassbaren Objekteigenschaften 352 verwenden, um auf Grundlage der Kontaktsensorinformationen 344 die Objektübereinstimmungswahrscheinlichkeit 362 möglicherweise auf einen Grad an Sicherheit zu erhöhen, der die Objektidentitätsschätzung 360 als die entsprechende Instanz der Objekteinträge 306 verifiziert bzw. positiv identifiziert. Als spezifisches Beispiel kann das Objektgewicht 318 des Zielobjekts 112 aus den Kontaktsensorinformationen 344 während eines Hebevorgangs des Zielobjekts 112 durch die Objekthandhabungseinheit 328 bestimmt werden, was verwendet werden kann, um die Objektübereinstimmungswahrscheinlichkeit 362 bei einem oder mehreren der Objekteinträge 306 zu erhöhen, die einen Wert des Objektgewichts 318 haben, der dem des Zielobjekts 112 entspricht.
  • In einem weiteren Beispiel kann das Robotersystem 100 eine weitere Instanz der Bildgebungsvorrichtungen 222 verwenden, um die eindeutige Kennung in dem Fall zu scannen, in dem die eindeutige Kennung 310 zuvor verdeckt oder nicht scanbar war. Da die eindeutige Kennung 310 für eine bestimmte Instanz der Objekteinträge 306 spezifisch ist, erhöht das Scannen der eindeutigen Kennung 310 des erfassbaren Quellobjekts 350 die Objektübereinstimmungswahrscheinlichkeit 362 auf einen Grad an Sicherheit, der die Objektidentitätsschätzung 360 als die entsprechende Instanz der Objekteinträge 306 verifiziert. Im Allgemeinen können die zusätzlichen Instanzen der Sensorinformationen 340 durch einen direkten Kontakt zwischen der Objekthandhabungseinheit 328 und dem Zielobjekt 112 oder darauf folgend erhalten werden. Beispielsweise kann das Robotersystem 100 die erfassbaren Objekteigenschaften 352 der eindeutigen Kennung 310 bestimmen, indem das Zielobjekt 112 mit der Objekthandhabungseinheit 328 manipuliert wird, um die eindeutige Kennung 310 den Bildgebungsvorrichtungen 222 auszusetzen.
  • Im Allgemeinen kann das Robotersystem 100 die Verifizierung der Objektidentitätsschätzung 360 für das Zielobjekt 112 und andere Instanzen der Quellobjekte 302 verwenden, um die Genauigkeit der Objektidentitätsschätzung 360 der verbleibenden Instanzen der erfassbaren Quellobjekte 350 zu erhöhen. Zum Beispiel wurde, wie in 3 gezeigt, das als „Objekt I“ bezeichnete Zielobjekt 112 mit der Objektidentitätsschätzung 360 „Objekt A“ in dem Objektsatz 304 positiv identifiziert, und somit wurde die Möglichkeit eliminiert, dass die Objektidentitätsschätzungen 360 für die erfassbaren Quellobjekte 350 „II“ und „III“ das „Objekt A“ sind. Details bezüglich der Verifizierung der Objektidentitätsschätzung 360 werden unten beschrieben.
  • Das Robotersystem 100 kann eine Systembetriebseinheit 366 aufweisen. Die Systembetriebseinheit 366 ist eine Einheit, die die Funktionalität zum Analysieren von Informationen bietet und Befehle zum Ausführen der Vorgänge des Robotersystems 100 erzeugt. Beispielsweise kann die Systembetriebseinheit 366 Befehle zum Betreiben der Objekthandhabungseinheit 328, der Sensoreinheiten 216 oder einer Kombination davon erzeugen. Als weiteres Beispiel kann die Systembetriebseinheit 366 Informationen wie beispielsweise den Objektsatz 304 und die Sensorinformationen 340 empfangen und analysieren, um die erfassbaren Quellobjekte 350 zu erkennen, die Objektidentitätsschätzung 360 zu erzeugen und andere Funktionen wie oben beschrieben auszuführen. In einigen Ausführungsformen kann die Systembetriebseinheit 366 eine oder mehrere der Einheiten von 2 aufweisen, etwa die Steuereinheit 202, die Speichereinheit 204, die Kommunikationseinheit 206, die Systemschnittstelle 208 oder eine Kombination davon.
  • In einigen Ausführungsformen kann die Systembetriebseinheit 366 mit anderen Einheiten in dem Robotersystem 100 wie der Objekthandhabungseinheit 328, den Sensoreinheiten 216, anderen Instanzen der Systembetriebseinheit 366 oder einer Kombination davon über den Kommunikationspfad 218 verbunden sein. Beispielsweise kann die Systembetriebseinheit 366 eine Instanz der Kommunikationseinheit 206 umfassen, um Betriebsanweisungen an die Objekthandhabungseinheit 328 zu senden, die Sensorinformationen 340 von den Sensoreinheiten 216 zu empfangen und den Objektsatz 304 von einer anderen Instanz der Systembetriebseinheit 366 zu empfangen oder eine Kombination davon.
  • Als Beispiel ist das Robotersystem 100 mit einer einzigen Instanz der Systembetriebseinheit 366 gezeigt, die mit der Objekthandhabungseinheit 328 und der Sensoreinheit 216 verbunden ist, obwohl klar ist, dass das Robotersystem 100 in verschiedenen Konfigurationen mehr als eine Instanz der Systembetriebseinheit 366 umfassen kann. Beispielsweise kann in einigen Ausführungsformen das Robotersystem 100 eine Instanz der Systembetriebseinheit 366, die mit den Sensoreinheiten 216 verbunden ist, und eine weitere Instanz der Systembetriebseinheit 366 umfassen, die mit der Objekthandhabungseinheit 328 verbunden ist. Zusätzliche Details bezüglich der Funktionen der Systembetriebseinheit 366 werden nachstehend beschrieben.
  • Unter Bezugnahme auf 4 ist eine Draufsicht gezeigt, die ein Beispiel des Robotersystems 100 bei der Ausführung einer Objekthandhabungsaufgabe 440 gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung zeigt. Die Objekthandhabungsaufgabe 440 steht für eine Folge von Handlungen, die von dem Robotersystem 100, das die Objekthandhabungseinheit 328 umfassen kann, zum Erreichen eines Ziels ausgeführt. Wie durch den gestrichelten Pfeil in 4 gezeigt, kann die Objekthandhabungsaufgabe 440 beispielsweise ein Verschieben des Zielobjekts 112 von der Objektquelle 114 zum Aufgabenort 116 umfassen, es versteht sich jedoch, dass die Objekthandhabungsaufgabe 440 einen anderen Umfang haben kann, wie beispielsweise ein Sortieren der Quellobjekte 302 von 3 durch Überführen der Quellobjekte 302 auf unterschiedliche Instanzen des Aufgabenorts 116 gemäß den Objekteintragseigenschaften 308 von 3.
  • Als spezifisches Beispiel kann die Objekthandhabungsaufgabe 440 eine oder mehrere Vorgänge umfassen, die der Reihe nach oder parallel ausgeführt werden, wie beispielsweise ein Scannen der Objektquelle 114, ein Erkennen der erfassbaren Quellobjekte 350, ein Bestimmen der Objektidentitätsschätzung 360 von 3 für die erfassbaren Quellobjekte 350 und ein Auswählen des Zielobjekts 112 aus der Objektquelle 114, wie in 3 oben beschrieben. Als ein weiteres spezifisches Beispiel kann die Objekthandhabungsaufgabe 440 ein Ausführen einer Objekthandhabungsstrategie 442, ein Implementieren eines Fehlererkennungsprotokolls 444, ein Ausführen eines Aufgaben-Bewegungsplans 450 oder eine Kombination davon umfassen.
  • Die Objekthandhabungsstrategie 442 ist ein Satz von Betriebsparametern zum Steuern, wie die Objekthandhabungseinheit 328 mit dem Zielobjekt 112 gemäß den entsprechenden Instanzen der Objekteintragseigenschaften 308 von 3 interagiert. Beispielsweise können die verschiedenen Betriebsparameter der Objekthandhabungsstrategie 442 umfassen, wo und wie das Zielobjekt 112 gegriffen werden soll; wie das Zielobjekt 112 transportiert und bewegt werden soll; erforderliche Abstände für das Zielobjekt; Wegfindung beim Transportieren des Zielobjekts 112 von der Objektquelle 114 zum Aufgabenort 116; oder eine Kombination davon. Beispiele der Objekteintragseigenschaften 308, die zum Erzeugen der Objekthandhabungsstrategie 442 verwendet werden, können die Objektabmessungen 314 von 3; das Objektgewicht 318 von 3; die Objektsteifigkeit 322 von 3; den Verformungsmodus 324 von 3; den Verformungsgrad 326 von 3; den Objektinhalt von 3; oder eine Kombination davon umfassen.
  • Im Allgemeinen berücksichtigt das Erzeugen der Objekthandhabungsstrategie 442 für die erfassbaren Quellobjekte 350 von 3 auf Grundlage der Kontaktsensorinformationen 344 von 3, der Bildsensorinformationen 342 von 3 oder einer Kombination davon ohne Bezugnahme auf den Objektsatz 304 von 3 Eigenschaften der Zielobjekte 112 nicht, die nicht leicht allein durch die Sensorinformationen 340 von 3 bestimmt werden können, etwa den Objektinhalt, die Objektsteifigkeit 322, den Verformungsmodus 324 oder den Verformungsgrad 326. Es wurde jedoch entdeckt, dass ein Erzeugen der Objekthandhabungsstrategie 442 auf Grundlage der Objektidentitätsschätzung 360, die mit den Objekteinträgen 306 des Objektsatzes 304 verbunden ist, es dem Robotersystem 100 ermög- licht, die Objekthandhabungsstrategie 442 so zu optimieren, dass sie einen breiteren Bereich von erfassbaren Objekteigenschaften 352 berücksichtigt.
  • Im Fall der Objekteintragseigenschaften 308 der Objektabmessungen 314 kann die Objekthandhabungsstrategie 442 beispielsweise Befehle zum Festlegen von Grenzen für den Bewegungsbereich des Zielobjekts 112, Bewegungsmodi des Zielobjekts 112 oder eine Kombination davon umfassen. Beispielsweise kann die Objekthandhabungsstrategie 442 Befehle zum Bereitstellen von Abständen des Zielobjekts 112 gemäß den Objektabmessungen 314 während einer Drehung oder Bewegung des Zielobjekts 112 umfassen, um zu verhindern, dass Teile des Zielobjekts 112 unbeabsichtigt andere Objekte oder Strukturen berühren.
  • Im Fall der Objekteintragseigenschaften 308 des Objektgewichts 318 kann die Objekthandhabungsstrategie 442 beispielsweise Befehle zum Begrenzen der maximalen Geschwindigkeit und Beschleunigungs- und Verzögerungsraten umfassen. Beispielsweise können Objekte oberhalb einer festgelegten Gewichtsgrenze mit einer Geschwindigkeit gehandhabt werden, die niedriger als für Objekte ist, die unterhalb der festgelegten Gewichtsgrenze liegen. In ähnlicher Weise können beispielsweise die Beschleunigungs- und Verzögerungsraten von Objekten oberhalb einer bestimmten Gewichtsgrenze langsamer als für Objekte sein, die unterhalb der Gewichtsgrenze liegen.
  • In dem Fall der Objekteintragseigenschaften 308 der Objektsteifigkeit 322 kann die Objekthandhabungsstrategie 442 beispielsweise Befehle zum Begrenzen des Ausmaßes des Griffdrucks umfassen, der von der Greifvorrichtung 334 der Objekthandhabungseinheit 328 auf das Zielobjekt 112 ausgeübt werden kann. Beispielsweise kann die Objekthandhabungsstrategie 442 Begrenzungen des vom Endeffektor 332 ausgeübten Anpressdrucks oder des von der Greifvorrichtung 334 von 3 ausgeübten Kraftbetrags beim Berühren des Zielobjekts 112 umfassen.
  • Im Fall der Objekteintragseigenschaften 308 des Verformungsmodus 324 kann die Objekthandhabungsstrategie 442 beispielsweise Befehle für eine Griffposition auf dem Zielobjekt 112 umfassen, um das Ausmaß der Formkrümmung wie Biegen oder Durchhängen des Zielobjekts 112 zu begrenzen oder zu minimieren. Beispielsweise kann die Objekthandhabungsstrategie 442 Befehle zum Ergreifen oder Anheben des Zielobjekts 112 in der Nähe des Schwerpunkts anstelle eines Randes, der vom Schwerpunkt entfernt ist, umfassen, um ein Biegen oder Durchhängen des Zielobjekts 112 zu minimieren.
  • Im Fall der Objekteintragseigenschaften 308 des Verformungsgrades 326 kann die Objekthandhabungsstrategie 442 beispielsweise einen zusätzlichen Bewegungsbereich umfassen, um ein erwartetes Maß an Formänderung wie z. B. Dehnung bei der Handhabung des Zielobjekts 112 zu berücksichtigen. Beispielsweise kann die Objekthandhabungsstrategie 442 Befehle zum Vergrößern der Höhe umfassen, mit der das Zielobjekt 112 aus einem Ruhezustand von der Objektquelle 114 an- bzw. abgehoben wird, um einen zusätzliche Abstände beim Bewegen des Zielobjekts 112 bereitzustellen.
  • Im Fall der Objekteintragseigenschaften 308 des Objektinhalts kann die Objekthandhabungsstrategie 442 beispielsweise Befehle zum Begrenzen der Maximalgeschwindigkeit für Objekte umfassen, die gegenüber Geschwindigkeit oder Bewegung empfindlich sein können. Beispielsweise können Objektinhalte wie zerbrechliche Objekte oder Flüssigkeiten im Vergleich zu nicht zerbrechlichen oder festen Objekten mit geringeren Geschwindigkeiten gehandhabt werden.
  • In einer weiteren Implementierung kann die Objekthandhabungsstrategie 442 für die Objekteintragseigenschaften 308 des Objektinhalts beispielsweise Befehle umfassen, die die Beschleunigungs- und Verzögerungsraten für Objekte begrenzen, die für schnelle oder plötzliche Änderungen der Geschwindigkeit oder Bewegungsrichtung empfindlich sein können. Beispielsweise kann der Objektinhalt, etwa zerbrechliche Objekte oder Flüssigkeiten, mit Beschleunigungsraten gehandhabt werden, die plötzliche oder starke Impulsänderungen begrenzen.
  • Das Fehlererkennungsprotokoll 444 ist eine Handlung, die von dem Robotersystem 100 ausgeführt wird, wenn ein Fehler während der Objekthandhabungsaufgabe 440 erkannt wird. Beispielsweise kann das Fehlererkennungsprotokoll 444 implementiert werden, wenn eine Inkonsistenz zwischen einer oder mehreren der Objekteintragseigenschaften 308 und einer oder mehreren der erfassbaren Objekteigenschaften 352 erkannt wird. Insbesondere kann das Fehlererkennungsprotokoll 444 in einer Situation implementiert werden, in der die Objektidentitätsschätzung 360 als eine spezifische Instanz der Objekteinträge 306 verifiziert wurde, beispielsweise durch Abgleich der eindeutigen Kennung 310 von 3, aber eine oder mehrere der Objekteintragseigenschaften 308 nicht mit einer oder mehreren der erfassbaren Objekteigenschaften 352 übereinstimmen. Ein Beispiel für eine Inkonsistenz, die das Fehlererkennungsprotokoll 444 auslöst, kann eine Differenz zwischen dem Objektgewicht 318 des verzeichneten Objekts 306 in dem Objektsatz 304 und dem Objektgewicht 318 des Zielobjekts 112, wie durch die Kontaktsensoren 226 von 2 bestimmt, umfassen.
  • In einigen Ausführungsformen kann das Fehlererkennungsprotokoll 444 ein Beenden der Ausführung der Objekthandhabungsaufgabe 440 nach der Fehlererkennung umfassen. In einigen Ausführungsformen kann das Fehlererkennungsprotokoll 444 ein Ersetzen des Zielobjekts 112 in oder auf der Objektquelle 114 umfassen. In einigen Ausführungsformen kann das Fehlererkennungsprotokoll 444 einen Transport des Zielobjekts 112 zu einem bestimmten Ort zur Inspektion des Zielobjekts 112 umfassen. In einigen Ausführungsformen kann das Fehlererkennungsprotokoll 444 ein Anfordern von Bedienereingaben umfassen. Beispielsweise kann das Robotersystem 100 eine Bedienerbenachrichtigung erzeugen, um ein anderes System oder den menschlichen Bediener auf das Auftreten der Fehlererkennung aufmerksam zu machen.
  • Der Aufgaben-Bewegungsplan 450 entspricht einer oder mehreren Handlungen, die von der entsprechenden Einheit implementiert werden, um die Objekthandhabungsaufgabe 440 auszuführen. In dem in 4 gezeigten Fall dient der Aufgaben-Bewegungsplan 450 zum Überführen des Zielobjekts 112 von der Objektquelle 114 zum Aufgabenort 116. Der Aufgaben-Bewegungsplan 450 für die Objekthandhabungseinheit 328 kann beispielsweise ein Positionieren des Endeffektors 332 zum Aufnehmen, ein Greifen des Zielobjekts 112, ein Anheben des Zielobjekts 112, ein Überführen des Zielobjekts 112 von einem Ort oberhalb der Objektquelle 114 zu einem Ort oberhalb des Aufgabenort 116, ein Absenken des Zielobjekts 112 und ein Freigeben des Zielobjekt 112 umfassen. Der Aufgaben-Bewegungsplan 450 kann die Objekthandhabungsstrategie 442 während der Ausführung des Aufgaben-Bewegungsplans 450 umfassen.
  • In einigen Ausführungsformen kann der Aufgaben-Bewegungsplan 450 eine Folge von Befehlen oder Einstellungen für eine oder mehrere der Betätigungsvorrichtungen 212 von 2 umfassen, die den Roboterarm 330, den Endeffektor 332 oder eine Kombination davon betreiben. Beispielsweise kann der Aufgaben-Bewegungsplan 450 Befehle oder Einstellungen umfassen, um den Greifer an einen bestimmten Ort um die Objektquelle 114 herum zu platzieren, das Zielobjekt 112 mit dem Endeffektor 332 gemäß der Objekthandhabungsstrategie 442 zu greifen und zu halten, den Endeffektor 332 an einen bestimmten Ort um den Aufgabenort 116 herum zu platzieren und das Zielobjekt 112 vom Endeffektor 332 freizugeben.
  • In einigen Ausführungsformen kann die Systembetriebseinheit 366 die Befehle zum Betreiben der Objekthandhabungseinheit 328 erzeugen. Beispielsweise kann die Systembetriebseinheit 366 die Objekthandhabungsstrategie 442 erzeugen, den Aufgaben-Bewegungsplan 450 berechnen, das Fehlererkennungsprotokoll 444 aufrufen oder andere verbundene Funktionen ausführen.
  • Unter Bezugnahme auf 5 ist ein Flussdiagramm für ein Verfahren 500 zum Betreiben des Robotersystems 100 von 1 gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung gezeigt. Das Verfahren 500 kann zum Identifizieren des Zielobjekts 112 von 1, Implementieren einer granularen Steuerung und Manipulieren des Zielobjekts 112 gemäß dem Objektsatz 304 von 3 oder einer Kombination davon dienen. Das Verfahren 500 kann auf Grundlage der Ausführung der Befehle, die auf einer oder mehreren der Speichereinheiten 204 von 2 gespeichert sind, durch eine oder mehrere der Steuereinheiten 202 von 2 implementiert werden. Ferner wird die folgende Beschreibung des Verfahrens 500 in Bezug auf die Einheiten von 2 beschrieben, etwa die Steuereinheit 202, die Speichereinheit 204 und die Kommunikationseinheit 206, es versteht sich jedoch, dass das Verfahren durch eine oder mehrere Instanzen der Systembetriebseinheit 366 von 3 implementiert werden kann, die verschiedene Kombinationen und Mengen der Steuereinheit 202, der Speichereinheit 204 und der Kommunikationseinheit 206 aufweisen können.
  • Bei Block 502 kann das Robotersystem 100 den Objektsatz 304 empfangen. Beispielsweise kann das Robotersystem 100 einen Objektsatz 304 empfangen, der einer bestimmten Instanz der Objektquelle 114 zugeordnet ist. In einer Ausführungsform kann der Objektsatz 304 der Steuereinheit 202 des Robotersystems 100 über die Kommunikationseinheit 206 oder durch Zugriff auf die Speichereinheit 204 bereitgestellt werden.
  • Bei Block 504 kann das Robotersystem 100 den Objektsatz 304 analysieren, um die Eindeutigkeit einer oder mehrerer der Objekteintragseigenschaften 308 von 3 zu bestimmen. Beispielsweise kann die Steuereinheit 202 die eindeutige Kennung 310 als eine Instanz der Objekteintragseigenschaften 308 ermitteln, die einen hohen Grad an Eindeutigkeit bereitstellt, der sie dem Robotersystem 100 ermöglichen kann, eines der erfassbaren Quellobjekte 350 zu identifizieren. In einem weiteren Beispiel kann die Steuereinheit 202 Gruppierungen oder Kombinationen der Objekteintragseigenschaften 308 ermitteln, die für eine Teilmenge oder Gruppe der Objekteinträge 306 unter vielen anderen Instanzen der Objekteinträge 306 in dem Objektsatz 304 eindeutig sind. Umgekehrt können Instanzen der Objekteintragseigenschaften 308, die vielen der Objekteinträge 306 gemeinsam sind, einen geringen Grad an Eindeutigkeit aufweisen. Beispielsweise kann die Steuereinheit 202 ermitteln, dass die Objekteintragseigenschaften 308 des Formprofils 312 einen niedrigen Grad an Eindeutigkeit aufweisen, wenn das Formprofil 312 für alle Objekteinträge 306 Kisten sind.
  • Die Eindeutigkeit der Objekteintragseigenschaften 308 oder Gruppen der Objekteintragseigenschaften 308 kann dynamisch analysiert werden. Beispielsweise kann die Steuereinheit 202 die Eigenschaften verzeichneter Objekte 308 erneut analysieren, während die Quellobjekte 302 aus der Objektquelle 114 entfernt werden, um zu ermitteln, ob zusätzliche Gruppierungen oder Kombinationen der Objekteintragseigenschaften 308 zunehmend eindeutig geworden sind, während die Anzahl der verbleibenden Instanzen der Quellobjekte 302 abnimmt.
  • In Block 506 kann das Robotersystem 100 einen Scan-Befehl zum Scannen der Objektquelle 114, der Quellobjekte 302 oder einer Kombination davon zum Erzeugen der Sensorinformationen 340 von 3 erzeugen. In einer Implementierung kann die Steuereinheit 202 des Robotersystems 100 einen Scan-Befehl, etwa über die Kommunikationseinheit 206, an die Sensoreinheiten 216 senden, um die Sensorinformationen 340 über die Objektquelle 114 zu erzeugen. Beispielsweise kann das Robotersystem 100 die Steuereinheit 202 so implementieren, dass sie den Scan-Befehl so erzeugt, dass die Bildgebungsvorrichtungen 222 von 2, die um die Objektquelle 114 herum angeordnet und auf diese gerichtet sind, die Bildsensorinformationen 342 von 3 erzeugen. In einer Ausführungsform kann die Steuereinheit 202 die Bildsensorinformationen 342 von den Bildgebungsvorrichtungen 222 empfangen, etwa über die Kommunikationseinheit 206. In einigen Ausführungsformen kann die Steuereinheit 202 Bildsensorinformationen 342 empfangen, die digitale Bilder, Punktwolken, Tiefenkarten oder eine Kombination davon einer oder mehrerer nach außen gerichteter Oberflächen der Quellobjekte 302 umfassen können, die von der Objektquelle 114 freigelegt sind. Als ein weiteres spezifisches Beispiel können die Bildsensorinformationen 342 Wärmebildinformationen, Röntgenbildinformationen, zweidimensionale Karten, dreidimensionale Karten oder eine Kombination davon umfassen. In einer weiteren Implementierung kann die Steuereinheit 202 die Bildsensorinformationen 202 als rohe, unverarbeitete oder teilverarbeitete Bildinformationen von mehreren Instanzen der Bildgebungsvorrichtungen 222 empfangen, die von der Steuereinheit 202 analysiert werden können, um die Punktwolken, Tiefenkarten, zweidimensionalen Karten, dreidimensionalen Karten oder eine Kombination davon zu erzeugen.
  • In Block 508 kann das Robotersystem 100 die Bildsensorinformationen 342 analysieren, um die erfassbaren Quellobjekte 350 zu bestimmen. Beispielsweise kann in einer Implementierung die Steuereinheit 202 die Bildsensorinformationen 342 zum Bestimmen der erfassbaren Quellobjekte 350 mit einem Mustererkennungsmechanismus, einem Satz von Regeln zum Identifizieren von Objektumrissen wie Außenrändern oder Oberflächen, oder einer Kombination davon analysieren. In Fortsetzung des Beispiels kann die Steuereinheit 202 ferner Gruppierungen von Umrissen, beispielsweise gemäß vorbestimmten Regeln, Stellungsvorlagen oder einer Kombination davon, als zu den erfassbaren Quellobjekten 350 gehörend identifizieren. In Fortsetzung des Beispiels kann die Steuereinheit 202 diejenigen Gruppierungen von Objektumrissen identifizieren, die einem Muster, etwa einem gleichen Wert oder einem Wert, der mit einer bekannten Rate oder einem bekannten Muster variiert, bezüglich Farbe, Helligkeit, Tiefe, Position oder einer Kombination davon über die Objektlinien hinweg entsprechen. Beispielsweise kann die Steuereinheit 202 die Gruppierungen der Objektumrisse auch gemäß vorbestimmten Formen oder Stellungsschablonen identifizieren, die in den Stammdaten 246 von 2 definiert sind. Als spezifisches Beispiel kann die Steuereinheit 202 die Bildsensorinformationen 342 als die Bildeigenschaften 354 von 3 einer oder mehreren der erfassbaren Objekteigenschaften 352 zuordnen, etwa der eindeutigen Kennung 310 von 3, dem Formprofil 312 von 3, den Objektabmessungen 314 von 3, den Oberflächenentwurfsschemata 316 von 3, dem Ort oder der relativen Position der erfassbaren Quellobjekte 350 auf oder in der Objektquelle 114, der Stellung der erfassbaren Quellobjekte 350 oder einer Kombination davon.
  • In Block 510 kann das Robotersystem 100 die Eigenschaftskorrelation 364 von 3 zwischen den erfassbaren Objekteigenschaften 352 der erfassbaren Quellobjekte 350 und den Objekteintragseigenschaften 308 der Objekteinträge 306 bestimmen. In einer beispielhaften Implementierung kann die Steuereinheit 202 eine der erfassbaren Objekteigenschaften 352 für eine bestimmte Instanz der erfassbaren Quellobjekte 350 mit den Objekteintragseigenschaften 308 für jeden der Objekteinträge 306 vergleichen, um zu bestimmen, ob die Eigenschaftskorrelation 364 positiv ist, was auf eine Übereinstimmung hinweist, oder negativ ist, was auf keine Übereinstimmung hinweist. Zur Fortführung der beispielhaften Implementierung kann die Steuereinheit 202 für die spezifische Instanz der erfassbaren Quellobjekte 350 die Vergleiche zwischen jeder der erfassbaren Objekteigenschaften 352 und den Objekteintragseigenschaften 308 für jeden der Objekteinträge 306 in dem Objektsatz 304 wiederholen. Als spezifisches Beispiel kann die Steuereinheit 202 für eine spezifische Instanz der erfassbaren Quellobjekte 350 eine Instanz der erfassbaren Objekteigenschaften 352, wie beispielsweise das Formprofil 312, mit dem Formprofil 312 für jeden der Objekteinträge 306 in dem Objektsatz 304 vergleichen, um zu bestimmen, ob die Eigenschaftskorrelation 364 positiv oder negativ ist. Beispielsweise kann die Steuereinheit 202 bestimmen, dass die Eigenschaftskorrelation 364 für das Formprofil 312 positiv ist, wenn sowohl das erfassbare Quellobjekt 350 als auch das registrierte Objekt 306 Kisten sind. In Fortsetzung des spezifische Beispiels kann die Steuereinheit 202 den iterativen Vergleich für jede gegenwärtig verfügbare Instanz der erfassbaren Objekteigenschaften 352 der spezifischen Instanz der erfassbaren Quellobjekte 350 mit den entsprechenden Instanzen der Objekteintragseigenschaften 308 für alle Objekteinträge 306 in dem Objektsatz 304 fortsetzen.
  • In Block 512 kann das Robotersystem 100 die Objektübereinstimmungswahrscheinlichkeit 362 für die erfassbaren Quellobjekte 350 berechnen. Beispielsweise kann die Steuereinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 auf Grundlage der Eigenschaftskorrelation 364 zwischen den erfassbaren Objekteigenschaften 352 und den Objekteintragseigenschaften 308 der Objekteinträge 306 in dem Objektsatz 304 berechnen. In einigen Ausführungsformen kann die Steuereinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 als Prozentsatz auf Grundlage der Anzahl positiver Instanzen der Eigenschaftskorrelation 364 zwischen den erfassbaren Objekteigenschaften 352 und den Objekteintragseigenschaften 308 der Objekteinträge 306 berechnen. Beispielsweise kann in einer Implementierung die Steuereinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 als Prozentsatz der Anzahl positiver Instanzen der Eigenschaftskorrelation 364 gegenüber der Gesamtzahl der Objekteintragseigenschaften 308 berechnen, die in dem Objektsatz 302 für eine bestimmte Instanz der Objekteinträge 306 umfassen sind. Als spezifisches Beispiel kann in dem Fall, in dem das Robotersystem 100 bestimmt, dass eine Instanz eines erfassbaren Quellobjekts 350 zwei positive Instanzen der Eigenschaftskorrelation 364 aufweist und der Objekteintrag 306 vier Instanzen der Objekteintragseigenschaften 308 aufweist, die Steuerungseinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 als 50 % berechnen.
  • In einigen Ausführungsformen kann die Steuereinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 für die erfassbaren Quellobjekte 350 so berechnen, dass der Grad der Eindeutigkeit für eine oder mehrere der Objekteintragseigenschaften 308 berücksichtigt wird. Beispielsweise können bestimmte Instanzen oder Kombinationen der Objekteintragseigenschaften 308, die einen höheren Eindeutigkeitsgrad aufweisen, wie beispielsweise die eindeutige Kennung 310, beim Berechnen der Objektübereinstimmungswahrscheinlichkeit 362 höher als Objekteintragseigenschaften 308 mit einem niedrigeren Eindeutigkeitsgrad gewichtet werden, etwa solche, die viele der Objekteinträge 306 gemein haben. Als ein spezifisches Beispiel kann die Steuereinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 bei einer positiven Instanz der Eigenschaftskorrelation 364 zwischen der eindeutigen Kennung 310 einer Instanz der erfassbaren Quellobjekte 350 und der eindeutigen Kennung 310 eines der Objekteinträge 306 als einen hohen Prozentsatz berechnen.
  • In einigen Ausführungsformen kann die Steuereinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 als eine Übereinstimmungswahrscheinlichkeit von Null berechnen, wenn eine negative Instanz der Eigenschaftskorrelation 364 zwischen einer oder mehreren der erfassbaren Objekteigenschaften 352 und der entsprechenden Instanz der Objekteintragseigenschaften 308 existiert. Die Objektübereinstimmungswahrscheinlichkeit 362 von Null zwischen einer bestimmten Instanz der erfassbaren Quellobjekte 350 und einer bestimmten Instanz der Objekteinträge 306 zeigt an, dass eine bestimmte Instanz der erfassbaren Quellobjekte 350 keiner bestimmten Instanz der Objekteinträge 306 entspricht. Beispielsweise kann die Steuereinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 als die Übereinstimmungswahrscheinlichkeit von Null berechnen, wenn eine negative Instanz der Eigenschaftskorrelation 364 zwischen der eindeutigen Kennung 310, dem Formprofil 312, den Objektabmessungen 314, dem Oberflächenentwurfsschema 316 oder einer Kombination davon des erfassbaren Quellobjekts 350 und den entsprechenden Instanzen der Objekteintragseigenschaften 308 für eine bestimmte Instanz der Objekteinträge 306 besteht. Als spezifisches Beispiel kann für ein erfassbares Quellobjekt 350 mit dem Formprofil 312 eines Rohrs die Objektübereinstimmungswahrscheinlichkeit 362 als die Übereinstimmungswahrscheinlichkeit von Null berechnet werden, wenn es mit Instanzen der Objekteinträge 306 mit dem Formprofil 312 einer Kiste verglichen wird.
  • In einigen Fällen kann die Steuereinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 als die Übereinstimmungswahrscheinlichkeit von Null berechnen, obwohl positive Instanzen der Eigenschaftskorrelation 364 zwischen einigen Instanzen der erfassbaren Objekteigenschaften 352 und den Objekteintragseigenschaften 308 ermittelt wurden. Beispielsweise kann die Steuereinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 als die Übereinstimmungswahrscheinlichkeit von Null berechnen, obwohl positive Instanzen der Eigenschaftskorrelation 364 ermittelt wurden, wenn die Steuereinheit 202 eine negative Instanz der Eigenschaftskorrelation 362 für eine der erfassbaren Objekteigenschaften 352 ermittelt hat. In einem weiteren Beispiel kann die Steuereinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 als die Übereinstimmungswahrscheinlichkeit von Null berechnen, obwohl positive Instanzen der Eigenschaftskorrelation 364 ermittelt wurden, wenn das Robotersystem 100 ermittelt hat, dass die Instanz der Quellobjekte 302, die einem der Objekteinträge 306 entspricht, aus der Objektquelle 114 entfernt wurde, so dass das erfassbare Quellobjekt 350 nicht mit der bestimmten Instanz der Objekteinträge 306 übereinstimmen kann.
  • In Block 516 kann das Robotersystem 100 die Objektidentitätsschätzung 360 von 3 für die erfassbaren Quellobjekte 350 erzeugen. In einigen Ausführungsformen kann die Steuereinheit 202 die Objektidentitätsschätzung 360 auf Grundlage der Objektübereinstimmungswahrscheinlichkeit 362 der erfassbaren Quellobjekte 350 erzeugen. In einigen Ausführungsformen kann die Steuereinheit 202 mehrere Instanzen der Objektidentitätsschätzung 360 für eines der erfassbaren Quellobjekte 350 auf Grundlage der Menge der erzeugten Instanzen der Objektübereinstimmungswahrscheinlichkeit 362 erzeugen, die für diese Instanz der erfassbaren Quellobjekte 350 spezifisch sind. Beispielsweise kann das Robotersystem 100 unter bestimmten Umständen mehrere Instanzen der Objektübereinstimmungswahrscheinlichkeit 362 auf Grundlage der derzeit verfügbaren Instanzen der Eigenschaftskorrelation 364 erzeugen, was eine Übereinstimmung mit mehreren Instanzen der Objekteinträge 306 anzeigt. Unter diesen Umständen kann die Steuereinheit 202 eine Instanz der Objektidentitätsschätzung 360 für jede erzeugte Instanz der Objektübereinstimmungswahrscheinlichkeit 362 erzeugen und kann jeder der Objektidentitätsschätzungen 360 gemäß dem entsprechenden Wert der Objektübereinstimmungswahrscheinlichkeit 362 einen Rang zuweisen. In einigen Ausführungsformen kann die Steuereinheit 202 die Objektidentitätsschätzung 360 als die Instanz der Objekteinträge 306 erzeugen, die der Objektübereinstimmungswahrscheinlichkeit 362 mit dem höchsten Wert entspricht, da ein höherer Wert der Objektübereinstimmungswahrscheinlichkeit 362 mit einer höheren Sicherheit der Objektidentitätsschätzung 360 korrelieren kann.
  • In einigen Ausführungsformen kann die Steuereinheit 202 die Objektidentitätsschätzung 360 für die erfassbaren Quellobjekte 350 auf Grundlage eines Vergleichs der Objektübereinstimmungswahrscheinlichkeit 362 für jedes der erfassbaren Quellobjekte 350 erzeugen. Beispielsweise kann der Vergleich der Objektübereinstimmungswahrscheinlichkeit 362 für jedes der erfassbaren Quellobjekte 350 für eine bestimmte Instanz der Objekteinträge 306 spezifisch sein. In einer beispielhaften Implementierung kann die Steuereinheit 202 für jedes der erfassbaren Quellobjekte 350, das eine Objektübereinstimmungswahrscheinlichkeit 362 ungleich Null mit einer bestimmten Instanz der Objekteinträge 306 aufweist, die Objektübereinstimmungswahrscheinlichkeit 362 vergleichen und die Objektidentitätsschätzung 360 erzeugen, um dasjenige erfassbare Quellobjekt 350 als die spezifische Instanz der Objekteinträge 306 zu identifizieren, das den höchsten Wert der zu der spezifischen Instanz der Objekteinträge 306 gehörenden Objektübereinstimmungswahrscheinlichkeit 362 aufweist.
  • Zur Veranschaulichung des Beispiels kann mit Bezug auf den in 3 gezeigten hypothetischen Fall die Steuereinheit 202 in Bezug auf die bestimmte Instanz „OBJ B“ der Objekteinträge 306 die Objektübereinstimmungswahrscheinlichkeit 362 für das erfassbare Quellobjekt 350 „OBJ II“ als 10 % und die Objektübereinstimmungswahrscheinlichkeit 362 für das erfassbaren Quellobjekt 350 „OBJ III“ als 60 % vergleichen. In ähnlicher Weise kann in Bezug auf die bestimmte Instanz „OBJ C“ der Objekteinträge 306 die Steuereinheit 202 die Objektübereinstimmungswahrscheinlichkeit 362 für das erfassbare Quellobjekt 350 „OBJ II“ als 70 % und die Objektübereinstimmungswahrscheinlichkeit 362 für das erfassbare Quellobjekt 350 „OBJ III“ als 30 % vergleichen. In Fortzusetzen des Beispiels kann für den Vergleich zwischen der Objektübereinstimmungswahrscheinlichkeit 362 für die erfassbaren Quellobjekte 350 „OBJ II“ und „OBJ III“ die Steuereinheit 202 die Objektidentitätsschätzung 360 für „OBJ II“ als den Objekteintrag 306 „OBJ C“ und die Objektidentitätsschätzung 360 für „OBJ III“ als den Objekteintrag 306 „OBJ B“ erzeugen.
  • In Block 518 kann das Robotersystem 100 das Zielobjekt 112 aus den erfassbaren Quellobjekten 350 der Objektquelle 114 auswählen. Beispielsweise kann die Steuereinheit 202 das Zielobjekt 112 gemäß einer vorbestimmten Sequenz, einem vorbestimmten Satz von Regeln, Schablonen von Objektumrissen oder einer Kombination davon auswählen. Als ein spezifisches Beispiel kann die Steuereinheit 202 das Zielobjekt 112 als eine Instanz der erfassbaren Quellobjekte 350 auswählen, die für den Endeffektor 332 zugänglich sind, beispielsweise eine Instanz der erfassbaren Quellobjekte 350, die sich auf den Quellobjekten 302 oben befindet, gemäß der Punktwolke, Tiefenkarte oder einer Kombination davon, die die Abstände oder Positionen relativ zu einem bekannten Ort der Bildgebungsvorrichtungen 222 angeben. Als spezifische Beispiele kann die Steuereinheit 202 das Zielobjekt 112 als eine Instanz der erfassbaren Quellobjekte 350 auswählen, die sich an einer Ecke oder einem Rand befindet und zwei oder mehr Oberflächen aufweist, die freiliegen. Als weiteres Beispiel kann die Steuereinheit 202 das Zielobjekt 112 gemäß einem vorbestimmten Muster auswählen, beispielsweise von links nach rechts oder vom nächstliegenden zum entferntesten relativ zu einem Referenzort, vorzugsweise ohne andere Instanzen der Quellobjekte 302 zu stören oder zu verschieben.
  • In Block 520 kann das Robotersystem 100 die Objekthandhabungsstrategie 442 von 4 für das Zielobjekt 112 erzeugen. In einigen Ausführungsformen kann die Steuereinheit 202 die Objekthandhabungsstrategie 442 als einen Satz von Betriebsparametern erzeugen, um zu steuern, wie die Objekthandhabungseinheit 328 von 3 mit dem Zielobjekt 112 gemäß den entsprechenden Instanzen der erfassbaren Objekteigenschaften 352, der Objekteintragseigenschaften 308 oder einer Kombination davon interagiert. Beispielsweise kann die Steuereinheit 202 die Objekteintragseigenschaften 308 verwenden, die zu der Objektidentitätsschätzung 360 für das Zielobjekt 112 gehören, wenn es von der Objekthandhabungseinheit 328 gehandhabt wird, insbesondere für Instanzen der Objekteintragseigenschaften 308, für die die Steuereinheit 202 noch keine Informationen wie beispielsweise die Kontakteigenschaften 356 hat. In einigen Ausführungsformen kann in dem Fall, in dem das Zielobjekt 112 mehrere Instanzen der Objektidentitätsschätzung 360 aufweist, die Steuereinheit 202 mehrere Instanzen der Objekthandhabungsstrategie 442 erzeugen, die jeweils der Objektidentitätsschätzung 360 entsprechen.
  • In einer Implementierung kann für die Objekteintragseigenschaften 308 der Objektabmessungen 314 von 3 die Steuereinheit 202 die Objekthandhabungsstrategie 442 als Befehle erzeugen, die Grenzen für den Bewegungsbereich und die Bewegungsmodi des Zielobjekts 112 festlegen. Beispielsweise kann die Steuereinheit 202 eine Objekthandhabungsstrategie 442 erzeugen, die Befehle zum Bereitstellen eines Sicherheitsabstands gemäß den Objektabmessungen 314 beim Drehen oder Bewegen aufweist, um zu verhindern, dass Teile des Zielobjekts 112 unbeabsichtigt andere Objekte oder Strukturen berühren.
  • In einer weiteren Implementierung kann die Steuereinheit 202 für die Objekteintragseigenschaften 308 des Objektgewichts 318 von 3 die Objekthandhabungsstrategie 442 als Befehle erzeugen, die die maximale Geschwindigkeit und Beschleunigungs- und Verzögerungsrate begrenzen. Beispielsweise können Instanzen des Zielobjekts 112 oberhalb einer bestimmten Gewichtsgrenze mit einer Geschwindigkeit gehandhabt werden, die niedriger als bei anderen Objekten ist, die unterhalb der angegebenen Gewichtsgrenze liegen. In ähnlicher Weise können beispielsweise die Beschleunigungs- und Verzögerungsraten von Instanzen des Zielobjekts 112 oberhalb einer bestimmten Gewichtsgrenze langsamer als bei anderen Objekten sein, die unterhalb der Gewichtsgrenze liegen.
  • Bei der weiteren Implementierung kann die Steuereinheit 202 für die Objekteintragseigenschaften 308 der Objektsteifigkeit 322 von 3 die Objekthandhabungsstrategie 442 als Befehle zum Begrenzen des Ausmaßes an Griffdruck erzeugen, der von der Greifvorrichtung 334 der Objekthandhabungseinheit 328 auf das Zielobjekt 112 ausgeübt werden kann. Beispielsweise kann die Objekthandhabungsstrategie 442 Beschränkungen des vom Endeffektor 332 ausgeübten Kontaktdrucks oder der von der Greifvorrichtung 334 beim Berühren des Zielobjekts 112 ausgeübten Kraftmenge umfassen.
  • In einer weiteren Implementierung kann die Steuereinheit 202 für die Objekteintragseigenschaften 308 des Verformungsmodus 324 von 3 die Objekthandhabungsstrategie 442 als Befehle für eine Griffposition an dem Zielobjekt 112 erzeugen, um das Ausmaß der Formkrümmung des Zielobjekts 112, etwa Biegen oder Durchhängen, zu begrenzen oder zu minimieren. Beispielsweise kann die Objekthandhabungsstrategie 442 Befehle umfassen, um das Zielobjekt 112 nahe dem Schwerpunkt anstelle eines Randes zu greifen oder heben, um das Biegen oder Durchhängen des Zielobjekts 112 zu minimieren.
  • In einer weiteren Implementierung kann die Steuereinheit 202 für die Objekteintragseigenschaften 308 des Verformungsgrades 326 von 3 eine Objekthandhabungsstrategie 442 erzeugen, die einen zusätzlichen Sicherheitsabstand aufweist, um ein erwartetes Maß an Formänderung wie z. B. Dehnung bei der Handhabung des Zielobjekts 112 zu berücksichtigen. Beispielsweise kann die Objekthandhabungsstrategie 442 Befehle zum Vergrößern der Höhe bzw. des Abstands aufweisen, um den das Zielobjekt 112 aus einem Ruhezustand von der Objektquelle 114 an- bzw. abgehoben wird, um einen zusätzlichen Sicherheitsabstand bereitzustellen, der die Dehnung des Zielobjekts 112 beim Bewegen des Zielobjekt 112 berücksichtigt.
  • In einer weiteren Implementierung kann die Steuereinheit 202 für die Objekteintragseigenschaften 308 des Objektinhalts die Objekthandhabungsstrategie 442 als Befehle erzeugen, die die maximale Geschwindigkeit und die Beschleunigungs- und Verzögerungsraten für Objekte begrenzen, die für schnelle Geschwindigkeits- oder Richtungsänderungen empfindlich sein können. Beispielsweise kann der Objektinhalt, etwa zerbrechliche Objekte oder Flüssigkeiten, mit Geschwindigkeiten und Beschleunigungsraten gehandhabt werden, die plötzliche oder schnelle Impulsänderungen begrenzen.
  • Bei Block 522 kann das Robotersystem 100 den Aufgaben-Bewegungsplan 450 von 4 zum Ausführen der Objekthandhabungsaufgabe 440 für das Zielobjekt 112 berechnen. Beispielsweise kann die Steuereinheit 202 den Aufgaben-Bewegungsplan 450 auf Grundlage der Berechnung einer Folge von Befehlen oder Einstellungen oder einer Kombination davon für die Betätigungsvorrichtungen 212 von 2 berechnen, die den Roboterarm 330 von 3, den Endeffektor 332 von 3 einschließlich der Greifvorrichtung 334 oder eine Kombination davon betreiben. Für einige Fälle der Objekthandhabungsaufgabe 440 kann die Steuereinheit 202 eine Sequenz und Einstellwerte berechnen, die den Roboterarm 330, den Endeffektor 332 oder eine Kombination davon so bewegen, dass sie das Zielobjekt 112 von der Objektquelle 114 zum Aufgabenort 116 überführen. Beispielsweise kann die Steuereinheit 202 einen Bewegungsplanungsmechanismus implementieren, der einen Prozess, eine Funktion, eine Gleichung, einen Algorithmus, ein computergeneriertes/-lesbares Modell oder eine Kombination davon zum Berechnen eines Weges im Raum gemäß einer oder mehreren Einschränkungen, Zielen, Regeln oder einer Kombination umfassen kann. Als spezifisches Beispiel kann die Steuereinheit 202 einen A*-Algorithmus, einen D*-Algorithmus, andere rasterbasierte Suchen oder eine Kombination davon verwenden, um den Weg durch den Raum zum Bewegen des Zielobjekts 112 von der Objektquelle 114 zum Aufgabenort 116 zu berechnen. Der Bewegungsplanungsmechanismus kann weitere Prozesse, Funktionen oder Gleichungen und/oder eine Übersetzungstabelle verwenden, um den Weg in die Folge von Befehlen oder Einstellungen oder Kombinationen davon für die Betätigungsvorrichtungen 212 umzuwandeln. Bei Verwendung des Bewegungsplanungsmechanismus kann die Steuereinheit 202 eine Sequenz berechnen, die den Roboterarm 330 und den Endeffektor 332 so betreibt, dass sie das Zielobjekt 112 dem berechneten Weg folgen lassen. In einigen Ausführungsformen kann in dem Fall, in dem das Zielobjekt 112 mehrere Instanzen der Objektidentitätsschätzung 360 aufweist, die Steuereinheit 202 mehrere Instanzen eines Aufgaben-Bewegungsplans 450 berechnen, der jeweils zu der Objektidentitätsschätzung 360 gehört.
  • Beim Entscheidungsblock 524 kann das Robotersystem 100 eine ergänzende Verifizierung der Objektidentitätsschätzung 360 durchführen. Beispielsweise kann die Steuereinheit 202 zusätzliche Instanzen der erfassbaren Objekteigenschaften 352 erzeugen, beispielsweise indem sie mit den Kontaktsensoren 226 von 2 interagiert, um die Kontaktsensorinformationen 344 von 3 zu erzeugen, etwa Messungen des Drehmoments oder der Kraft, um das Objektgewicht 318 während eines anfänglichen Anhebens des Zielobjekts 112 zu berechnen. In einem weiteren Beispiel kann, wenn die eindeutige Kennung 310 des Zielobjekts 112 existiert, aber noch nicht gescannt wurde, die Steuereinheit 202 mit den Bildgebungsvorrichtungen 222 interagieren, um die eindeutige Kennung 310 während der Manipulation oder Handhabung des Zielobjekts 112 zu identifizieren und zu scannen. In einigen Ausführungsformen kann die Steuereinheit 202 die zusätzlichen Instanzen der erfassbaren Objekteigenschaften 352 verwenden, um die Objektidentitätsschätzung 360 zu aktualisieren oder das Fehlererkennungsprotokoll 444 von 4 zu implementieren. Beispielsweise kann die Steuereinheit 212 die Objektübereinstimmungswahrscheinlichkeit 362 für jede der Objektidentitätsschätzungen 360 für das Zielobjekt 112 anpassen, indem sie die Eigenschaftskorrelation 364 zwischen den zusätzlichen Instanzen der erfassbaren Objekteigenschaften 352 wie beispielsweise den Kontakteigenschaften 356 oder zusätzlichen Instanzen der Bildeigenschaften 354 und den Objekteintragseigenschaften 308 bestimmt. Als spezifisches Beispiel kann in dem Fall, in dem das Zielobjekt 112 zwei der Objektidentitätsschätzungen 360 mit gleichen Werten der Objektübereinstimmungswahrscheinlichkeit 362 aufweist, aber das Objektgewicht 318 der entsprechenden Instanzen der Objekteinträge 306 sich unterscheidet, die Steuereinheit 202 die Kontakteigenschaften 356 des Objektgewichts 318 verwenden, um die Eigenschaftskorrelation 364 zu bestimmen und die Objektübereinstimmungswahrscheinlichkeit 362 neu zu berechnen. In einigen Ausführungsformen kann die Steuereinheit 202 die Objekthandhabungsstrategie 442, den Aufgaben-Bewegungsplan 450 oder eine Kombination davon auf Grundlage der Aktualisierung der Objektidentitätsschätzung 360 überarbeiten.
  • In Block 526 kann das Robotersystem 100 bestimmen, ob eine Implementierung des Fehlererkennungsprotokolls 444 von 4 benötigt wird. Beispielsweise kann das Robotersystem 100 das Fehlererkennungsprotokoll 444 implementieren, wenn die Steuereinheit 202 eine Inkonsistenz zwischen einer oder mehreren der Objekteintragseigenschaften 308 und einer oder mehreren der erfassbaren Objekteigenschaften 352 des Zielobjekts 112 erfasst. Insbesondere kann die Steuereinheit 202 das Fehlererkennungsprotokoll 444 in dem Fall implementieren, in dem die Objektidentitätsschätzung 360 als eine spezifische Instanz der Objekteinträge 306 verifiziert wurde, etwa durch eine Übereinstimmung der eindeutigen Kennung 310, aber einer oder mehrere der Objekteintragseigenschaften 308 nicht mit einer oder mehreren der erfassbaren Objekteigenschaften 352 übereinstimmen, etwa bei einer Differenz zwischen dem Objektgewicht 318 des Objekteintrags 306 in dem Objektsatz 304 für das Zielobjekt 112 und dem Objektgewicht 318, wie es durch die Kontaktsensoren 226 bestimmt wurde.
  • In einigen Ausführungsformen kann das Robotersystem 100 das Fehlererkennungsprotokoll 444 implementieren, um die Ausführung der Objekthandhabungsaufgabe 440 beim Erkennen eines Fehlers zu beenden, etwa der erkannten Inkonsistenz zwischen den erfassbaren Objekteigenschaften 352 und den Eigenschaften der verzeichneten Objekte 306. In einigen Ausführungsformen kann das Robotersystem 100 das Fehlererkennungsprotokoll 444 implementieren, um das Zielobjekt 112 in/auf der Objektquelle 114 unter Verwendung der Objekthandhabungseinheit 328 von 3 zu ersetzen oder dorthin zurückzustellen. In einigen Ausführungsformen kann das Robotersystem 100 das Fehlererkennungsprotokoll 444 implementieren, um das Zielobjekt 112 unter Verwendung der Objekthandhabungseinheit 328 zur Inspektion an einen bestimmten Ort zu transportieren. In einigen Ausführungsformen kann das Fehlererkennungsprotokoll 444 ein Anfordern von Eingaben des Bedieners umfassen. Beispielsweise kann das Robotersystem 100 eine Nachricht an den Bediener erzeugen, um den menschlichen Bediener über die Kommunikationseinheit 206, die Systemschnittstelle 208 oder eine Kombination davon auf das Auftreten der Fehlererkennung aufmerksam zu machen. In einigen Ausführungsformen können die Befehle zum Betreiben des Fehlererkennungsprotokolls 444 von der Steuereinheit 202 als eine weitere Instanz des Aufgaben-Bewegungsplans 450 gemäß den Zielen des Fehlererkennungsprotokolls 444 erzeugt werden, wie in den obigen Ausführungsformen beschrieben.
  • In Block 528 kann das Robotersystem 100 mit der Ausführung des Aufgaben-Bewegungsplans 450 beginnen. Beispielsweise kann das Robotersystem 100 mit der Ausführung des Aufgaben-Bewegungsplans 450 beginnen, indem der Aufgaben-Bewegungsplan 450 oder inkrementelle Teile des Aufgaben-Bewegungsplans 450 über die Kommunikationseinheit 206 an die Objekthandhabungseinheit 328 übertragen werden, um die Betätigungsvorrichtungen 212 des Roboterarms 330, des Endeffektors 332 oder einer Kombination davon gemäß der Folge von Befehlen oder Einstellungen oder Kombinationen davon zu betreiben.
  • In dem Entscheidungsblock 530 kann das Robotersystem 100 bestimmen, ob die Objekthandhabungsaufgabe 440 bis zum Ende vollständig ausgeführt wurde. Beispielsweise interagiert die Steuereinheit 202 mit der Objekthandhabungseinheit 328, um zu bestimmen, ob alle Handlungen und Befehle der Objekthandhabungsaufgabe 440 für das Zielobjekt 112 abgeschlossen wurden, oder alternativ, im Fall der Fehlererkennung, ob das Fehlererkennungsprotokoll 444 abgeschlossen wurde. Wenn die Steuereinheit 202 verifiziert hat, dass die Objekthandhabungsaufgabe 440 abgeschlossen wurde, kann die Steuereinheit 202 in einigen Implementierungen den Objektsatz 304 aktualisieren, um anzuzeigen, dass das Zielobjekt 112, das einem der Objekteinträge 306 entspricht, von der Objektquelle 114 entfernt wurde, und das Robotersystem 100 kann das Verfahren 500 für eine neue Instanz der Quellobjekte 302 wiederholen.
  • Es wurde entdeckt, dass das Aktualisieren des Objektsatzes 304, damit er das Entfernen eines der Quellobjekte 302 reflektiert, das einem der Objekteinträge 306 entspricht, die Fähigkeit des Robotersystems 100 verbessert, nachfolgende Iterationen der Objekthandhabungsaufgabe 440 durchzuführen. Das Aktualisieren des Objektsatzes 304, um ein Entfernen des Zielobjekts 112 zu berücksichtigen, verringert die Anzahl möglicher Instanzen der Objekteinträge 306, die mit den verbleibenden Instanzen der Quellobjekte 302 abgeglichen werden können, und kann die Objektidentitätsschätzung 360 weiter verfeinern, wodurch die Genauigkeit der Objektidentifikation und der Betrieb des Robotersystems 100 verbessert werden.
  • Die Blöcke des Flussdiagramms für das Verfahren 500 wurden in Bezug auf die Implementierung durch eine einzige Instanz der Steuereinheit 202, der Speichereinheit 204, der Kommunikationseinheit 206 von 2 und der Systemschnittstelle 208 von 2 beschrieben, es versteht sich jedoch, dass das Flussdiagramm von dem Robotersystem 100 anders implementiert werden kann. Zum Beispiel können die Blöcke so partitioniert werden, dass sie von Einheiten weiterer Instanzen der Systembetriebseinheit 366 implementiert werden. Als ein spezifisches Beispiel können die Blöcke so partitioniert werden, dass eine Instanz der Systembetriebseinheit 366 die Blöcke implementieren kann, die sich auf die Identifizierung der Quellobjekte 302 beziehen, während eine getrennte Instanz der Systembetriebseinheit 366 die Blöcke implementieren kann, die der Ausführung der Objekthandhabungsaufgabe 440 zugeordnet sind. In einer Ausführungsform können die Blöcke bezüglich der Identifizierung der Quellobjekte 302 den Block 502 zum Empfangen des Objektsatzes, den Block 504 zum Analysieren des Satzes, den Block 506 zum Erzeugen der Informationen über die Quelle, den Block 508 zum Ermitteln der Objekte, den Block 510 zum Bestimmen der Eigenschaftskorrelationen, den Block 512 zum Berechnen der Wahrscheinlichkeiten, den Block 516 zum Erzeugen der Objektidentitätsschätzung oder eine Kombination davon umfassen. In einer weiteren Implementierung können die Blöcke bezüglich der Ausführung der Objekthandhabungsaufgabe 440 den Block 518 zum Auswählen der Objekte, den Block 520 zum Erzeugen der Objekthandhabungsstrategie, den Block 522 zum Berechnen des Aufgaben-Bewegungsplans, den Entscheidungsblock 524 zum Verifizieren der Identität, den Block 526 zum Implementieren der Fehlerbehandlung, den Block 528 zum Ausführen des Aufgaben-Bewegungsplans, den Block 530 zum Entscheiden, ob die Aufgabe abgeschlossen ist, oder eine Kombination davon umfassen.
  • Unter Bezugnahme auf 6 ist ein Flussdiagramm eines Verfahrens 600 zum Betreiben des Robotersystems 100 in einer Ausführungsform der vorliegenden Erfindung gezeigt. Das Verfahren 600 umfasst: Empfangen eines Objektsatzes, der ein oder mehrere Objekteinträge aufweist, wobei: die Objekteinträge Quellobjekten einer Objektquelle entsprechen, wobei jeder der Objekteinträge durch eine oder mehrere Objekteintragseigenschaften beschrieben ist, in Block 602; Empfangen von Sensorinformationen, die eine oder mehrere erfassbare Objekteigenschaften für erfassbare Quellobjekte einer Objektquelle wiedergeben, in Block 604; Berechnen einer Objektübereinstimmungswahrscheinlichkeit zwischen den erfassbaren Quellobjekten und den Objekteinträgen auf Grundlage einer Eigenschaftskorrelation zwischen den erfassbaren Objekteigenschaften der erfassbaren Quellobjekte und den Objekteintragseigenschaften der Objekteinträge in Block 606; Erzeugen einer Objektidentitätsschätzung für jedes der erfassbaren Quellobjekte auf Grundlage eines Vergleichs der Objektübereinstimmungswahrscheinlichkeit für jedes der erfassbaren Quellobjekte, die zu einer bestimmten Instanz der Objekteinträge gehören, in Block 608; Auswählen eines Zielobjekts aus den erfassbaren Quellobjekten in Block 610; Erzeugen einer Objekthandhabungsstrategie zur Implementierung durch eine Objekthandhabungseinheit zum Überführen des Zielobjekts von der Objektquelle auf Grundlage der Objekteintragseigenschaften der Objekteinträge, die der Objektidentitätsschätzung entsprechen, in Block 612; und Aktualisieren des Objektsatzes, um anzuzeigen, dass das Zielobjekt, das einer bestimmten Instanz der Objekteinträge entspricht, aus der Objektquelle entfernt wurde, in Block 614.
  • Die resultierenden Verfahren, Prozesse, Geräte, Vorrichtungen, Produkte und Systeme sind kostengünstig, äußerst vielseitig, präzise, empfindlich und wirksam und können implementiert werden, indem Komponenten für einfache, effiziente und wirtschaftliche Herstellung, Anwendung und Nutzung angepasst werden. Ein weiterer wichtiger Aspekt einer Ausführungsform der vorliegenden Erfindung besteht darin, dass sie dem historischen Trend der Kostensenkung, Vereinfachung von Systemen und Steigerung der Leistung folgt und ihn wertvoll unterstützt.
  • Diese und andere wertvolle Aspekte einer Ausführungsform der vorliegenden Erfindung heben folglich den Stand der Technik auf mindestens die nächste Stufe.
  • Während die Erfindung in Verbindung mit einer bestimmten besten Ausführungsart beschrieben wurde, versteht es sich, dass viele Alternativen, Modifikationen und Varianten für Fachleute im Lichte der vorangegangenen Beschreibungen offensichtlich sind. Dementsprechend sollen alle derartigen Alternativen, Modifikationen und Varianten aufgenommen werden, die in den Umfang der angegebenen Ansprüche fallen. Alle hier beschriebenen oder in den beigefügten Zeichnungen gezeigten Gegenstände sollten in einem erläuternden und nicht einschränkenden Sinne interpretiert werden.

Claims (20)

  1. Robotersystem, aufweisend: eine Steuereinheit, konfiguriert zum: Empfangen eines Objektsatzes mit einem oder mehreren Objekteinträgen, wobei: die Objekteinträge Quellobjekten einer Objektquelle entsprechen, wobei jeder der Objekteinträge durch eine oder mehrere Objekteintragseigenschaften beschrieben ist; Empfangen von Sensorinformationen, die eine oder mehrere erfassbare Objekteigenschaften für erfassbare Quellobjekte einer Objektquelle wiedergeben; Berechnen einer Objektübereinstimmungswahrscheinlichkeit zwischen den erfassbaren Quellobjekten und den Objekteinträgen auf Grundlage einer Eigenschaftskorrelation zwischen den erfassbaren Objekteigenschaften der erfassbaren Quellobjekte und den Objekteintragseigenschaften der Objekteinträge; Erzeugen einer Objektidentitätsschätzung für jedes der erfassbaren Quellobjekte auf Grundlage eines Vergleichs der Objektübereinstimmungswahrscheinlichkeit für jedes der erfassbaren Quellobjekte, die zu einer bestimmten Instanz der Objekteinträge gehört; Auswählen eines Zielobjekts aus den erfassbaren Quellobjekten; Erzeugen einer Objekthandhabungsstrategie zur Implementierung durch eine Objekthandhabungseinheit, um das Zielobjekt von der Objektquelle zu überführen, auf Grundlage der Objekteintragseigenschaften der Objekteinträge, die zu der Objektidentitätsschätzung gehören; Aktualisieren des Objektsatzes, um anzuzeigen, dass das Zielobjekt, das einer bestimmten Instanz der Objekteinträge entspricht, aus der Objektquelle entfernt wurde; und eine Speichereinheit, die mit der Steuereinheit verbunden ist und zum Speichern des Objektsatzes konfiguriert ist.
  2. System nach Anspruch 1, wobei das Konfigurieren der Steuereinheit zum Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften eines Objektgewichts, das über einer Gewichtsschwelle liegt, zum Begrenzen der Geschwindigkeit, der Beschleunigungsrate oder einer Kombination davon umfasst.
  3. System nach Anspruch 1 oder 2, wobei das Konfigurieren der Steuereinheit zum Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften einer Objektsteifigkeit zum Begrenzen des Griffdrucks umfasst, der von der Objekthandhabungseinheit auf das Zielobjekt ausgeübt wird.
  4. System nach einem der vorhergehenden Ansprüche, wobei das Konfigurieren der Steuereinheit zum Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften eines Verformungsmodus zum Bestimmen einer Griffposition auf dem Zielobjekt umfasst, um die Formkrümmung des Zielobjekts zu minimieren.
  5. System nach einem der vorhergehenden Ansprüche, wobei das Konfigurieren der Steuereinheit zum Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften eines Verformungsgrades umfasst, um das Ausmaß zu erhöhen, um das das Zielobjekt von der Objektquelle angehoben wird, um ein erwartetes Ausmaß einer Dehnung des Zielobjekt zu berücksichtigen.
  6. System nach einem der vorhergehenden Ansprüche, wobei die Steuereinheit so konfiguriert ist, dass sie ein Fehlererkennungsprotokoll implementiert, wenn eine Inkonsistenz zwischen den Objekteintragseigenschaften und den erfassbaren Objekteigenschaften des Zielobjekts erfasst wird.
  7. System nach einem der vorhergehenden Ansprüche, wobei die Steuereinheit so konfiguriert ist, dass sie einen Aufgaben-Bewegungsplan zum Überführen des Zielobjekts von der Objektquelle zu einem Aufgabenort erzeugt.
  8. Verfahren eines Robotersystems, umfassend: Empfangen eines Objektsatzes mit einem oder mehreren Objekteinträgen, wobei: die Objekteinträge Quellobjekten einer Objektquelle entsprechen, wobei jeder der Objekteinträge durch eine oder mehrere Objekteintragseigenschaften beschrieben ist; Empfangen von Sensorinformationen, die eine oder mehrere erfassbare Objekteigenschaften für erfassbare Quellobjekte einer Objektquelle wiedergeben; Berechnen einer Objektübereinstimmungswahrscheinlichkeit zwischen den erfassbaren Quellobjekten und den Objekteinträgen auf Grundlage einer Eigenschaftskorrelation zwischen den erfassbaren Objekteigenschaften der erfassbaren Quellobjekte und den Objekteintragseigenschaften der Objekteinträge; Erzeugen einer Objektidentitätsschätzung für jedes der erfassbaren Quellobjekte auf Grundlage eines Vergleichs der Objektübereinstimmungswahrscheinlichkeit für jedes der erfassbaren Quellobjekte, die zu einer bestimmten Instanz der Objekteinträge gehört; Auswählen eines Zielobjekts aus den erfassbaren Quellobjekten; Erzeugen einer Objekthandhabungsstrategie zur Implementierung durch eine Objekthandhabungseinheit zum Überführen des Zielobjekts von der Objektquelle auf Grundlage der Objekteintragseigenschaften der Objekteinträge, die der Objektidentitätsschätzung entsprechen; und Aktualisieren des Objektsatzes, um anzuzeigen, dass das Zielobjekt, das einer bestimmten Instanz der Objekteinträge entspricht, aus der Objektquelle entfernt wurde.
  9. Verfahren nach Anspruch 8, wobei das Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften eines Objektgewichts, das über einer Gewichtsschwelle liegt, zum Begrenzen der Geschwindigkeit, der Beschleunigungsrate oder einer Kombination davon umfasst.
  10. Verfahren nach Anspruch 8 oder 9, wobei das Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften einer Objektsteifigkeit zum Begrenzen des Griffdrucks umfasst, der von der Objekthandhabungseinheit auf das Zielobjekt ausgeübt wird.
  11. Verfahren nach einem der Ansprüche 8 bis 10, wobei das Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften eines Verformungsmodus zum Bestimmen einer Griffposition auf dem Zielobjekt umfasst, um die Formkrümmung des Zielobjekts zu minimieren.
  12. Verfahren nach einem der Ansprüche 8 bis 11, wobei das Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften eines Verformungsgrades umfasst, um das Ausmaß zu erhöhen, um das das Zielobjekt von der Objektquelle angehoben wird, um ein erwartetes Ausmaß der Dehnung des Zielobjekt zu berücksichtigen.
  13. Verfahren nach einem der Ansprüche 8 bis 12, das ferner ein Implementieren eines Fehlererkennungsprotokolls umfasst, wenn eine Inkonsistenz zwischen den Objekteintragseigenschaften und den erfassbaren Objekteigenschaften des Zielobjekts erfasst wird.
  14. Verfahren nach einem der Ansprüche 8 bis 13, das ferner ein Erzeugen eines Aufgaben-Bewegungsplans zum Überführen des Zielobjekts von der Objektquelle zu einem Aufgabenort umfasst.
  15. Nichtflüchtiges computerlesbares Medium, das Befehle enthält, die von einer Steuereinheit für ein Robotersystem ausgeführt werden können, wobei die Befehle umfassen: Empfangen eines Objektsatzes von Objekteinträgen, wobei: die Objekteinträge Quellobjekten einer Objektquelle entsprechen, wobei jeder der Objekteinträge durch eine oder mehrere Objekteintragseigenschaften beschrieben ist; Empfangen von Sensorinformationen, die eine oder mehrere erfassbare Objekteigenschaften für erfassbare Quellobjekte einer Objektquelle wiedergeben; Berechnen einer Objektübereinstimmungswahrscheinlichkeit zwischen den erfassbaren Quellobjekten und den Objekteinträgen auf Grundlage einer Eigenschaftskorrelation zwischen den erfassbaren Objekteigenschaften der erfassbaren Quellobjekte und den Objekteintragseigenschaften der Objekteinträge; Erzeugen einer Objektidentitätsschätzung für jedes der erfassbaren Quellobjekte auf Grundlage eines Vergleichs der Objektübereinstimmungswahrscheinlichkeit für jedes der erfassbaren Quellobjekte, die einer bestimmten Instanz der Objekteinträge entspricht; Auswählen eines Zielobjekts aus den erfassbaren Quellobjekten; Erzeugen einer Objekthandhabungsstrategie zur Implementierung durch eine Objekthandhabungseinheit zum Überführen des Zielobjekts von der Objektquelle auf Grundlage der Objekteintragseigenschaften der Objekteinträge, die der Objektidentitätsschätzung entsprechen; und Aktualisieren des Objektsatzes, um anzuzeigen, dass das Zielobjekt, das einer bestimmten Instanz der Objekteinträge entspricht, aus der Objektquelle entfernt wurde.
  16. Nichtflüchtiges computerlesbares Medium nach Anspruch 15, wobei das Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften eines Objektgewichts, das über einer Gewichtsschwelle liegt, zum Begrenzen der Geschwindigkeit, der Beschleunigungsrate oder einer Kombination davon umfasst.
  17. Nichtflüchtiges computerlesbares Medium nach Anspruch 15 oder 16, wobei das Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften einer Objektsteifigkeit zum Begrenzen des Griffdrucks umfasst, der von der Objekthandhabungseinheit auf das Zielobjekt ausgeübt wird.
  18. Nichtflüchtiges computerlesbares Medium nach einem der Ansprüche 15 bis 17, wobei das Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften eines Verformungsmodus zum Bestimmen einer Griffposition auf dem Zielobjekt umfasst, um die Formkrümmung des Zielobjekts zu minimieren.
  19. Nichtflüchtiges computerlesbares Medium nach einem der Ansprüche 15 bis 17, wobei das Erzeugen der Objekthandhabungsstrategie ein Erzeugen der Objekthandhabungsstrategie gemäß den Objekteintragseigenschaften eines Verformungsgrades umfasst, um das Ausmaß zu erhöhen, um das das Zielobjekt von der Objektquelle angehoben wird, um ein erwartetes Ausmaß der Dehnung des Zielobjekt zu berücksichtigen.
  20. Nichtflüchtiges computerlesbares Medium nach einem der Ansprüche 15 bis 17, das ferner ein Implementieren eines Fehlererkennungsprotokolls umfasst, wenn eine Inkonsistenz zwischen den Objekteintragseigenschaften und den erfassbaren Objekteigenschaften des Zielobjekts erfasst wird.
DE102020104468.2A 2019-04-03 2020-02-20 Robotersystem mit objektidentifizierungs- und handhabungsmechanismus und verfahren zu seinem betrieb Pending DE102020104468A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/374,617 US10583560B1 (en) 2019-04-03 2019-04-03 Robotic system with object identification and handling mechanism and method of operation thereof
US16/374,617 2019-04-03

Publications (1)

Publication Number Publication Date
DE102020104468A1 true DE102020104468A1 (de) 2020-10-08

Family

ID=68255213

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020104468.2A Pending DE102020104468A1 (de) 2019-04-03 2020-02-20 Robotersystem mit objektidentifizierungs- und handhabungsmechanismus und verfahren zu seinem betrieb

Country Status (4)

Country Link
US (2) US10583560B1 (de)
JP (3) JP6617237B1 (de)
CN (2) CN110370279B (de)
DE (1) DE102020104468A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020135011B3 (de) 2020-12-29 2022-03-03 Franka Emika Gmbh Bilderkennung zum angepassten Ausführen eines Steuerprogramms eines Robotermanipulators
DE102020135010A1 (de) 2020-12-29 2022-06-30 Franka Emika Gmbh Massedaten-Schätzung einer externen Last für einen Robotermanipulator

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2973000C (en) * 2015-02-12 2020-03-10 Melonee Wise System and method using robots to assist humans in order fulfillment
US11200531B1 (en) * 2018-05-14 2021-12-14 Amazon Technologies, Inc. Self-identifying overpackage for robotic retrieval
US11045952B2 (en) * 2018-11-28 2021-06-29 BITO Robotics, Inc. System and method for autonomously loading cargo into vehicles
US11148289B1 (en) 2019-01-08 2021-10-19 Amazon Technologies, Inc. Entanglement end effector for autonomous object retrieval
US11738447B2 (en) 2019-07-29 2023-08-29 Nimble Robotics, Inc. Storage systems and methods for robotic picking
US11518573B2 (en) * 2020-02-14 2022-12-06 Dell Products L.P. Palletizing containers for charging electronic devices contained therein
US11577395B2 (en) * 2020-02-17 2023-02-14 Toyota Research Institute, Inc. Systems for determining location using robots with deformable sensors
CN113145477A (zh) * 2020-08-28 2021-07-23 武汉联州科技有限公司 一种基于大数据的辊筒输送线多重检测系统
CN112651347B (zh) * 2020-12-29 2022-07-05 嘉兴恒创电力集团有限公司博创物资分公司 一种基于双光谱成像的吸烟行为样本生成的方法与系统
EP4035845A1 (de) * 2021-01-28 2022-08-03 Siemens Aktiengesellschaft Handhaben von stückgütern mittels einer sauggreifvorrichtung
CN113307042B (zh) * 2021-06-11 2023-01-03 梅卡曼德(北京)机器人科技有限公司 基于传送带的物体拆垛方法、装置、计算设备及存储介质
JP2023039104A (ja) * 2021-09-08 2023-03-20 株式会社ダイフク 荷卸し装置
JP2023039105A (ja) * 2021-09-08 2023-03-20 株式会社ダイフク 荷卸し装置
US20230191608A1 (en) * 2021-12-22 2023-06-22 AMP Robotics Corporation Using machine learning to recognize variant objects
CN115187769A (zh) * 2022-07-11 2022-10-14 杭州海康机器人技术有限公司 一种定位方法及装置
CN115321090B (zh) * 2022-10-17 2023-01-13 中国民航大学 机场行李自动接取方法、装置、设备、系统及介质
CN115648224A (zh) * 2022-12-22 2023-01-31 北京钢铁侠科技有限公司 一种基于双深度相机识别定位的机械臂抓取方法
CN117548359B (zh) * 2024-01-09 2024-03-19 北京环宇宏业科技开发有限公司 一种基于图像分析的节能环保分拣装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070169A (en) * 1998-02-12 2000-05-30 International Business Machines Corporation Method and system for the determination of a particular data object utilizing attributes associated with the object
JP2006102881A (ja) * 2004-10-06 2006-04-20 Nagasaki Prefecture 把持ロボット装置
US7931197B2 (en) * 2005-09-20 2011-04-26 Rockwell Automation Technologies, Inc. RFID-based product manufacturing and lifecycle management
WO2008076942A1 (en) 2006-12-15 2008-06-26 Braintech Canada, Inc. System and method of identifying objects
US8280837B2 (en) * 2009-05-28 2012-10-02 GM Global Technology Operations LLC Contact state estimation for multi-finger robot hands using particle filters
US9333649B1 (en) 2013-03-15 2016-05-10 Industrial Perception, Inc. Object pickup strategies for a robotic device
JP5847117B2 (ja) 2013-05-28 2016-01-20 東芝テック株式会社 認識辞書作成装置及び認識辞書作成プログラム
US9427874B1 (en) 2014-08-25 2016-08-30 Google Inc. Methods and systems for providing landmarks to facilitate robot localization and visual odometry
US9492923B2 (en) * 2014-12-16 2016-11-15 Amazon Technologies, Inc. Generating robotic grasping instructions for inventory items
TWI607336B (zh) * 2015-07-08 2017-12-01 台灣色彩與影像科技股份有限公司 區域的監控方法
CA2998544C (en) * 2015-09-11 2023-05-09 Berkshire Grey, Inc. Robotic systems and methods for identifying and processing a variety of objects
JP6711591B2 (ja) * 2015-11-06 2020-06-17 キヤノン株式会社 ロボット制御装置およびロボット制御方法
EP3414060B1 (de) 2016-02-08 2022-05-25 Berkshire Grey Operating Company, Inc. Systeme und verfahren zur bereitstellung der verarbeitung von verschiedenen objekten mit bewegungsplanung
US10071856B2 (en) * 2016-07-28 2018-09-11 X Development Llc Inventory management
JP6692247B2 (ja) * 2016-08-04 2020-05-13 株式会社東芝 物品保持装置および物品保持方法
JP2018027581A (ja) * 2016-08-17 2018-02-22 株式会社安川電機 ピッキングシステム
JP6707485B2 (ja) 2017-03-22 2020-06-10 株式会社東芝 物体ハンドリング装置およびその較正方法
EP3600793A2 (de) * 2017-03-30 2020-02-05 Soft Robotics, Inc. Servopneumatische steuersysteme für weiche roboteraktuatoren
CN108491799B (zh) * 2018-03-23 2022-04-01 海深科技(宁波)有限公司 一种基于图像识别的智能售货柜商品管理方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020135011B3 (de) 2020-12-29 2022-03-03 Franka Emika Gmbh Bilderkennung zum angepassten Ausführen eines Steuerprogramms eines Robotermanipulators
DE102020135010A1 (de) 2020-12-29 2022-06-30 Franka Emika Gmbh Massedaten-Schätzung einer externen Last für einen Robotermanipulator
DE102020135010B4 (de) 2020-12-29 2024-05-08 Franka Emika Gmbh Massedaten-Schätzung einer externen Last für einen Robotermanipulator

Also Published As

Publication number Publication date
US20200316774A1 (en) 2020-10-08
US10583560B1 (en) 2020-03-10
CN116494233A (zh) 2023-07-28
CN110370279A (zh) 2019-10-25
JP7290280B2 (ja) 2023-06-13
JP6621164B1 (ja) 2019-12-18
JP2020168711A (ja) 2020-10-15
JP6617237B1 (ja) 2019-12-11
JP2020168709A (ja) 2020-10-15
US10987807B2 (en) 2021-04-27
JP2020168710A (ja) 2020-10-15
CN110370279B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
DE102020104468A1 (de) Robotersystem mit objektidentifizierungs- und handhabungsmechanismus und verfahren zu seinem betrieb
DE102020104483A1 (de) Robotersystem mit Roboterarm-Saugsteuermechanismus und Betriebsverfahren
DE102019009201B3 (de) Ein Robotersytem mit Stückverlustverwaltungsmechanismus
DE102019009189B4 (de) Robotersytem mit Fehlererkennung und dynamischem Packmechanismus
DE102019009206B4 (de) Robotersystem mit dynamischem Packmechanismus
DE112019000177T5 (de) Ein robotersystem mit automatisiertem paketregistrierungsmechanismus und verfahren zum betreiben dieses systems
DE112020000067T5 (de) Roboter-mehrfachgreiferbaugruppen und -verfahren zum greifen und halten von objekten
DE112019001507B4 (de) Verfahren und System für ein Warenbestandssystem und nichtflüchtiges computerlesbares Medium
DE102020100610A1 (de) Steuerung und steuerungsverfahren für robotersystem
DE102020114577B4 (de) Steuerung und steuerverfahren für robotersystem
DE102020119866A1 (de) Roboter-mehrfachgreiferbaugruppen und -verfahren zum greifen und halten von objekten
US20210260762A1 (en) Controller and control method for robotic system
JP2020111467A (ja) ロボットシステムの制御装置及び制御方法
DE102020112099A1 (de) Ein robotersystem mit einem koordinierten übertragungsmechanismus
JP7126667B1 (ja) 深さベースの処理メカニズムを伴うロボットシステム及びロボットシステムを操作するための方法
Poss et al. Perceptionbased intelligent materialhandling in industrial logistics environments
Leitner et al. Designing Cartman: a cartesian manipulator for the Amazon Robotics Challenge 2017
JP7398763B2 (ja) 重なり処理機構を備えたロボットシステム及びその操作方法