DE102020101767B4 - Steuerverfahren und steuerung für ein robotersystem - Google Patents

Steuerverfahren und steuerung für ein robotersystem Download PDF

Info

Publication number
DE102020101767B4
DE102020101767B4 DE102020101767.7A DE102020101767A DE102020101767B4 DE 102020101767 B4 DE102020101767 B4 DE 102020101767B4 DE 102020101767 A DE102020101767 A DE 102020101767A DE 102020101767 B4 DE102020101767 B4 DE 102020101767B4
Authority
DE
Germany
Prior art keywords
action object
robot system
scanning
action
end effector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102020101767.7A
Other languages
English (en)
Other versions
DE102020101767A1 (de
Inventor
Rosen Diankov
Yoshiki Kanemoto
Denys Kanunikov
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
Priority claimed from US16/258,120 external-priority patent/US10456915B1/en
Application filed by Mujin Inc filed Critical Mujin Inc
Publication of DE102020101767A1 publication Critical patent/DE102020101767A1/de
Application granted granted Critical
Publication of DE102020101767B4 publication Critical patent/DE102020101767B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • 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
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • 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
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • B65G1/1378Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses the orders being assembled on fixed commissioning areas remote from the storage areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39543Recognize object and plan hand shapes in grasping movements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects

Abstract

Steuerverfahren für ein Robotersystem (100), das einen Roboter mit einem Roboterarm und einem Endeffektor einschließt, wobei das Verfahren umfasst:Ableiten einer Annäherungsposition (432, 434), an der der Endeffektor ein Aktionsobjekt greift;Ableiten einer Abtastposition (442, 444) zum Abtasten einer Kennung des Aktionsobjekts (112); undbasierend auf der Annäherungsposition (432, 434) und der Abtastposition (442, 444), Erstellen oder Ableiten einer Steuersequenz (422, 424, 472), um den Roboter anzuweisen, die Steuersequenz (422, 424, 472) auszuführen,wobei die Steuersequenz Folgendes von (1) bis (6) einschließt:(1) Greifen des Aktionsobjekts (112) an einer Startposition (114);(2) Abtasten von Identifikationsinformationen (332) des Aktionsobjekts (112) mit einer Abtastvorrichtung, die zwischen der Startposition (114) und einer Aufgabenposition (116) angeordnet ist;(3) vorübergehendes Freigeben des Aktionsobjekts (112) vom Endeffektor und erneutes Greifen des Aktionsobjekts durch den zu verschiebenden Endeffektor an einer Verschiebeposition (118), wenn eine vorbestimmte Bedingung erfüllt ist;(4) Bewegen des Aktionsobjekts (112) zu der Aufgabenposition (116).(5) Festlegen einer Bedingung, dass die Lagerungseffizienz des Aktionsobjekts (112) an der Aufgabenposition (116) in einem Fall erhöht wird, in dem das Aktionsobjekt (112) verschoben und die Richtung des Greifens des Aktionsobjekts (112) durch den Endeffektor geändert wird, als die vorgegebene Bedingung; und(6) Berechnen einer Lagerungseffizienz an der Aufgabenposition (116) vor dem Verschieben des Aktionsobjekts (112) und einer Lagerungseffizienz an der Aufgabenposition (116) nach dem Verschieben des Aktionsobjekts (112).

Description

  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf ein Robotersystem und insbesondere auf eine Steuerung und ein Steuerverfahren eines Robotersystems, das ein Aktionsobjekt wie einen Artikel, ein Verteilungssystem, ein Programm und ein Medium bedient.
  • Mit ihrer ständig steigenden Leistungsfähigkeit und sinkenden Kosten werden viele Roboter (z. B. Maschinen, die so konfiguriert sind, dass sie physische Aktionen automatisch/autonom ausführen) heute in vielen Bereichen eingesetzt. Roboter können beispielsweise zur Ausführung verschiedener Aufgaben wie Handhabung oder Bewegung eines Aktionsobjekts in der Fertigung, Montage, Verpackung, Überführung, im Transport und dergleichen eingesetzt werden. Bei der Ausführung der Aufgaben können die Roboter menschliche Handlungen nachahmen und dadurch gefährliche oder sich ständig wiederholende menschliche Aufgaben ersetzen oder reduzieren.
  • Als ein System (Robotersystem), das einen solchen Roboter verwendet, offenbart beispielsweise die japanische Patentanmeldung JP 2018 - 167 950 A ein automatisches Verteilungssystem. Um die Arbeitsschritte von der Lagerung bis zur Auslieferung eines Artikels zu automatisieren und einzusparen, schließt das automatische Verteilungssystem einen Transportbehälter-Lagermechanismus ein, der einen Transportbehälter vorübergehend lagert; und einen automatischen Artikelauslieferungsmechanismus, bei dem die Artikel in dem Transportbehälter basierend auf den Lieferinformationen automatisch in einem Transportbehälter gesammelt werden.
  • Die Druckschrift DE 10 2017 123 877 A1 zeigt ein Robotersystem für eine Formmaschine mit einem Manipulator, der zum Manipulieren eines Werkstücks geeignet ist, und einem Muskel-Skelett-Apparat, der zum Bewegen des Manipulators geeignet ist. Dabei ist ein Messgerät mit dem Manipulator gekoppelt, welches dazu ausgebildet ist, eine Relativposition zwischen zumindest einem in der Umgebung angeordneten Marker und dem Manipulator zu erfassen, sowie eine mit dem Messgerät verbundene Berechnungseinheit vorgesehen, welche dazu ausgebildet ist, aus der Relativposition zumindest einen Korrekturwert für eine Steuerung und/oder Regelung des Bewegungsapparats zu berechnen.
  • Die Entgegenhaltung DE 10 2017 005 882 A1 beschreibt ein Verfahren zum Betrieb eines Roboters und zur Überprüfung von Funktionen des Roboters in seiner Arbeitsumgebung. Diese umfasst eine Anzahl von räumlich verteilt in der Roboterumgebung angeordneten Teilnehmern, mit denen der Roboter eine Interaktion durchführt. Hierzu initiiert die Steuerung des Roboters einen Testlauf so dass ein am schwenkbaren Roboterarm angeordneter Prüfkopf die Teilnehmer in der Roboterumgebung abtastet und dort angeordnete Identitätskennungen detektiert und ausliest.
    Die EP 2 578 366 A2 zeigt eine Robotervorrichtung mit einem Roboterarm und einem Haltezustandsdetektor. Der Roboterarm umfasst einen ersten Halter, der so konfiguriert ist, dass er ein zu haltendes Objekt hält. Der Haltezustandsdetektor ist mit dem Roboterarm gekoppelt und so konfiguriert, dass er einen Haltezustand des zu haltenden Objekts, das von dem ersten Halter gehalten wird, erfasst, während der Roboterarm das zu haltende Objekt transportiert. Weitere Druckschriften
    US 2017 / 0 326 739 A1 , die US 2017 / 0 076 469 A1 und die JP 2018 – 202 550 A zeigen ebenfalls verschiedene Robotersysteme Verfahren zum Betreiben solcher Systeme.
  • Trotz des technologischen Fortschritts fehlt es Robotern jedoch oft an der nötigen Ausgereiftheit, um die Aufgabe des menschlichen Eingreifens zu replizieren, um größere und/oder komplexere Aufgaben auszuführen. Aus diesem Grund sind Automatisierung und fortschrittliche Funktionalität in Robotersystemen noch nicht ausreichend, und es gibt viele Aufgaben, bei denen es schwierig ist, ein Eingreifen des Menschen zu ersetzen, und Robotersystemen fehlt die Präzision der Steuerung und die Flexibilität bei den auszuführenden Aktionen. Daher besteht nach wie vor Bedarf an technischen Verbesserungen, um verschiedene Aktionen und/oder Interaktionen zwischen Robotern zu verwalten und die Automatisierung und die erweiterte Funktionalität von Robotersystemen weiter voranzutreiben. Der vorliegenden Anmeldung liegt somit die Aufgabe zugrunde, eine Steuerung und eines Steuerverfahrens für ein Robotersystem und dergleichen bereitzustellen, das ein hohes Maß an Kooperation zwischen Einheiten einschließlich eines Roboters realisieren und beispielsweise die Lagerungseffizienz eines Aktionsobjekts ausreichend erhöhen kann.
  • Diese Aufgabe wird mit einem Verfahren nach Anspruch 1 gelöst. Weiterhin wird die Aufgabe durch ein nichttransitorisches, computerlesbares Medium gelöst, das Prozessoranweisungen zum Ausführen eines Steuerverfahrens für ein Robotersystem speichert. Weiterbildungen und Ausgestaltungen sind Gegenstand der Unteransprüche
    • [1] Gemäß der vorliegenden Offenbarung umfasst ein Steuerverfahren eines Robotersystems, das einen Roboter mit einem Roboterarm und einem Endeffektor einschließt, Folgendes: Ableiten einer Annäherungsposition, an der der Endeffektor ein Aktionsobjekt greift; Ableiten einer Abtastposition zum Abtasten einer Kennung des Aktionsobjekts; und basierend auf der Annäherungsposition und der Abtastposition, Erstellen oder Ableiten einer Steuersequenz, um den Roboter anzuweisen, die Steuersequenz auszuführen. Die Steuersequenz schließt Folgendes von (1) bis (4) ein:
      • (1) Greifen des Aktionsobjekts an einer Startposition;
      • (2) Abtasten von Identifikationsinformationen des Aktionsobjekts (z. B. eine computerlesbare Kennung wie ein Barcode oder ein Quick-Response-Code (QR-Code) (eingetragenes Warenzeichen)) mit einer Abtastvorrichtung, die sich zwischen der Startposition und einer Aufgabenposition befindet;
      • (3) vorübergehendes Freigeben des Aktionsobjekts vom Endeffektor und erneutes Greifen des Aktionsobjekts durch den zu verschiebenden Endeffektor an einer Verschiebungsposition, wenn eine vorbestimmte Bedingung erfüllt ist; und
      • (4) Bewegen des Aktionsobjekts zu der Aufgabenposition;
      • (5) Festlegen einer Bedingung, dass die Lagerungseffizienz des Aktionsobjekts an der Aufgabenposition in einem Fall erhöht wird, in dem das Aktionsobjekt verschoben und die Richtung des Greifens des Aktionsobjekts durch den Endeffektor geändert wird, als die vorgegebene Bedingung; und
      • (6) Berechnen einer Lagerungseffizienz an der Aufgabenposition vor dem Verschieben des Aktionsobjekts und einer Lagerungseffizienz an der Aufgabenposition nach dem Verschieben des Aktionsobjekts.
  • Hier bezeichnet das „Aktionsobjekt“ ein Objekt, das vom Roboter, der im Robotersystem bereitgestellt wird, bedient werden soll, und schließt beispielsweise einen oder mehrere Artikel (Elemente), Behälter, wie z. B. einen Mülleimer, einen Behälter und eine Kiste, in der die Artikel platziert oder gelagert werden, ein. Die Behälter können ein- oder ausgepackt werden, und ein Teil der Behälter (z. B. eine obere Fläche) kann geöffnet werden. Darüber hinaus kann in einigen Ausführungsformen und Beispielen das „Aktionsobjekt“ ein Konzept sein, das ein Regal, eine Palette, ein Förderband und andere temporäre Stellplätze einschließt. Die „Steuersequenz“ gibt eine Reihenfolge von Aktionen an, die bei der Durchführung der Steuerung im Voraus festgelegt wird, um jede Einheit, wie z. B. einen oder mehrere im Robotersystem bereitgestellte Roboter, zur Ausführung einer individuellen Aufgabe zu veranlassen.
    • [3] In der vorstehend beschriebenen Konfiguration kann die Steuersequenz ferner die folgenden Arbeitsschritte (7) und (8) einschließen:
      • (7) Ableiten einer Höhe des Aktionsobjekts; und
      • (8) Berechnen der Lagerungseffizienz basierend auf der Höhe des Aktionsobjekts.
    • [4] In der vorstehend beschriebenen Konfiguration kann die Höhe des Aktionsobjekts aus einer Höhenposition (Ebene) einer oberen Fläche des Aktionsobjekts und einer Höhenposition (Ebene) einer unteren Fläche des Aktionsobjekts, gemessen in einem Zustand, in dem es vom Endeffektor gegriffen wird, berechnet werden.
    • [5] In der vorstehend beschriebenen Konfiguration kann die Höhe des Aktionsobjekts gemessen werden, wenn das Aktionsobjekt mit der Abtastvorrichtung abgetastet wird.
    • [6] In der vorstehend beschriebenen Konfiguration kann die Steuersequenz ferner (9) das vorübergehende Freigeben des Aktionsobjekts vom Endeffektor durch Platzieren des Aktionsobjekts auf einem vorübergehenden Platzierungstisch an der Verschiebungsstelle einschließen, wenn die vorgegebene Bedingung erfüllt ist.
    • [7] In der vorstehend beschriebenen Konfiguration kann das Steuerverfahren ferner Folgendes umfassen: Ableiten von Bildgebungsdaten, die einen Aufnahmebereich einschließlich des Aktionsobjekts anzeigen; Bestimmen einer Ausgangsstellung des Aktionsobjektes basierend auf den Bildgebungsdaten; Berechnen eines Konfidenzmaßes, das eine Wahrscheinlichkeit angibt, dass die Ausgangsstellung des Aktionsobjektes exakt ist; und Ableiten der Annäherungsposition und der Abtastposition basierend auf dem Konfidenzmaß.
  • Hier zeigt die „Stellung“ eine Position und/oder eine Ausrichtung des Aktionsobjekts an (z. B. eine Haltung, die eine Ausrichtung in einem angehaltenen Zustand einschließt), und schließt eine Translationskomponente und/oder eine Rotationskomponente in einem vom Robotersystem verwendeten Gittersystem ein. Darüber hinaus kann die „Stellung“ durch einen Vektor, eine Reihe von Winkeln (z. B. Euler-Winkel und/oder Roll-Nick-Gier-Winkel), eine homogene Transformation oder eine Kombination davon dargestellt werden. In der „Stellung“ des Aktionsobjekts kann eine Koordinatentransformation davon und dergleichen eine Translationskomponente, eine Rotationskomponente, Änderungen davon oder eine Kombination davon einschließen.
  • Außerdem gibt das „Konfidenzmaß“ ein quantifiziertes Maß an, das einen Grad der Übereinstimmung (einen Grad einer Gewissheit oder Wahrscheinlichkeit) einer bestimmten Stellung des Aktionsobjekts mit einer tatsächlichen Stellung des Aktionsobjekts in der Realität darstellt. Mit anderen Worten, das „Konfidenzmaß“ kann ein Maß sein, das die Genauigkeit einer bestimmten Stellung des Aktionsobjekts angibt, oder es kann als ein Index bezeichnet werden, der eine Wahrscheinlichkeit angibt, dass eine bestimmte Stellung mit einer tatsächlichen Stellung des Aktionsobjekts übereinstimmt. Zum Beispiel kann das „Konfidenzmaß“ ein Maß sein, das basierend auf einem Ergebnis der Übereinstimmung zwischen einem oder mehreren sichtbaren Merkmalen des Aktionsobjekts (z. B. einer Form, einer Farbe, einem Bild, einem Entwurf, einem Logo, einem Text und dergleichen) in den Bildgebungsdaten eines Aufnahmebereichs einschließlich des Aktionsobjekts und Informationen über die in den Stammdaten gespeicherten sichtbaren Merkmale des Aktionsobjekts zu quantifizieren ist.
    • [8] In der vorstehend beschriebenen Konfiguration kann die Steuersequenz ferner (10) das selektive Berechnen der Annäherungs- und Abtastposition gemäß einer Leistungs- und/oder Abtastmetrik basierend auf einem Ergebnis des Vergleichens des Konfidenzmaßes mit einem Suffizienzschwellenwert einschließen, und die Abtastmetrik kann mit einer Wahrscheinlichkeit in Verbindung stehen, dass die Kennung des Aktionsobjekts nicht durch den Endeffektor abgedeckt wird, unabhängig davon, ob die Ausgangsstellung des Aktionsobjekts präzise ist oder nicht.
    • [9] In der vorstehend beschriebenen Konfiguration können in einem Fall, in dem das Konfidenzmaß nicht den Suffizienzschwellenwert erfüllt, die Annäherungsposition und die Abtastposition basierend auf der Abtastmetrik abgeleitet werden oder basierend auf der Abtastmetrik abgeleitet werden, wobei die Abtastmetrik gegenüber der Leistungsmetrik priorisiert wird.
    • [10] Möglicherweise können in der vorstehend beschriebenen Konfiguration in einem Fall, in dem das Konfidenzmaß den Suffizienzschwellenwert erfüllt, die Annäherungsposition und die Abtastposition basierend auf der Leistungsmetrik abgeleitet werden.
    • [11] In der vorstehend beschriebenen Konfiguration kann die Steuersequenz ferner die folgenden Arbeitsschritte (11) und (12) einschließen:
      • (11) Ableiten einer ersten Abtastposition, um der Abtastvorrichtung Identifikationsinformationen des Aktionsobjekts bereitzustellen, und einer zweiten Abtastposition, um der Abtastvorrichtung alternative Identifikationsinformationen des Aktionsobjekts bereitzustellen; und
      • (12) Bewegen des Aktionsobjekts zu der Aufgabenposition und Ignorieren der zweiten Abtastposition in einem Fall, in dem ein Abtastergebnis eine erfolgreiche Abtastung anzeigt, oder Bewegen des Aktionsobjekts zu der zweiten Abtastposition in einem Fall, in dem das Abtastergebnis eine fehlgeschlagene Abtastung anzeigt, nachdem das Aktionsobjekt zu der ersten Abtastposition bewegt wurde.
    • [12] Darüber hinaus wird gemäß der vorliegenden Offenbarung ein nicht nichttransitorisches, computerlesbares Medium bereitgestellt, das Prozessoranweisungen zur Durchführung eines Steuerverfahrens eines Robotersystems speichert, das einen Roboter, der einen Roboterarm und einen Endeffektor aufweist, wobei die Prozessoranweisungen eine Anweisung zum Ableiten einer Annäherungsposition einschließen, an der der Endeffektor ein Aktionsobjekt greift; eine Anweisung zum Ableiten einer Abtastposition zum Abtasten einer Kennung des Aktionsobjekts; und eine Anweisung zum Erstellen oder Ableiten einer Steuersequenz einschließt, um den Roboter anzuweisen, die Steuersequenz basierend auf der Annäherungs- und der Abtastposition auszuführen. Die Steuersequenz schließt Folgendes von (1) bis (4) ein:
      • (1) Greifen des Aktionsobjekts an einer Startposition;
      • (2) Abtasten von Identifikationsinformationen des Aktionsobjekts mit einer Abtastvorrichtung, die zwischen der Startposition und einer Aufgabenposition angeordnet ist;
      • (3) vorübergehendes Freigeben des Aktionsobjekts vom Endeffektor und erneutes Greifen des Aktionsobjekts durch den zu verschiebenden Endeffektor an einer Verschiebungsposition, wenn eine vorbestimmte Bedingung erfüllt ist; und
      • (4) Bewegen des Aktionsobjekts zu der Aufgabenposition.
      • (5) Festlegen einer Bedingung, dass die Lagerungseffizienz des Aktionsobjekts an der Aufgabenposition in einem Fall erhöht wird, in dem das Aktionsobjekt verschoben und die Richtung des Greifens des Aktionsobjekts durch den Endeffektor geändert wird, als die vorgegebene Bedingung; und
      • (6) Berechnen einer Lagerungseffizienz an der Aufgabenposition vor dem Verschieben des Aktionsobjekts und einer Lagerungseffizienz an der Aufgabenposition nach dem Verschieben des Aktionsobjekts.
    • [14] In der vorstehend beschriebenen Konfiguration kann die Steuersequenz ferner die folgenden Arbeitsschritte (7) und (8) einschließen:
      • (7) Ableiten einer Höhe des Aktionsobjekts; und
      • (8) Berechnen der Lagerungseffizienz basierend auf der Höhe des Aktionsobjekts.
    • [15] In der vorstehend beschriebenen Konfiguration kann die Höhe des Aktionsobjekts aus einer Höhenposition (Ebene) einer oberen Fläche des Aktionsobjekts und einer Höhenposition (Ebene) einer unteren Fläche des Aktionsobjekts, gemessen in einem Zustand, in dem es vom Endeffektor gegriffen wird, berechnet werden.
    • [16] Darüber hinaus ist gemäß der vorliegenden Offenbarung eine Steuerung eines Robotersystems bereitgestellt, das einen Roboter mit einem Roboterarm und einem Endeffektor einschließt, wobei die Steuerung das Steuerverfahren gemäß einem von [1] bis [11] ausführt.
    • 1 ist eine Veranschaulichung einer beispielhaften Umgebung, in der ein Robotersystem gemäß einer Ausführungsform der vorliegenden Offenbarung betrieben werden kann.
    • 2 ist ein Blockdiagramm, das ein Beispiel einer Hardwarekonfiguration des Robotersystems gemäß der Ausführungsform der vorliegenden Offenbarung veranschaulicht.
    • 3A ist eine perspektivische Ansicht, die schematisch eine erste Stellung eines Aktionsobjekts veranschaulicht.
    • 3B ist eine perspektivische Ansicht, die schematisch eine zweite Stellung des Aktionsobjekts veranschaulicht.
    • 3C ist eine perspektivische Ansicht, die schematisch eine dritte Stellung des Aktionsobjekts veranschaulicht.
    • 4A ist eine Draufsicht, die eine beispielhafte Aufgabe veranschaulicht, die durch das Robotersystem gemäß der Ausführungsform der vorliegenden Offenbarung ausgeführt wird.
    • 4B ist eine Vorderansicht, die eine beispielhafte Aufgabe veranschaulicht, die durch das Robotersystem gemäß der Ausführungsform der vorliegenden Offenbarung ausgeführt wird.
    • 5A ist ein Flussdiagramm, das ein Beispiel eines Verfahrens von Aktionen des Robotersystems gemäß der Ausführungsform der vorliegenden Offenbarung veranschaulicht.
    • 5B ist ein Flussdiagramm, das ein Beispiel eines Verfahrens von Aktionen des Robotersystems gemäß der Ausführungsform der vorliegenden Offenbarung veranschaulicht.
  • Gemäß der vorliegenden Offenbarung ist ein Robotersystem, in dem mehrere Einheiten (z. B. verschiedene Roboter, verschiedene Vorrichtungen, eine darin integrierte oder davon getrennte Steuerung und dergleichen) in hohem Maße integriert sind, deren Steuerung, ein mit diesen bereitgestelltes Verteilungssystem, ein Verfahren dafür und dergleichen bereitgestellt werden. Beispielsweise ist ein Robotersystem gemäß einer Ausführungsform der vorliegenden Offenbarung ein integriertes System, das eine oder mehrere Aufgaben selbständig ausführen kann. Das Robotersystem gemäß der Ausführungsform der vorliegenden Offenbarung wird betrieben, um eine fortschrittliche Handhabung einzuschließen, die die Lagerungseffizienz eines Lagerbehälters, basierend auf der Form oder den Abmessungen eines Aktionsobjekts und des Raumvolumens des Lagerbehälters, erheblich steigern kann, wenn das Aktionsobjekt im Lagerbehälter und dergleichen gelagert wird. Darüber hinaus wird eine erweiterte Abtastaufgabe des Aktionsobjekts durch Erstellen oder Ableiten einer Steuersequenz basierend auf einem Konfidenzmaß, das sich auf eine Ausgangsstellung des Aktionsobjekts bezieht, und Ausführen der Steuersequenz bereitgestellt.
  • Das Robotersystem kann gemäß der Ausführungsform der vorliegenden Offenbarung so konfiguriert werden, dass es eine Aufgabe ausführt, die auf der Bedienung (z. B. physische Bewegung und/oder Ausrichtung) des Aktionsobjekts basiert. Insbesondere kann das Robotersystem beispielsweise das Sortieren oder Ersetzen verschiedener Aktionsobjekte durchführen, indem es das Aktionsobjekt aus einem Aufnahmebereich einschließlich einer Startposition aufnimmt (z. B. eine große Kiste, ein Behälter, ein Container, eine Palette, ein Lagerbehälter, ein Eimer, ein Käfig, ein Förderband und dergleichen als Versorgungsquelle des Aktionsobjekts) und das Bewegen des Aktionsobjekts in einen Abwurfbereich, der eine objektive Aufgabenposition einschließt (z. B. eine große Kiste, einen Behälter, einen Container, eine Palette, einen Lagerbehälter, einen Eimer, einen Käfig, ein Förderband und dergleichen als Übergabeziel des Aktionsobjekts).
  • Eine Steuersequenz, die vom Robotersystem ausgeführt wird, kann das Abtasten einer oder mehrerer Kennungen (z. B. ein Barcode, ein Quick Response-Code (QR-Code) (eingetragenes Warenzeichen) und dergleichen) einschließen, die sich während der Übertragung an einer oder mehreren bestimmten Positionen und/oder Flächen des Aktionsobjekts befinden. Daher kann das Robotersystem verschiedene Aufgaben ausführen, wie z. B. das Greifen und Aufnehmen des Aktionsobjekts, das Abtasten der Kennung an einer geeigneten Position/Ausrichtung, das Anpassen der Stellung, das Ändern der Stellung und das Verschieben (Lösen des Griffs und erneutes Greifen und Aufnehmen des Aktionsobjekts), das Übertragen des Aktionsobjekts an die Aufgabenposition und das Lösen des Griffs sowie das Ablegen des Aktionsobjekts an der Aufgabenposition.
  • Das Robotersystem kann ferner eine Bildgebungsvorrichtung (z. B. eine Kamera, einen Infrarotsensor/eine Infrarotkamera, ein Radar, ein Lidar und dergleichen) einschließen, die zur Identifizierung einer Position und einer Stellung des Aktionsobjekts und einer Umgebung um das Aktionsobjekt herum verwendet wird.
  • Ferner kann das Robotersystem ein Konfidenzmaß, das der Stellung des Aktionsobjekts zugeordnet wird, berechnen. Darüber hinaus kann das Robotersystem ein Bild ableiten, das eine Position und eine Ausrichtung des Aktionsobjekts zu einem Zeitpunkt des Transports in einen Aufnahmebereich einschließlich einer Startposition, einen Abwurfbereich einschließlich einer Aufgabenposition, einen Bereich einschließlich einer Verschiebungsposition in der Mitte eines Bewegungspfades des Aktionsobjekts (z. B. ein geeigneter Aufgabentisch wie ein temporärer Platzierungstisch, andere Roboter und dergleichen) und dergleichen anzeigt.
  • Das Robotersystem kann ferner eine Bildverarbeitung durchführen, um ein Aktionsobjekt gemäß einer zuvor festgelegten Reihenfolge zu identifizieren oder auszuwählen (z. B. von oben nach unten, von außen nach innen, von innen nach außen und dergleichen). Des Weiteren kann das Robotersystem beispielsweise die Ausgangsstellung des Aktionsobjekts in einem Aufnahmebereich aus dem Bild bestimmen, indem es beispielsweise die Umrisse des Aktionsobjekts identifiziert und die Umrisse basierend auf einer Farbe, einer Helligkeit und einer Tiefe/Position eines Pixels und/oder einer Kombination davon in einem Musterbild von Bildgebungsdaten und Änderungen ihrer Werte gruppiert. Bei der Bestimmung der Ausgangsstellung kann das Robotersystem das Konfidenzmaß gemäß einem zuvor festgelegten Verfahren und/oder einer zuvor festgelegten Gleichung berechnen.
  • Das Robotersystem kann ferner bei Bedarf eine Verschiebung des Aktionsobjekts (Änderung der Greifposition des Aktionsobjekts) an einer in der Mitte einer Strecke vorgesehenen Verschiebeposition vom Aufnahmebereich einschließlich der Startposition und dergleichen zum Abwurfbereich einschließlich der Aufgabenposition und dergleichen durchführen. Während das Aktionsobjekt dann vom Aufnahmebereich einschließlich der Startposition und dergleichen zum Abwurfbereich einschließlich der Aufgabenposition und dergleichen bewegt wird, kann das Robotersystem eine Höhe des Aktionsobjekts nach Bedarf ableiten, z. B. durch eine Bildgebungsvorrichtung mit einer Entfernungsmessfunktion.
  • Das Robotersystem kann ferner eine Steuersequenz zum Ausführen jeder Aufgabe gemäß einer Position, einer Stellung, einer Höhe und einem Konfidenzmaß des Aktionsobjekts oder einer Kombination davon und/oder einer Position und einer Stellung des Roboters oder einer Kombination davon ausführen. Eine derartige Steuersequenz kann durch maschinelles Lernen, wie z. B. Bewegungsplanung und Deep Learning, erstellt oder abgeleitet werden. Die Steuersequenz entspricht dem Greifen des Aktionsobjekts, dem Handhaben des Aktionsobjekts, dem Platzieren des Aktionsobjekts an einer objektiven Aufgabenposition und dergleichen, an der Startposition und/oder einer beliebigen Position während der Bewegung, um z. B. das Aktionsobjekt zu sortieren, zu verschieben und zu ersetzen.
  • Hier führen herkömmliche Robotersysteme eine Steuersequenz aus, bei der ein Aktionsobjekt in einem Aufnahmebereich einschließlich einer Startposition und dergleichen gegriffen wird und das Aktionsobjekt im gegriffenen Zustand zu einem Abwurfbereich einschließlich einer Aufgabenposition und dergleichen bewegt wird, um freigegeben zu werden. Daher wird bei den herkömmlichen Systemen das gegriffene Aktionsobjekt lediglich in einem gegriffenen Zustand bewegt und aus dem gegriffenen Zustand freigegeben, und daher kann nicht davon ausgegangen werden, dass ein Raum, in dem das Aktionsobjekt gestapelt oder gelagert wird, ausreichend effektiv genutzt werden kann. Aus diesem Grund kann unter dem Gesichtspunkt der Stapelungs- oder der Lagerungseffizienz von Aktionsobjekten ein menschliches Eingreifen (Anpassung, erneute Ausführung, Ergänzung, Systemstopp und dergleichen) und ein Eingreifen in die Aktion erforderlich sein.
  • Im Gegensatz zu den herkömmlichen Systemen kann das Robotersystem gemäß der vorliegenden Offenbarung eine Steuersequenz basierend auf Forminformationen des Aktionsobjekts und Stapel- oder Lagerinformationen des Aktionsobjekts erstellen oder ableiten und die Steuersequenz ausführen. Mit anderen Worten, das Robotersystem gemäß der vorliegenden Offenbarung kann eine weitere Optimierung der Stapel- oder Lagerungseffizienz des Aktionsobjekts basierend auf Forminformationen des Aktionsobjekts und Stapel- oder Lagerungsinformationen des Aktionsobjekts erreichen. Darüber hinaus kann das Robotersystem gemäß der vorliegenden Offenbarung eine Greifposition des Aktionsobjekts in eine Greifposition ändern, die für die Optimierung einer Stapel- oder Lagerungseffizienz des Aktionsobjekts geeignet ist, an einer Verschiebeposition, die sich in der Mitte einer Strecke zwischen der Aufgabenposition und der Startposition befindet.
  • Darüber hinaus kann das Robotersystem im Gegensatz zu den herkömmlichen Systemen gemäß der vorliegenden Offenbarung bei Bedarf eine Steuersequenz erstellen oder ableiten, die zur Optimierung der Stapel- oder Lagerungseffizienz des Aktionsobjekts entsprechend der tatsächlichen Höhe des Aktionsobjekts geeignet ist, und die Steuersequenz ausführen. Beispielsweise kann, obwohl eine oder mehrere Kennungen, die sich an einer oder mehreren bestimmten Positionen und/oder auf einer Fläche des abgetasteten Aktionsobjekts befinden, gleich sind, das Aktionsobjekt tatsächlich unterschiedliche Formabmessungen haben. Daher wird auf einer vorgeschalteten Seite (vorhergehende Stufe) der Verschiebeposition in der Steuersequenz eine Höhe des Aktionsobjekts tatsächlich gemessen basierend auf der Abstandsinformation von der Bildgebungsvorrichtung (Kamera oder Abstandsmessvorrichtung), die sich in vertikaler Ausrichtung zum Aktionsobjekt befindet, für das z. B. eine unterstützte Position bekannt ist. Anschließend kann basierend auf der tatsächlich gemessenen Höhe des Aktionsobjekts eine Stapel- oder Lagereffizienz des Aktionsobjekts an der Aufgabenposition berechnet und anhand des Ergebnisses der Steuersequenz weiter optimiert werden.
  • Ferner kann das Robotersystem im Gegensatz zu den herkömmlichen Systemen gemäß der vorliegenden Offenbarung eine Steuersequenz gemäß einem Konfidenzmaß nach Bedarf erstellen und ableiten und die Steuersequenz ausführen. Entsprechend dem Konfidenzmaß kann beispielsweise die Annäherung an das Aktionsobjekt, die Greifposition auf dem Aktionsobjekt, die Stellung/Position des Aktionsobjektes und/oder ein Teil des Bewegungspfades geändert werden.
  • In der Stellung des im Aufnahmebereich gegriffenen Aktionsobjekts und dergleichen kann im Allgemeinen eine obere Fläche des Aktionsobjekts horizontal (nach oben) ausgerichtet exponiert sein und eine seitliche Fläche des Aktionsobjekts kann vertikal (seitlich) ausgerichtet exponiert sein. Daher kann das Robotersystem gemäß der vorliegenden Offenbarung Stammdaten einschließen, bei denen das Aktionsobjekt eine Kennung auf einer unteren Fläche des Aktionsobjekts (d. h. einer der oberen Fläche des Aktionsobjekts gegenüberliegenden Seite) und eine weitere Kennung auf einer der Seitenflächen des Aktionsobjekts aufweist.
  • Das Robotersystem gemäß der vorliegenden Offenbarung kann ferner bei der Verarbeitung eines Bildes des Aufnahmebereichs bei der Identifizierung eines Aktionsobjekts ein Konfidenzmaß berechnen, wenn dies erforderlich ist. In einem Fall, in dem das Konfidenzmaß einen Suffizienzschwellenwert überschreitet und eine ausreichende Sicherheit erkannt wird, dass die obere Fläche des Aktionsobjekts exponiert ist, kann das Robotersystem einen Endeffektor auf der exponierten oberen Fläche platzieren, die obere Fläche greifen und das Aktionsobjekt so drehen, dass die untere Fläche des Aktionsobjekts an einer zuvor festgelegten Position vor der Abtastvorrichtung positioniert wird. Andererseits kann das Robotersystem in einem Fall, in dem das Konfidenzmaß unter einem Suffizienzschwellenwert liegt und nicht erkannt wird, ob die obere oder die untere Fläche des Aktionsobjekts exponiert ist oder nicht, den Endeffektor entlang einer der Seitenflächen des Aktionsobjekts positionieren, die Seitenfläche des Aktionsobjekts greifen und das Aktionsobjekt so drehen, dass es z. B. zwischen einem Satz von gegenüberliegenden Abtastvorrichtungen hindurchpasst.
  • In diesem Fall werden eine Aufgabeneffizienz und eine Aufgabengeschwindigkeit verbessert, indem das Aktionsobjekt im Bewegungspfad des Aktionsobjekts abgetastet wird, z. B. zwischen dem Aufnahmebereich einschließlich der Startposition und dem Abwurfbereich einschließlich der Aufgabenposition. Zu diesem Zeitpunkt kann das Robotersystem gemäß der vorliegenden Offenbarung eine Bewegungsaufgabe des Aktionsobjekts und die Abtastaufgabe des Aktionsobjekts effektiv kombinieren, indem es eine Steuersequenz erstellt oder ableitet, die auch mit der Abtastvorrichtung an der Abtastposition zusammenarbeitet. Ferner können durch Erstellen oder Ableiten einer Steuersequenz basierend auf dem Konfidenzmaß der Ausgangsstellung des Aktionsobjekts eine Effizienz, eine Geschwindigkeit und eine Genauigkeit bezüglich der Abtastaufgabe weiter verbessert werden.
  • Das Robotersystem gemäß der vorliegenden Offenbarung kann ferner eine Steuersequenz erstellen oder ableiten, die einem Fall entspricht, in dem die Ausgangsstellung des Aktionsobjekts nicht korrekt ist. Folglich kann selbst dann, wenn ein Fehler bei der Bestimmung der Stellung des Aktionsobjekts auftritt (z. B. ein Fehler beim Bestimmen des Ergebnisses eines Kalibrierungsfehlers, einer unerwarteten Stellung, eines unerwarteten Beleuchtungszustandes und dergleichen), die Wahrscheinlichkeit erhöht werden, das Aktionsobjekt präzise und zuverlässig abzutasten. Dadurch kann der Gesamtdurchsatz des Robotersystems erhöht und der Aufwand bzw. die Eingriffe durch den Bediener weiter reduziert werden.
  • Ferner werden in dieser Patentschrift zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der vorliegenden Offenbarung zu ermöglichen, aber die vorliegende Offenbarung ist nicht darauf beschränkt. Darüber hinaus können in der Ausführungsform der vorliegenden Offenbarung die hier beschriebenen Techniken auch ohne diese spezifischen Details umgesetzt werden. Ferner werden bekannte spezifische Funktionen, Routinen oder dergleichen nicht im Detail beschrieben, um eine unnötige Verschleierung der Offenbarung zu vermeiden. Bezugnahmen in dieser Patentschrift auf „eine Ausführungsform“, „eine der Ausführungsformen“ oder dergleichen bedeuten, dass ein bestimmtes Merkmal, eine bestimmte Struktur, ein bestimmtes Material oder eine bestimmte Eigenschaft, das/die beschrieben wird, in mindestens einer Ausführungsform der vorliegenden Offenbarung eingeschlossen ist. Daher beziehen sich die Erscheinungen derartiger Formulierungen in dieser Patentschrift nicht notwendigerweise alle auf dieselbe Ausführungsform. Andererseits schließen sich solche Bezugnahmen nicht notwendigerweise gegenseitig aus. Ferner können die bestimmten Merkmale, Strukturen, Materialien oder Eigenschaften in einer oder mehreren Ausführungsformen in beliebiger Weise kombiniert werden. Darüber hinaus ist zu verstehen, dass die verschiedenen Ausführungsformen, die in den Figuren gezeigt werden, lediglich veranschaulichende Darstellungen sind und nicht notwendigerweise maßstabsgetreu gezeichnet werden.
  • Darüber hinaus wird bei Strukturen oder Prozessen, die allgemein bekannt sind und häufig mit Robotersystemen und Teilsystemen in Verbindung gebracht werden, die jedoch einige wichtige Gesichtspunkte der vorliegenden Offenbarung unnötigerweise verschleiern können, die Beschreibung aus Gründen der Klarheit der vorliegenden Offenbarung ausgelassen. Darüber hinaus schließt diese Patentschrift, obwohl verschiedene Ausführungsformen der vorliegenden Offenbarung dargelegt werden, Konfigurationen oder Komponenten als andere Ausführungsformen ein, die von der Beschreibung in diesem Abschnitt abweichen. Dementsprechend kann die vorliegende Offenbarung andere Ausführungsformen mit zusätzlichen Elementen oder ohne einige der nachstehend beschriebenen Elemente einschließen.
  • Darüber hinaus kann jede Ausführungsform der vorliegenden Offenbarung in Form von computer- oder steuerungsausführbaren Anweisungen erfolgen, einschließlich von Routinen, die von einem programmierbaren Computer oder einer programmierbaren Steuerung ausgeführt werden. Es ist zu beachten, dass ein Durchschnittsfachmann im Gebiet, zu dem die vorliegende Offenbarung gehört, versteht, dass die Techniken der vorliegenden Offenbarung in Systemen implementiert werden können, die verschiedene Computer oder Steuerungen einschließen. Die Techniken der vorliegenden Offenbarung können in einem Spezialcomputer oder Datenprozessor implementiert werden, der so programmiert, konfiguriert oder konstruiert ist, dass er eine oder mehrere Anweisungen auf verschiedenen Computern ausführt. Dementsprechend können die hier verwendeten Begriffe „Computer“ und „Steuerung“ jeden Datenprozessor bezeichnen und Internet-Geräte und tragbare Vorrichtungen einschließen (einschließlich Palmtop-Computer, tragbare Computer, Mobiltelefone oder Handys, Multiprozessorsysteme, prozessorbasierte oder programmierbare Unterhaltungselektronik, Netzwerkcomputer, Mini-Computer und dergleichen). Informationen, die von diesen Computern und Steuerungen gehandhabt werden, können auf jedem geeigneten Anzeigemedium, wie z. B. einer Flüssigkristallanzeige (LCD), bereitgestellt werden. Anweisungen zum Ausführen von computer- oder steuerungsausführbaren Aufgaben können in oder auf jedem geeigneten computerlesbaren Medium, einschließlich Hardware, Firmware oder einer Kombination aus Hardware und Firmware, gespeichert werden. Darüber hinaus können diese Anweisungen in jeder geeigneten Speichervorrichtung, einschließlich z. B. einem Flash-Laufwerk und/oder anderen geeigneten Medien, aufgezeichnet werden.
  • Darüber hinaus können in dieser Patentschrift die Begriffe „gekoppelt“ und „verbunden“ zusammen mit ihren Ableitungen verwendet werden, um strukturelle Beziehungen zwischen Komponenten zu beschreiben. Es ist zu verstehen, dass diese Begriffe nicht als Synonyme füreinander vorgesehen sind. Vielmehr kann in bestimmten Ausführungsformen der Begriff „verbunden“ verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem Kontakt miteinander stehen. Sofern im Kontext nichts anderes erkennbar ist, kann der Begriff
    „gekoppelt” verwendet werden, um anzugeben, dass zwei oder mehr Elemente in direktem Kontakt miteinander oder in indirektem Kontakt miteinander mit anderen zwischengeschalteten Elementen stehen, oder dass die zwei oder mehr Elemente zusammenarbeiten oder miteinander interagieren, z. B. wie in einer Ursache-Wirkungs-Beziehung, beispielsweise für Signalübertragung/-empfang oder für Funktionsaufrufe, oder beides.
  • 1 ist eine Ansicht, die eine beispielhafte Umgebung veranschaulicht, in der ein Robotersystem 100 gemäß einer Ausführungsform der vorliegenden Offenbarung betrieben werden kann. Das Robotersystem 100 schließt Einheiten wie einen oder mehrere Roboter ein, die konfiguriert sind, um eine oder mehrere Aufgaben auszuführen.
  • Für das in 1 veranschaulichte Beispiel kann das Robotersystem 100 eine Entladeeinheit 102, eine Übertragungseinheit 104, eine Transporteinheit 106, eine Ladeeinheit 108 oder eine Kombination davon in einem Lager oder einem Vertriebs-/Transportzentrum einschließen. In diesen Einheiten können Beispiele für den Roboter, der ein Aktionsobjekt bedient, einen Roboter zum Bedienen des Aktionsobjekts durch einen Roboterarm und einen Endeffektor einschließen, wie z. B. einen Devanning-Roboter, einen Werkstückaufnahmeroboter und einen Abholroboter. Darüber hinaus kann jede Einheit in dem Robotersystem 100 eine Steuersequenz ausführen, in der mehrere Aufgaben so kombiniert werden, dass sie eine oder mehrere Aufgaben ausführen, z. B. die mehreren Aufgaben wie das Entladen des Aktionsobjekts von einem Lkw, einem Lieferwagen und dergleichen zur Lagerung in einem Lager, das Entladen des Aktionsobjekts von einem Lagerort, z. B. das Bewegen des Aktionsobjekts zwischen Behältern, oder das Laden des Aktionsobjekts in einen Lkw oder Lieferwagen zum Transport. Mit anderen Worten, die „Aufgabe“ ist hier ein Konzept, das verschiedene Vorgänge und Aktionen einschließt, die darauf abzielen, das Aktionsobjekt von „einer bestimmten Position“ zu „einer anderen bestimmten Position“ zu überführen.
  • Insbesondere schließt die „Aufgabe” das Bedienen eines Aktionsobjekts 112 von einer Startposition 114 des Aktionsobjekts 112 zu einer Aufgabenposition 116 ein (zum Beispiel Bewegung, Ausrichtung, Stellungswechsel und dergleichen), das Verschieben des Aktionsobjekts 112 an einer Verschiebeposition 118, die in der Mitte des Bewegungspfads des Aktionsobjekts 112 von der Startposition 114 zu der Aufgabenposition 116 bereitgestellt wird, das Abtasten des Aktionsobjekts 112 zur Ableitung von Identifikationsinformationen des Aktionsobjekts 112 und dergleichen.
  • Die Entladeeinheit 102 kann beispielsweise so konfiguriert werden, dass sie das Aktionsobjekt 112 von einer Position in einem Transportmittel (z. B. einem Lkw) zu einer Position auf einem Förderband überführt. Ferner kann die Übertragungseinheit 104 so konfiguriert werden, dass sie das Aktionsobjekt 112 von einer Position (z. B. einem Aufnahmebereich einschließlich einer Startposition) an eine andere Position (z. B. einen Abwurfbereich einschließlich einer Aufgabenposition auf der Transporteinheit 106) überführt und das Aktionsobjekt 112 in der Mitte seines Bewegungspfades verschiebt. Außerdem kann die Transporteinheit 106 das Aktionsobjekt 112 von einem mit der Übertragungseinheit 104 verbundenen Bereich in einen mit der Ladeeinheit 108 zugeordneten Bereich überführen. Des Weiteren kann die Ladeeinheit 108 das Aktionsobjekt 112 von der Übertragungseinheit 104 an eine Lagerposition (z. B. eine vorgegebene Position in einem Regal, z. B. ein Regal in einem Lager) überführen, indem sie z. B. eine Palette bewegt, auf der das Aktionsobjekt 112 platziert wird.
  • Ferner wird in der vorliegenden Beschreibung das Robotersystem 100 als Beispiel für die Anwendung in einem Transportzentrum beschrieben; es versteht sich jedoch, dass das Robotersystem 100 so konfiguriert werden kann, dass es Aufgaben in anderen Umgebungen/für andere Zwecke ausführt, z. B. für die Fertigung, Montage, Verpackung, das Gesundheitswesen und/oder andere Arten der Automatisierung. Es versteht sich außerdem, dass das Robotersystem 100 andere Einheiten wie einen Manipulator, einen Serviceroboter und einen modularen Roboter einschließen kann, die in 1 nicht gezeigt sind. Zum Beispiel kann das Robotersystem 100 einschließen: eine Entladeeinheit von einer Palette, um das Aktionsobjekt 112 von einem Gitterwagen oder einer Palette auf ein Förderband oder eine andere Palette zu überführen, eine Behälterwechseleinheit, um das Aktionsobjekt 112 zwischen den Behältern zu überführen, eine Verpackungseinheit, um das Aktionsobjekt 112 zu umhüllen, eine Sortiereinheit, um eine Gruppierung gemäß den Merkmalen des Aktionsobjekts 112 durchzuführen, eine Kommissioniereinheit zum variablen Bedienen (z. B. Sortieren, Gruppieren und/oder Überführen) des Aktionsobjekts 112 gemäß den Merkmalen des Aktionsobjekts 112, eine selbstfahrende Wageneinheit (z. B. fahrerloses Transportsystem (FTS), unbemanntes gesteuertes Fahrzeug und dergleichen) zum Bewegen einer Palette oder eines Regals zur Lagerung des Aktionsobjekts 112 oder einer beliebigen Kombination davon.
  • 2 ist ein Blockdiagramm, das ein Beispiel einer Hardwarekonfiguration des Robotersystems 100 gemäß der Ausführungsform der vorliegenden Offenbarung veranschaulicht. Zum Beispiel kann das Robotersystem 100 eine elektronische oder elektrische Vorrichtung einschließen, wie z. B. einen oder mehrere Prozessoren 202, eine oder mehrere Speichervorrichtungen 204, eine oder mehrere Kommunikationsvorrichtungen 206, eine oder mehrere Ein-/Ausgabevorrichtungen 208, eine oder mehrere Betätigungsvorrichtungen 212, einen oder mehrere Transportmotoren 214, einen oder mehrere Sensoren 216 oder eine Kombination davon. Diese verschiedenen elektronischen oder elektrischen Vorrichtungen können über eine drahtgebundene Verbindung und/oder eine drahtlose Verbindung miteinander gekoppelt sein.
  • Darüber hinaus kann das Robotersystem 100 beispielsweise einen Bus, wie z. B. einen Systembus, einen PCI-Bus (Peripheral Component Interconnect-Bus) oder PCI-Express-Bus, einen HyperTransport- oder ISA-Bus (Industry Standard Architecture-Bus), einen SCSI-Bus (Small Computer System Interface-Bus), einen USB-Bus (Universal Serial Bus), einen IIC-Bus (12C-Bus) oder einen 1394-Standard-Bus des Institute of Electrical and Electronics Engineers (IEEE) (auch als
    „Firewire” bezeichnet) einschließen. Ferner kann das Robotersystem 100 zum Beispiel eine Brücke, einen Adapter, eine Steuerung oder andere signalbezogene Vorrichtungen zum Bereitstellen der drahtgebundenen Verbindung zwischen den elektronischen oder elektrischen Vorrichtungen umfassen. Darüber hinaus kann die drahtlose Verbindung beispielsweise auf einem zellularen Kommunikationsprotokoll (z. B. 3G, 4G, LTE, 5G und dergleichen), einem drahtlosen lokalen Netzwerkprotokoll (LAN-Protokoll) (z. B. Wireless Fidelity (WIFI)), einem Peer-to-Peer- oder Geräte-zu-Geräte-Kommunikationsprotokoll (z. B. Bluetooth (eingetragenes Warenzeichen), Near-Field-Kommunikation (NFC) und dergleichen), einem Internet of Things-Protokoll (IoT-Protokoll) (z. B. NB-IoT, LTE-M und dergleichen) und/oder anderen drahtlosen Kommunikationsprotokollen basieren.
  • Der Prozessor 202 kann einen Datenprozessor (z. B. eine Zentraleinheit (CPU), einen Spezialcomputer und/oder einen Onboard-Server) einschließen, der so konfiguriert ist, dass er Anweisungen (z. B. Softwareanweisungen) ausführt, die in der Speichervorrichtung 204 (z. B. einem Computerspeicher) gespeichert sind. Der Prozessor 202 kann die Programmanweisungen zur Steuerung/Interaktion mit anderen Vorrichtungen implementieren und dadurch das Robotersystem 100 veranlassen, eine Steuersequenz einschließlich verschiedener Aktionen, Aufgaben und/oder Vorgänge auszuführen.
  • Die Speichervorrichtung 204 kann ein nicht nichttransitorisches, computerlesbares Medium einschließen, auf dem Programmanweisungen (z. B. Software) gespeichert sind. Beispiele für die Speichervorrichtung 204 können beispielsweise einen flüchtigen Speicher (z. B. Cache-Speicher und/oder RAM-Speicher (Random Access Memory-Speicher)) und/oder einen nichtflüchtigen Speicher (z. B. einen Flash-Speicher und/oder ein Magnetplattenlaufwerk), ein tragbares Speicherlaufwerk und/oder eine Cloud-Speichervorrichtung und dergleichen einschließen. Darüber hinaus kann die Speichervorrichtung 204 dazu verwendet werden, ferner ein Verarbeitungsergebnis und/oder vorgegebene Daten/Schwellenwerte zu speichern und den Zugriff darauf zu ermöglichen, und kann beispielsweise Stammdaten 252 speichern, die Informationen in Bezug auf das Aktionsobjekt 112 einschließen.
  • Die Stammdaten 252 schließen als Informationen in Bezug auf das Aktionsobjekt 112 beispielsweise eine Abmessung, eine Form, eine Masse, einen Schwerpunkt, eine Position des Schwerpunkts, eine Vorlage in Bezug auf eine Stellung und einen Umriss, Modelldaten zum Erkennen verschiedener Stellungen, eine Lagerhaltungseinheit (SKU), ein Farbschema, ein Bild, Identifikationsinformationen, ein Logo, eine erwartete Position des Aktionsobjekts, einen erwarteten Messwert durch einen Sensor (beispielsweise eine physikalische Größe in Bezug auf eine Kraft, ein Drehmoment, einen Druck, einen Kontaktmesswert), eine Kombination davon oder dergleichen ein.
  • Die Speichervorrichtung 204 kann ferner beispielsweise die Verfolgungsdaten 254 des Aktionsobjekts 112 speichern. Die Verfolgungsdaten 254 können ein Protokoll eines abzutastenden oder zu bedienenden Aktionsobjekts, Bildgebungsdaten (z. B. ein Foto, eine Punktwolke, ein Live-Video und dergleichen) des Aktionsobjekts 112 an einer oder mehreren Positionen (zum Beispiel eine geeignete Startposition, eine Aufgabenposition, eine Verschiebeposition und dergleichen) sowie eine Position und/oder eine Stellung des Aktionsobjekts 112 an einer oder mehreren Positionen davon einschließen.
  • Die Kommunikationsvorrichtung 206 kann beispielsweise eine Schaltung, einen Empfänger, einen Sender, einen Modulator/Demodulator (Modem), einen Signaldetektor, einen Signal-Kodierer/Dekodierer, einen Anschluss-Port, eine Netzwerkkarte und dergleichen einschließen, die zur Kommunikation mit einer externen oder entfernten Vorrichtung über ein Netzwerk konfiguriert sind. Darüber hinaus kann die Kommunikationsvorrichtung 206 so konfiguriert werden, dass sie ein elektrisches Signal gemäß einem oder mehreren Kommunikationsprotokollen (z. B. dem Internetprotokoll (IP), einem drahtlosen Kommunikationsprotokoll und dergleichen) sendet, empfängt und/oder verarbeitet. Das Robotersystem 100 kann die Kommunikationsvorrichtung 206 verwenden, um Informationen zwischen den jeweiligen Einheiten oder mit einem externen System oder einer externen Vorrichtung für die entsprechenden Zwecke, beispielsweise für die Berichterstattung, Datenerfassung, Analyse, Fehlerbehebung und dergleichen, auszutauschen.
  • Die Ein-/Ausgabevorrichtung 208 ist eine Benutzerschnittstellenvorrichtung, die so konfiguriert ist, dass sie Informationen und Anweisungen von dem Bediener eingibt und dem Bediener Informationen kommuniziert und präsentiert. Sie kann beispielsweise eine Eingabevorrichtung wie eine Tastatur, eine Maus, einen Touchscreen, ein Mikrofon, einen Benutzerschnittstellen-Sensor (UI-Sensor) (z. B. eine Kamera zum Empfangen von Bewegungsanweisungen) und eine tragbare Eingabevorrichtung sowie eine Ausgabevorrichtung wie eine Anzeige 210, einen Lautsprecher, einen taktilen Schaltkreis und eine taktile Rückmeldevorrichtung einschließen. Darüber hinaus kann das Robotersystem 100 die Ein- und Ausgabevorrichtung 208 verwenden, um mit dem Bediener bei der Ausführung einer Aktion, einer Aufgabe, einer Operation oder einer Kombination davon zu kommunizieren.
  • Das Robotersystem 100 kann beispielsweise ein physisches oder strukturelles Element (z. B. einen Robotermanipulator, einen Roboterarm und dergleichen, und nachstehend einfach als „strukturelles Element“ bezeichnet) einschließen, das durch eine Verbindung oder ein Verbindungselement verbunden ist, um eine Steuersequenz einschließlich einer Verschiebung wie z. B. Bewegung oder Drehung des Aktionsobjekts 112 auszuführen. Ein derartiges physisches oder strukturelles Element, ein Glied oder ein Verbindungselement kann so konfiguriert werden, dass ein Endeffektor (z. B. ein Greifer, eine Hand und dergleichen) manipuliert wird, der bzw. die so konfiguriert ist, dass er bzw. sie eine oder mehrere Aufgaben (z. B. Greifen, Drehen, Schweißen, Montage und dergleichen) in dem Robotersystem 100 ausführt. Darüber hinaus kann das Robotersystem 100 die Betätigungsvorrichtung 212 (z. B. einen Motor, einen Aktuator, einen Draht, einen künstlichen Muskel, ein elektroaktives Polymer und dergleichen) einschließen, die so konfiguriert ist, dass sie das Strukturelement um ein Verbindungselement oder an einem Verbindungselement antreibt oder manipuliert (z. B. verschiebt und/oder neu ausrichtet), und den Transportmotor 214, der so konfiguriert ist, dass er die Einheiten von einer Position zu einer anderen Position überführt.
  • Das Robotersystem 100 kann ferner den Sensor 216 einschließen, der so konfiguriert ist, dass er Informationen ableitet, die zur Durchführung der Aufgabe verwendet werden, z. B. zur Manipulation des Strukturelements und/oder zur Überführung der Einheit. Der Sensor 216 kann eine Vorrichtung einschließen, die so konfiguriert ist, dass sie ein oder mehrere physische Merkmale des Robotersystems 100 (z. B. einen Zustand, eine Bedingung, eine Position und dergleichen von einem oder mehreren Strukturelementen, Gliedern oder Verbindungselemente) und/oder Merkmale einer umgebenden Umgebung erfasst oder misst, z. B. einen Beschleunigungsmesser, ein Gyroskop, einen Kraftsensor, einen Dehnungsmesser, einen taktilen Sensor, einen Drehmomentsensor, einen Positionsgeber und dergleichen.
  • Ferner kann der Sensor 216 eine oder mehrere Bildgebungsvorrichtungen 222 einschließen (z. B. eine visuelle und/oder Infrarotkamera, eine 2-dimensionale und/oder 3-dimensionale Bildgebungskamera, eine Entfernungsmessvorrichtung wie ein Lidar oder ein Radar und dergleichen), die so konfiguriert sind, dass sie die umgebende Umgebung erfassen. Die Bildgebungsvorrichtung 222 kann eine Darstellung der erfassten Umgebung, wie z. B. ein digitales Bild und/oder eine Punktwolke, erzeugen, um visuelle Informationen für z. B. automatische Überprüfung, Roboterführung oder andere Roboteranwendungen zu erhalten.
  • Das Robotersystem 100 kann ferner das digitale Bild, die Punktwolke, Entfernungsmessdaten und dergleichen über z. B. die Prozessoren 202 verarbeiten, um das Aktionsobjekt 112 von 1, die Startposition 114 von 1, die Aufgabenposition 116 von 1, die Verschiebeposition 118 zwischen der Startposition 114 und der Aufgabenposition 116, eine Stellung des Aktionsobjekts 112, ein Konfidenzmaß bezüglich der Stellung des Aktionsobjekts an der Startposition 114 und dergleichen, ein Konfidenzmaß bezüglich einer Höhe des Aktionsobjekts 112 oder eine Kombination davon zu identifizieren.
  • Ferner kann das Robotersystem 100 zum Bedienen des Aktionsobjekts 112 das Aktionsobjekt 112, dessen Startposition 114, dessen Aufgabenposition 116, die Verschiebeposition 118 und dergleichen identifizieren, indem es ein Bild eines bestimmten Bereichs (beispielsweise einen Aufnahmebereich wie z. B. in einem Lkw oder auf einem Förderband, einen Abwurfbereich zum Abladen des Aktionsobjekts 112 auf das Förderband, einen Bereich zum Verschieben des Aktionsobjekts 112, einen Bereich zum Abladen des Aktionsobjekts in den Behälter, einen Bereich auf der Palette zum Stapeln des Aktionsobjekts 112 und dergleichen) durch verschiedene Einheiten ableitet und analysiert. Darüber hinaus kann die Bildgebungsvorrichtung 222 beispielsweise eine oder mehrere Kameras einschließen, die konfiguriert sind, um ein Bild von einem Aufnahmebereich, einem Abwurfbereich, einem Bereich zum Verschieben des dazwischen angeordneten Aktionsobjekts 112 und dergleichen zu erzeugen.
  • Die Bildgebungsvorrichtung 222 kann ferner beispielsweise eine oder mehrere Abstandsmessvorrichtungen wie Lidars oder Radars einschließen, die so konfiguriert sind, dass sie einen Abstand zum Aktionsobjekt 112 messen, das an einer vorbestimmten Position, auf einer vorgeschalteten Seite (vorherige Stufe) der Verschiebeposition 118, unterstützt wird. Das Robotersystem 100 kann, basierend auf den abgeleiteten Bild- und/oder Entfernungsmessdaten, eine Startposition 114, eine Aufgabenposition 116, eine Verschiebeposition 118, eine zugehörige Stellung, eine tatsächliche Höhe des Aktionsobjekts 112, ein Konfidenzmaß und dergleichen bestimmen.
  • Darüber hinaus kann die Bildgebungsvorrichtung 222 zum Abtasten des Aktionsobjekts 112 einen oder mehrere Abtastvorrichtungen 412 und 416 (z. B. eine Barcode-Abtastvorrichtung, eine QR-Code-Abtastvorrichtung (eingetragenes Warenzeichen) und dergleichen einschließen: siehe 4A und 4B, die nachstehend beschrieben werden), die so konfiguriert sind, dass sie Identifikationsinformationen (z. B. eine Kennung 332 aus 3A und/oder 3C, die nachstehend beschrieben werden) des Aktionsobjekts 112 während des Transports oder der Bewegung des Aktionsobjekts, z. B. zwischen der Startposition 114 und der Aufgabenposition 116 (vorzugsweise eine vorherige Stufe der Verschiebeposition 118) abtasten. Daher kann das Robotersystem 100 eine Steuersequenz für die Bereitstellung eines oder mehrerer Abschnitte des Aktionsobjekts 112 an eine oder mehrere Abtastvorrichtungen 412 erstellen oder ableiten.
  • Der Sensor 216 kann ferner beispielsweise einen Positionssensor 224 (zum Beispiel einen Positionsgeber, ein Potentiometer und dergleichen) einschließen, der so konfiguriert ist, dass er die Position eines Strukturelements, eines Glieds oder eines Verbindungselements erfasst. Dieser Positionssensor 224 kann verwendet werden, um die Position und/oder Ausrichtung des Strukturelements, des Glieds oder des Verbindungselements während der Ausführung der Aufgabe zu verfolgen.
  • Ferner kann der Sensor 216 beispielsweise einen Kontaktsensor 226 (beispielsweise einen Drucksensor, einen Kraftsensor, einen Dehnungsmesser, einen piezoresistiven/piezoelektrischen Sensor, einen kapazitiven Sensor, einen elastoresistiven Sensor, andere taktile Sensoren und dergleichen) einschließen, der so konfiguriert ist, dass er eine Eigenschaft misst, die mit einem direkten Kontakt zwischen physischen Strukturen oder Flächen verbunden ist. Der Kontaktsensor 226 kann die Eigenschaft des Aktionsobjekts 112, das einem Greifen des Endeffektors entspricht, messen. Dementsprechend kann der Kontaktsensor 226 ein Kontaktmaß ausgeben, das einen quantifizierten und gemessenen Wert (zum Beispiel eine gemessene Kraft, ein gemessenes Drehmoment, eine Position und dergleichen) darstellt, der einem Grad des Kontakts zwischen dem Endeffektor und dem Aktionsobjekt 112 entspricht. Hier kann das „Kontaktmaß“ z. B. eine oder mehrere Kraft- oder Drehmomentmesswerte umfassen, die mit den vom Endeffektor auf das Aktionsobjekt 112 ausgeübten Kräften verbunden sind.
  • 3A, 3B und 3C sind perspektivische Ansichten, die jeweils schematisch eine erste Stellung 312, eine zweite Stellung 314 und eine dritte Stellung 316 als Beispiel für ein Aktionsobjekt 302 in verschiedenen Stellungen (Positionen und Ausrichtungen) veranschaulichen. Um die Stellung des Aktionsobjekts 302 zu identifizieren, kann das Robotersystem 100 beispielsweise ein 2-dimensionales Bild, ein 3-dimensionales Bild, eine Punktwolke und/oder andere Bildgebungsdaten aus der Bildgebungsvorrichtung 222 verarbeiten. Darüber hinaus kann das Robotersystem 100, um eine Ausgangsstellung des Aktionsobjekts 302 zu identifizieren, z. B. die Bildgebungsdaten von einem oder mehreren Bildgebungsvorrichtungen 222, die auf den Aufnahmebereich gerichtet sind, analysieren.
  • Um die Stellung des Aktionsobjekts 302 zu identifizieren, kann das Robotersystem 100 zuerst ein Musterbild des Aktionsobjekts 302 in den Bildgebungsdaten basierend auf einem vorgegebenen Erkennungsmechanismus, einer Erkennungsregel und/oder einer Vorlage, die sich auf eine Stellung oder einen Umriss bezieht, analysieren, einen Umriss (z. B. eine Umfangskante oder -fläche) des Aktionsobjekts 302 identifizieren oder die Umrisse gruppieren. Insbesondere kann das Robotersystem 100 z. B. die Gruppierungen der Umrisse, die einem Muster (z. B. gleiche Werte oder Änderungen mit einer bekannten Geschwindigkeit/Muster) in der Farbe, der Helligkeit, der Tiefe/Position und/oder einer Kombination davon über die Umrisse des Aktionsobjekts entsprechen, und Änderungen ihrer Werte basierend auf der Vorlage des Umrisses oder der Stellung in den Stammdaten 252 identifizieren.
  • Wenn die Umrisse des Aktionsobjekts 302 gruppiert werden, kann das Robotersystem 100 beispielsweise eine oder mehrere Flächen, Kanten und/oder Punkte sowie Stellungen des Aktionsobjekts 302 in einem im Robotersystem 100 verwendeten Gitter oder Koordinatensystem identifizieren.
  • Außerdem kann das Robotersystem 100 eine oder mehrere exponierte Flächen (z. B. eine erste exponierte Fläche 304, eine zweite exponierte Fläche 306 und dergleichen) des Aktionsobjekts 302 in den Bildgebungsdaten identifizieren. Ferner kann das Robotersystem 100 das Aktionsobjekt 302 identifizieren, indem es z. B. eine Umrissform und eine oder mehrere Abmessungen (zum Beispiel eine Länge, eine Breite und/oder eine Höhe) des Aktionsobjektes 302 aus den Bildgebungsdaten gemäß dem Umriss und der Kalibrierung des Aktionsobjektes 302 oder den Abbildungsdaten für die Bildgebungsvorrichtung 222 bestimmt und die bestimmten Abmessungen mit entsprechenden Daten in den Stammdaten 252 vergleicht. Ferner kann das Robotersystem 100 basierend auf einer Länge, einer Breite und einer Höhe des Aktionsobjekts 302, in dem die Abmessungen der exponierten Fläche identifiziert werden, identifizieren, ob eine exponierte Fläche einem beliebigen einer oberen Fläche 322, einer unteren Fläche 324 und einer äußeren Umfangsfläche 326 entspricht.
  • Darüber hinaus kann das Robotersystem 100 das Aktionsobjekt 302 identifizieren, z. B. durch Vergleichen einer oder mehrerer Markierungen (z. B. ein Buchstabe, eine Zahl, eine Form, ein visuelles Bild, ein Logo oder eine Kombination davon), die auf einer oder mehreren exponierten Flächen angezeigt werden, mit einem oder mehreren vorgegebenen Bildern in den Stammdaten 252. In diesem Fall können die Stammdaten 252 zum Beispiel ein oder mehrere Bilder eines Produktnamens, eines Logos, eines Designs/Bildes auf einer Verpackungsfläche des Aktionsobjekts 302 oder eine Kombination davon einschließen. Darüber hinaus kann das Robotersystem 100 das Aktionsobjekt 302 identifizieren, indem es einen Teil der Bildgebungsdaten (z. B. einen Teil innerhalb eines Umrisses des Aktionsobjekts 302) mit den Stammdaten 252 vergleicht, und es kann auf ähnliche Weise eine Stellung (insbesondere eine Ausrichtung) des Aktionsobjekts 302 basierend auf einem eindeutigen und vorbestimmten Bildmuster auf einer Fläche identifizieren.
  • Hier veranschaulicht 3A eine erste Stellung 312, bei der die erste exponierte Fläche 304 (zum Beispiel eine nach oben gerichtete exponierte Fläche) die obere Fläche 322 des Aktionsobjekts 302 ist und die zweite exponierte Fläche 306 (zum Beispiel eine exponierte Fläche, die im Allgemeinen einer Quelle der Bildgebungsdaten zugewandt ist) eine der peripheren Flächen 326 des Aktionsobjekts 302 ist.
  • Bei der Identifizierung der exponierten Flächen kann das Robotersystem 100 die Bildgebungsdaten von 3A verarbeiten, um Messwerte der Abmessungen (zum Beispiel die Anzahl der Pixel) der ersten exponierten Fläche 304 und/oder der zweiten exponierten Fläche 306 unter Verwendung einer vorgegebenen Kalibrier- oder Abbildungsfunktion in reale Abmessungen abzubilden. Das Robotersystem 100 kann die abgebildeten Abmessungen mit Abmessungen des bekannten/erwarteten Aktionsobjekts 302 in den Stammdaten 252 vergleichen und anhand des Ergebnisses das Aktionsobjekt 302 identifizieren. Da ferner ein Paar sich schneidender Kanten, die die erste exponierte Fläche 304 begrenzen, mit der Länge und der Breite des identifizierten Aktionsobjekts 302 übereinstimmt, kann das Robotersystem 100 identifizieren, dass die erste exponierte Fläche 304 entweder die obere Fläche 322 oder die untere Fläche 324 ist. In ähnlicher Weise kann das Robotersystem 100 die zweite exponierte Fläche 306 als die periphere Fläche 326 identifizieren, da eine der Kanten, die die zweite exponierte Fläche 306 definieren, mit der Höhe des identifizierten Aktionsobjekts 302 übereinstimmt.
  • Darüber hinaus kann das Robotersystem 100 die Bildgebungsdaten von 3A verarbeiten, um eine oder mehrere Markierungen zu identifizieren, die auf einer Fläche des Aktionsobjekts 302 eindeutig sind. In diesem Fall können die Stammdaten 252 ein oder mehrere Bilder und/oder andere visuelle Merkmale (zum Beispiel eine Farbe, eine Abmessung, eine Größe und dergleichen) von Flächen und/oder eindeutige Markierungen des Aktionsobjekts 302 wie vorstehend beschrieben einschließen. Wie in 3A veranschaulicht, kann das Robotersystem 100 das Aktionsobjekt 302 als das in den Stammdaten 252 gespeicherte Aktionsobjekt und die erste exponierte Fläche 304 als die obere Fläche 322 des Aktionsobjekts 302 identifizieren, da das Aktionsobjekt 302 ein „A“ auf der oberen Fläche 322 aufweist.
  • Darüber hinaus können die Stammdaten 252 eine Kennung 332 als Identifikationsinformation des Aktionsobjekts 302 einschließen. Insbesondere können die Stammdaten 252 ein Bild und/oder eine kodierte Nachricht der Kennung 332 des Aktionsobjekts 302, eine Position 334 der Kennung 332 in Bezug auf eine Fläche und/oder einem Satz von Kanten, ein oder mehrere visuelle Merkmale davon oder eine Kombination davon einschließen. Wie in 3A veranschaulicht, kann das Robotersystem 100 die zweite exponierte Fläche 306 als periphere Fläche 326 identifizieren, basierend auf dem Vorhandensein der Kennung 332 und/oder der Position davon, die mit der Position 334 der Kennung 332 übereinstimmt.
  • 3B veranschaulicht eine zweite Stellung 314, die durch Drehen des Aktionsobjekts 302 um 90 Grad um eine vertikale Achse entlang einer Richtung B in 3A erhalten wird. Zum Beispiel kann ein Referenzpunkt „a“ des Aktionsobjekts 302 in einer unteren linken vorderen Ecke in 3A und in einer oberen rechten hinteren Ecke in 3B liegen. Dementsprechend kann im Vergleich zur ersten Stellung 312 die obere Fläche 322 des Aktionsobjekts 302 in den Bildgebungsdaten als eine andere Ausrichtung erkannt werden und/oder die periphere Fläche 326 des Aktionsobjekts 302, die die Kennung 332 aufweist, ist visuell nicht erkennbar.
  • Das Robotersystem 100 kann verschiedene Stellungen des Aktionsobjekts 302 basierend auf einer bestimmten Ausrichtung der Kennung 332, die ein oder mehrere visuelle Merkmale aufweist, identifizieren. Beispielsweise ist es möglich, die erste Stellung 312 und/oder die dritte Stellung 316 in einem Fall zu bestimmen, in dem sich eine Abmessung, die mit einer bekannten Länge des Aktionsobjekts 302 übereinstimmt, horizontal in den Bildgebungsdaten erstreckt, eine Abmessung, die mit einer bekannten Höhe des Aktionsobjekts 302 übereinstimmt, sich vertikal in den Bildgebungsdaten erstreckt, und/oder eine Abmessung, die mit einer bekannten Breite des Aktionsobjekts 302 übereinstimmt, sich entlang einer Tiefenachse in den Bildgebungsdaten erstreckt. In ähnlicher Weise kann das Robotersystem 100 die zweite Stellung 314 in einem Fall bestimmen, in dem sich eine Abmessung, die einer Breite entspricht, horizontal in den Bildgebungsdaten erstreckt, eine Abmessung, die einer Höhe entspricht, sich vertikal in den Bildgebungsdaten erstreckt und/oder eine Abmessung, die einer Länge entspricht, sich entlang einer Tiefenachse in den Bildgebungsdaten erstreckt.
  • Darüber hinaus kann das Robotersystem 100 basierend auf der Ausrichtung einer sichtbaren Markierung wie z. B. „A“, die in 3A und 3B veranschaulicht wird, bestimmen, dass sich das Aktionsobjekt 302 in der ersten Stellung 312 oder in der zweiten Stellung 314 befindet. Darüber hinaus kann das Robotersystem 100 zum Beispiel in einem Fall, in dem die Kennung 332 des Aktionsobjekts 302 visuell mit einer Markierung „A“ (d. h. auf einer anderen Fläche) erkannt wird, basierend auf der sichtbaren Markierung, die visuell in einer Kombination der jeweiligen Flächen zu erkennen ist, bestimmen, dass sich das Aktionsobjekt 302 in der ersten Stellung 312 befindet.
  • 3C veranschaulicht die dritte Stellung 316, die durch Drehen des Aktionsobjekts 302 um 180 Grad um eine horizontale Achse entlang einer Richtung C in 3A erhalten wird. Zum Beispiel kann ein Referenzpunkt „α“ des Aktionsobjekts 302 in einer unteren linken vorderen Ecke in 3A und in einer oberen linken hinteren Ecke in 3C liegen. Dementsprechend ist im Vergleich zur ersten Stellung 312 die erste exponierte Fläche 304 die untere Fläche 324 des Aktionsobjekts, und sowohl die obere Fläche 322 als auch die periphere Fläche 326, die die Kennung 332 des Aktionsobjekts 302 aufweist, werden visuell nicht erkannt.
  • Wie vorstehend beschrieben, kann das Robotersystem 100 anhand der aus den Bildgebungsdaten ermittelten Abmessungen erkennen, dass sich das Aktionsobjekt 302 in der ersten Stellung 312 oder in der dritten Stellung 316 befindet, und kann erkennen, dass sich das Aktionsobjekt 302 in der ersten Stellung 312 befindet, wenn die Markierung (z. B. „A“) der oberen Fläche 322 sichtbar ist. Darüber hinaus kann das Robotersystem 100 erkennen, dass sich das Aktionsobjekt 302 in der dritten Stellung 316 befindet, wenn eine Markierung an der unteren Fläche (z. B. ein Beispiel für die Kennung 332 des Aktionsobjekts) visuell erkannt wird.
  • Bei der Bestimmung der Stellung des Aktionsobjekts 302 können Praxisbedingungen die Genauigkeit der Bestimmung beeinflussen. Beispielsweise können die Lichtverhältnisse die Sichtbarkeit einer Flächenmarkierung aufgrund einer Reflexion und/oder eines Schattens verschlechtern. Darüber hinaus kann je nach tatsächlicher Ausrichtung des Aktionsobjekts 302 ein Belichtungs- oder Betrachtungswinkel einer oder mehrerer Flächen reduziert werden, so dass eine Markierung auf der Fläche möglicherweise nicht identifizierbar ist. Dementsprechend kann das Robotersystem 100 ein Konfidenzmaß, dass der bestimmten Stellung des Aktionsobjekts 302 zugeordnet wird, berechnen.
  • Das Robotersystem 100 kann ferner das Konfidenzmaß basierend auf einem Wahrscheinlichkeitsintervall berechnen, das mit der Abmessungsmessung innerhalb des Bildes in den Bildgebungsdaten verknüpft ist. In diesem Fall kann das Wahrscheinlichkeitsintervall mit abnehmendem Abstand zwischen dem Aktionsobjekt 302 und einer Bildgebungsquelle (z. B. der Bildgebungsvorrichtung 222) und/oder in einem Fall, in dem eine gemessene Kante des Aktionsobjekts 302 in einer Richtung senkrecht zu einer von der Bildgebungsquelle ausgehenden Richtung näher an der Bildgebungsquelle und in einer Richtung parallel zur Abstrahlungsrichtung weiter von der Bildgebungsquelle entfernt ist, zunehmen. Zudem kann das Robotersystem 100 z. B. das Konfidenzmaß basierend auf einem Grad der Übereinstimmung zwischen einer Markierung oder einem Entwurf in den Bildgebungsdaten und einer bekannten Markierung/einem bekannten Entwurf in den Stammdaten 252 berechnen. Des Weiteren kann das Robotersystem 100 den Grad einer Überlappung oder Abweichung zwischen mindestens einem Teil der Bildgebungsdaten und einer vorgegebenen Markierung/einem vorgegebenen Bild messen.
  • In diesem Fall kann das Robotersystem 100 das Aktionsobjekt 302 und/oder eine Ausrichtung davon gemäß einer größten Überlappung und/oder einer geringsten Abweichungsmessung für einen Mechanismus des kleinsten mittleren quadratischen Fehlers (MMSE) identifizieren und darüber hinaus ein Konfidenzmaß basierend auf einem Grad der erhaltenen Überlappung/Abweichung berechnen. Anschließend kann das Robotersystem 100 den Bewegungspfad des Aktionsobjekts 302 in der Steuersequenz basierend auf dem erhaltenen Konfidenzmaß berechnen. Anders ausgedrückt, das Robotersystem 100 kann das Aktionsobjekt 302 basierend auf dem erhaltenen Konfidenzmaß angemessen bewegen.
  • 4A ist eine Draufsicht, die eine beispielhafte Aufgabe 402 veranschaulicht, die durch das Robotersystem 100 gemäß der Ausführungsform der vorliegenden Offenbarung ausgeführt wird. Wie vorstehend beschrieben, ist die Aufgabe 402 ein Beispiel für eine Steuersequenz, die von dem Robotersystem 100 ausgeführt wird (z. B. ausgeführt von den in 1 dargestellten Einheiten). Wie in 4A veranschaulicht, kann die Aufgabe 402 zum Beispiel das Bewegen des Aktionsobjekts 112 vom Aufnahmebereich einschließlich der Startposition 114 zum Abwurfbereich einschließlich der Aufgabenposition 116 über die Verschiebeposition 118, das Abtasten des Aktionsobjekts 112 beim Bewegen des Aktionsobjekts von der Startposition 114 zur Aufgabenposition 116 und das Verschieben des Aktionsobjekts 112 an der Verschiebeposition 118 (Änderung der Greifposition) einschließen. Das Robotersystem 100 kann dementsprechend jederzeit die Verfolgungsdaten 254 des Aktionsobjekts 112 aktualisieren, indem es das abgetastete Aktionsobjekt 112 zu den Verfolgungsdaten 254 hinzufügt, das Aktionsobjekt 112 aus den Verfolgungsdaten 254 entfernt und/oder das Aktionsobjekt 112 auswertet und dergleichen.
  • Darüber hinaus kann das Robotersystem 100 zur Identifizierung und/oder Spezifizierung der Startposition 114 eine Abtastvorrichtung 412 (ein Beispiel für die Bildgebungsvorrichtung 222) einschließen, wie z. B. eine 3D-Darstellung, die auf einen Aufnahmebereich gerichtet ist, um den Aufnahmebereich abzubilden (insbesondere z. B. einen Bereich, der für eine Teilebeschaffungspalette oder eine große Kiste und/oder einen Bereich auf einer Aufnahmeseite eines Förderbandes und dergleichen bestimmt ist), und kann dadurch Bildgebungsdaten des bestimmten Bereichs ableiten. Somit kann das Robotersystem 100 für die Bildgebungsdaten ein computergestütztes Bildgebungsverfahren (Vision-Prozess) implementieren, um z. B. über den Prozessor 202 die verschiedenen Aktionsobjekte 112 zu identifizieren, die sich in dem bestimmten Bereich befinden.
  • Darüber hinaus kann das Robotersystem 100 ein Aktionsobjekt 112, für das die Aufgabe 402 ausgeführt wird, aus den erkannten Aktionsobjekten 112 auswählen, z. B. basierend auf einer zuvor festgelegten Auswahlmaßnahme und/oder einer Auswahlregel und/oder einer Vorlage, die sich auf eine Stellung oder einen Umriss bezieht, und die Bildgebungsdaten weiter verarbeiten, um die Startposition 114 und/oder die Ausgangsstellung für das ausgewählte Aktionsobjekt 112 zu bestimmen.
  • Um die Aufgabenposition 116 und die Verschiebeposition 118 zu identifizieren und/oder zu spezifizieren, kann das Robotersystem 100 andere Abtastvorrichtungen 416 (eine Instanz der Abbildungsvorrichtung 222) einschließen, die den folgenden Bereichen zugewandt sind, um den Abwurfbereich und andere zuvor festgelegte Bereiche abzubilden (insbesondere z. B. einen Bereich, der für eine sortierte Palette oder eine große Kiste bestimmt ist, und/oder einen Bereich auf einer Aufnahmeseite eines Förderbandes und dergleichen), und kann dadurch Bildgebungsdaten des bestimmten Bereichs ableiten. Daher kann das Robotersystem 100 ein computergestütztes Bildgebungsverfahren (Vision-Prozess) für die Bildgebungsdaten implementieren, um beispielsweise die Aufgabenposition 116 für die Disposition des Aktionsobjektes 112, die Verschiebeposition 118 und/oder die Stellung des Aktionsobjektes 112 über den Prozessor 202 zu identifizieren. Zudem kann das Robotersystem 100 die Aufgabenposition 116 und die Verschiebeposition 118 basierend auf einem zuvor festgelegten Kriterium oder einer Regel für das Stapeln und/oder Ablegen mehrerer Aktionsobjekte 112 identifizieren und auswählen (basierend auf dem Bildgebungsergebnis oder nicht basierend auf dem Bi ldgebungsergebnis).
  • Hier kann die Abtastvorrichtung 416 so angeordnet werden, dass sie in einer horizontalen Richtung ausgerichtet ist, so dass sie eine daneben liegende Markierung abtastet (z. B. in einer Höhe, die der Höhe der entsprechenden Abtastvorrichtung(en) entspricht) und auf einer vertikal ausgerichteten Fläche des Aktionsobjekts 112. Ferner kann die Abtastvorrichtung 416 so angeordnet werden, dass sie in einer vertikalen Richtung ausgerichtet ist, so dass sie eine Markierung abtastet, die sich oberhalb/unterhalb davon und auf einer horizontal ausgerichteten Fläche des Aktionsobjekts 112 befindet. Des Weiteren können die Abtastvorrichtungen 416 so angeordnet werden, dass sie einander gegenüber angeordnet sind, um gegenüberliegende Seiten des Aktionsobjekts 112 abzutasten, das zwischen den Abtastvorrichtungen 416 platziert wird.
  • Darüber hinaus kann das Robotersystem 100 das Aktionsobjekt 112 so bedienen, dass das Aktionsobjekt 112 an einer Präsentationsposition platziert wird und/oder eine oder mehrere Flächen/Abschnitte des Aktionsobjekts 112 mit den Abtastvorrichtungen 416 entsprechend der Position und/oder der Abtastrichtung der Abtastvorrichtung 416 abgetastet werden. Ferner kann das Robotersystem 100 die Bildgebungsvorrichtung 222 einschließen, die so konfiguriert ist, dass sie eine Höhenposition der unteren Fläche 324 des Aktionsobjekts 112 misst, das von der Abtastvorrichtung 416 abgetastet wurde und von dem z. B. eine Unterstützungsposition bekannt ist (siehe 4B).
  • Um die Aufgabe 402 unter Verwendung einer derartigen identifizierten Startposition 114, der Verschiebeposition 118 und/oder der Aufgabenposition 116 auszuführen, kann das Robotersystem 100 ein oder mehrere Strukturelemente (z. B. einen Roboterarm 414 und/oder den Endeffektor) jeder Einheit bedienen. Dementsprechend kann das Robotersystem 100 eine Steuersequenz erstellen oder ableiten, die einer oder mehreren Aktionen entspricht, die von der entsprechenden Einheit zum Ausführen der Aufgabe 402, z. B. über den Prozessor 202, implementiert werden.
  • Beispielsweise kann die Steuersequenz für die Übertragungseinheit 104 das Anordnen des Endeffektors an einer Annäherungsposition (z. B. eine Position zum Anordnen eines Endeffektors zum Greifen des Aktionsobjekts 112), das Greifen des Aktionsobjekts 112, das Anheben des Aktionsobjekts 112, das Bewegen des Aktionsobjekts 112 von oberhalb der Startposition 114 zur Präsentationsposition/Stellung für den Abtastvorgang, das Verschieben des Aktionsobjekts 112 an der Verschiebeposition 118 (Änderung der Greifposition), Verschieben des Aktionsobjekts 112 von der Startposition 114 nach Bedarf über die Verschiebeposition 118 bis über die Aufgabenposition 116, das Absenken des Aktionsobjekts 112 und das Lösen des Greifens des Aktionsobjekts 112 einschließen.
  • Darüber hinaus kann das Robotersystem 100 die Steuersequenz erstellen oder ableiten, indem es eine Abfolge von Anweisungen und/oder Einstellungen für eine oder mehrere Betätigungsvorrichtungen 212 bestimmt, die den Roboterarm 414 und/oder den Endeffektor bedienen. In diesem Fall kann das Robotersystem 100 z. B. den Prozessor 202 verwenden, um die Anweisungen und/oder Einstellungen der Betätigungsvorrichtung 212 zur Manipulation des Endeffektors und des Roboterarms 414 zu berechnen, um den Endeffektor an der Annäherungsposition um die Startposition 114 zu platzieren, das Aktionsobjekt 112 mit dem Endeffektor zu greifen, den Endeffektor an der Annäherungsposition um die Abtastposition oder Verschiebeposition 118 zu platzieren, den Endeffektor an der Annäherungsposition um die Aufgabenposition 116 zu platzieren und das Aktionsobjekt 112 vom Endeffektor zu lösen. Dementsprechend kann das Robotersystem 100 eine Aktion zum Abschließen der Aufgabe 402 ausführen, indem es die Betätigungsvorrichtung 212 entsprechend der festgelegten Steuersequenz von Anweisungen und/oder Einstellungen bedient.
  • Darüber hinaus kann das Robotersystem 100 eine Steuersequenz basierend auf dem Konfidenzmaß für die Stellung des Aktionsobjekts 112 erstellen oder ableiten. In diesem Fall kann das Robotersystem 100 den Endeffektor an verschiedenen Positionen zur Aufnahme platzieren, um eine andere Fläche zu greifen oder abzudecken, verschiedene Präsentationspositionen/Stellungen für das Aktionsobjekt 112 oder eine Kombination daraus zu berechnen, z. B. gemäß dem Konfidenzmaß für die Stellung.
  • Als veranschaulichendes Beispiel kann das Robotersystem 100 in einem Fall, in dem das Aktionsobjekt 112 das Aktionsobjekt 302 ist, das in der ersten Stellung 312 von 3A platziert ist (in diesem Fall zeigt die obere Fläche 322 des Aktionsobjekts 302 im Allgemeinen nach oben und ist exponiert) und das Konfidenzmaß für die Stellung hoch ist (d. h. ein Grad an Sicherheit überschreitet den Suffizienzschwellenwert und die ermittelte Stellung ist wahrscheinlicher präzise), eine erste Steuersequenz 422 erstellen oder ableiten, die eine erste Annäherungsposition 432 und eine erste Präsentationsposition 442 einschließt. Zu diesem Zeitpunkt kann das Robotersystem 100 z. B. die erste Steuersequenz 422 berechnen, die die erste Annäherungsposition 432 für die Platzierung des Endeffektors direkt über der oberen Fläche 322 des Aktionsobjekts 302 einschließt, da eine ausreichende Sicherheit besteht, dass die obere Fläche 322 des Aktionsobjekts 302 nach oben gerichtet ist (d. h. die untere Fläche 324 mit der Kennung 332 des Aktionsobjekts 302 von 3C zeigt nach unten).
  • Dadurch kann das Robotersystem 100 das Aktionsobjekt 112 greifen, wobei der Endeffektor die obere Fläche 322 des Aktionsobjekts 302 so berührt/abdeckt, dass die untere Fläche 324 des Aktionsobjekts 302 exponiert ist. Darüber hinaus kann das Robotersystem 100 die erste Steuersequenz 422 berechnen, die die erste Präsentationsposition 442 einschließt, um das Aktionsobjekt 112 zu veranlassen, sich direkt über einer nach oben gerichteten Abtastvorrichtung 416 zu befinden, um die Kennung 332 abzutasten, die auf der unteren Fläche 324 angeordnet ist.
  • Im Gegensatz dazu kann das Robotersystem 100 in einem Fall, in dem das Konfidenzmaß für die Stellung gering ist (d. h. ein Grad an Sicherheit ist geringer als ein Suffizienzschwellenwert und eine Wahrscheinlichkeit, dass die ermittelte Stellung präzise ist, ist gering), eine zweite Steuersequenz 424 erstellen oder ableiten (d. h. anders als die erste Steuersequenz 422), die eine zweite Annäherungsposition 434 und eine oder mehrere zweite Präsentationspositionen 444 einschließt. Zu diesem Zeitpunkt kann das Robotersystem 100 beispielsweise die Abmessungen des Aktionsobjekts 112 messen, die Abmessungen mit den Stammdaten 252 vergleichen und bestimmen, dass sich das Aktionsobjekt 302 entweder in der ersten Stellung 312 von 3A oder in der dritten Stellung 316 von 3C befindet (z. B. in einem Fall, in dem ein Sicherheitsniveau der Messung einen vorgegebenen Schwellenwert überschreitet).
  • Das Robotersystem 100 kann jedoch Schwierigkeiten bei der Bildgebung/Verarbeitung einer auf der Fläche des Aktionsobjekts 112 aufgedruckten Markierung haben, so dass das mit der bestimmten Stellung verbundene Konfidenzmaß unter einem Suffizienzschwellenwert liegen kann. Anders ausgedrückt, das Robotersystem 100 ist möglicherweise nicht ausreichend sicher, ob die nach oben gerichtete exponierte Fläche des Aktionsobjekts 302 die obere Fläche 322 davon (z. B. die erste Stellung 312) oder die untere Fläche 324 davon (z. B. die dritte Stellung 316) ist.
  • In diesem Fall kann das Robotersystem 100 aufgrund des geringen Grades des Konfidenzmaßes (des niedrigen Grades einer Sicherheit) die zweite Steuersequenz 424 berechnen, die die zweite Annäherungsposition 434 für die Anordnung des Endeffektors (z. B. ausgerichtet mit und/oder zugewandt in einer Richtung parallel zur oberen Fläche 322 und/oder der unteren Fläche 324 des Aktionsobjektes 302) einschließt, um an eine der peripheren Flächen 326 des Aktionsobjektes 302 von 3A angrenzend zu sein.
  • Dadurch kann das Robotersystem 100 das Aktionsobjekt 112 greifen, wobei der Endeffektor eine der peripheren Flächen 326 des Aktionsobjekts 302 berührt/abdeckt und sowohl die obere Fläche 322 als auch die untere Fläche 324 des Aktionsobjekts 302 exponiert. Darüber hinaus kann das Robotersystem 100 gleichzeitig oder nacheinander die obere Fläche 322 und die untere Fläche 324 des Aktionsobjekts 302 vor den Abtastvorrichtungen 416 präsentieren oder platzieren (z. B. in einem Abtastfeld und/oder in einem Zustand, in dem es dem Abtastfeld zugewandt ist). In einem Fall, in dem sich das Aktionsobjekt 112 an der Abtastposition befindet, kann das Robotersystem 100 die Abtastvorrichtungen 416 bedienen (z. B. mindestens die Abtastvorrichtungen 416, die der oberen Fläche 322 und der unteren Fläche 324 des Aktionsobjekts 302 zugewandt sind), um die präsentierten Flächen gleichzeitig und/oder nacheinander abzutasten und die Kennung(en) 332 des Aktionsobjekts 302 über der Abtastvorrichtung abzuleiten.
  • Darüber hinaus schließt die zweite Steuersequenz 424 die zweite(n) Präsentationsposition(en) 444 ein, um die anfänglich nach unten weisende Fläche (die untere Fläche 324 des Aktionsobjekts 302) horizontal und direkt über der nach oben zeigenden Abtastvorrichtung 416 anzuordnen und/oder um die anfänglich nach oben weisende Fläche (die obere Fläche 322 des Aktionsobjekts) vertikal und direkt vor einer horizontal ausgerichteten Abtastvorrichtung 416 zu platzieren. Die zweite Steuersequenz 424 kann eine Neuausrichtungs-/Drehaktion (z. B. eine Aktion, die durch einen gepunkteten, nicht ausgefüllten Kreis dargestellt wird) zur Bereitstellung von zwei Präsentationspositionen/Stellungen einschließen, und dadurch werden sowohl die obere Fläche 322 als auch die untere Fläche 324 unter Verwendung von orthogonal ausgerichteten Abtastvorrichtungen 416 abgetastet. Ferner kann das Robotersystem 100 beispielsweise nacheinander die obere Fläche 322 des Aktionsobjekts 302 der nach oben zeigenden Abtastvorrichtung präsentieren und die obere Fläche abtasten und anschließend das Aktionsobjekt 302 um 90 Grad drehen, um die untere Fläche 324 davon der horizontal ausgerichteten Abtastvorrichtung 416 zum Abtasten zu präsentieren. Zu diesem Zeitpunkt kann die Neuausrichtungs-/Drehaktion so bedingt sein, dass das Robotersystem 100 die entsprechenden Anweisungen in einem Fall implementiert, in dem das Lesen der Kennung 332 des Aktionsobjekts 302 fehlschlägt.
  • Alternativ kann das Robotersystem 100 als Beispiel eine Steuersequenz (nicht abgebildet) zum Greifen/Abdecken einer der peripheren Flächen 326 entlang einer Breite des Aktionsobjekts 302 erstellen oder ableiten, wenn das Konfidenzmaß gering ist. Das Robotersystem 100 kann das Aktionsobjekt 302 zwischen einem horizontal gegenüberliegenden Paar der Abtastvorrichtungen 416 bewegen, um die peripheren Flächen 326 des Aktionsobjekts 302 entlang der Länge davon zu präsentieren und die Kennung 332 auf einer der peripheren Flächen 326 abzutasten, wie z. B. in 3A veranschaulicht. Ferner werden Einzelheiten zur Steuersequenz basierend auf dem Konfidenzmaß nachstehend unter Bezugnahme auf die nachstehend beschriebenen 5A und 5B beschrieben.
  • Darüber hinaus kann das Robotersystem 100 die Steuersequenz erneut basierend auf einer zweidimensionalen oder dreidimensionalen Form des vom Endeffektor gegriffenen Aktionsobjekts 112 (im Folgenden als „Aktionsobjekt 112” anstelle des „Aktionsobjekts 302“ bezeichnet) und den Informationen bezüglich des Aktionsobjekts 112 in einem Lagerbehälter 450, der an der Aufgabenposition 116 (z. B. eine große Kiste, ein Eimer und dergleichen) platziert ist, ableiten.
  • Beispielsweise erfasst das Robotersystem 100 die Abmessungen des Aktionsobjekts 112 in beiden Fällen der ersten und der zweiten vorstehend beschriebenen Steuersequenz. Da außerdem ein weiteres Aktionsobjekt 112, das bereits im Lagerbehälter 450 an der Aufgabenposition 116 gelagert ist, und dessen Abmessungen bekannt sind, kann das Robotersystem 100 außerdem Rauminformationen über ein offenes Volumen im Lagerbehälter 450 erhalten. Das Robotersystem 100 kann Raumformparameter des Aktionsobjekts 112 eines Falls berechnen, bei dem verschiedene Stellungen des vom Endeffektor gegriffenen Aktionsobjekts 112 zweidimensional oder dreidimensional verändert werden. Daher kann das Robotersystem 100 durch Vergleichen dieser Raumformparameter mit den Rauminformationen im Lagerbehälter 450 ein Muster oder einen Plan optimieren und auswählen, mit dem das Aktionsobjekt 112 mit einer höheren Fülldichte im Lagerbehälter 450 gelagert werden kann.
  • In diesem Fall kann das Robotersystem 100 beim Zugreifen des Endeffektors auf den Lagerbehälter 450 das Vorhandensein/Nichtvorhandensein von Interferenzen zwischen dem Endeffektor und dem Lagerbehälter 450 oder dem bereits gespeicherten Aktionsobjekt 112 berücksichtigen. Wenn daher eine Füllrate des Aktionsobjekts 112 im Lagerbehälter 450 eines Falls, in dem die Stellung des Aktionsobjekts 112 geändert wird, höher ist als die eines Falls, in dem das zu diesem Zeitpunkt gegriffene Aktionsobjekt 112 im Lagerbehälter 450 in der vorliegenden Ausrichtung gelagert wird, kann das Robotersystem 100 eine Steuersequenz erstellen oder ableiten, die eine Aktion zum Verschieben des Aktionsobjekts 112 in eine für die Lagerung optimierte Stellung einschließt.
  • 4B ist eine Vorderansicht, die eine beispielhafte Aufgabe 404 veranschaulicht, die durch das Robotersystem 100 gemäß der Ausführungsform der vorliegenden Offenbarung ausgeführt wird. In diesem Beispiel werden mehrere Aktionsobjekte 112 gemischt auf einer Palette 464 platziert, und die Palette 464 wird in einem Zustand, in dem sie auf einer selbstfahrenden Wageneinheit 462, wie z. B. einem fahrerlosen Transportsystem (FTS), montiert ist, zum Aufnahmebereich einschließlich der Startposition 114 transportiert. Ferner veranschaulicht 4B einen Zustand, in dem mehrere Aktionsobjekte 112, die derselbe Form aufweisen, geordnet angeordnet sind, aber es ist zu beachten, dass je nach der tatsächlichen Entladesituation in vielen Fällen mehrere Aktionsobjekte 112 mit unterschiedlichen Abmessungen zufällig auf der Palette 464 gestapelt werden können.
  • Der Aufnahmebereich, in den die Palette 464 transportiert wird, wird durch die Abtastvorrichtung 412 abgebildet und das Aktionsobjekt 112 wird auf die gleiche Weise wie unter Bezugnahme auf 4A beschrieben ausgewählt. Für das ausgewählte Aktionsobjekt 112 wird in diesem Beispiel die obere Fläche 322 des Aktionsobjekts 112 von dem an der Spitze des Roboterarms 414 der Übertragungseinheit 104 installierten Endeffektor gegriffen, die Kennung 332 wird mit der Abtastvorrichtung 416 abgetastet, und die Informationen der Kennung 332 werden abgeleitet. Beispielsweise kann das Robotersystem 100 Informationen einschließlich der Abmessungen des Aktionsobjekts 112 erfassen, indem es die Informationen der Kennung 332 des Aktionsobjekts 112 mit den Stammdaten 252 vergleicht.
  • Andererseits können die Aktionsobjekte, auch wenn es sich um die Aktionsobjekte 112 handelt, die die gleiche Kennung 332 aufweisen, tatsächlich unterschiedliche Abmessungen (insbesondere Höhe) aufweisen. Daher misst das Robotersystem 100 beispielsweise beim Abtasten des Aktionsobjekts 112 den Abstand zur unteren Fläche 324 des Aktionsobjekts 112 unter Verwendung einer Abstandsmessvorrichtung 466 (ein Beispiel für die Bildgebungsvorrichtung 222), die auf einer Bodenfläche des Aufgabenbereichs oder in der Nähe der Bodenfläche installiert ist. Zu diesem Zeitpunkt kann in einem Fall, in dem die Bewegung des Aktionsobjekts 112 während des Abtastens vorübergehend angehalten wird, der Abstand zur unteren Fläche 324 des Aktionsobjekts 112 während des vorübergehenden Stopps gemessen werden. Ferner veranschaulicht 4B, dass die Messung durch die Abstandsmessvorrichtung 466 unmittelbar nach dem Entladen (Depalettieren) des Aktionsobjekts 112 von der Palette 464 durchgeführt wird, wobei der Zeitpunkt der Messung jedoch nicht besonders begrenzt ist, solange die Messung an einer vorgeschalteten Position der Verschiebeposition 118 in der Steuersequenz durchgeführt wird.
  • In diesem Beispiel kann das Robotersystem 100 eine Höhenposition (Greifebene) der oberen Fläche 322 des Aktionsobjekts 112 zum Zeitpunkt der Messung durch eine Steuersequenz oder eine entsprechende Positionsmessung erfassen. Daher kann eine Höhe 112h des Aktionsobjekts 112 abgeleitet werden, indem der gemessene Wert des Abstands zur unteren Fläche 324 des Aktionsobjekts 112 ermittelt wird. Das heißt, das Robotersystem 100 empfängt die Messdaten der unteren Fläche 324 des Aktionsobjekts 112 durch die Abstandsmessvorrichtung 466, und die Höhe 112h kann aus den empfangenen Messdaten und der Höhenposition (Greifebene) der oberen Fläche 322 des Aktionsobjekts 112 berechnet werden. In einem Fall, in dem sich die Höhe 112h von einem Wert unterscheidet, der als Stammdaten 252 des Aktionsobjekts 112 gespeichert ist, kann das Robotersystem 100 die Stammdaten 252 ersetzen oder die Stammdaten 252 aktualisieren, indem es den anderen Wert dazu addiert.
  • Nachdem auf diese Weise die tatsächlichen Abmessungen des Aktionsobjekts 112 bestimmt wurden, kann das Robotersystem 100 die Raumformparameter der Stellung berechnen, wenn das Aktionsobjekt 112 in verschiedenen Richtungen gegriffen wird. Daher kann das Robotersystem 100 durch Vergleichen dieser Raumformparameter mit den Informationen über einen Raum im Lagerbehälter 450, der an der Aufgabenposition 116 platziert ist, einen Plan oder ein Muster optimieren und auswählen, mit dem das Aktionsobjekt 112 mit einer höheren Fülldichte im Lagerbehälter 450 gelagert wird.
  • Zu diesem Zeitpunkt, wenn der Endeffektor auf den Lagerbehälter 450 zugreift, berechnet das Robotersystem 100 das Vorhandensein/Nichtvorhandensein von Interferenzen zwischen dem Endeffektor und dem Lagerbehälter 450 oder dem bereits gelagerten Aktionsobjekt 112, und in einem Fall, in dem die Interferenz auftreten kann, kann das Muster eliminiert werden. Wenn daher eine Füllrate des Aktionsobjekts 112 im Lagerbehälter 450 eines Falles, in dem die Stellung des Aktionsobjekts 112 geändert wird, höher ist als die eines Falles, in dem das zu diesem Zeitpunkt gegriffene Aktionsobjekt 112 im Lagerbehälter 450 in der vorliegenden Ausrichtung gelagert wird, kann das Robotersystem 100 die bisherige Steuersequenz 472 (entsprechend der ersten Steuersequenz 422 oder der zweiten Steuersequenz 424 in den 4A und 4B) ändern und erneut eine Steuersequenz erstellen, die eine Aktion zum Verschieben des Aktionsobjekts 112 einschließt, um eine für die Lagerung optimierte Stellung zu erhalten.
  • Andererseits lagert das Robotersystem 100 in einem Fall, in dem die Stellung des zu einem aktuellen Zeitpunkt gegriffenen Aktionsobjekts 112 unter dem Gesichtspunkt der Lagerungseffizienz optimal ist, das gegriffene Aktionsobjekt 112 in den Lagerbehälter 450, wie z. B. einen Eimer, der auf einem Förderband für die Lagerung und dergleichen der Transporteinheit 106 an der Aufgabenposition 116 platziert wird, ohne die Steuersequenz 472 zu ändern.
  • Darüber hinaus bedient das Robotersystem 100 in einem Fall, in dem das Aktionsobjekt 112 verschoben werden soll, das Aktionsobjekt 112 nach der Neuberechnung gemäß der Steuersequenz 474. Beispielsweise wird das Aktionsobjekt 112 nach dem Abtasten in einen peripheren Bereich der Verschiebeposition 118 bewegt, der Endeffektor zeigt in eine zuvor festgelegte Ausrichtung, greift das Aktionsobjekt 112 in einer Stellung für die vorübergehende Platzierung, platziert das Aktionsobjekt 112 in diesem Zustand auf einen temporären Platzierungstisch 468 und gibt den Griff frei. Der temporäre Platzierungstisch ist nicht sonderlich begrenzt und kann z. B. einen Sockel und dergleichen einschließen, der das Aktionsobjekt 112 so platzieren kann, dass mindestens zwei Flächen davon exponiert sind, und der insbesondere unter dem Gesichtspunkt des leichten Greifens und der Stabilität beim Greifen das Aktionsobjekt 112 in einem gekippten Zustand halten kann, während er das Aktionsobjekt 112 als bevorzugtes Beispiel unterstützt. Das Robotersystem 100 kann das Aktionsobjekt 112 verschieben, indem es die Ausrichtung des Endeffektors und die Greifflächen des Aktionsobjekts 112 anders als die Flächen davon, die vor dem vorübergehenden Platzieren des Aktionsobjekts 112 gegriffen werden, ändert.
  • Das Robotersystem 100 speichert das verschobene Aktionsobjekt 112 im Lagerbehälter 450, wie z. B. einen Eimer, der auf einem Förderband zur Lagerung und dergleichen der Transporteinheit 106 an der Aufgabenposition 116 platziert ist. Zu diesem Zeitpunkt kann der Endeffektor beispielsweise so eingesetzt werden, dass er in Bezug auf eine Zielposition vor und zurück/links und rechts/auf und ab schwingt, ohne dass der Endeffektor direkt zu einem Zeitpunkt lokalisiert wird. Darüber hinaus können mehrere Endeffektoren oder mehrere Einheiten bereitgestellt werden, und die Steuerung kann so durchgeführt werden, dass jeder Endeffektor im Verhältnis zur Größe des Aktionsobjekts 112 richtig eingesetzt wird.
  • Ferner kann in der vorstehenden Beschreibung das Robotersystem 100 zur Ausführung der Aktionen für die Aufgabe 402 eine aktuelle Position (z. B. einen Satz von Koordinaten, die einem vom Robotersystem 100 verwendeten Raster entsprechen) und/oder eine aktuelle Stellung des Aktionsobjekts 112 verfolgen. Das Robotersystem 100 kann beispielsweise die aktuelle Position/Stellung gemäß den Daten des Positionssensors 224 aus 2 beispielsweise über den Prozessor 202 verfolgen. Das Robotersystem 100 kann einen oder mehrere Abschnitte des Roboterarms 414 (z. B. das Glied oder das Verbindungselement) gemäß den Daten des Positionssensors 224 anordnen. Das Robotersystem 100 kann ferner die Position/Stellung des Endeffektors berechnen und damit die aktuelle Position des vom Endeffektor gehaltenen Aktionsobjekts 112 berechnen, basierend auf der Position und Ausrichtung des Roboterarms 414. Zudem kann das Robotersystem 100 die aktuelle Position basierend auf der Verarbeitung anderer Sensormesswerte (zum Beispiel Kraftmesswerte oder Beschleunigungsmesswerte), den ausgeführten Betätigungsanweisungen/Einstellungen und/oder den zugehörigen Zeitangaben oder einer Kombination davon nach einem Koppelnavigationsverfahren verfolgen.
  • 5A ist ein Flussdiagramm eines Verfahrens 500, das ein Beispiel für ein Vorgehen bei Aktionen des Robotersystems 100 gemäß der Ausführungsform der vorliegenden Offenbarung veranschaulicht. Das Verfahren 500 schließt ein Vorgehen zum Ableiten/Berechnen und Implementieren einer Steuersequenz basierend auf einem Konfidenzmaß ein, um die Aufgabe 402 von 4A gemäß einem Konfidenzmaß auszuführen, das mit dem Bestimmen der Ausgangsstellung des Vorgangsobjekts 112 verbunden ist. Darüber hinaus kann das Verfahren 500 basierend auf der Ausführung der auf einer oder mehreren Speichervorrichtungen 204 mit einem oder mehreren Prozessoren 202 gespeicherten Anweisungen implementiert werden.
  • Im Block 501 kann das Robotersystem 100 Abtastfelder einer oder mehrerer Bildgebungsvorrichtungen 222 der 2 identifizieren. Beispielsweise kann das Robotersystem 100 Bereiche identifizieren, die von einem oder mehreren Bildgebungsvorrichtungen 222, wie z. B. den Abtastvorrichtungen 412 und 416 der 4A und 4B über einen oder mehrere Prozessoren 202 abgetastet werden können. Das Robotersystem 100 kann die Abtastfelder identifizieren, die entsprechend den Ausrichtungen der Abtastvorrichtungen 416 in entgegengesetzte und/oder orthogonale Richtungen ausgerichtet sind. Wie in 4A und 4B veranschaulicht, können die Abtastvorrichtungen 416 gegenüberliegend und/oder einander zugewandt angeordnet werden, z. B. in horizontaler oder vertikaler Richtung. Außerdem können die Abtastvorrichtungen 416 rechtwinklig zueinander angeordnet werden, z. B. einer nach oben oder unten gerichtet und ein anderer in horizontaler Richtung.
  • Beispielsweise kann das Robotersystem 100 die Abtastfelder gemäß den Stammdaten 252 identifizieren. Die Stammdaten 252 können Rasterpositionen, Koordinaten und/oder andere Markierungen einschließen, die die Bildgebungsvorrichtungen 222 und/oder die entsprechenden Abtastfelder darstellen. Die Stammdaten 252 können entsprechend einem Layout und/oder einer physischen Verschiebung der Bildgebungsvorrichtungen 222, den Fähigkeiten der Bildgebungsvorrichtung 222, Umgebungsfaktoren (z. B. Lichtverhältnisse und/oder Hindernisse/Strukturen) oder einer Kombination davon vorab festgelegt werden. Zusätzlich kann das Robotersystem 100 einen Kalibrierungsprozess implementieren, um die Abtastfelder zu identifizieren. Beispielsweise kann das Robotersystem 100 die Übertragungseinheit 104 verwenden, um eine bekannte Markierung oder einen bekannten Code an einer Reihe von Positionen zu platzieren und zu bestimmen, ob die entsprechende Bildgebungsvorrichtung 222 die bekannte Markierung präzise abtastet. Das Robotersystem 100 kann die Abtastfelder basierend auf den Positionen der bekannten Markierung identifizieren, die zu präzisen Abtastergebnissen geführt haben.
  • Im Block 502 kann das Robotersystem 100 bestimmte Bereiche abtasten. Das Robotersystem 100 kann Bildgebungsdaten (z. B. die abgeleiteten digitalen Bilder und/oder Punktwolken) eines oder mehrerer bestimmter Bereiche, wie z. B. des Aufnahme- und/oder des Abwurfbereichs, mit einer oder mehreren Bildgebungsvorrichtungen 222 (z. B. den Abtastvorrichtungen 412 der 4A und 4B und/oder anderen Flächenabtastvorrichtungen) über eine vom Prozessor 202 gesendete Anweisung/Aufforderung erzeugen. Die Bildgebungsdaten können von den Bildgebungsvorrichtungen 222 an einen oder mehrere Prozessoren 202 übermittelt werden. Dementsprechend können ein oder mehrere Prozessoren 202 die Bildgebungsdaten, die den Aufnahmebereich (z. B. einschließlich der Aktionsobjekte 112 vor Ausführung der Aufgabe), den Verschiebebereich und/oder den Abwurfbereich (z. B. einschließlich der Aktionsobjekte 112 nach Ausführung der Aufgabe) darstellen, zur weiteren Verarbeitung empfangen.
  • Im Block 504 kann das Robotersystem 100 das Aktionsobjekt 112, die zugehörigen Positionen (z. B. die Startposition 114 in 1 und/oder die Aufgabenposition 116 in 1) und/oder die Ausgangsstellungen der Aktionsobjekte 112 identifizieren. Das Robotersystem 100 kann die Bildgebungsdaten basierend auf einem Mustererkennungsmechanismus und/oder einer Erkennungsregel analysieren, um z. B. die Umrisse (z. B. Umfangskanten und/oder Flächen) der Aktionsobjekte 112 über den Prozessor 202 zu identifizieren. Das Robotersystem 100 kann ferner die Gruppierungen von Umrissen und/oder Flächen der Aktionsobjekte 112 basierend z. B. auf einem vorab festgelegten Erkennungsmechanismus, einer Erkennungsregel und/oder auf Vorlagen, die sich auf Stellungen oder Umrisse beziehen, als den verschiedenen Aktionsobjekten 112 entsprechend identifizieren.
  • Beispielsweise kann das Robotersystem 100 die Gruppierungen der Umrisse der Aktionsobjekte 112 identifizieren, die einem Muster (z. B. mit gleichen Werten oder mit bekannter Geschwindigkeit/Muster variierend) in der Farbe, der Helligkeit, der Tiefe/Position und/oder einer Kombination davon über die Umrisse der Aktionsobjekte 112 entsprechen. Darüber hinaus kann das Robotersystem 100 z. B. die Gruppierungen der Umrisse und/oder Flächen der Aktionsobjekte 112 nach zuvor festgelegten Form-/Stellungsvorlagen, Bildern oder einer Kombination davon, die in den Stammdaten 252 definiert sind, identifizieren.
  • Von den im Aufnahmebereich erkannten Aktionsobjekten 112 kann das Robotersystem 100 eines als das Aktionsobjekt 112 auswählen (z. B. nach einer vorgegebenen Reihenfolge oder einem Regelwerk und/oder Vorlagen von Umrissen von Aktionsobjekten). Beispielsweise kann das Robotersystem 100 das Aktionsobjekt 112 gemäß der Punktwolke auswählen, die die Entfernungen/Positionen relativ zu einer bekannten Position der Abtastvorrichtung 412 darstellt. Darüber hinaus kann das Robotersystem 100 beispielsweise das Aktionsobjekt 112 auswählen, das sich an einer Ecke/Kante befindet und zwei oder mehr Flächen hat, die in den Bildgebungsergebnissen exponiert sind/dargestellt werden. Ferner kann das Robotersystem 100 das Aktionsobjekt 112 gemäß einem zuvor festgelegten Muster oder einer vorgegebenen Reihenfolge auswählen (z. B. von links nach rechts, vom nächsten zum entferntesten und dergleichen, relativ zu einer Referenzposition).
  • Für das ausgewählte Aktionsobjekt 112 kann das Robotersystem 100 die Bildgebungsdaten ferner verarbeiten, um die Startposition 114 und/oder eine Ausgangsstellung zu bestimmen. Beispielsweise kann das Robotersystem 100 die Startposition 114 bestimmen, indem es eine Position (z. B. einen vorab festgelegten Referenzpunkt für die bestimmte Stellung) des Aktionsobjekts 112 in den Bildgebungsdaten auf eine Position in dem vom Robotersystem 100 verwendeten Raster abbildet, und kann die Positionen gemäß einer vorab festgelegten Kalibrierungskarte abbilden.
  • Das Robotersystem 100 kann die Bildgebungsdaten der Abwurfbereiche verarbeiten, um die offenen Bereiche zwischen den Aktionsobjekten 112 zu bestimmen. Das Robotersystem 100 kann die Umrisse des Aktionsobjekts 112 gemäß einer zuvor festgelegten Kalibrierungskarte zum Abbilden von Bildgebungspositionen auf reale Positionen und/oder vom System verwendete Koordinaten abbilden und die offenen Bereiche basierend auf der Abbildung bestimmen. Das Robotersystem 100 kann die offenen Bereiche als den Bereich zwischen den Umrissen (ferner Flächen des Aktionsobjekts 112) der zu verschiedenen Gruppierungen gehörenden Aktionsobjekte 112 bestimmen. Das Robotersystem 100 kann die für das Aktionsobjekt 112 geeigneten offenen Bereiche bestimmen, indem es eine oder mehrere Abmessungen der offenen Bereiche misst und die gemessenen Abmessungen mit einer oder mehreren Abmessungen der Aktionsobjekte 112 vergleicht (z. B. wie in den Stammdaten 252 gespeichert). Darüber hinaus kann das Robotersystem 100 einen der geeigneten/offenen Bereiche als Aufgabenposition 116 gemäß einem zuvor festgelegten Muster auswählen (z. B. von links nach rechts, vom nächsten zum entferntesten, von unten nach oben und dergleichen, relativ zu einer Referenzposition).
  • Das Robotersystem 100 kann die Aufgabenposition 116 bestimmen, ohne die Bildgebungsdaten zu verarbeiten oder zusätzlich zur Verarbeitung der Bildgebungsdaten. Beispielsweise kann das Robotersystem 100 das Aktionsobjekt 112 gemäß einer zuvor festgelegten Steuersequenz und Positionen am Platzierungsbereich platzieren, ohne den Bereich abzubilden. Außerdem kann beispielsweise das Robotersystem 100 die Bildgebungsdaten zum Durchführen mehrerer Aufgaben verarbeiten (z. B. Bewegen mehrerer Aktionsobjekte 112, wie z. B. Aufgaben für Aktionsobjekte 112, die sich auf einer gemeinsamen Ebene/Spalte eines Stapels befinden).
  • Im Block 522 kann das Robotersystem 100 beispielsweise eine Ausgangsstellung (z. B. eine Schätzung einer gestoppten Stellung des Aktionsobjekts 112 im Aufnahmebereich) basierend auf der Verarbeitung der Bildgebungsdaten (z. B. der Bildgebungsdaten der Abtastvorrichtung 412) bestimmen. Das Robotersystem 100 kann die Ausgangsstellung des Aktionsobjekts 112 basierend auf dem Vergleich des Umrisses des Aktionsobjekts 112 mit Umrissen in vorab festgelegten Stellungsvorlagen der Stammdaten 252 bestimmen (z. B. Vergleich von Pixelwerten). Beispielsweise können die Vorlagen der vorab festgelegten Stellung eine andere mögliche Anordnung der Umrisse der Aktionsobjekte 112 gemäß den entsprechenden Ausrichtungen der erwarteten Aktionsobjekte 112 einschließen. Das Robotersystem 100 kann die Umrisssätze der Aktionsobjekte 112 identifizieren (z. B. Kanten einer exponierten Fläche, wie die erste exponierte Fläche 304 aus 3A und/oder 3C und/oder die zweite exponierte Fläche 306 von 3A), die zuvor dem ausgewählten Aktionsobjekt 112 zugeordnet waren. Das Robotersystem 100 kann die Ausgangsstellung bestimmen, indem es eine der Stellungsvorlagen auswählt, die einer geringsten Differenzmessung zwischen den verglichenen Umrissen der Aktionsobjekte 112 entspricht.
  • Beispielsweise kann das Robotersystem 100 die Ausgangsstellung des Aktionsobjekts 112 basierend auf den physischen Abmessungen des Aktionsobjekts 112 bestimmen. Das Robotersystem 100 kann die physischen Abmessungen des Aktionsobjekts 112 basierend auf den in den Bildgebungsdaten erfassten Abmessungen der exponierten Flächen schätzen. Das Robotersystem 100 kann für jeden Umriss des Aktionsobjekts 112 in den Bildgebungsdaten eine Länge und/oder einen Winkel messen und dann die gemessene Länge unter Verwendung einer Kalibrierungskarte, einer Transformationstabelle oder eines Transformationsprozesses, einer vorab festgelegten Gleichung oder einer Kombination daraus auf eine reale Länge oder eine Standardlänge abbilden oder transformieren. Das Robotersystem 100 kann anhand der gemessenen Abmessungen das Aktionsobjekt 112 und/oder die exponierte(n) Fläche(n) identifizieren, die den physischen Abmessungen entsprechen.
  • Das Robotersystem 100 kann das Aktionsobjekt 112 und/oder die exponierte(n) Fläche(n) identifizieren, indem es die geschätzten physischen Abmessungen mit einem Satz bekannter Abmessungen (z. B. einer Höhe, einer Länge und/oder einer Breite) der Aktionsobjekte 112 und ihrer Flächen in den Stammdaten 252 vergleicht. Das Robotersystem 100 kann die exponierte(n) Fläche(n) und die entsprechende Stellung unter Verwendung des abgestimmten Satzes von Abmessungen identifizieren. Beispielsweise kann das Robotersystem 100 die exponierte Fläche entweder als die obere Fläche 322 des Aktionsobjekts 302 aus 3A oder die untere Fläche 324 des Aktionsobjekts 302 aus 3B (z. B. ein Paar gegenüberliegender Flächen) in einem Fall identifizieren, in dem die Abmessungen der exponierten Fläche mit einer Länge und einer Breite für ein erwartetes Aktionsobjekt 112 übereinstimmen. Basierend auf der Ausrichtung der exponierten Fläche kann das Robotersystem 100 die Ausgangsstellung des Aktionsobjekts 112 bestimmen (z. B. entweder die erste Stellung 312 oder die dritte Stellung 316 des Aktionsobjekts 302 in einem Fall, in dem die exponierte Fläche nach oben zeigt).
  • Beispielsweise kann das Robotersystem 100 die Ausgangsstellung des Aktionsobjekts 112 basierend auf einem visuellen Bild einer oder mehrerer Flächen des Aktionsobjekts 112 und/oder einer oder mehrerer Markierungen davon bestimmen. Das Robotersystem 100 kann die Pixelwerte innerhalb eines Satzes verbundener Umrisse mit zuvor festgelegten markierungsbasierten Stellungsvorlagen der Stammdaten 252 vergleichen. Beispielsweise können die markierungsbasierten Stellungsvorlagen eine oder mehrere eindeutige Markierungen der erwarteten Aktionsobjekte 112 in verschiedenen Ausrichtungen einschließen.
  • Das Robotersystem 100 kann die Ausgangsstellung des Aktionsobjekts 112 bestimmen, indem es eine der Flächen, die Flächenausrichtungen und/oder die entsprechenden Stellungen auswählt, die zu einer geringsten Differenzmessung für die verglichenen Bilder führen.
  • Im Block 524 kann das Robotersystem 100 ein Konfidenzmaß, das der Ausgangsstellung des Aktionsobjekts 112 zugeordnet ist, berechnen. Das Robotersystem 100 kann das Konfidenzmaß als einen Teil der Bestimmung der Ausgangsstellung berechnen. Beispielsweise kann das Konfidenzmaß einem Maß für eine Differenz zwischen dem Umriss des Aktionsobjekts 112 und dem Umriss in der ausgewählten vorstehend beschriebenen Vorlage entsprechen. Darüber hinaus kann das Konfidenzmaß beispielsweise einem Toleranzniveau entsprechen, das den geschätzten physischen Abmessungen und/oder den vorstehend beschriebenen Winkeln zugeordnet ist. Außerdem kann das Konfidenzmaß beispielsweise dem Differenzmaß zwischen einer visuellen Markierung in den Bildgebungsdaten und den vorstehend beschriebenen Vorlagenbildern entsprechen.
  • Im Block 506 kann das Robotersystem 100 eine Steuersequenz zum Ausführen der Aufgabe 402, die dem Aktionsobjekt 112 zugeordnet ist (z. B. die erste Steuersequenz 422 aus 4A, die zweite Steuersequenz 424 aus 4A, die Steuersequenz 472 aus 4B und dergleichen), und die Steuersequenz 474 einschließlich einer Verschiebeaktion des in 4B veranschaulichten Aktionsobjektes 112 berechnen.
  • Beispielsweise kann das Robotersystem 100 die Steuersequenz basierend auf der Berechnung einer Sequenz von Anweisungen oder Einstellungen oder einer Kombination davon für die Betätigungsvorrichtungen 212 zur Bedienung des Roboterarms 414 aus 4A und 4B und/oder des Endeffektors erstellen oder ableiten. Für einige Aufgaben kann das Robotersystem 100 Steuersequenzen und Einstellwerte für die Manipulation des Roboterarms 414 und/oder des Endeffektors und für die Bewegung des Aktionsobjekts 112 von der Startposition 114 zur Aufgabenposition 116 berechnen, bei Bedarf über die Verschiebeposition 118. Das Robotersystem 100 kann einen Steuersequenzmechanismus implementieren (z. B. einen Prozess, eine Funktion, eine Gleichung, einen Algorithmus, ein computergeneriertes/lesbares Modell oder eine Kombination davon), der so konfiguriert ist, dass er einen Bewegungspfad im Raum berechnet.
  • Beispielsweise kann das Robotersystem 100 den A*-Algorithmus, den D*-Algorithmus und/oder andere gitterbasierte Recherchen verwenden, um den Bewegungspfad durch einen Raum zum Bewegen des Aktionsobjekts 112 von der Startposition 114 zur Aufgabenposition 116 durch eine oder mehrere Präsentationsstellungen/-positionen (z. B. eine oder mehrere entsprechende Abtastpositionen für den Endeffektor) zu berechnen, bei Bedarf über die Verschiebeposition 118. Der Steuersequenz-Mechanismus kann den Bewegungspfad unter Verwendung eines weiteren Prozesses, einer Funktion oder einer Gleichung und/oder einer Abbildungstabelle in die Sequenz von Anweisungen oder Einstellungen oder eine Kombination davon für die Betätigungsvorrichtungen 212 umwandeln. Bei Verwendung des Steuersequenzmechanismus kann das Robotersystem 100 die Steuersequenz berechnen, die den Roboterarm 414 und/oder den Endeffektor manipuliert und das Aktionsobjekt 112 veranlasst, dem berechneten Bewegungspfad zu folgen.
  • Das Robotersystem 100 kann selektiv eine Steuersequenz basierend auf dem Vertrauensmaß erstellen oder ableiten. Das Robotersystem 100 kann die Steuersequenz berechnen, die eine Annäherungsposition (z. B. die erste Annäherungsposition 432 aus 4A und/oder die zweite Annäherungsposition 434 aus 4A), eine oder mehrere Abtastpositionen (z. B. die erste Präsentationsposition 442 aus 4A und/oder die zweite Präsentationsposition 444 aus 4A) oder eine Kombination davon entsprechend dem Konfidenzmaß einschließt. Beispielsweise kann das Robotersystem 100 die Annäherungsposition und/oder die Abtastposition gemäß einer Metrik (z. B. einer Leistungs- und/oder Abtastmetrik) basierend auf einem Ergebnis des Vergleichs des Konfidenzmaßes mit einem Suffizienzschwellenwert berechnen. Die Abtastposition kann verwendet werden, um den Endeffektor so zu platzieren, dass eine oder mehrere Flächen des Aktionsobjekts 112 vor einem oder mehreren entsprechenden Abtastvorrichtungen 416 präsentiert werden, die die eine oder mehrere Kennungen 332 des Aktionsobjekts 112 abtasten sollen (z. B. im Abtastfeld).
  • Im Block 532 kann das Robotersystem 100 z. B. über die Prozessoren 202 einen Satz verfügbarer Annäherungspositionen berechnen. Die verfügbaren Annäherungspositionen können offenen oder nicht besetzten Bereichen um die Startposition 114 entsprechen, die für die Platzierung des Endeffektors ausreichend sind. Darüber hinaus kann das Robotersystem 100 den Endeffektor an einer ausgewählten Annäherungsposition platzieren, um das Aktionsobjekt 112 zu kontaktieren und zu greifen, ohne andere Aktionsobjekte 112 zu beeinträchtigen.
  • Beispielsweise kann das Robotersystem 100 den Satz der verfügbaren Annäherungspositionen berechnen, indem es die Trennungsabstände zwischen dem Umriss des Aktionsobjekts 112 und den Umrissen der angrenzenden Aktionsobjekte 112 berechnet. Das Robotersystem 100 kann die Trennungsabstände mit einem vorab festgelegten Satz von Abständen vergleichen, die einer physischen Größe/Form des Endeffektors und/oder verschiedenen Ausrichtungen davon entsprechen. Das Robotersystem kann jede der verfügbaren Annäherungspositionen in einem Fall identifizieren, in dem die entsprechenden Trennungsabstände den vorab festgelegten Satz von Abständen, die der Größe des Endeffektors entsprechen, überschreiten.
  • Im Entscheidungsblock 534 kann das Robotersystem 100 das Konfidenzmaß mit einem oder mehreren Suffizienzschwellenwerten vergleichen, um festzustellen, ob das Konfidenzmaß erfüllt ist oder nicht. In einem Fall, in dem das Konfidenzmaß den Suffizienzschwellenwert erfüllt (z. B. in einem Fall, in dem das Konfidenzmaß den erforderlichen Suffizienzschwellenwert überschreitet), wie in Block 536 veranschaulicht, kann das Robotersystem 100 die Steuersequenz (z. B. die erste Steuersequenz 422) basierend auf einer Leistungsmetrik berechnen. In einem Fall, in dem das Konfidenzmaß den Suffizienzschwellenwert erfüllt, kann das Robotersystem 100 annehmen, dass die Ausgangsstellung geeignet ist, und die Steuersequenz ohne Berücksichtigung einer Abtastmetrik berechnen, die einer Wahrscheinlichkeit für das Abtasten mindestens einer Kennung 332 des Aktionsobjekts 112 und/oder einer Wahrscheinlichkeit, dass die Ausgangsstellung ungenau sein könnte, entspricht.
  • Als Beispiel kann das Robotersystem 100 Kandidatenpläne im Block 542 berechnen. Jeder der Kandidatenpläne kann eine Instanz einer Steuersequenz sein, die einer eindeutigen Kombination aus einer verfügbaren Annäherungsposition und einer Abtastposition entspricht (z. B. entsprechende Präsentationsposition/Ausrichtung für das Aktionsobjekt 112). Das Robotersystem 100 kann die Position 334 der Kennung 332 gemäß der Ausgangsstellung berechnen, indem es die Position(en) 334 der Kennung 332 oder ein entsprechendes Modell/eine entsprechende Position in den Stammdaten 252 dreht. Das Robotersystem 100 kann verfügbare Annäherungspositionen eliminieren, um den Endeffektor zu veranlassen, die Position 334 der Kennung 332 abzudecken (z. B. um sie direkt über, vor und/oder innerhalb eines Schwellenwertabstands von der Position der Kennung zu platzieren).
  • Das Robotersystem 100 kann einen Kandidatenplan für jede verbleibende verfügbare Annäherungsposition im Satz berechnen (z. B. ein Berechnungsergebnis von Block 532). Für jeden der Kandidatenpläne kann das Robotersystem 100 ferner eine eindeutige Abtastposition gemäß der verfügbaren Annäherungsposition berechnen. Das Robotersystem 100 kann die Abtastposition basierend auf dem Drehen und/oder Bewegen eines Modells des Aktionsobjekts 112 berechnen, wobei sich die Fläche, die der Position 334 der Kennung 332 entspricht, im Abtastfeld befindet und der entsprechenden Abtastvorrichtung 416 zugewandt ist. Das Robotersystem 100 kann das Modell gemäß einem vorab festgelegten Prozess, einer Gleichung, einer Funktion und dergleichen rotieren und/oder bewegen.
  • Im Block 544 kann das Robotersystem 100 eine Leistungsmetrik für jeden Kandidatenplan berechnen. Das Robotersystem 100 kann die Leistungsmetrik berechnen, die einem Durchsatz (Rate) für den Abschluss der Aufgabe 402 entspricht. Die Leistungsmetrik kann z. B. einem Bewegungsabstand des Aktionsobjekts 112, einer geschätzten Bewegungsdauer, der Anzahl der Anweisungen und/oder Einstellungsänderungen für die Betätigungsvorrichtungen 212, einer Abschlussrate (d. h. komplementär zu einem Stückverlustbetrag) oder einer Kombination davon für den Kandidatenplan zugeordnet werden. Das Robotersystem 100 kann die entsprechenden Werte für die Kandidatensteuersequenz unter Verwendung eines oder mehrerer gemessener oder bekannter Daten (z. B. eine Beschleunigung/Geschwindigkeit, die mit Einstellungen/Anweisungen und/oder der Stückverlustrate, die mit einer Greiffläche und/oder einem Manöver verbunden ist) und eines vorab festgelegten Berechnungsprozesses, einer Gleichung, einer Funktion und dergleichen berechnen.
  • Im Block 546 kann das Robotersystem 100 den Kandidatenplan mit der maximalen Leistungsmetrik (d. h. zusammen mit der entsprechenden Annäherungsposition) als Steuersequenz auswählen. Beispielsweise kann das Robotersystem 100 als Steuersequenz den Kandidatenplan auswählen, der der höchsten Abschlussrate, der kürzesten Bewegungsstrecke, der geringsten Anzahl von Anweisungen und/oder Einstellungsänderungen, der schnellsten Bewegungsdauer oder einer Kombination davon aus dem Satz der Kandidatenpläne entspricht. Dementsprechend kann das Robotersystem 100 die verfügbare Annäherungsposition in dem Satz auswählen, die der höchsten Leistungsmetrik als Annäherungsposition entspricht.
  • Im Vergleich dazu kann das Robotersystem 100 den Kandidatenplan gemäß einem anderen Maß berechnen, wenn das Konfidenzmaß den Suffizienzschwellenwert nicht erfüllt (z. B. wenn das Konfidenzmaß kleiner als der erforderliche Suffizienzschwellenwert ist). Wie in Block 538 veranschaulicht, kann das Robotersystem 100 die Steuersequenz (z. B. die zweite Steuersequenz 424) basierend auf einer Abtastmetrik berechnen. Die Abtastmetrik ist ein Wert (z. B. ein binärer Wert oder ein nicht-binärer Punktwert/Prozentsatz), der einer Wahrscheinlichkeit entspricht, dass mindestens eine der Kennungen 332 des Aktionsobjekts 112 durch den Endeffektor nicht abgedeckt bleibt und abtastbar sein soll, unabhängig davon, ob die Ausgangsstellung korrekt ist.
  • Beispielsweise kann das Robotersystem 100 die Abtastmetrik (z. B. zuerst erfüllen und/oder ihr eine höhere Gewichtung geben) gegenüber der Leistungsmetrik priorisieren, wenn das Konfidenzmaß nicht den Suffizienzschwellenwert erfüllt. Dementsprechend kann das Robotersystem 100 die Steuersequenz berechnen, die eine oder mehrere Abtastpositionen für die Bereitstellung (d. h. im Abtastfeld und/oder der entsprechenden Abtastvorrichtung zugewandt) von mindestens einer nicht abgedeckten Kennung 332 des Aktionsobjekts 112 vor einer oder mehreren Abtastvorrichtungen 416 einschließt.
  • 5B ist ein Flussdiagramm, das ein Beispiel für ein Verfahren bei Aktionen des Robotersystems gemäß der Ausführungsform der vorliegenden Offenbarung veranschaulicht, und veranschaulicht ein Flussdiagramm 538 zur selektiven Berechnung einer Steuersequenz (z. B. eine oder mehrere Positionen für den Endeffektor) basierend auf einer Abtastmetrik.
  • In diesem Beispiel kann das Berechnen der Steuersequenz basierend auf einer Abtastmetrik das Berechnen eines Satzes von Positionen der exponierten Kennungen 332 einschließen, wie in Block 552 veranschaulicht. Das Robotersystem 100 kann den Satz der Positionen der exponierten Kennungen 332 (z. B. die Positionen 334 der Kennung 332, die mit dem Endeffektor an der Greifposition abtastbar bleiben können) relativ zur Ausgangsstellung des Aktionsobjekts 112 berechnen. Das Robotersystem 100 kann die Position 334 der exponierten Kennung 332 für jede der verfügbaren Annäherungspositionen berechnen. Die Positionen 334 der exponierten Kennungen 332 können den Positionen 334 der Kennungen 332 des Aktionsobjekts 112 entsprechen, die mit dem Endeffektor an der entsprechenden Annäherungsposition gemäß der Hypothese, dass die Ausgangsstellung präzise ist, nicht abgedeckt bleiben.
  • Wie vorstehend für Block 542 beschrieben, können die Stammdaten 252 ein Computermodell oder eine Vorlage (z. B. Versatzmessungen relativ zu einer oder mehreren Kanten und/oder Bildern des Aktionsobjekts 112) einschließen, in dem/der die Position 334 der Kennung 332 für jedes der erwarteten Aktionsobjekte 112 beschrieben ist. Das Robotersystem 100 kann den Satz von Positionen der exponierten Kennungen 332 basierend auf dem Drehen und/oder Bewegen des vorab festgelegten Modells/der vorab festgelegten Vorlage in den Stammdaten 252 so berechnen, dass sie mit der Ausgangsstellung übereinstimmen. Das Robotersystem 100 kann die Annäherungspositionen eliminieren, um den Endeffektor zu veranlassen, die Position 334 der Kennung 332 abzudecken (z. B. um sie direkt über, vor und/oder innerhalb eines Schwellenwertabstands von der Position der Kennung zu platzieren). Anders ausgedrückt: Das Robotersystem 100 kann die verfügbaren Annäherungspositionen eliminieren, die sich direkt über, vor und/oder innerhalb eines Schwellenwertabstands von den Positionen 334 der Kennungen 332 befinden.
  • Im Block 554 kann das Robotersystem 100 einen Satz von Positionen 334 mit alternativen Kennungen 332 berechnen. Das Robotersystem 100 kann den Satz von Positionen 334 der alternativen Kennungen 332 für Stellungen berechnen, die alternativ zur Ausgangsstellung sind. Für jede der verfügbaren Annäherungspositionen kann das Robotersystem 100 alternative Stellungen berechnen, und für jede der alternativen Stellungen kann das Robotersystem 100 die Positionen der alternativen Kennungen 332 berechnen. Entsprechend können die Positionen der alternativen Kennungen 332 den Positionen 334 der Kennungen 332 der Aktionsobjekte 112 entsprechen, die mit dem Endeffektor an der entsprechenden Annäherungsposition gemäß der Hypothese, dass die Ausgangsstellung nicht präzise ist, nicht abgedeckt bleiben. Wie vorstehend für die Positionen 334 der exponierten Kennungen 332 beschrieben, kann das Robotersystem 100 die Positionen 334 der alternativen Kennungen 332 basierend auf dem Drehen und/oder Bewegen des vorab festgelegten Modells/der vorab festgelegten Vorlage in den Stammdaten 252 gemäß der alternativen Stellung berechnen.
  • Im Block 556 kann das Robotersystem 100 eine Exponierungswahrscheinlichkeit für jede der Annäherungspositionen, jede der alternativen Stellungen, jede der Kennungen 332 des Aktionsobjekts 112 oder eine Kombination davon berechnen. Die Exponierungswahrscheinlichkeit stellt die Wahrscheinlichkeit dar, dass ein oder mehrere Kennungen des Aktionsobjekts 112 exponiert bleiben und mit dem Endeffektor, der das Aktionsobjekt 112 von der entsprechenden Annäherungsposition aus greift, abgetastet werden können. Die Exponierungswahrscheinlichkeit kann sowohl das Szenario, dass die Ausgangsstellung präzise ist, als auch das Szenario, dass die Ausgangsstellung nicht präzise ist, darstellen. Mit anderen Worten, die Exponierungswahrscheinlichkeit kann die Wahrscheinlichkeit darstellen, dass ein oder mehrere Kennungen des Aktionsobjekts 112 exponiert bleiben und selbst dann abgetastet werden können, wenn die Ausgangsstellung nicht präzise ist.
  • Beispielsweise kann das Robotersystem 100 die Exponierungswahrscheinlichkeit als eine bedingte Gewissheit berechnen, wie z. B. einen probabilistischen Wert, der einer bestimmten Bedingung entspricht (z. B. ein eindeutiger Fall der Annäherungsposition, der alternativen Stellung, der Kennung des Aktionsobjekts 112, oder eine Kombination davon). Das Robotersystem 100 kann die Exponierungswahrscheinlichkeit berechnen, basierend auf dem Kombinieren (z. B. durch Addieren und/oder Multiplizieren) der bedingten Gewissheit mit einer Gewissheit/Wahrscheinlichkeit, dass die bestimmte Bedingung wahr ist (z. B. ein Wert in der Nähe des Konfidenzmaßes). Das Robotersystem 100 kann die Exponierungswahrscheinlichkeit berechnen, basierend auf dem Addieren der Gewissheit für jede der Kennungen, die als exponiert gelten, wenn mehrere Kennungen für die jeweilige Annäherungsposition und/oder die jeweilige Stellung exponiert werden.
  • Das Robotersystem 100 kann die Exponierungswahrscheinlichkeit berechnen, basierend auf der Kombination der Gewissheitswerte, die auf den Positionen der exponierten Kennungen und den Positionen der alternativen Kennungen basieren, für jede der potenziellen Stellungen für eine betrachtete Annäherungsposition. Beispielsweise kann das Robotersystem 100 die Exponierungswahrscheinlichkeit unter Verwendung der Gewissheiten für die Positionen der exponierten Kennungen und der Positionen der alternativen Kennungen mit entgegengesetzten Vorzeichen (z. B. positiv und negativ) berechnen. Das Robotersystem 100 kann die Exponierungswahrscheinlichkeit berechnen, indem es die Größen der beiden Gewissheiten und/oder die Gewissheiten mit den Vorzeichen addiert. Die Gesamtgröße kann eine Gesamtwahrscheinlichkeit darstellen, dass eine oder mehrere Kennungen 332 des Aktionsobjekts 112 weiterhin abtastbar sind, und die vorzeichenbehaftete/vektorielle Wahrscheinlichkeit kann eine Wahrscheinlichkeit darstellen, dass eine oder mehrere Kennungen des Aktionsobjekts 112 weiterhin abtastbar sind, selbst wenn die Ausgangsstellung ungenau war. Dementsprechend wäre eine Annäherungsposition ideal, wenn die Gesamtgröße höher ist und die vorzeichenbehaftete/vektorielle Wahrscheinlichkeit näher bei Null liegt, wie bei der Darstellung, dass die Wahrscheinlichkeit, dass die Kennung 332 des Aktionsobjekts 112 unabhängig von der Genauigkeit für die Ausgangsstellung abgetastet werden kann, ähnlich groß ist.
  • Im Block 558 kann das Robotersystem 100 eine Annäherungsposition auswählen. Das Robotersystem 100 kann als Annäherungsposition die verfügbare Annäherungsposition auswählen, die die Position 334 der nicht abgedeckten Kennung 332 sowohl in einem Satz der exponierten Kennungen 332 (z. B. einem Satz geschätzter Positionen der Kennungen 332 des Aktionsobjekts 112 gemäß einer Hypothese, dass die Ausgangsstellung präzise ist) als auch in einem Satz der alternativen Kennungen 332 (z. B. einem oder mehreren Sätzen geschätzter Positionen der Kennungen 332 des Aktionsobjekts 112 gemäß einer Hypothese, dass die Ausgangsstellung nicht präzise ist) einschließt. Mit anderen Worten, das Robotersystem 100 kann die Annäherungsposition wählen, die mindestens eine Kennung 332 exponiert und abtastbar lassen würde, unabhängig von der Genauigkeit der Ausgangsstellung. Das Robotersystem 100 kann als Annäherungsposition die verfügbare Annäherungsposition wählen, die der Exponierungswahrscheinlichkeit entspricht, die mit einer Zielbedingung übereinstimmt und/oder ihr am nächsten kommt, wie z. B. die größte Gesamtgröße und/oder die vorzeichenbehaftete/vektorielle Wahrscheinlichkeit, die näher bei Null liegt.
  • Das Robotersystem 100 kann basierend auf der Exponierungswahrscheinlichkeit eine Abtastwahrscheinlichkeit berechnen (z. B. eine Wahrscheinlichkeit, dass eine exponierte Kennung 332 des Aktionsobjekts 112 erfolgreich abgetastet wird). Zum Beispiel kann das Robotersystem 100 die Exponierungswahrscheinlichkeit mit einem Bewertungswert kombinieren (z. B. eine verfolgte Rate erfolgreicher Abtastungen, eine physische Größe und/oder ein Typ der Kennung 332), dem die entsprechende exponierte Kennung 332 des Aktionsobjekts 112 zugeordnet ist. Das Robotersystem 100 kann als Annäherungsposition die verfügbare Annäherungsposition wählen, die der höchsten Abtastwahrscheinlichkeit entspricht.
  • Das Robotersystem 100 kann den Satz der exponierten Kennung 332 mit dem Satz der alternativen Kennung 332 vergleichen, um zu bestimmen, ob der Satz der exponierten Kennung 332 und der Satz der alternativen Kennung 332 Positionen auf gegenüberliegenden Flächen des Aktionsobjekts 112 einschließen (z. B. zwischen der ersten Stellung 312 und der dritten Stellung 316). Dementsprechend kann das Robotersystem 100 eine verfügbare Annäherungsposition wählen, die einer dritten Fläche (z. B. einer der peripheren Flächen 326 des Aktionsobjekts 302) entspricht, die orthogonal zu den beiden gegenüberliegenden Flächen liegt.
  • Im Block 560 kann das Robotersystem 100 in einem Fall, in dem das Konfidenzmaß nicht den Suffizienzschwellenwert erfüllt, basierend auf der gewählten Annäherungsposition Kandidaten-Steuersequenzen erstellen oder ableiten. Das Robotersystem 100 kann die Kandidaten-Steuersequenzen berechnen, die eine oder mehrere Abtastpositionen für den Endeffektor einschließen, die einer oder mehreren Präsentationspositionen/Ausrichtungen für die Platzierung der Kennungen 332 des Aktionsobjekts 112 sowohl im Satz der exponierten Kennung 332 als auch im Satz der alternativen Kennung 332 entsprechen. Mit anderen Worten: Das Robotersystem 100 kann die Kandidaten-Steuersequenzen berechnen, die das Aktionsobjekt 112 unabhängig von der Genauigkeit der Ausgangsstellung abtasten können.
  • Das Robotersystem 100 kann die Kandidaten-Steuersequenzen erstellen oder ableiten, die die Positionen 334 der Kennungen 332 sowohl im Satz der exponierten Kennung 332 als auch im Satz der alternativen Kennungen 332 berücksichtigen. Beispielsweise kann das Robotersystem 100 die Kandidaten-Steuersequenzen berechnen, die die Positionen der Kennungen 332 mit einer Wahrscheinlichkeit auf gegenüberliegenden und/oder orthogonalen Flächen berücksichtigen. Dementsprechend kann das Robotersystem 100 eine gegenüberliegende Stellung (z. B. eine Stellung in entgegengesetzter Richtung, bei der der Umriss des Aktionsobjekts 112 so platziert ist, dass er von einer visuellen Erkennungsposition/einem visuellen Erkennungswinkel aus gleich ist) und/oder andere gedrehte Stellungen zusätzlich zu der Ausgangsstellung berücksichtigen. Unter Bezugnahme auf 3A und 3C als veranschaulichendes Beispiel kann das Robotersystem 100 die Kandidatensteuersequenzen berechnen, die sowohl die erste Stellung 312 als auch die dritte Stellung 316 in einem Fall berücksichtigen, in dem die Greifposition einer der peripheren Flächen 326 des Aktionsobjekts 302 entspricht.
  • Um mehrere mögliche Stellungen zu berücksichtigen (z. B. fehlerhafte Schätzung der Ausgangsstellung), kann das Robotersystem 100 eine Abtastposition berechnen, um die Kennungen 332 des Aktionsobjekts 112 sowohl in dem Satz der exponierten Kennungen 332 als auch in dem Satz der alternativen Kennungen 332 zu platzieren. Wie bei Block 562 veranschaulicht, kann das Robotersystem 100 eine Reihe von Kandidatenstellungen für das Aktionsobjekt 112 in den Abtastfeldern oder durch die Abtastfelder berechnen. Wenn die Annäherungsposition ausgewählt wird, kann das Robotersystem 100 Kandidatenabtastpositionen wie vorstehend für Block 542 beschrieben berechnen, z. B. durch Drehen und/oder Verschieben eines Modells der Position 334 der Kennung 332, um die Position 334 der Kennung 332 im Abtastfeld zu platzieren.
  • Im Block 564 kann das Robotersystem 100 den Satz der exponierten Kennung 332 und den Satz der alternativen Kennung 332 auf jede der KandidatenAbtastpositionen abbilden. Das Robotersystem 100 kann den Satz der exponierten Kennung 332 basierend auf dem Drehen des Modells der Position 334 der Kennung 332 ausgehend von der Ausgangsstellung abbilden. Das Robotersystem 100 kann den Satz der alternativen Kennung 332 basierend auf dem Drehen des Modells der Position 334 der Kennung 332 ausgehend von einer der alternativen Stellungen (z. B. der gegenüberliegenden Stellung) abbilden.
  • Wenn die Positionen 334 der Kennungen 332 abgebildet sind, kann das Robotersystem 100 im Block 568 die Positionen 334 und/oder die Ausrichtungen der Kennungen 332 des Aktionsobjekts 112 sowohl im Satz der exponierten Kennung 332 als auch im Satz der alternativen Kennung 332 mit den Abtastfeldern vergleichen. Im Entscheidungsblock 570 kann das Robotersystem 100 bestimmen, ob in der Kandidatenstellung die Kennungen 332 des Aktionsobjekts 112 sowohl im Satz der exponierten Kennung 332 als auch im Satz der alternativen Kennung 332 gleichzeitig den Abtastvorrichtungen präsentiert werden.
  • Im Block 572 kann das Robotersystem 100 als Abtastposition die Kandidatenstellungen identifizieren, die gleichzeitig die Kennungen 332 des Aktionsobjekts 112 sowohl im Satz der exponierten Kennungen 332 als auch im Satz der alternativen Kennungen 332 an verschiedenen Abtastvorrichtungen/Abtastfeldern präsentieren. Beispielsweise kann das Robotersystem 100 in einem Fall, in dem die Greifposition einer der peripheren Flächen 326 des Aktionsobjekts 112 entspricht, wobei sich die Positionen des Aktionsobjekts 112 im Satz der exponierten Kennung 332 und im Satz der alternativen Kennung 332 des Aktionsobjekts 112 auf gegenüberliegenden Flächen befinden, die Abtastposition für die Platzierung des Aktionsobjekts 112 zwischen einem Paar gegenüberliegender/zugewandter Abtastvorrichtungen identifizieren, wobei jede der gegenüberliegenden Flächen des Aktionsobjekts 112 einer der Abtastvorrichtungen zugewandt ist.
  • Im Block 574 kann das Robotersystem 100 in einem Fall, in dem keine der Kandidatenstellungen gleichzeitig die Kennungen 332 des Aktionsobjekts 112 sowohl im Satz der exponierten Kennung 332 als auch im Satz der alternativen Kennung 332 des Aktionsobjekts 112 präsentiert, mehrere Abtastpositionen (z. B. eine erste Abtastposition und eine zweite Abtastposition) berechnen, die jeweils mindestens eine Kennung 332 des Aktionsobjekts 112 aus dem Satz der exponierten Kennung 332 und dem Satz der alternativen Kennung 332 des Aktionsobjekts 112 präsentieren. Beispielsweise kann die erste Abtastposition die Positionen 334 einer oder mehrerer Kennungen 332 im Satz der Kennungen 332 des exponierten Aktionsobjekts 112 an einer der Abtastvorrichtungen präsentieren, und die zweite Abtastposition kann die Positionen 334 einer oder mehrerer Kennungen 332 im Satz der Kennungen 332 des alternativen Aktionsobjekts 112 an einer der Abtastvorrichtungen präsentieren. Die zweite Abtastposition kann dem Drehen des Endeffektors um eine Achse, der Translation des Endeffektors oder einer Kombination davon von der ersten Abtastposition aus zugeordnet werden.
  • Erneut bezugnehmend auf das in 4A und 4B veranschaulichte Beispiel kann die zweite Steuersequenz 424 der zweiten Annäherungsposition 434 entsprechen, die der dritten Fläche (z. B. einer der peripheren Flächen 326 des Aktionsobjekts 112) entspricht, die wie vorstehend beschrieben orthogonal zu den beiden gegenüberliegenden Flächen (z. B. für die erste Stellung 312 und die dritte Stellung 316) liegt. Dementsprechend kann die erste Abtastposition einer ersten Position der zweiten Präsentationspositionen 444 entsprechen, die eine Fläche (z. B. die geschätzte untere Fläche 324 des Aktionsobjekts 112) entsprechend der Ausgangsstellung (z. B. die erste Stellung 312) über einer nach oben gerichteten Abtastvorrichtung 416 und der Abtastvorrichtung zugewandt platziert. Die zweite Abtastposition kann einer zweiten Position der zweiten Präsentationspositionen 444 entsprechen, die das Aktionsobjekt 112 um 90 Grad gegen den Uhrzeigersinn relativ zu einer Gesamtbewegungsrichtung dreht (z. B. im Allgemeinen von der Startposition 114 zur Aufgabenposition 116). Dementsprechend kann die zweite Abtastposition der zweiten Präsentationsposition 444 entsprechen, die eine Fläche (z. B. eine als untere Fläche 324 des Aktionsobjekts 112 bestimmte Fläche), die der alternativen Stellung (z. B. der dritten Stellung 316) entspricht, vor einer horizontal ausgerichteten Abtastvorrichtung 416 und in vertikaler Ausrichtung gegenüber dieser Abtastvorrichtung 416 platziert.
  • Gemäß der sich ergebenden Abtaststellung und/oder dem Satz von Abtastpositionen kann das Robotersystem 100 die Kandidatensteuersequenz erstellen oder ableiten. Das Robotersystem 100 kann die Kandidatenpläne berechnen, um den Endeffektor an der ausgewählten Annäherungsposition zu platzieren, dabei das Aktionsobjekt 112 zu berühren und zu greifen und das Aktionsobjekt 112 anzuheben und in die identifizierte Abtaststellung und/oder den Satz von Abtastpositionen zu bewegen, wobei ein oder mehrere vorstehend beschriebene Mechanismen (z. B. der A*-Mechanismus) verwendet werden. Wenn beispielsweise die Abtastposition identifiziert wird, kann das Robotersystem 100 die Kandidatenpläne berechnen, um die Abtaststellung für das Aktionsobjekt 112 in den Abtastfeldern oder durch die Abtastfelder festzulegen. In einem Fall, in dem das Robotersystem 100 die Abtaststellung nicht identifiziert, kann das Robotersystem 100 die Kandidatenpläne berechnen, um den Endeffektor sequentiell durch den Satz von mehreren Abtastpositionen zu bewegen/ausrichten, wodurch das Aktionsobjekt 112 entsprechend mehrerer Präsentationspositionen/-ausrichtungen sequentiell bewegt/gedreht wird.
  • Im Block 576 kann das Robotersystem 100 die Abtastwahrscheinlichkeit für jede der Kandidatensteuersequenzen erneut erstellen oder aktualisieren. Das Robotersystem 100 kann die Abtastwahrscheinlichkeit basierend auf dem Kombinieren der verschiedenen Wahrscheinlichkeiten und/oder Präferenzen, wie vorstehend für Block 544 beschrieben, aktualisieren (z. B. Wahrscheinlichkeiten und/oder Bewertungen für die Annäherungsposition, die Abtastposition, die verwendete Abtastvorrichtung 416, die als exponiert bestimmte Kennung 332, einen zugehörigen Fehler und/oder eine Verlustrate oder eine Kombination davon), jedoch unter Bezugnahme auf die Abtastmetrik anstelle der Leistungsmetrik.
  • Im Block 578 kann das Robotersystem 100 die Steuersequenz basierend auf dem Auswählen des Kandidatenplans gemäß der Abtastwahrscheinlichkeit erstellen oder ableiten. Das Robotersystem 100 kann als Steuersequenz den Kandidatenplan auswählen, der unter den Kandidatenplänen die maximale Abtastwahrscheinlichkeit aufweist. Beispielsweise kann das Robotersystem 100 den Kandidatenplan auswählen, der die höchste Wahrscheinlichkeit hat, mindestens eine der Positionen 334 der exponierten Kennungen 332 und mindestens eine der Positionen 334 der alternativen Kennungen 332 in einem oder mehreren Abtastfeldern (z. B. vor einer oder mehreren Abtastvorrichtungen 416) während der Bewegung des Aktionsobjekts 112 zu platzieren, um z. B. im Raum zwischen der Startposition 114 und der Aufgabenposition 116 abzutasten.
  • In einem Fall, in dem zwei oder mehr Kandidatenpläne den Abtastwahrscheinlichkeiten innerhalb eines relativ kleinen Differenzwertes entsprechen (z. B. einem vorab festgelegten Schwellenwert), kann das Robotersystem 100 die dem entsprechenden Kandidatenplan entsprechende Leistungsmetrik berechnen und bewerten (z. B. wie vorstehend für die Blöcke 544 und 546 beschrieben). Das Robotersystem 100 kann als Steuersequenz den Kandidatenplan auswählen, der dem Zielzustand am nächsten kommt.
  • Das Robotersystem 100 kann von dem veranschaulichten Beispielablauf abweichen. Zum Beispiel kann das Robotersystem 100 die Annäherungsposition wie vorstehend beschrieben auswählen. Basierend auf der ausgewählten Annäherungsposition kann das Robotersystem 100 das Aktionsobjekt 112 greifen und einen vorab festgelegten Satz von Manövern ausführen, wie z. B. Heben, Neuausrichten, horizontales Bewegen, erneutes Ablegen und Freigeben oder eine Kombination davon. Während oder nach dem vorab festgelegten Satz von Manövern kann das Robotersystem 100 den Aufnahmebereich neu abbilden oder abtasten (z. B. durch Zurückführen zu Block 502) und die Ausgangsstellung und das Konfidenzmaß neu bestimmen (z. B. über Block 522 und Block 524).
  • Unter erneuter Bezugnahme auf 5A, im Block 508, kann das Robotersystem 100 mit der Implementierung der resultierenden Steuersequenz beginnen. Das Robotersystem 100 kann die Steuersequenz basierend auf der Bedienung des einen oder der mehreren Prozessoren 202 implementieren, um die Anweisungen und/oder Einstellungen der Steuersequenz an andere Vorrichtungen (z. B. die entsprechenden Betätigungsvorrichtungen 212 und/oder andere Prozessoren) zu senden, um die Aufgaben 402 und 404 auszuführen. Dementsprechend kann das Robotersystem 100 die Steuersequenz ausführen, indem es die Betätigungsvorrichtungen 212 gemäß der Sequenz von Anweisungen oder Einstellungen oder einer Kombination davon betätigt. Beispielsweise kann das Robotersystem 100 die Betätigungsvorrichtungen 212 betätigen, um den Endeffektor an der Annäherungsposition um die Startposition 114 abzuwerfen, das Aktionsobjekt 112 zu berühren und zu greifen oder eine Kombination davon durchzuführen.
  • Im Block 582 kann das Robotersystem 100 den Endeffektor an die Abtastposition bewegen und damit das Aktionsobjekt 112 an die Präsentationsposition/-ausrichtung bewegen. Beispielsweise kann das Robotersystem 100 nach oder zusammen mit dem Anheben des Aktionsobjekts 112 von der Startposition 114 den Endeffektor bewegen, um die Abtaststellung für das Aktionsobjekt 112 zu bestimmen. Außerdem kann das Robotersystem 100 den Endeffektor an die erste Abtastposition bewegen.
  • Im Block 584 kann das Robotersystem 100 die Abtastvorrichtungen 416 bedienen, um das Aktionsobjekt 112 abzutasten. Beispielsweise können ein oder mehrere Prozessoren 202 eine Anweisung an die Abtastvorrichtungen 416 senden, um eine Abtastung zu implementieren und/oder eine Abfrage an die Abtastvorrichtungen 416 senden, um einen Abtaststatus und/oder einen abgetasteten Wert zu erhalten. Im Block 585 und dergleichen kann das Robotersystem 100 in einem Fall, in dem die Steuersequenz die Abtastposition einschließt, die Steuersequenz implementieren, um das Aktionsobjekt 112 in die Abtastposition über die Abtastfelder in einer Richtung orthogonal zu den Ausrichtungen der Abtastfelder zu bewegen. Während das Aktionsobjekt 112 bewegt wird, können die Abtastvorrichtungen 416 (gleichzeitig und/oder sequentiell) mehrere Flächen nach mehreren möglichen Positionen 334 der Kennung 332 des Aktionsobjekts 112 abtasten.
  • Im Entscheidungsblock 586 kann das Robotersystem 100 das Abtastergebnis (z. B. den Status und/oder den abgetasteten Wert) auswerten, um zu bestimmen, ob das Aktionsobjekt 112 abgetastet wird. Beispielsweise kann das Robotersystem 100 das Abtastergebnis nach der Implementierung der Steuersequenz bis zur ersten Abtastposition verifizieren. Bei Block 588 und dergleichen kann das Robotersystem 100 in einem Fall, in dem das Abtastergebnis eine erfolgreiche Abtastung des Aktionsobjekts 112 anzeigt (z. B. der Status entspricht der Erkennung eines gültigen Codes/einer gültigen Kennung und/oder der abgetastete Wert stimmt mit dem identifizierten/erwarteten Aktionsobjekt 112 überein), das Aktionsobjekt 112 an die Aufgabenposition 116 bewegen. Basierend auf der erfolgreichen Abtastung kann das Robotersystem 100 jede nachfolgende Abtastposition (z. B. die zweite Abtastposition) ignorieren und das Aktionsobjekt 112 direkt an die Aufgabenposition 116 bewegen.
  • In einem Fall, in dem das Abtastergebnis eine nicht erfolgreiche Abtastung des Aktionsobjekts 112 anzeigt, kann das Robotersystem 100 im Entscheidungsblock 590 bestimmen, ob die aktuelle Abtastposition die letzte in der Steuersequenz ist. In einem Fall, in dem es sich nicht um die letzte Steuersequenz handelt, kann das Robotersystem 100 das Aktionsobjekt 112 zur nächsten Präsentationsposition/Ausrichtung bewegen, die durch eine Rückführung zum Block 582 dargestellt wird.
  • In einem Fall, in dem die aktuelle Abtastposition die letzte in der Steuersequenz ist, kann das Robotersystem 100 eine oder mehrere Korrekturmaßnahmen durchführen, wie in Block 592 veranschaulicht. Das Robotersystem 100 kann die Steuersequenz anhalten und/oder abbrechen, wenn die Abtastergebnisse für alle Abtastpositionen in der Steuersequenz auf fehlgeschlagene Abtastungen hinweisen. Das Robotersystem 100 kann einen Fehlerstatus/eine Fehlermeldung generieren, um einen Bediener zu benachrichtigen. Das Robotersystem 100 kann das Aktionsobjekt 112 innerhalb eines Bereichs platzieren (d. h. an einer anderen Position als der Startposition 114 und der Aufgabenposition 116), der für das Aktionsobjekt 112 vorgesehen ist, das nicht abgetastet werden konnte.
  • Basierend entweder auf dem erfolgreichen Abschließen der Aufgaben 402 und 404 (d. h. dem erfolgreichen Abtasten des Aktionsobjekts 112 und dem Platzieren des Aktionsobjekts an der Aufgabenposition 116) oder dem Implementieren der Korrekturmaßnahmen kann das Robotersystem 100 zur nächsten Aufgabe bzw. zum nächsten Aktionsobjekt 112 übergehen. Das Robotersystem 100 kann den bestimmten Bereich erneut abtasten, wie durch eine Rückführung zu Block 502 veranschaulicht, und das nächste Aktionsobjekt 112 unter Verwendung der vorhandenen Bildgebungsdaten auswählen, wie durch eine Rückführung zu Block 504 veranschaulicht.
  • Das Abtasten des Aktionsobjekts 112 in der Luft (z. B. an einer Position zwischen der Startposition 114 und der Aufgabenposition 116) stellt eine verbesserte Effizienz und Geschwindigkeit bei der Durchführung der Aufgaben 402 und 404 bereit. Durch das Berechnen der Steuersequenz für die Zusammenarbeit mit der Abtastvorrichtung 416 als die Steuersequenz, die die Abtastpositionen einschließt, kann das Robotersystem 100 die Aufgabe zum Bewegen des Aktionsobjekts 112 mit der Aufgabe zum Abtasten des Aktionsobjekts 112 effektiv kombinieren. Darüber hinaus wird durch das Erstellen oder Ableiten einer Steuersequenz gemäß dem Konfidenzmaß der Ausgangsstellung ferner die Effizienz, Geschwindigkeit und Präzision für die Abtastaufgabe verbessert. Wie vorstehend beschrieben, kann das Robotersystem 100 die Steuersequenz erstellen oder ableiten, um alternative Ausrichtungen zu berücksichtigen, die dem Szenario entsprechen, dass die Ausgangsstellung ungenau ist. Dementsprechend kann das Robotersystem 100 die Wahrscheinlichkeit des genauen/erfolgreichen Abtastens des Aktionsobjekts 112 erhöhen, sogar bei Fehlern in der Stellungsbestimmung, z. B. aufgrund von Kalibrierfehlern, unerwarteten Stellungen, unerwarteten Lichtverhältnissen und dergleichen. Die erhöhte Wahrscheinlichkeit genauer Abtastungen kann zu einem erhöhten Gesamtdurchsatz für das Robotersystem 100 führen und den Aufwand/die Eingriffe seitens des Bedieners weiter reduzieren.
  • Ausführungsform 1 bezieht sich auf ein Verfahren zum Steuern eines Robotersystems. Das Verfahren umfasst: Ableiten einer Annäherungsposition, wobei die Annäherungsposition eine Position eines Endeffektors zum Greifen eines Aktionsobjekts mit einer Identifikationsinformation darstellt; Ableiten einer Abtastposition, wobei die Abtastposition eine Position einer Abtastvorrichtung zum Abtasten der Identifikationsinformationen des Aktionsobjekts darstellt; und, basierend auf der Annäherungsposition und der Abtastposition, Ableiten einer Steuersequenz, um einen Roboter anzuweisen, die Steuersequenz auszuführen. Die Steuersequenz schließt ein: Greifen des Aktionsobjekts an einer Startposition; Abtasten der Identifikationsinformationen des Aktionsobjekts mit der Abtastvorrichtung; vorübergehendes Freigeben des Aktionsobjekts von dem Endeffektor an einer Verschiebeposition und erneutes Greifen des Aktionsobjekts durch den an der Verschiebeposition zu verschiebenden Endeffektor, wenn eine vorab festgelegte Bedingung erfüllt ist, wobei die vorab festgelegte Bedingung mit einer Lagerungseffizienz verknüpft ist; und Bewegen des Aktionsobjekts von der Verschiebeposition zu einer Aufgabenposition, wenn die vorab festgelegte Bedingung erfüllt ist. Die Aufgabenposition unterscheidet sich von der Startposition und der Verschiebeposition.
  • Ausführungsform 2 schließt das Verfahren der Ausführungsform 1 ein. In dieser Ausführungsform schließt das Verfahren ferner ein: Berechnen einer ersten Lagerungseffizienz an der Aufgabenposition, wobei die erste Lagerungseffizienz eine Lagerungseffizienz darstellt, bevor das Aktionsobjekt an die Verschiebeposition verschoben wird; Berechnen einer zweiten Lagerungseffizienz an der Aufgabenposition, wobei die zweite Lagerungseffizienz eine Lagerungseffizienz darstellt, nachdem das Aktionsobjekt an die Verschiebeposition verschoben wird; Bestimmen, dass die zweite Lagerungseffizienz effizienter ist als die erste Lagerungseffizienz; und Bestimmen, basierend auf der zweiten Lagerungseffizienz, dass die vorab festgelegte Bedingung erfüllt ist.
  • Ausführungsform 3 schließt das Verfahren der Ausführungsform 2 ein. In dieser Ausführungsform umfasst das Verfahren ferner das Ableiten einer Höhe des Aktionsobjekts, wobei das Berechnen der ersten Lagerungseffizienz das Berechnen der ersten Lagerungseffizienz basierend auf der Höhe des Aktionsobjekts einschließt, und wobei das Berechnen der zweiten Lagerungseffizienz das Berechnen der zweiten Lagerungseffizienz basierend auf der Höhe des Aktionsobjekts einschließt.
  • Ausführungsform 4 schließt das Verfahren der Ausführungsform 3 ein. In dieser Ausführungsform umfasst das Verfahren ferner das Messen einer Höhenposition einer unteren Fläche des Aktionsobjekts, während das Aktionsobjekt gegriffen wird,
    wobei das Ableiten der Höhe des Aktionsobjekts das Berechnen der Höhe des Aktionsobjekts aus einer Höhenposition einer oberen Fläche des Aktionsobjekts und der gemessenen Höhenposition der unteren Fläche des Aktionsobjekts einschließt.
  • Ausführungsform 5 schließt das Verfahren der Ausführungsform 4 ein. In dieser Ausführungsform schließt das Messen der Höhenposition der unteren Fläche des Aktionsobjekts das Messen der Höhenposition der unteren Fläche des Aktionsobjekts ein, während die Identifikationsinformationen des Aktionsobjekts abgetastet werden.
  • Ausführungsform 6 schließt das Verfahren einer der Ausführungsformen 1 bis 5 ein. In dieser Ausführungsform schließt das Ableiten der Steuersequenz für das Anweisen des Roboters, die Steuersequenz auszuführen, das vorübergehende Freigeben des Aktionsobjekts vom Endeffektor ein, indem das Aktionsobjekt auf einem temporären Platzierungstisch platziert wird, der an der Verschiebeposition angeordnet ist.
  • Ausführungsform 7 schließt das Verfahren einer der Ausführungsformen 1 bis 6 ein. In dieser Ausführungsform umfasst das Verfahren ferner: Ableiten von Bildgebungsdaten, die einen Aufnahmebereich einschließlich des Aktionsobjekts darstellen; Bestimmen einer Ausgangsstellung des Aktionsobjektes basierend auf den Bildgebungsdaten; Berechnen eines Konfidenzmaßes, das eine Wahrscheinlichkeit angibt, dass die Ausgangsstellung des Aktionsobjektes exakt ist; und Ableiten der Annäherungsposition und der Abtastposition basierend auf dem Konfidenzmaß.
  • Ausführungsform 8 bezieht sich auf ein Robotersystem. Das Robotersystem umfasst: mindestens einen Prozessor und mindestens eine Speichervorrichtung, die mit dem mindestens einen Prozessor verbunden ist. Die mindestens eine Speichervorrichtung schließt Anweisungen darauf ein, die, wenn sie von dem mindestens einen Prozessor ausgeführt werden, den mindestens einen Prozessor veranlassen zum:
    • Ableiten einer Annäherungsposition, wobei die Annäherungsposition eine Position für einen Endeffektor zum Greifen eines Aktionsobjekts definiert, das eine Identifikationsinformation aufweist;
    • Ableiten einer Abtastposition, wobei die Abtastposition eine Position für eine Abtastvorrichtung zum Abtasten der Identifikationsinformationen des Aktionsobjekts definiert; und
    • basierend auf der Annäherungsposition und der Abtastposition, Ableiten einer Steuersequenz, um einen Roboter anzuweisen, die Steuersequenz auszuführen. Die Steuersequenz schließt ein: Greifen des Aktionsobjekts an einer Startposition; Abtasten der Identifikationsinformationen des Aktionsobjekts mit der Abtastvorrichtung; vorübergehendes Freigeben des Aktionsobjekts von dem Endeffektor an einer Verschiebeposition und erneutes Greifen des Aktionsobjekts durch den an der Verschiebeposition zu verschiebenden Endeffektor, wenn eine vorab festgelegte Bedingung erfüllt ist, wobei die vorab festgelegte Bedingung mit einer Lagerungseffizienz verknüpft ist; und Bewegen des Aktionsobjekts von der Verschiebeposition zu einer Aufgabenposition, wenn die vorab festgelegte Bedingung erfüllt ist. Die Aufgabenposition unterscheidet sich von der Startposition und der Verschiebeposition.
  • Ausführungsform 9 schließt das Robotersystem der Ausführungsform 8 ein. In dieser Ausführungsform schließt die mindestens eine Speichervorrichtung ferner Anweisungen ein, die den mindestens einen Prozessor veranlassen zum:
    • Berechnen einer ersten Lagerungseffizienz an der Aufgabenposition, wobei die erste Lagerungseffizienz einer Lagerungseffizienz zugeordnet ist, bevor das Aktionsobjekt an die Verschiebeposition verschoben wird;
    • Berechnen einer zweiten Lagerungseffizienz an der Aufgabenposition, wobei die zweite Lagerungseffizienz einer Lagerungseffizienz zugeordnet ist, nachdem das Aktionsobjekt an die Verschiebeposition verschoben wird;
    • Bestimmen, dass die zweite Lagerungseffizienz effizienter ist als die erste Lagerungseffizienz; und
    • Bestimmen, basierend auf der zweiten Lagerungseffizienz, dass die vorab festgelegte Bedingung erfüllt ist.
  • Ausführungsform 10 schließt das Robotersystem der Ausführungsform 9 ein. In dieser Ausführungsform schließt die mindestens eine Speichervorrichtung ferner Anweisungen ein, die den mindestens einen Prozessor dazu veranlassen, eine Höhe des Aktionsobjekts abzuleiten, wobei das Berechnen der ersten Lagerungseffizienz das Berechnen der ersten Lagerungseffizienz basierend auf der Höhe des Aktionsobjekts einschließt, und wobei das Berechnen der zweiten Lagerungseffizienz das Berechnen der zweiten Lagerungseffizienz basierend auf der Höhe des Aktionsobjekts einschließt.
  • Ausführungsform 11 schließt das Robotersystem der Ausführungsform 10 ein. In dieser Ausführungsform schließt die mindestens eine Speichervorrichtung ferner Anweisungen ein, die den mindestens einen Prozessor veranlassen, eine Höhenposition einer unteren Fläche des Aktionsobjekts zu messen, während das Aktionsobjekt von dem Endeffektor gegriffen wird, wobei das Ableiten der Höhe des Aktionsobjekts das Berechnen der Höhe des Aktionsobjekts von einer Höhenposition einer oberen Fläche des Aktionsobjekts und der gemessenen Höhenposition der unteren Fläche des Aktionsobjekts einschließt.
  • Ausführungsform 12 schließt das Robotersystem der Ausführungsform 11 ein. In dieser Ausführungsform schließt das Messen der Höhenposition der unteren Fläche des Aktionsobjekts das Messen der Höhenposition der unteren Fläche des Aktionsobjekts ein, während die Identifikationsinformationen des Aktionsobjekts mit der Abtastvorrichtung abgetastet werden.
  • Ausführungsform 13 schließt das Robotersystem einer der Ausführungsformen 8 bis 12 ein. In dieser Ausführungsform schließt das Ableiten der Steuersequenz für das Anweisen des Roboters, die Steuersequenz auszuführen, das vorübergehende Freigeben des Aktionsobjekts vom Endeffektor ein, indem das Aktionsobjekt auf einem temporären Platzierungstisch platziert wird, der an der Verschiebeposition angeordnet ist.
  • Die Ausführungsform 14 bezieht sich auf ein greifbares, nichttransitorisches, computerlesbares Medium, auf dem Prozessoranweisungen gespeichert sind. Wenn sie von mindestens einem Prozessor davon ausgeführt werden, veranlassen die Prozessoranweisungen das Robotersystem. Die Prozessoranweisungen umfassen:
    • Ableiten einer Annäherungsposition, wobei die Annäherungsposition eine Position für einen Endeffektor zum Greifen eines Aktionsobjekts mit einer Identifikationsinformation darstellt;
    • Ableiten einer Abtastposition, wobei die Abtastposition eine Position einer Abtastvorrichtung zum Abtasten der Identifikationsinformationen des Aktionsobjekts darstellt; und
    • basierend auf der Annäherungsposition und der Abtastposition, Ableiten einer Steuersequenz, um einen Roboter anzuweisen, die Steuersequenz auszuführen. Die Steuersequenz schließt ein: Greifen des Aktionsobjekts an einer Startposition; Abtasten der Identifikationsinformationen des Aktionsobjekts mit der Abtastvorrichtung; vorübergehendes Freigeben des Aktionsobjekts von dem Endeffektor an einer Verschiebeposition und erneutes Greifen des Aktionsobjekts durch den an der Verschiebeposition zu verschiebenden Endeffektor, wenn eine vorab festgelegte Bedingung erfüllt ist, wobei die vorab festgelegte Bedingung mit einer Lagerungseffizienz verknüpft ist; und Bewegen des Aktionsobjekts von der Verschiebeposition zu einer Aufgabenposition, wenn die vorab festgelegte Bedingung erfüllt ist. Die Aufgabenposition unterscheidet sich von der Startposition und der Verschiebeposition.
  • Ausführungsform 15 schließt das greifbare, nichttransitorische, computerlesbare Medium der Ausführungsform 14 ein. In dieser Ausführungsform umfassen die Prozessoranweisungen ferner:
    • Berechnen einer ersten Lagerungseffizienz an der Aufgabenposition, wobei die erste Lagerungseffizienz eine Lagerungseffizienz darstellt, bevor das Aktionsobjekt an die Verschiebeposition verschoben wird;
    • Berechnen einer zweiten Lagerungseffizienz an der Aufgabenposition, wobei die zweite Lagerungseffizienz eine Lagerungseffizienz darstellt, nachdem das Aktionsobjekt an die Verschiebeposition verschoben wird;
    • Bestimmen, dass die zweite Lagerungseffizienz effizienter ist als die erste Lagerungseffizienz; und
    • Bestimmen, basierend auf der Bestimmung der zweiten Lagerungseffizienz, dass die vorab festgelegte Bedingung erfüllt ist.
  • Ausführungsform 16 schließt das greifbare, nichttransitorische, computerlesbare Medium der Ausführungsform 15 ein. In dieser Ausführungsform schließt das Berechnen der ersten Lagerungseffizienz das Berechnen der ersten Lagerungseffizienz basierend auf der Höhe des Aktionsobjekts ein, und das Berechnen der zweiten Lagerungseffizienz schließt das Berechnen der zweiten Lagerungseffizienz basierend auf der Höhe des Aktionsobjekts ein.
  • Ausführungsform 17 schließt das greifbare, nichttransitorische, computerlesbare Medium der Ausführungsform 16 ein. In dieser Ausführungsform umfassen die Prozessoranweisungen ferner das Messen einer Höhenposition einer unteren Fläche des Aktionsobjekts, während das Aktionsobjekt vom Endeffektor gegriffen wird, wobei das Ableiten der Höhe des Aktionsobjekts das Berechnen der Höhe des Aktionsobjekts aus einer Höhenposition einer oberen Fläche des Aktionsobjekts und der gemessenen Höhenposition der unteren Fläche des Aktionsobjekts einschließt.
  • Ausführungsform 18 schließt das greifbare, nichttransitorische, computerlesbare Medium der Ausführungsform 17 ein. In dieser Ausführungsform schließt das Messen der Höhenposition der unteren Fläche des Aktionsobjekts das Messen der Höhenposition der unteren Fläche des Aktionsobjekts ein, während die Identifikationsinformationen des Aktionsobjekts abgetastet werden.
  • Ausführungsform 19 schließt das greifbare, nichttransitorische, computerlesbare Medium einer der Ausführungsformen 14 bis 18 ein. In dieser Ausführungsform schließt das Ableiten der Steuersequenz für das Anweisen des Roboters, die Steuersequenz auszuführen, das vorübergehende Freigeben des Aktionsobjekts vom Endeffektor ein, indem das Aktionsobjekt auf einem temporären Platzierungstisch platziert wird, der an der Verschiebeposition angeordnet ist.

Claims (14)

  1. Steuerverfahren für ein Robotersystem (100), das einen Roboter mit einem Roboterarm und einem Endeffektor einschließt, wobei das Verfahren umfasst: Ableiten einer Annäherungsposition (432, 434), an der der Endeffektor ein Aktionsobjekt greift; Ableiten einer Abtastposition (442, 444) zum Abtasten einer Kennung des Aktionsobjekts (112); und basierend auf der Annäherungsposition (432, 434) und der Abtastposition (442, 444), Erstellen oder Ableiten einer Steuersequenz (422, 424, 472), um den Roboter anzuweisen, die Steuersequenz (422, 424, 472) auszuführen, wobei die Steuersequenz Folgendes von (1) bis (6) einschließt: (1) Greifen des Aktionsobjekts (112) an einer Startposition (114); (2) Abtasten von Identifikationsinformationen (332) des Aktionsobjekts (112) mit einer Abtastvorrichtung, die zwischen der Startposition (114) und einer Aufgabenposition (116) angeordnet ist; (3) vorübergehendes Freigeben des Aktionsobjekts (112) vom Endeffektor und erneutes Greifen des Aktionsobjekts durch den zu verschiebenden Endeffektor an einer Verschiebeposition (118), wenn eine vorbestimmte Bedingung erfüllt ist; (4) Bewegen des Aktionsobjekts (112) zu der Aufgabenposition (116). (5) Festlegen einer Bedingung, dass die Lagerungseffizienz des Aktionsobjekts (112) an der Aufgabenposition (116) in einem Fall erhöht wird, in dem das Aktionsobjekt (112) verschoben und die Richtung des Greifens des Aktionsobjekts (112) durch den Endeffektor geändert wird, als die vorgegebene Bedingung; und (6) Berechnen einer Lagerungseffizienz an der Aufgabenposition (116) vor dem Verschieben des Aktionsobjekts (112) und einer Lagerungseffizienz an der Aufgabenposition (116) nach dem Verschieben des Aktionsobjekts (112).
  2. Steuerverfahren für ein Robotersystem gemäß Anspruch 1, wobei die Steuersequenz ferner Folgendes von (7) und (8) einschließt: (7) Ableiten einer Höhe des Aktionsobjekts (112); und (8) Berechnen der Lagerungseffizienz basierend auf der Höhe des Aktionsobjekts (112).
  3. Steuerverfahren für ein Robotersystem gemäß Anspruch 2, wobei die Höhe des Aktionsobjekts (112) aus einer Höhenposition einer oberen Fläche des Aktionsobjekts (112) und einer Höhenposition einer unteren Fläche des Aktionsobjekts (112), gemessen in einem Zustand, in dem es vom Endeffektor gegriffen wird, berechnet wird.
  4. Steuerverfahren für ein Robotersystem gemäß Anspruch 2 oder 3, wobei die Höhe des Aktionsobjekts (112) gemessen wird, wenn das Aktionsobjekt mit der Abtastvorrichtung (412, 416) abgetastet wird.
  5. Steuerverfahren für ein Robotersystem gemäß einem der Ansprüche 1 bis 4, wobei die Steuersequenz ferner aufweist: (9) vorübergehendes Freigeben des Aktionsobjekts (112) vom Endeffektor durch Platzieren des Aktionsobjekts (112) auf einem vorübergehenden Platzierungstisch an der Verschiebeposition (118), wenn die vorab festgelegte Bedingung erfüllt ist.
  6. Steuerverfahren für ein Robotersystem gemäß einem der Ansprüche 1 bis 5, ferner umfassend: Ableiten von Bildgebungsdaten, die einen Aufnahmebereich einschließlich des Aktionsobjekts (112) angeben; Bestimmen einer Ausgangsstellung des Aktionsobjektes (112) basierend auf den Bildgebungsdaten; Berechnen eines Konfidenzmaßes in Bezug darauf, dass die Ausgangsstellung des Aktionsobjektes exakt ist; und Ableiten der Annäherungsposition (432, 434) und der Abtastposition basierend auf dem Konfidenzmaß.
  7. Steuerverfahren für ein Robotersystem gemäß Anspruch 6, wobei die Steuersequenz ferner aufweist: (10) selektives Berechnen der Annäherungsposition (432, 434) und der Abtastposition gemäß einer Leistungsmetrik und/oder einer Abtastmetrik, basierend auf einem Ergebnis des Vergleichens des Konfidenzmaßes mit einem Suffizienzschwellenwert, und wobei die Abtastmetrik sich auf eine Wahrscheinlichkeit bezieht, dass die Kennung des Aktionsobjekts (112) nicht durch den Endeffektor abgedeckt wird, unabhängig des Konfidenzmaßes in Bezug auf die Ausgangsstellung des Aktionsobjekts (116).
  8. Steuerverfahren für ein Robotersystem gemäß Anspruch 6, wobei in einem Fall, in dem das Konfidenzmaß nicht einen Suffizienzschwellenwert erfüllt, die Annäherungsposition (432, 434) und die Abtastposition basierend auf der Abtastmetrik abgeleitet werden oder basierend auf der Abtastmetrik mit Priorisierung der Abtastmetrik gegenüber der Leistungsmetrik abgeleitet werden.
  9. Steuerverfahren für ein Robotersystem gemäß Anspruch 6, wobei in einem Fall, in dem das Konfidenzmaß einen Suffizienzschwellenwert erfüllt, die Annäherungsposition (432, 434) und die Abtastposition basierend auf der Leistungsmetrik abgeleitet werden.
  10. Steuerverfahren für ein Robotersystem gemäß einem der Ansprüche 1 bis 9, wobei die Steuersequenz ferner Folgendes von (11) und (12) einschließt: (11) Ableiten einer ersten Abtastposition, um der Abtastvorrichtung Identifikationsinformationen des Aktionsobjekts (112) bereitzustellen, und einer zweiten Abtastposition, um der Abtastvorrichtung alternative Identifikationsinformationen des Aktionsobjekts (112) bereitzustellen; und (12) Bewegen des Aktionsobjekts (112) zu der Aufgabenposition (116) und Ignorieren der zweiten Abtastposition in einem Fall, in dem ein Abtastergebnis eine erfolgreiche Abtastung anzeigt, oder Bewegen des Aktionsobjekts (112) zu der zweiten Abtastposition in einem Fall, in dem ein Abtastergebnis eine fehlgeschlagene Abtastung anzeigt, nachdem das Aktionsobjekt (112) zu der ersten Abtastposition bewegt wurde.
  11. Nichttransitorisches, computerlesbares Medium, das Prozessoranweisungen zum Ausführen eines Steuerverfahrens für ein Robotersystem speichert, das einen Roboter mit einem Roboterarm und einem Endeffektor einschließt, wobei die Prozessoranweisungen einschließen: eine Anweisung zum Ableiten einer Annäherungsposition, an der der Endeffektor ein Aktionsobjekt (112) greift; eine Anweisung zum Ableiten einer Abtastposition zum Abtasten einer Identifikationsinformation des Aktionsobjekts (112); und eine Anweisung zum Erstellen oder Ableiten einer Steuersequenz, um den Roboter anzuweisen, die Steuersequenz basierend auf der Annäherungs- und Abtastposition auszuführen, wobei die Steuersequenz Folgendes von (1) bis (6) einschließt: (1) Greifen des Aktionsobjekts an einer Startposition (114); (2) Abtasten einer Kennung des Aktionsobjekts (112) mit einer Abtastvorrichtung, die zwischen der Startposition (114) und einer Aufgabenposition (116) angeordnet ist; (3) vorübergehendes Freigeben des Aktionsobjekts (112) vom Endeffektor und erneutes Greifen des Aktionsobjekts (112) durch den zu verschiebenden Endeffektor an einer Verschiebungsposition, wenn eine vorbestimmte Bedingung erfüllt ist; (4) Bewegen des Aktionsobjekts (112) zu der Aufgabenposition (116). (5) Festlegen einer Bedingung, dass die Lagerungseffizienz des Aktionsobjekts (112) an der Aufgabenposition (116) in einem Fall erhöht wird, in dem das Aktionsobjekt (112) verschoben und die Richtung des Greifens des Aktionsobjekts (112) durch den Endeffektor geändert wird, als die vorgegebene Bedingung; und (6) Berechnen einer Lagerungseffizienz an der Aufgabenposition (116) vor dem Verschieben des Aktionsobjekts (112) und einer Lagerungseffizienz an der Aufgabenposition (116) nach dem Verschieben des Aktionsobjekts (112).
  12. Nichttransitorisches, computerlesbares Medium gemäß Anspruch 11, wobei die Steuersequenz ferner Folgendes von (7) und (8) einschließt: (7) Ableiten einer Höhe des Aktionsobjekts (112); und (8) Berechnen der Lagerungseffizienz basierend auf der Höhe des Aktionsobjekts.
  13. Nichttransitorisches, computerlesbares Medium gemäß Anspruch 12, wobei die Höhe des Aktionsobjekts aus einer Höhenposition einer oberen Fläche des Aktionsobjekts (112) und einer Höhenposition einer unteren Fläche des Aktionsobjekts (112), gemessen in einem Zustand, in dem es vom Endeffektor gegriffen wird, berechnet wird.
  14. Steuerung eines Robotersystems, das einen Roboter einschließt, der einen Roboterarm und einen Endeffektor aufweist, wobei die Steuerung das Steuerverfahren gemäß einem der Ansprüche 1 bis 10 ausführt.
DE102020101767.7A 2019-01-25 2020-01-24 Steuerverfahren und steuerung für ein robotersystem Active DE102020101767B4 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US16/258,120 US10456915B1 (en) 2019-01-25 2019-01-25 Robotic system with enhanced scanning mechanism
US16/258,120 2019-01-25
JP2019118678 2019-06-26
JP2019-118678 2019-06-26
JP2019213029A JP6697204B1 (ja) 2019-01-25 2019-11-26 ロボットシステムの制御方法、非一過性のコンピュータ読取可能な記録媒体及びロボットシステムの制御装置
JP2019-213029 2019-11-26

Publications (2)

Publication Number Publication Date
DE102020101767A1 DE102020101767A1 (de) 2020-07-30
DE102020101767B4 true DE102020101767B4 (de) 2021-07-22

Family

ID=70682480

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020101767.7A Active DE102020101767B4 (de) 2019-01-25 2020-01-24 Steuerverfahren und steuerung für ein robotersystem

Country Status (3)

Country Link
JP (2) JP6697204B1 (de)
CN (1) CN111483750A (de)
DE (1) DE102020101767B4 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022101825B3 (de) 2022-01-26 2023-02-23 Ssi Schäfer Automation Gmbh (At) Verfahren und System für automatisierte Materialhandhabung einschließlich einer 100%-Verifikation
DE102022203410A1 (de) 2022-04-06 2023-10-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
DE102022121538A1 (de) 2022-08-25 2024-03-07 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Ablegen eines Objekts vermittels eines Roboters

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021202340A1 (de) 2021-03-10 2022-09-15 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung
CN117295480A (zh) * 2021-04-29 2023-12-26 X趋势人工智能公司 用于分配指定物品的机器人设备
DE102021115473A1 (de) * 2021-06-15 2022-12-15 Linde Material Handling Gmbh Verfahren zur automatischen Kommissionierung und mobiler Kommissionierroboter
CN116002368B (zh) * 2023-02-09 2023-08-04 安徽布拉特智能科技有限公司 一种电芯上料控制方法、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2578366A2 (de) 2011-10-04 2013-04-10 Kabushiki Kaisha Yaskawa Denki Robotervorrichtung, Robotersystem und Verfahren zur Herstellung eines zu bearbeitenden Materials
US20170076469A1 (en) 2015-09-14 2017-03-16 Kabushiki Kaisha Toshiba Object detection apparatus, depalletization automating apparatus, and object detection method
US20170326739A1 (en) 2014-12-09 2017-11-16 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and program
DE102017123877A1 (de) 2016-10-14 2018-04-19 Engel Austria Gmbh Robotersystem
JP2018167950A (ja) 2017-03-29 2018-11-01 トーヨーカネツソリューションズ株式会社 自動物流システム
DE102017005882A1 (de) 2017-06-22 2018-12-27 FPT Robotik GmbH & Co. KG Verfahren zum Betrieb eines Roboters zur Überprüfung seiner Arbeitsumgebung
JP2018202550A (ja) 2017-06-05 2018-12-27 株式会社日立製作所 機械学習装置、機械学習方法、および機械学習プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05217014A (ja) * 1992-02-07 1993-08-27 Fujitsu Ltd バーコード読み取り方法
JP5803769B2 (ja) * 2012-03-23 2015-11-04 トヨタ自動車株式会社 移動ロボット
JP6724499B2 (ja) * 2016-04-05 2020-07-15 株式会社リコー 物体把持装置及び把持制御プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2578366A2 (de) 2011-10-04 2013-04-10 Kabushiki Kaisha Yaskawa Denki Robotervorrichtung, Robotersystem und Verfahren zur Herstellung eines zu bearbeitenden Materials
US20170326739A1 (en) 2014-12-09 2017-11-16 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and program
US20170076469A1 (en) 2015-09-14 2017-03-16 Kabushiki Kaisha Toshiba Object detection apparatus, depalletization automating apparatus, and object detection method
DE102017123877A1 (de) 2016-10-14 2018-04-19 Engel Austria Gmbh Robotersystem
JP2018167950A (ja) 2017-03-29 2018-11-01 トーヨーカネツソリューションズ株式会社 自動物流システム
JP2018202550A (ja) 2017-06-05 2018-12-27 株式会社日立製作所 機械学習装置、機械学習方法、および機械学習プログラム
DE102017005882A1 (de) 2017-06-22 2018-12-27 FPT Robotik GmbH & Co. KG Verfahren zum Betrieb eines Roboters zur Überprüfung seiner Arbeitsumgebung

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022101825B3 (de) 2022-01-26 2023-02-23 Ssi Schäfer Automation Gmbh (At) Verfahren und System für automatisierte Materialhandhabung einschließlich einer 100%-Verifikation
WO2023143766A1 (de) 2022-01-26 2023-08-03 Ssi Schäfer Automation Gmbh (At) VERFAHREN UND SYSTEM FÜR AUTOMATISIERTE MATERIALHANDHABUNG EINSCHLIEßLICH EINER 100%-VERIFIKATION
DE102022203410A1 (de) 2022-04-06 2023-10-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
DE102022121538A1 (de) 2022-08-25 2024-03-07 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Ablegen eines Objekts vermittels eines Roboters

Also Published As

Publication number Publication date
JP6697204B1 (ja) 2020-05-20
JP2021003801A (ja) 2021-01-14
DE102020101767A1 (de) 2020-07-30
CN111483750A (zh) 2020-08-04
JP2021003800A (ja) 2021-01-14

Similar Documents

Publication Publication Date Title
DE102019130046B4 (de) Robotersytem mit verbessertem Abtastmechanismus
DE102020101767B4 (de) Steuerverfahren und steuerung für ein robotersystem
DE102019130048B4 (de) Ein Robotersystem mit Srückverlustverwaltungsmechanismus
DE102019009189B4 (de) Robotersytem mit Fehlererkennung und dynamischem Packmechanismus
DE102019009206B4 (de) Robotersystem mit dynamischem Packmechanismus
US11413753B2 (en) Robotic system control method and controller
DE112019000217B4 (de) Ein Robotersystem mit automatisiertem Paketregistrierungsmechanismus und Leitung zur automatischen Erkennung
DE102020100610A1 (de) Steuerung und steuerungsverfahren für robotersystem
DE112020000067T5 (de) Roboter-mehrfachgreiferbaugruppen und -verfahren zum greifen und halten von objekten
DE102020127473A1 (de) Robotersystem mit wandbasiertem packmechanismus und verfahren zum betreiben dieses systems
DE102020119866A1 (de) Roboter-mehrfachgreiferbaugruppen und -verfahren zum greifen und halten von objekten
DE102014102943B4 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
DE102016122678B4 (de) Werkstückpositions-/-Stellungsberechnungssystem und Handhabungssystem
DE102020116803A1 (de) System und verfahren zur objekterkennung auf der grundlage von bilddaten
DE102020112099A1 (de) Ein robotersystem mit einem koordinierten übertragungsmechanismus
DE102020111139A1 (de) Verfeinerung nach Erfassung basierend auf Kanten und mehrdimensionalen Ecken
DE102020118635A1 (de) 3D-Datenerzeugungsvorrichtung und Robotersteuersystem
DE102020206387B4 (de) Verfahren und computersystem zur verarbeitung von kandidatenkanten
DE102021103726B4 (de) Messparameter-Optimierungsverfahren und -vorrichtung sowie Computersteuerprogramm
EP4326500A1 (de) Ansteuerung eines industrieroboters für eine greifaufgabe
DE102021202570A1 (de) Vorrichtung und verfahren zum lokalisieren von stellen von objekten aus kamerabildern der objekte
EP4063080A1 (de) Verfahren zum ermitteln von steuerungsdaten für eine grei-feinrichtung zum greifen eines gegenstands
EP4063081A1 (de) Verfahren zum ermitteln von steuerungsdaten für eine greifeinrichtung zum greifen eines gegenstands
DE102021109036A1 (de) Vorrichtung und verfahren zum lokalisieren von stellen von objekten aus kamerabildern der objekte

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative

Representative=s name: ZACCO LEGAL RECHTSANWALTSGESELLSCHAFT MBH, DE