DE102021104001B3 - Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen - Google Patents

Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen Download PDF

Info

Publication number
DE102021104001B3
DE102021104001B3 DE102021104001.9A DE102021104001A DE102021104001B3 DE 102021104001 B3 DE102021104001 B3 DE 102021104001B3 DE 102021104001 A DE102021104001 A DE 102021104001A DE 102021104001 B3 DE102021104001 B3 DE 102021104001B3
Authority
DE
Germany
Prior art keywords
product
situation
robot
training data
annotation
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
DE102021104001.9A
Other languages
English (en)
Inventor
Daniel Greb
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.)
Gerhard Schubert GmbH
Original Assignee
Gerhard Schubert GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gerhard Schubert GmbH filed Critical Gerhard Schubert GmbH
Priority to DE102021104001.9A priority Critical patent/DE102021104001B3/de
Application granted granted Critical
Publication of DE102021104001B3 publication Critical patent/DE102021104001B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global
    • GPHYSICS
    • 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/45Nc applications
    • G05B2219/45048Packaging
    • 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/45Nc applications
    • G05B2219/45063Pick and place manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Statt für jede ermittelte Greif-Position und Raumlage mittels eines fest vorgegebenen, manuell programmierten, Algorithmus automatisch die notwendige Anfahr-/Greifbewegung für den Greifer zu errechnen, wird erfindungsgemäß vom Produkt in seiner realen Greif-Position und Raumlage ein Real-Bild ermittelt und anhand einer großen Anzahl von Beispiel-Bildern aus einem Beispiel-Satz auf die Greif-Position und Raumlage geschlossen, insbesondere mittels einer KI, zu denen jeweils eine bestimmte notwendige Anfahr-/Greifbewegung korreliert ist.Zusätzlich kann jedes Real-Bild als neues Beispiel-Bild hinterlegt werden einschließlich eines damit korrelierten, gegenüber dem ausgewählten Beispiel-Bild entsprechend dem Real-Bild veränderten und verbesserten Anfahr-/Greifbewegung.Dadurch wird die Anzahl der Beispiel-Bilder immer größer und die damit korrelierten Anfahr-/Greifbewegungen immer besser.

Description

  • I. Anwendungsgebiet
  • Die Erfindung betrifft Greif- und insbesondere Umsetz-Vorgänge von Produkten durch Handhabungs-Maschinen, hier verkürzt Roboter genannt, ohne die Erfindung auf Roboter zu begrenzen.
  • II. Technischer Hintergrund
  • Damit ein Roboter ein Produkt in der vorgegebenen Art und Weise ergreifen kann, muss vorher bekannt sein
    • - an welcher Position und
    • - in welcher Drehlage, also die Drehlage des Produktes im Raum, relativ zum Roboter sich das Produkt befindet,
    • - welche Form und Abmessungen das Produkt besitzt,
    • - gegebenenfalls welche Eigenschaften, insbesondere mechanischen Eigenschaften, zum Beispiel Festigkeit oder Oberflächenstruktur, das Produkt besitzt.
  • Zu diesem Zweck ist es bekannt, Position und Drehlage - zusammen die Raumlage - des Produktes mittels eines Scanners - worunter auch eine Kamera oder ein Kamera-System mit mehreren Kameras, verstanden werden soll - zu ermitteln, insbesondere wenn das Produkt sich relativ zum Roboter bewegt, beispielsweise, weil es transportiert wird.
  • Um die Daten diverser Kameras in eine konkrete Raumlage des Produktes umzurechnen, ist ein hoher Programmier- und anschließend bei der Positionsbestimmung jedes Produktes ein hoher Rechenaufwand erforderlich.
  • Form, Abmessungen und ggfs. Eigenschaften des Produktes wurden der die Greif-Bewegung oder Umsetz-Bewegung steuernden Software in der Regel vom Programmierer als Produkt-Datensatz eingegeben.
  • Die Position und Drehlage des Roboters, also der Roboter-Basis, an der der eine oder die mehreren beweglichen Roboter-Teile, insbesondere Roboter-Arme befestigt sind, muss natürlich ebenfalls bekannt sein, ist jedoch in der Regel dadurch gegeben, dass der Roboter fix montiert ist, also entweder gegenüber dem Untergrund oder am Grundgestell der z.B. Roboter-Straße, und seine Roboter-Basis demgegenüber eine dauerhaft gleiche Raumlage einnimmt.
  • Als Hauptteil enthielt die Software einen Algorithmus, wie sich der Greifer des Roboters - in Abhängigkeit von einer bekannten Ausgangslage des Greifers - bewegen sollte, um das definierte Produkt in seiner bekannten Position und Raumlage korrekt zu ergreifen, also den Aufnahme-Vorgang durchzuführen.
  • Unter korrektem Ergreifen ist zu verstehen, dass der Greifer in einer definierten Art und Weise das Produkt greift, also beim Greifen das Produkt zum Greifer eine vorgegebene Relativlage einnimmt.
  • Ist der Greifer beispielsweise ein Sauger, so soll er zum Ergreifen an einer bestimmten Außenfläche des Produktes, die in der Regel größer ist als die Fläche des Saugers, an einer ganz bestimmten Position und Drehlage innerhalb dieser Außenfläche an dem Produkt angreifen.
  • Diesen Hauptteil der Software zu programmieren erfordert in der Regel einen hohen zeitlichen Aufwand an manueller Programmierarbeit und ist zusätzlich damit fehleranfällig.
  • Vor allem aber muss dieser Hauptteil der Software beim Wechsel auf ein neues Produkt oder einer Änderung der Produkt-Umgebung an der Aufnahme-Stelle jedes Mal neu programmiert oder zumindest aufwändig angepasst werden durch wiederum manuelles Umprogrammieren.
  • Dies ist umso aufwändiger und umso schwieriger zu programmieren, je weniger das Produkt dabei vereinzelt ist:
    • Der Aufwand bei Produkten, die beispielsweise auf einem Produktband meist einzeln liegend und nur selten einander überlagernd angeliefert werden, ist wesentlich geringer als bei in eine Kiste geschütteten Produkten, die sich fast alle überlagern, und manchmal nicht einmal die am weitesten oben liegenden Produkte vollständig sichtbar und nicht abgedeckt sind. Deshalb ist der so genannte „Griff in die Kiste“ eine der am schwierigsten zu bewältigenden Greif-Aufgaben für einen Roboter.
  • Sofern das Produkt nicht nur ergriffen, sondern danach an einer Ablagestelle definiert abgelegt, also umgesetzt, werden soll, und die Ablage-Position - im Folgenden Nest genannt, auch wenn es sich um ein lediglich virtuell definiertes Ablage-Nest handelt - sich nicht immer an gleicher Position und in der gleichen Drehlage zum Roboter befindet, muss auch die Raumlage des Nestes zunächst ermittelt und dann im Hauptteil der Software davon abhängig die Ablage-Bewegung des Roboters mit gleichem Aufwand programmiert werden.
  • Um den Programmieraufwand - vor allem beim Umstellen auf ein neues Produkt - zu verringern, bedient man sich künstlicher Intelligenz, indem hierfür künstliche neuronale Netze (KNN) verwendet werden, vor allem für die Bilderkennung.
  • Damit ist es möglich, dass ein trainiertes KNN allein aus dem von der Kamera - die beweglich am Roboter, besser jedoch in einer fixen Position, etwa an der Roboter-Basis, angeordnet sein kann - aufgenommenen digitalen - zweidimensionalen oder dreidimensionalen - Bilder der Aufgreif-Stelle, an der auch das Produkt zu sehen ist, weiß, mit welchem Anfahrweg und vor allem aus welcher Anfahrrichtung und mit welcher Greifer-Stellung am Roboter das Produkt ergriffen werden kann oder muss.
  • Ebenso kann das Absetzen des Produktes in einem Nest auf diese Art und Weise durchgeführt werden, indem aufgrund des von der Kamera angefertigten Bildes der Ablagestelle, auf welcher das Nest zu sehen ist, das trainierte KNN weiß, mit welchem Anfahrtsweg und welcher Greiferstellung das am Greifer gehaltene Produkt zuverlässig und exakt im Nest abgesetzt werden kann.
  • Der Vorteil solcher KNN besteht darin, dass sie selbstlernend sind, und vor dem ersten Einsatz lediglich eine Trainingsphase als quasi Trockenübung, also ohne reale Produkte und reale Erkennungs- und Greifvorgänge, absolvieren muss - in der wie bekannt die Gewichtungen und Schwellenwerte der künstlichen Neuronen bzw. deren Verbindungskanten selbst lernend, das so genannte machine learning, optimiert werden - was anhand von Trainings-Datenfeldern mit möglichst vielen Trainings-Datensätzen durchgeführt wird, wobei das Ergebnis dieses Trainings umso besser ist, je mehr Trainings-Datensätze ein Trainings-Datenfeld umfasst.
  • Denn jeder Trainings-Datensatz betrifft eine bestimmte Situation des Produktes, wobei sich die Situationen nicht nur durch die Raumlage = Position und Drehlage des Produktes im Raum, voneinander unterscheiden können, sondern durch eine Vielzahl weiterer Begleit-Parameter wie
    • - dreidimensionale, insbesondere primäre, Form und Abmessung des Produktes (3D-Daten),
    • - dreidimensionale Sekundär-Struktur der Oberfläche des Produktes,
    • - Farbgebung der Oberfläche des Produktes,
    • - Reflexionsverhalten der Oberfläche des Produktes bezüglich der für die Herstellung des Bildes verwendeten elektromagnetischen Strahlung, insbesondere sichtbares Licht,
    • - Farbe und/oder Muster und/oder Struktur des Hintergrundes oder der Umgebung des Produktes,
    • - Vorhandensein eines weiteren Produktes in der Situation, entweder der gleichen Sorte von Produkt oder auch einer zweiten Produkt-Sorte,
    • - nur teilweise Erkennbarkeit des Produktes aufgrund teilweiser Abdeckung,
    • - ggfs. physikalische Parameter wie Formhaltigkeit, also Verformbarkeit oder andere für das Ergreifen relevante physikalische Parameter des Produktes
    • - ggfs. Anfahr-Weg, insbesondere Anfahr-Richtung, zum Produkt für das Ergreifen des Produktes durch den Greifer des Roboters
    • - ggfs. Anfahr-Weg, insbesondere Anfahr-Richtung, zum Nest für das Ablegen des Produktes durch den Greifer des Roboters im Nest
    usw.
  • Dadurch war bisher vor allem der Aufwand für das Herstellen eines Trainings-Datenfeldes mit beispielsweise tausenden von unterschiedlichen Trainings-Datensätzen selbst mit Computerunterstützung relativ aufwendig, da hierbei immer noch relativ viele manuelle Schritte erforderlich waren.
  • Dies war insbesondere deshalb nachteilig, weil die Umstellung auf ein neues, von dem Roboter beispielsweise umzusetzendes, Produkt sowie die dabei möglicherweise auftretenden neuen Begleit-Parameter vor Ort beim Betreiber des Roboters stattfand, die zur Erzeugung eines Trainings-Datenfeldes geeigneten Fachleute jedoch nicht vor Ort waren.
  • Aus der DE 10 2019 122 790 A1 ist ein Gelenkarm-Roboter mit einer Roboter-Hand zum Ergreifen eines Objektes bekannt, bei dem gemäß A1 eine erste Kamera vorhanden ist - vorzugsweise montiert am Roboter-Arm - um eine Achse der Roboter-Hand nachzuverfolgen. Das von dieser Kamera angefertigte Bild wird einem neuronalen Netz zur Verfügung gestellt, damit dieses Bewegungsdaten für die Roboter-Hand erzeugt, sodass das Objekt gegriffen wird. Gemäß A6 wird vorzugsweise die 6-D-Pose des Objekts, also dessen Raumlage inklusive Position und Drehlage im Raum, bestimmt und hieraus eine Vorgreif-Position für die Roboter-Hand bestimmt, zu welcher die Roboter-Hand bewegt wird, bevor das Bild der ersten Kamera erhalten wird.
  • Die 6-D-Pose des Objekts kann aus dem Bild einer zweiten, nicht am Roboter montierten, Kamera erhalten werden, dabei kann aus der 6-D-Pose auch eine spezifische Greifpose des Objekts ermittelt werden, in der Objekte ergriffen werden.
  • Das Trainieren des neuronalen Netzwerks kann erfolgen durch einen simulierten Greifvorgang, wobei das Ergebnis der Interaktion zwischen dem simulierten Roboter und dem simulierten Objekt bestimmt wird. Ferner wird ein Bild aus der Sicht der (simulierten) Roboter-Hand erzeugt.
  • Das Trainieren erfolgt unter Verwendung dieses Bildes und des Ergebnisses der Simulation.
  • Durch diese Schrift wird also eine grundsätzliche Möglichkeit der Bilderkennung und Auswertung mittels künstlicher Intelligenz und Trainings des dabei verwendeten neuronalen Netzwerks beschrieben.
  • Durch die DE 11 2018 007 729 T5 soll der „Griff in die Kiste“ eines Roboters optimiert werden, indem je ein Bild vor und nach der Entnahme eines Objektes aus der Kiste angefertigt wird und daraus Verschiebungen der verbleibenden Objekte in der Kiste ermittelt werden für die nächste Entnahme.
  • Dabei wird ein Einflussgrad erlernt, den diese Verschiebung auf den nächsten Entnahmevorgang haben muss.
  • Aus der DE 10 2018 001 781 B4 ist ebenfalls eine Möglichkeit zum Optimieren des „Griffs in die Kiste“ beschrieben, indem dort
    • - aus einem Bild der Situation in der Kiste Messdaten ermittelt werden
    • - diese Messdaten korrigiert werden mittels maschinellem Lernen aus den korrigierten Messdaten und den 3D-Daten des Objekts dessen 6-D-Pose, also Raumlage berechnet wird.
  • Auch die DE 10 2016 015 873 B3 versucht. den „Griff in die Kiste“ eines Roboters zu optimieren indem
    • - eine Lerneinheit die 3D-Daten des Objekts sowie ein Kennzeichner, also eine markante Stelle auf dem Objekt, mitgeteilt erhält
    • - eine Fehlerberechnungs-Einheit aus dem Vergleich des (echten) Kennzeichners mit der Kennzeichner-Lage laut Lerneinheit einen Fehler berechnet und
    • - das Lernmodell daran anpasst.
  • Diese Schrift beschriebt also grundsätzlich einen Trainingsvorgang für eine maschinelle Lerneinheit.
  • Auch die DE 10 2019 121 889 B3 beschreibt einen Trainingsvorgang für eine maschinelle Lerneinheit:
    • Dabei werden von Bilddaten, die auch geometrische Daten enthalten, nur die diese geometrischen Daten Trainings-Datensätze verwendet und daraus ein statisches Modell erzeugt. Das statistische Modell dieser geometrischen Daten wird in Abhängigkeit der Handhabung und des Bewegungsablaufs geändert.
  • III. Darstellung der Erfindung
  • a) Technische Aufgabe
  • Es ist daher die Aufgabe der Erfindung, den Vorbereitungs-Aufwand für das anschließende automatische, von einem Roboter unterstützt durch eine KI durchzuführende, Ergreifen und gegebenenfalls Umsetzen eines Produktes zu verringern bei gleichzeitigem Senken der Fehlerquote, insbesondere bei der Umstellung auf ein neues Produkt.
  • Insbesondere soll der Aufwand für die Erstellung des Trainings-Datenfeldes für das Erkennen von Produkt-Situationen, wie es vor allem für das Trainieren ein KNN benötigt wird, geringgehalten werden und damit auch der Umstellungsaufwand für das Ergreifen eines neuen Produktes durch den Roboter.
  • b) Definitionen
  • Für die vorliegende Beschreibung sollen folgende Definitionen gelten:
    • Raumlage:
      • Position + Drehlage
      • Trainings-Datenfeld;
      • Vielzahl von, insbesondere gleichartig aufgebauten, Trainings-Datensätzen Trainings-Datensatz:
        • - beschreibt Produkt in einer bestimmten Produkt-Situation
        • - enthält Situations-Bild (2-D oder 3-D) und Situations-Annotation Situations-Annotation:
          • enthält
        • - 6D-Daten des Produktes in dieser Situation
        • - die Begleit-Parameter der Situation 6D-Daten des Produktes:
          • Position und Drehlage des Produktes relativ zur aufnehmenden Kamera oder den mehreren aufnehmenden Kameras oder als Absolut-Lage im Raum Begleit-Parameter:
          • für die bestehende Aufgabe - zum Beispiel Ergreifen, Umsetzen und/oder Absetzen des Produktes durch einen Greifer, der insbesondere Teil eines Roboters ist - relevante Parameter der Umgebung, insbesondere der unmittelbar angrenzenden, Umgebung um das Produkt, wie beispielhaft vorstehend aufgelistet.
  • b) Lösung der Aufgabe
  • Diese Aufgabe wird durch die Merkmale der Ansprüche 1 und 21 gelöst. Vorteilhafte Ausführungsformen ergeben sich aus den Unteransprüchen.
  • Ein Verfahren zum automatischen Handhaben eines Produktes durch ein Werkzeug, etwa einen Greifer, meist einen Sauger, eines Roboters, bei dem der Roboter durch eine künstliche Intelligenz unterstützt wird, um die richtigen Bewegungen durchzuführen, umfasst mehrere, insbesondere aufeinander aufbauende, Einzel-Verfahren, die dementsprechend teilweise zusammenwirken, aber auch jeweils einzeln die bestehende Aufgabe lösen:
    • Durch ein solches Teil-Verfahren A wird der Vorbereitungsaufwand für das automatische Handhaben des Produktes verringert, indem das zum Trainieren der künstlichen Intelligenz (KI) erforderliche Trainings-Datenfeld, welches eine große Anzahl von einzelnen Trainings-Datensätzen aufweisen sollte, mit sehr wenig Zeit- und Rechenaufwand erstellt werden kann:
      • Ein solcher Trainings-Datensatz umfasst
        • - einerseits ein - in aller Regel digitales - Situations-Bild welches mindestens ein Produkt in einer Umgebung zeigt, wie sie für das Handhaben des Produktes vorliegen könnte sowie
        • - eine Situations-Annotation, die ein Datensatz ist, welcher einerseits die Position als auch die Raumlage des Produktes, zusammen die sogenannten 6D-Daten oder 6D-Pose (Position in allen drei Raumrichtungen sowie Drehlage um alle drei Raumrichtungen) wiedergibt und meist zusätzlich Begleit-Parameter der Situation, z.B. betreffend die Umgebung, in der sich dieses Produkt befindet.
  • Um ein Trainings-Datenfeld zur Verfügung zu stellen, wird im Schritt A1) mindestens ein erster Trainings-Datensatz vorgegeben, indem also das Situations-Bild das Produkt in der Raumlage und Umgebung sowie dem Zustand zeigt, wie er in der Situations-Annotation datenmäßig wiedergegeben ist.
  • Zusätzlich sollte gemäß Schritt A2) eine Auswahl-Liste für einzelne Begleit-Parameter vorgegeben werden, insbesondere für alle verfügbaren Begleit-Parameter, wie die gängigsten vorstehend aufgelistet wurden.
  • Erfindungsgemäß wird nun so vorgegangen, dass nach dem Zufallsprinzip eine bestimmte Position, Drehlage und ggfs. Umgebung und Zustand des Produktes ausgewählt und als 6D-Daten festgehalten werden und mit einer jeweils zufälligen Auswahl einer Möglichkeit aus jedem der Begleit-Parameter kombiniert wird zu einer Situations-Annotation gemäß Schritt A3).
  • Gemäß Schritt A4) wird aus dieser Situations-Annotation durch deterministisches Bestimmen, in der Regel durch Errechnen, ein digitales Situations-Bild der Szene mit dem Produkt zu jeder der automatisch erzeugten Situations-Annotationen erstellt und mit der jeweiligen Annotation gemäß Schritt A5) zu einem vollständigen Trainings-Datensatz kombiniert.
  • Auf diese Art und Weise müssen nur sehr wenige, insbesondere nur ein einziger erster Trainings-Datensatz vorgegeben werden und hierfür meist manuell erstellt werden, während die weiteren Trainings-Datensätze hieraus automatisch erzeugt werden können.
  • Hierfür ist zwar eine erhebliche Rechenleistung und auch eine erhebliche Rechenzeit notwendig, aber vom manuellen Arbeitsaufwand her müssen lediglich die Auswahl-Listen für die einzelnen Begleit-Parameter erstellt und mit vorgegeben werden.
  • Auf diese Art und Weise lässt sich ein Trainings-Datenfeld mit relativ vielen Trainings-Datensätzen - bei denen es einen exakt zutreffenden Zusammenhang zwischen dem Situations-Bild und der Situation-Annotation gibt - erstellen, und je größer das Trainings-Datenfeld ist, umso besser kann die KI damit trainiert werden.
  • Da dieser Vorgang beim Wechsel z. B. der Produktart, die beispielsweise in einer Verpackungs-Maschine verpackt werden soll, jedes Mal erneut durchgeführt werden muss, reduziert dies vor allem die Stillstands-Zeit der Verpackungs-Maschine beim Produktwechsel, da das Erstellen eines umfangreichen neuen Trainings-Datenfeldes für das neue Produkt durchgeführt werden kann, während auf der Verpackungs-Maschine noch das alte Produkt läuft.
  • Gerade wenn die Produkte nicht stark vereinzelt, etwa auf dem Produkt-Band einer Verpackungs-Maschine, liegen, sondern z.B. übereinander geschüttet auf einem Haufen, können die Situations-Bilder sehr komplex sein, beispielsweise kein einziges Produkt vollständig zeigen, und ebenso die 6D-Daten und vor allem deren Begleit-Parameter.
  • Die Schritte A3) und/oder A4) und/oder A5) werden in aller Regel computerunterstützt durchgeführt, wobei die einzelnen Schritte jeweils einzelne Teilprogramme in Form von Algorithmen sind, etwa
    • - ein Auswahl-Algorithmus zum zufälligen Auswählen der 6D-Daten für einen nächsten Trainings-Datensatz
    und/oder
    • - ein Bildberechnungs-Algorithmus zum Errechnen eines digitalen Situationsbildes aus jeder der automatisch erzeugten Situations-Annotationen
    und/oder
    • - ein Kombinations-Algorithmus zum Kombinieren des digitalen Situations-Bildes mit der zugehörigen Situations-Annotation.
  • Um das Situations-Bild möglichst realistisch aussehen zu lassen, kann im Schritt A4) eine virtuelle Belichtung und eine virtuelle Kamera vorgegeben werden, die sich in der Regel über dem Produkt oder Produkthaufen befinden, sodass aus der simulierten Art der Belichtung und Simulierung der virtuellen Kamera ein sehr realistisches Situations-Bild errechnen kann, wie es eine reale Kamera bei der unterstellten Belichtung aufnehmen würde, die sich anstelle der virtuellen Kamers, z.B. über der Szene mit dem Produkt, befindet.
  • Das Erstellen von Beispiel-Datensätzen kann aufgrund der physikalischen Eigenschaften des Produktes selbst noch sehr viel aufwendiger und komplizierter werden, z.B. wenn das Produkt beim Handhaben nicht formbeständig ist, sondern in einer relevanten Situation, beispielsweise bei einer Schüttung auf einem Haufen, bereits durch die anderen Produkte verformt werden kann.
  • Dann kann im Schritt A3), welcher als Begleit-Parameter die physikalischen Bedingungen für die Verformbarkeit des Produktes enthält, virtuell ein Verformungs-Modell erzeugt werden, indem mit Formen, Kräften und diesbezüglichen Werten nachvollziehbar beschrieben ist, unter welchen Umständen sich das Produkt wie verformt.
  • Das Verformungs-Modell sollte auch wiedergeben, wie die das Produkt umgebenden Teile - egal ob sie direkt oder indirekt am Produkt anliegen - seien es andere Produkte oder die Seitenwände eines Behälters, in dem sich das Produkt befindet, ebenfalls eine Verformung des betrachteten Produktes bewirken können.
  • Dabei muss ggfs. auch die Verformung der am betrachteten Produkt anliegenden anderen Produkte und deren Auswirkung auf Verformung des betrachteten Produktes ermittelt werden und die sich daraus ergebenden Überlappungen zwischen dem betrachteten Produkt und benachbarten Produkten.
  • Um einen Trainings-Datensatz mit einem verformbaren Produkt zu erstellen, kann auf unterschiedliche Art und Weise vorgegangen werden:
    • Eine Möglichkeit besteht im schrittweisen Aufbauen einer Schüttung oder Behälter-Füllung aus verformbaren Produkten:
      • Dabei wird auf einer virtuellen Ablagefläche - die auch von aufragenden virtuellen Wänden begrenzt sein kann und einem Behälter entspricht - an einer zufällig gewählten Position ein erstes Produkt abgelegt werden in einer möglichen Raumlage, also bei einem sehr flachen Produkt, welches nicht aufrecht stehen kann ohne Umzufallen, in einer liegenden Position.
  • Das erste Produkt wird virtuell unverformt auf der Ablagefläche abgelegt, könnte jedoch dort bereits in einem verformten Zustand liegen, wenn das verformbare Produkt nur geringe Rückstellkräfte aufweist und vorher willkürlich verformt werden sein könnte, oder durch Abwerfen auf die Ablagefläche einer Verformung unterzogen wurde.
  • Anschließend werden nacheinander ein zweites und ggfs. weitere Produkte, virtuell auf den entstehenden Haufen oder in den Behälter geworfen an zufällig ausgewählten Stellen, wobei realistische Fall-Geschwindigkeiten und Fall-Richtungen zufällig ausgewählt und unterstellt werden können und ebenso die Drehlage des jeweiligen Produktes beim Herabfallen.
  • Dabei werden auch die an den bereits im Haufen liegenden Produkte auftretenden Verformungen durch Darauffallen weiterer Produkte unter Zugrundelegung des Verformungs-Modells ermittelt, in der Regel berechnet.
  • Jedes der Produkte kann in jedem Zustand des Aufbaus des Haufens oder Behälterfüllung hinsichtlich Raumlage und Verformungszustand als Situations-Annotation verwendet werden, sofern das Produkt von oben zumindest teilweise sichtbar ist und für einen Greifer greifbar wäre.
  • Eine solche Situations-Annotation kann wieder als Basis zum Erstellen eines dazu passenden Situations-Bildes verwendet werden, sodass auf diese Art und Weise auch Trainings-Datensätze von verformbaren Produkten erstellbar sind, allerdings mit ungleich höherem Rechenaufwand als bei nicht verformbaren Produkten.
  • Für leicht verformbare Produkte ist dies jedoch unumgänglich, denn wenn fälschlicherweise von einem nicht verformbaren Produkt ausgegangen wird, in einem realen Bild einer Szene mit einem Produkt darin jedoch nur verformte Produkte vorkommen, wird die automatische Handhabung dieser Produkte durch den Greifer oder Sauger eines Roboters nicht zufriedenstellend funktionieren.
  • Für die Erzielung weiterer Trainings-Datensätze mit verformten Produkten kann somit
    • - entweder auf den bereits vorhandenen Haufen weitere virtuelle Produkte aufgeworfen werden und die jeweils obersten als Situations-Annotation mit den entsprechenden Begleit-Parametern verwendet werden
    • - oder es wird neu mit dem Aufbau eines Haufens mit einem ersten Produkt begonnen.
  • Um den Zeitaufwand für die Erstellung von Listen mit möglichen Varianten von Begleit-Parametern, und dies über viele verschiedene Begleit-Parameter, zu reduzieren, wird für einen Begleit-Parameter - beispielsweise die Farbe oder das Muster der Bedruckung des Produktes - nur ein erstes Listen-Element vorgegeben und davon ausgehend weitere Listen-Elemente durch Abwandlung und/oder Kombination von Merkmalen des wenigstens einen vorgegebenen Listen-Elementes automatisch erzeugt und so eine Auswahl-Liste mit einer erheblichen Anzahl von Listen-Elementen erzeugt. Auch dies erfolgt vorzugsweise computerunterstützt mit Hilfe eines Listen-Algorithmus.
  • Die möglichst vielen verschiedenen Varianten eines bestimmten Begleit-Parameters helfen, die KI speziell mit Bezug auf diesen Begleit-Parameter, aber natürlich auch in Kombinationen aller verschiedenen Begleit-Parameter, möglichst gut zu trainieren.
  • Vorzugsweise sind die beschriebenen Software-Algorithmen so aufgebaut, dass sie für unterschiedliche Produkte und/oder Begleit-Parameter und/oder Roboter-Aufgaben verwendbar sind und nicht jedes Mal neu erstellt werden müssen.
  • Von besonderer Bedeutung sind die 3D-Daten des Produktes, die also die exakte Form und Größe des Produktes wiedergeben.
  • Entweder werden diese 3D-Daten von außen vorgegeben, beispielsweise durch Einspielen von CAD-Daten des Produktes, oder diese 3D-Daten werden aus vorgegebenen verschiedenen zweidimensionalen digitalen Bildern, die beispielsweise das Produkt aus unterschiedlichen Ansichten und Entfernungen zeigen, und auf denen insbesondere ein Größen-Maßstab vorhanden ist, automatisch errechnet.
  • In aller Regel sind die 3D-Daten Bestandteil des Trainings-Datensatzes, also dessen Situations-Annotation, meist als der wichtigste Begleit-Parameter.
  • Die Frage, ob nur ein oder mindestens zwei Trainings-Datensätze von extern vorgegeben werden müssen, kann u.a. davon abhängen, welches Situations-Bild dabei Bestandteil des extern vorgegebenen Trainings-Datensatzes ist:
    • Handelt es sich dabei um ein dreidimensionales digitales Bild, so genügt in der Regel ein einziger vorgegebener Trainings-Datensatz, da aus dem digitalen dreidimensionalen Bild jederzeit beliebig viele zweidimensionale Bilder, egal in welcher Größe und Perspektive, erzeugt werden können.
  • Enthält ein vorgegebener Trainings-Datensatz dagegen jeweils nur ein einziges, zweidimensionales digitales Bild, so müssen mehrere Trainings-Datensätze vorgegeben werden, die mehrere zweidimensionale Digitale Bilder, aber aufgenommen aus unterschiedlichen Perspektiven, enthalten.
  • Mehrere zweidimensionale digitale Bilder in einem Trainings-Datensatz sind zwar von Vorteil, ersetzen ein dreidimensionales digitales Bild aber nur dann, wenn sie in so vielen verschiedenen Ansichten aufgenommen wurden, dass daraus ein dreidimensionales digitales Bild erzeugt werden kann.
  • Ein weiteres Teil-Verfahren B), bei dem eine starke Vereinfachung und Beschleunigung erreicht werden kann, ist das Verfahren zum Trainieren der KI mit Hilfe des Beispiel-Datenfeldes, welches insbesondere gemäß Teil-Verfahren A) erzeugt wurde:
    • Vorzugsweise wird hierbei gemäß Schritt B1) nur mit einem ersten Teil des Trainings-Datenfeldes, also dessen Datensätzen, das künstliche neuronale Netz (KNN) der KI trainiert, was in aller Regel mittels eine Trainings-Einheit erfolgt, die meist Bestandteil der KI selbst ist.
  • Nach einigem Training wird gemäß Schritt B2) ein zweiter Teil des Trainings-Datenfeldes zum Testen des Trainingszustandes der KI verwendet:
    • Hierzu wird aus den Datensätzen dieses zweiten Teils nur jeweils das Situations-Bild des Datensatzes als KI-Input (Anfragegröße) in die KI eingegeben. Die daraufhin vom KI als KI-Output (Antwortgröße) ausgegebene vermutete Situations-Annotation wird dann mit der errechneten, im jeweiligen Datensatz des Trainings-Datenfeldes enthaltenen, Situations-Annotation verglichen, indem gemäß Schritt B3) die Größe der Abweichung der von der KI vermuteten Situations-Annotation von der tatsächlichen, hinterlegten Situations-Annotation ermittelt wird.
  • Dabei ist ein Toleranzwert vorgegeben, sodass nur vermutete Annotationen, die um nicht mehr als den Toleranzwert vom der errechneten Situations-Annotation abweichen, als zulässig eingestuft werden.
  • Gemäß Schritt B4) muss die KI mindestens für einen vorgegebenen Prozentsatz, wenn nicht alle, Test-Datensätze zulässige Situations-Annotationen auswerfen, um als ausreichend gut trainiert eingestuft zu werden und das Training zu beenden.
  • Ist dies nicht der Fall, wird gemäß Schritt B5) die KI weiter trainiert mit den Datensätzen aus dem ersten Teil des Datenfeldes und ggfs. auch zusätzlich dem zweiten Teil des Datenfeldes gemäß Schritt B1) und nach einer weiteren Trainingszeit der Test des Trainingszustandes wiederum durchgeführt, vorzugsweise mit einem dritten Teil des Trainings-Datenfeldes.
  • Um das weitere Training effizienter zu gestalten kann auch vor der Fortsetzung des Trainings das Datenfeld, insbesondere dessen erster Teil, um weitere Trainings-Datensätze vergrößert werden wie unter Teil-Verfahren A) er läutert.
  • Auch das Teil-Verfahren C) betreffend das Ergreifen des Produktes durch den Greifer oder Sauger, insbesondere mittels der gemäß Teil-Verfahren B) trainierten KI, kann verbessert, insbesondere vereinfacht und beschleunigt, werden:
    • Grundsätzlich wird zum Ergreifen zunächst ein Real-Bild, also ein mittels einer realen Kamera angefertigtes Bild, von der Aufgreif-Stelle, also der Szene mit dem zu ergreifenden Produkt darin, angefertigt, in aller Regel in Form eines zweidimensionalen digitalen Bildes.
  • Gemäß Schritt C2) wird dieses Real-Bild vom Produkt als Anfrage in die KI eingegeben, und gemäß Schritt C3) dessen Antwort in Form einer vermuteten Situations-Annotation, also vor allem Position und Drehlage, des Produktes entgegengenommen.
  • Ausgehend von der nun bekannten Position und Drehlage des Produktes und ggfs. weiteren Details wie teilweiser Abdeckung des Produktes, können gemäß Schritt C4) nun - beispielsweise von der Steuerung des Roboters - die Anfahr- und Greif-Parameter für den Roboter ermittelt, vorzugsweise berechnet werden.
  • Dabei handelt es sich um Angaben, aus welcher Richtung und auf welchem Weg der Greifer sich dem betreffenden Produkt nähern soll und an welcher Fläche des Produktes der z.B. Sauger angreifen soll, was erst auf Basis von Position und Drehlage - also in Summe der Raumlage - des Produktes relativ zum Roboter, beispielsweise der fix an einem Maschinen-Gestell befestigten Roboter-Basis, ermittelt werden kann und in Kenntnis der momentanen Position des Greifers oder der Position, von der aus der Greifer die Anfahr-Bewegung beginnen soll.
  • Erst dann kann gemäß Schritt C5) die Annäherung des Greifers oder Saugers an das Produkt bis zu dessen Ergreifen durchgeführt werden.
  • Diese Vorgehensweise ist noch relativ einfach durchführbar, wenn auf dem Real-Bild nur ein Produkt zu erkennen ist, was vom Aufnahmebereich der Kamera abhängt und davon, wie stark die Produkte bereits vereinzelt sind.
  • Vor allem beim Ergreifen eines Produktes aus z.B. einer Schüttung von Produkten werden jedoch auf dem Real-Bild meist mehrere Produkte zumindest teilweise sichtbar sein.
  • Dann muss entschieden werden, welches dieser mehreren Produkte im Bild ergriffen werden soll, obwohl keines davon vollständig sichtbar ist.
  • Eine Möglichkeit besteht darin, für alle wenigstens teilweise sichtbaren Produkte im Bild zu ermitteln, welches davon den höchsten Vertikalwert aufweist. Von den Raumachsen X, Y, Z wird in der Regel mit Z die Vertikale bezeichnet. Der höchste Z-Wert oder Vertikalwert ist der Abstand von der Auflagefläche, den der davon am weitesten entfernte Punkt eines Produktes besitzt.
  • Wählt man nun das Produkt aus, welches den höchsten aller Z-Werte besitzt, so hat man das am weitesten nach oben aufragende Produkt ausgewählt.
  • Dies muss jedoch nicht unbedingt das am besten zu greifende Produkt sein, denn beispielsweise kann aus der Spitze einer kegelförmigen Schüttung noch ein Produkt nach oben nur mit seinem obersten Ende vorstehen, bietet jedoch keine ausreichend große Fläche Angriffsfläche, um daran einen Sauger als Werkzeug des Roboters anzusetzen.
  • Eine andere Möglichkeit besteht deshalb darin, von allen sichtbaren Produkten zu ermitteln, welches davon am wenigstens abgedeckt ist von darauf liegenden anderen Produkten oder darauf liegenden anderen Elementen, und dieses am wenigsten abgedeckte Produkt für das Ergreifen auszuwählen.
  • Sobald die Entscheidung für ein zu ergreifendes Produkt durch Auswahl wie vorbeschrieben getroffen wurde, wird vorzugsweise das Real-Bild in seiner Größe stark reduziert, sodass im Wesentlichen nur das ausgewählte Produkt darauf sichtbar ist.
  • Vorzugsweise wird das Real-Bild so in seiner Größe verringert, dass die Ausrichtung der Kanten des in der Regel rechteckigen reduzierten Real-Bildes mit der Richtung der Kanten des ursprünglichen, nicht reduzierten Real-Bildes übereinstimmt.
  • Sollten auf dem Real-Bild mehrere überhaupt nicht abgedeckte Produkte zu sehen sein, so kann zufallsbedingt eines davon ausgewählt werden und dann wie beschrieben vorgegangen werden, vorzugsweise durch Erstellen eines auf dieses ausgewählte Produkt reduzierten Real-Bildes.
  • Eine andere Möglichkeit besteht darin, von jedem der überhaupt nicht abgedeckten Produkte ein reduziertes Real-Bild anzufertigen und diese nacheinander als separate Anfrage in die KI einzugeben.
  • Auch das Teil-Verfahren D) betreffend das Ablegen eines Produktes in ein Nest durch das Werkzeug eines Roboters, insbesondere mittels der durch das Teil-Verfahren B) trainierten KI, kann verbessert, insbesondere vereinfacht und beschleunigt, werden:
    • Hierfür wird in einem Schritt D1) zunächst das Nest vorgegeben, in dem das Produkt abgelegt werden soll. Unter einem Nest ist dabei nicht zwingend eine körperliche Vertiefung zu verstehen, in die das Produkt eingelegt werden soll, sondern lediglich eine Ablageposition als virtuelles Nest, etwa auf einem kopier-Band oder in einem größeren um Karton der auf einem Behälterband steht.
  • Von dem Nest muss die Raumlage gemäß Schritt D2) bestimmt werden, also die 6D-Pose.
  • Diese kann entweder von extern vorgegeben werden gemäß Teil-Schritt D2.1) oder die Raumlage des zu bestücken den Nestes in einer seiner realen Raumlage und insbesondere in der realen Umgebung wird gemäß Teil-Schritt D2.2) erfasst, insbesondere durch Anfertigen eines digitalen Situation-Bildes von dem Nest, wobei darauf auch mehrere Nester sichtbar sein können.
  • Ausgehend von der Nest-Raumlage wird gemäß Schritt D3) der Anfahr- und Ablagevorgang festgelegt und durchgeführt.
  • Im Fall von D2.1) erfolgt dies einfach aufgrund der fest vorgegebenen Nest-Raumlage.
  • Im Fall von D2.2) ist diese noch nicht bekannt und wird ermittelt durch
    • - Eingeben des Real-Bildes als Anfrage in die KI gemäß Teil-Schritt D3.1),
    • - Entgegennehmen der Antwort der KI in Form einer vermuteten Situations-Annotation gemäß D3.2),
    • - Festlegen der Anfahr- und Ablage-Parameter für den Roboter, also der Bewegungs-Parameter für das Ablegen des Produktes, auf Basis der vermuteten Situation- Annotation gemäß D3.3)
    • - Durchführen des Ablagevorganges durch Heranfahren des Greifers mit dem daran gehaltenen Produkt an das Nest und Ablegen im Nest.
  • Sowohl hinsichtlich des Eingreifens als auch des Ablegens von Produkten können für alle erfolgreich durchgeführten Greif- und Ablage-Vorgänge das jeweilige reale Situations-Bild mit der von der KI vermuteten - und richtigen - Situations-Annotation verknüpft werden zu einer erfolgreichen Greif-Situation bzw. Ablage-Situation.
  • Diese erfolgreichen Situationen können insbesondere in die KI eingegeben werden als Vergrößerung deren Erfahrungsschatzes, und dabei insbesondere als in der Praxis erfolgreiche Situationen gekennzeichnet werden.
  • Die erfolgreichen Situationen können jedoch zusätzlich oder stattdessen dem Trainings-Datenfeld hinzugefügt werden als weitere Trainings-Datensätze, was für ein späteres mögliches Nachtrainieren der KI vorteilhaft sein kann.
  • Generell kann eine Situations-Annotation außer der Raumlage, also der 6D-Pose des Produktes oder des Nestes, auch oder stattdessen unmittelbar die Anfahr- und Greif- bzw. Ablage-Parameter für den Greifer mit umfassen, damit diese nicht erst aus den Antwortgrößen der KI errechnet werden müssen.
  • Definitionen der in der vorliegenden Beschreibung verwendeten Begriffe:
    • Machine-Learning = maschinelles Lernen bedeutet: künstliche Generierung von Wissen aus Erfahrung, nämlich aus Beispielen, meist in Form von Trainingsdaten, und deren Verallgemeinerung in einer Lernphase mittels selbstadaptiver Algorithmen in einem statistischen Modell der machine-learnable-Einheit, in der Regel einer EDV-Einheit. Nach durchgeführtem Training hier bezeichnet als machine-learned-Einheit
    • Künstliche Intelligenz KI bedeutet: eine Einheit bzw. ein System, welches in der Lage ist, maschinelles Lernen durchzuführen, also eine machine-learnable-Einheit, die ein künstliches neuronales Netz umfassen kann aber nicht zwingend umfasst trainierte KI = machine-learned-Einheit oder trainierte KI
    • Arbeits-Auftrag bedeutet: Beschreibung einer Bewegung und/oder Tätigkeit für einen Roboter
    • Auftrags-Daten bedeutet: Datensatz, der diese Beschreibung in Form von digitalen Daten wiedergibt
    • Begleit-Parameter bedeutet: Parameter, die die Begleit-Umstände des Arbeitsauftrages beschreiben und den Arbeitsauftrag selbst beeinflussen
    • Umgebungs-Parameter bedeutet: Parameter, die die Umgebung, insbesondere Eigenschaften der Umgebung, in der der Arbeitsauftrag durchgeführt wird, beschreiben, beispielsweise die Belastbarkeit oder das Schwingungsverhalten von an dem Arbeitsauftrag beteiligten Teilen, sei es des Roboters oder der Anwendung-Umgebung
    • Bewegung bedeutet: (vorgesehene) Bewegung eines Roboters, insbesondere dessen Werkzeuges
    • Bewegungs-Daten bedeutet: Datensatz, der diese Beschreibung in Form von digitalen Daten wiedergibt
    • Bewegungs-Abschnitt bedeutet: Teil einer Bewegung
    • Abschnitt-Bewegungs-Daten bedeutet: Datensatz, der diese Beschreibung in Form von digitalen Daten wiedergibt
    • Start-Kriterium für Bewegungs-Abschnitt bedeutet: ein meist zeitlich oder örtlich vorgegebenes Kriterium, ab dem ein Bewegung-Abschnitt vollzogen werden soll
    • Position bedeutet: die Stelle, an der sich ein Gegenstand, etwa ein Produkt oder ein Werkzeug, im Raum befindet, wofür bei Werkzeugen meist die Position des TCP = Tool Center Point verwendet wird
    • Drehlage bedeutet: die Drehlage, an der sich ein Gegenstand, etwa ein Produkt oder ein Werkzeug, im Raum befindet, insbesondere relativ zu festgelegten Raumachsen
    • Raumlage = 6D-Pose bedeutet: Summe aus Position und Drehlage
    • Ankunfts-Richtung bedeutet: diejenige Richtung, aus der sich ein Werkzeug dem Startpunkt für eine vorgesehene Bewegung des Werkzeuges, also einem Bewegungs-Abschnitt, voraussichtlich nähern wird, falls die vorgesehene Bewegung keine andere Ankunfts-Richtung benötigt
    • Ankunfts-Geschwindigkeit bedeutet: diejenige Geschwindigkeit, mit der sich ein Werkzeug dem Startpunkt für eine vorgesehene Bewegung des Werkzeuges, also einem Bewegungs-Abschnitt, voraussichtlich nähern wird, falls die anschließende Bewegung keine andere Geschwindigkeit erfordert
    • Abfahr-Richtung bedeutet: diejenige Richtung, in die sich ein Werkzeug vom Zielpunkt einer vorgesehenen Bewegung des Werkzeuges, also eines Bewegungs-Abschnitts, voraussichtlich entfernen wird, falls die nachfolgende Bewegung keine andere Abfahrts-benötigt
    • Anfahr-Geschwindigkeit bedeutet: diejenige Geschwindigkeit, mit der sich ein Werkzeug vom Zielpunkt einer vorgesehenen Bewegung des Werkzeuges, also einem Bewegungs-Abschnitt, voraussichtlich entfernen wird, falls die anschließende Bewegung keine andere Geschwindigkeit erfordert
    • Schwingungs-Modell bedeutet: mathematisches Modell zur Berechnung des Schwingungsverhaltens eines Bauteiles
    • Belastungs-Modell bedeutet: mathematisches Modell zur Berechnung auftretender Belastungen an einem Bauteil
    • zeitlicher Vorlauf bedeutet: in Zeiteinheiten angegebener Vorlauf, etwa des Beginns eines vorgesehenen Bewegungs-Abschnittes vom momentanen Zeitpunkt aus
    • örtlicher Vorlauf bedeutet: in Längeneinheiten angegebener Vorlauf, etwa des Beginns eines vorgesehenen Bewegungs-Abschnittes vom momentanen Standpunkt des betreffenden Bauteils, beispielsweise des Werkzeuges eines Roboters, aus
    • Stopp-Sequenz bedeutet: Teil-Datensatz der das abbremsen eines Bauteils, insbesondere des Werkzeuges des Roboters das bis zum Stillstand beschreibt von der Geschwindigkeit und Richtung, die das Werkzeug normalerweise am Ende dieses Bewegungs-Abschnittes besitzt; die Stopp-Sequenz ist i.d.R. Teil der Abschnitts-Bewegungs-Daten.
  • c) Ausführungsbeispiele
  • Ausführungsformen gemäß der Erfindung sind im Folgenden beispielhaft näher beschrieben. Es zeigen:
    • 1a: ein Anwendungs-System mit Robotern in der Aufsicht,
    • 1b: das Anwendungs-System der 1a in Transport-Richtung des Produkt-Bandes betrachtet,
    • 2: Prinzip-Darstellung von Bewegungs-Abschnitten und zugehörigen Bewegungs-Abschnitts-Datensätzen
    • 3: ein Ablaufschema für die automatische Erzeugung von Trainings-Datensätzen,
    • 4: ein Ablaufschema für das Trainieren der KI,
    • 5: ein Ablaufschema für das Abwickeln realer Arbeits-Aufträge in der Anwendung-Umgebung Hilfe der trainierten KI.
  • Die 1a, b zeigen ein Roboter-Anwendungs-System mit einer Roboter-Anwendungsumgebung 100 in Form einer Roboter-Straße 100, bei der entlang des in Transportrichtung X bewegbaren Produkt-Bandes 101 und den parallel dazu zum Beispiel entlang einer Fahrschiene 105 erfahrbaren Schlitten 102, die Umverpackungen wie einen Karton K tragen können, mehrere Roboter 1 in Transportrichtung X hintereinander angeordnet sind.
  • Die Roboter 1 sollen jeweils ein Produkt P auf dem Behälter-Band 101 ergreifen, vom Behälter-Band 101 abheben, zum Nest verfahren und in einem vorgegebenen Nest eines Behälters wie eines Kartons K, z.B. auf einem Schlitten 102, Ablegen und werden hierfür mit dem erfindungsgemäßen Steuerungsverfahren gesteuert.
  • Das Roboter-Anwendungs-System umfasst neben dieser Anwendungs-Umgebung 100 in Form einer Roboter-Straße 100 eine Anwendungs-Steuerung 100*, die auch eine für die Aufgaben der Roboter-Straße trainierte KI umfasst und in diesem Fall sowohl die einzelnen Roboter 1 als auch die anderen beweglichen Teile der Roboter-Straße 100, insbesondere das Behälter-Band 101 und die Schlitten 102, steuert und auch mit dem an einer festen Position, z.B. über, dem Behälter-Band 101 montierten Scanner 103 in datentechnischer Verbindung steht, unter dem die Produkte P auf dem Behälter-Band 101 durchlaufen und welcher deren Position auf dem Behälter-Band 101 noch stromaufwärts des Umsetz-Bereiches - also des Bereiches in Transportrichtung X, in dem die Umsetz-Roboter 1 arbeiten - ermittelt und an die Anwendungs-Steuerung 100* meldet.
  • Als Roboter 1 sind hier serielle Roboter 1 dargestellt - was für die Durchführung der Erfindung wesentlich ist -, die hängend mittig über dem Behälter-Band 101 an jeweils einer in Querrichtung Y sich quer über dem Behälter-Band 101 erstreckenden Quertraverse 104 mit ihrer Roboter-Basis 6 befestigt sind. Der Oberarm 2 des Roboters 1 ist dabei um eine aufrechte, insbesondere vertikale, Achse 2' gegenüber der Roboter-Basis 6 verschwenkbar und am freien Ende des Oberarmes 2 ist ein Unterarm 3 des Roboters 1 um eine aufrechte, insbesondere vertikale Schwenkachse 3' verschwenkbar befestigt.
  • Am freien Ende des Unterarmes 3 befindet sich als Roboter-Hand 4 eine gegenüber dem Unterarm 3 in der Höhe verfahrbare Hubsäule 4, an deren unteren freien Ende als Werkzeug 5 ein Sauger 5 dargestellt ist.
  • Die Hubsäule 4 ist gegenüber dem Unterarm 3 in der Höhe verfahrbar und um eine aufrechte, insbesondere vertikale, Schwenkachse 4' schwenkbar.
  • Der Roboter 1 ist so dimensioniert, dass er in Querrichtung Y sowohl Positionen auf in seinem Arbeitsbereich befindlichen Schlitten 102 als auch alle Querpositionen auf dem Behälter-Band 101 erreichen kann.
  • Weiterhin kann das Roboter-Anwendungs-System - auch abseits von der Roboter-Anwendungsumgebung 100 - einen Vorberechnungs-Rechner (Vor-PC) zum Vorberechnen optimierter Bewegungs-Abschnitts-Daten BAD1 - BAD3 aus vorgegebenen beispielhaften Arbeits-Aufträgen und deren Bewegungsdaten, in diesem Fall Umsetz-Vorgängen oder Bewegungs-Abschnitten BA aus solchen Umsetz-Vorgängen.
  • So kann beispielsweise bei dem in 2 dargestellten Umsetz-Vorgang vom Start S bis zum Ziel Z die Anhebe-Bewegung und/oder die Absetz-Bewegung und/oder die etwa horizontale Verlagerungs-Bewegung als jeweils ein solcher separater Bewegungs-Abschnitt BA1 bis BA3 behandelt werden mit jeweils zugehörigen Bewegungs-Abschnitts-Daten BAD1 - BAD3, die in einem Datenpuffer 8 vorgehalten werden bis zum Durchführen dieses Bewegungs-Abschnittes, und vorzugsweise dort in der richtigen Reihenfolge.
  • Die Bewegungs-Abschnitts-Daten BAD1 - BAD3 können am Ende jeweils eine schwarz eingefärbte Stopp-Sequenz enthalten für den Fall, dass keine anschließenden Bewegungs-Abschnitts-Daten für das Ende der momentan durchgeführten Bewegung und deren Bewegungs-Abschnitts-Daten vorhanden sein sollte.
  • Das Roboter-Anwendungs-System umfasst weiterhin eine künstliche Intelligenz (KI) - wie oben erwähnt als Bestandteil der oder zumindest in datentechnischer Verbindung mit der Anwendung-Steuerung 100*- die mit dem vom Vorberechnungs-Rechner (Vor-PC) aus beispielhaften Arbeits-Aufträgen, also Bewegungs-Abschnitten BA1 - BA3, und hierfür ermittelten beispielhaften optimierten Bewegungs-Abschnitts-Daten BAD1 - BAD3 trainiert wurde zur Verbesserung der Steuerung eines Roboters 1 oder alle Roboter 1 der Roboter-Anwendungsumgebung.
  • Wie in 1b dargestellt, muss für einen Umsetz-Vorgang ein Produkt P nach dem Ergreifen auf dem Behälter-Band 101 von diesem abgehoben werden, über dem Behälter-Band 101 mit Hilfe des Roboters 1 verlagert und dort durch Absenken in einem von der Anwendungs-Steuerung 100* vorbestimmten Nest, etwa in einem Karton K auf einem im Arbeitsbereich dieses Roboters 1 gefahrenen Schlittens 102, abgelegt werden.
  • 3 zeigt die Vorgehensweise, wie der Vorberechnungs-Rechner Vor-PC automatisch ein Trainings-Datenfeld zum Trainieren der KI aus einer Vielzahl von Datensätzen erstellt.
  • Ein Datensatz umfasst die Situations-Annotation bestehend aus der Raumlage des Produktes, also den 6D-Daten, sowie die konkreten in dieser Situation gegebenen Begleit-Parameter, beispielsweise optische Gestaltung des Produktes, optische Gestaltung des Hintergrundes, usw.
  • Die in einer bestimmten Anwendung auftretenden Begleit-Parameter BP werden abschließend (BP1, BP2, BP3), festgelegt und für jeden davon ist im Datensatz in der Situations-Annotation ein Wert festgelegt.
  • Aus dieser Situations-Annotation bestimmt der Vor-PC, in der Regel nach deterministischen Grundsätzen, meist durch Berechnen mittels entsprechender konkreter Algorithmen, ein digitales Situations-Bild, welches ein Produkt in einer solchen Situation, also einer solchen Umgebung, zeigt, die durch die 6D-Daten und die Begleitparameter dieser Situations-Annotation vorgegeben sind.
  • Sowohl für die möglichen 6D-Daten als auch jeden der vorliegenden Begleit-Parameter BP1 - BP3 werden vom Benutzer eine Auswahlliste zum Beispiel mit den Möglichkeiten BP1a bis BP1z dem Vor-PC eingegeben.
  • Dieser wählt per Zufallsgenerator aus jeder der Listen eine Möglichkeit aus, und stellt diese zur Situations-Annotation zusammen und errechnet daraus, wie im unteren Teil der 3 dargestellt, das - meist zweidimensionale - Situations-Bild.
  • Sobald das Trainings-Datenfeld eine ausreichend große Anzahl von Trainings-Datensätzen umfasst, wird damit die KI trainiert gemäß 4:
  • Die Datensätze eines ersten Teils des Trainings Datenfeldes, hier die Datensätze 1 - 4, werden komplett, also mit Situations-Annotation und Situations-Bild, in die KI eingegeben, die sich mithilfe ihrer internen machine-learning-Modelle damit selbst trainiert.
  • Anschließend wird der Trainingszustand der KI getestet, indem von weiteren Trainings-Datensätzen, hier die Datensätze Nummer 5 bis 7, nur das Situations-Bild in die KI eingegeben wird, die daraus jeweils eine vermutliche Situations-Annotation abschätzt.
  • Diese vermutete Situations-Annotation wird von einem Vergleicher mit der in den entsprechenden Trainings-Datensätzen 5 - 7 jeweils hinterlegten Situations-Annotation verglichen.
  • Sind die von der KI herausgegebenen vermuteten Situation- Annotationen gut genug - wofür ein Toleranzwert vorgegeben wird - so gilt die KI als ausreichend gut trainiert, sodass sie in der realen Anwendungs-Umgebung eingesetzt werden kann gemäß Teil-Verfahren C.
  • Wenn nicht, wird die KI mit einem weiteren Teil des Trainings-Datenfeldes weiter trainiert und wenn hierfür nicht genug weitere Trainings-Datensätze zur Verfügung stehen, hierfür wie anhand 3 erläutert dem Trainings-Datenfeld automatisch weitere Trainings-Datensätze hinzugefügt.
  • Die ausreichend trainierte KI kann gemäß 5 in der Roboter-Anwendungs-Umgebung 100 eingesetzt werden.
  • Hierfür wird von einer - meist ortsfest montierten - Kamera 7 ein Situations-Bild von einem oder mehreren der z.B. auf dem Produkt-Band 101 herantransportierten, vom Roboter 1 zur ergreifenden Produkte P aufgenommen und an die KI weitergeleitet als Anfrage.
  • Diese gibt als Antwort eine Situations-Annotation aus, die die Raumlage, also die 6D-Daten, und die Begleit-Parameter BP1 bis BP3 des Produktes P aus dem eingegebenen Situations-Bild als Daten wiedergeben soll.
  • Aus den Daten dieser Situation-Annotation erstellt die Anwendungs-Steuerung 100* konkrete Steuerkommandos für die einzelnen Antriebe des Roboters 1, der das oder ein bestimmtes der Produkte, die auf dem Situations-Bild zu erkennen war, zielgenau Ergreifen und vom Produkt-Band 101 abheben soll.
  • Zum Einen reagiert die KI auf eine Anfrage schneller mit einer Antwort, als eine deterministische Berechnung dies könnte, zum Anderen muss bei Umstellen von einem Produkt P auf eine andere Art von Produkt nicht ein solcher deterministischer Berechnungsalgorithmus großenteils neu programmiert werden, sondern lediglich die KI mit anderen Trainingsdaten neu trainiert werden, was aber nicht die Benutzung der konkreten Anwendungsumgebung voraussetzt, was diese blockieren würde.
  • Bezugszeichenliste
  • 1
    Roboter
    2
    Oberarm
    2'
    Schwenkachse
    3
    Unterarm
    3'
    Schwenkachse
    4
    Hand, Hubsäule
    4'
    Schwenkachse
    5
    Werkzeug, Greifer, Sauger
    6
    Roboter-Basis
    7
    Kamera
    8
    Datenpuffer
    9
    10
    Transportrichtung
    11
    Querrichtung
    12
    Vertikale
    100
    Anwendungs-Umgebung, Verpackungs-Maschine, Roboter-Straße
    100*
    Steuerung, Anwendungs-Steuerung
    101
    Produkt-Band
    102
    Schlitten
    103
    Scanner
    104
    Quertraverse
    105
    Fahrschiene
    K
    Karton, Umverpackung
    P
    Produkt
    S
    Startpunkt
    Z
    Zielpunkt

Claims (21)

  1. Verfahren zum automatischen Handhaben eines Produktes (P) in einem Roboter-Anwendungssystem mit einer Roboter-Anwendungsumgebung (100), insbesondere einer Roboter-Straße (100), durch einen Greifer (5) eines Roboters (1) unterstützt durch eine künstliche Intelligenz (Kl) umfassend A) ein Verfahren zum automatischen Erstellen eines synthetischen, also virtuellen, Trainings-Datenfeldes für die KI mit einer Vielzahl von Trainings-Datensätzen, die jeweils eine konkrete Produkt-Situation betreffen, wobei jeder Trainings-Datensatz umfasst - ein digitales Situations-Bild und - eine Situations-Annotation, welche umfasst - die 6D-Daten des Produktes in dieser Situation und - Begleit-Parameter der Situation betreffend die Umgebung des Produktes oder das Produkt selbst, umfassend die Schritte A1) vorgeben mindestens eines ersten Trainings-Datensatzes, A2) vorgeben jeweils einer Auswahl-Liste mit mindestens einem Begleit-Parameter, gekennzeichnet durch A3) automatische zufällige Auswahl von 6D-Daten des Produktes sowie zufällige Auswahl je einer Möglichkeit für jeden dieser Begleit-Parameter aus der Auswahlliste und Kombination zu jeweils einer Situations-Annotation, A4) deterministisches Bestimmen, insbesondere Errechnen, eines digitalen Situations-Bildes aus jeder der automatisch erzeugten Situations-Annotationen und A5) Kombination der beiden zu einem vollständigen Trainings-Datensatz.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass - die Schritte A3) und/oder A4) und/oder A5) computerunterstützt mit Hilfe jeweils eines vorgegebenen Software-Algorithmus durchgeführt werden, insbesondere mittels - eines Auswahl-Algorithmus zum zufällige Auswählen von 6D-Daten, und/oder - eines Bildberechnungs-Algorithmus zum Errechnen eines digitalen Situations-Bildes aus jeder der automatisch erzeugten Situations-Annotationen, und/oder - eines Kombinations-Algorithmus zum Kombinieren des digitalen Situation-Bildes mit der zugehörigen Situations-Annotation.
  3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Schritt A4) das Situations-Bild errechnet wird durch Vorgeben einer Belichtung und einer virtuellen Kamera und Errechnen des sich damit ergebenden digitales Situations-Bildes.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Falle einer Verformbarkeit des Produktes in einer relevanten Situation im Schritt A3) - aus den entsprechenden Begleit-Parametern virtuell ein Verformungs-Modell erstellt wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für die Erstellung eines Trainings-Datensatzes mit einem verformten Produkt - auf einer virtuellen Ablagefläche, die insbesondere von aufragenden virtuellen Wänden begrenzt sein kann, an einer zufälligen Position ein 1. Produkt abgelegt wird in einer möglichen Raumlage, vorzugsweise unverformt, - anschließend nacheinander virtuell weitere Produkte auf den entstehenden Haufen oder in den Behälter geworfen werden mit zufälligen realistischen Fallgeschwindigkeiten und Fall-Richtungen sowie Drehlagen der Produkte beim Fallen, - dabei die Verformungen der im Haufen liegenden Produkte unter Anwendung des Verformungs-Modells jeweils ermittelt werden, - Position, Raumlage und Verformungszustand eines obenliegenden, wenigstens teilweise sichtbaren Produktes als Situation-Annotation für einen Trainings-Datensatz verwendet wird.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für die Erzielung weiterer Trainings-Datensätze mit verformten Produkten - entweder auf den Haufen virtuell weitere Produkte aufgeworfen werden und/oder - der neue Aufbau eines Haufens begonnen wird.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für die Erstellung eines Trainings-Datensatzes mit einem verformten Produkt - aus den das betrachtete Produkt umgebenden Teilen, insbesondere anliegenden anderen Produkten oder anliegenden Seitenwänden eines Behälters, in dem sich das Produkt befindet, die Verformung des betrachteten Produktes ermittelt wird, - gegebenenfalls auch die Verformung der an dem betrachteten Produkt anliegenden anderen Produkte ermittelt wird und die sich daraus ergebenden Überlappungen am betrachteten Produkt.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zumindest für einige Begleit-Parameter zur Erzeugung der Auswahl-Liste - wenigstens ein erstes Listen-Element vorgegeben wird, - davon ausgehend weitere Listen-Elemente durch Abwandlung und/oder Kombination von Merkmalen des wenigstens einen vorgegebenen Listen-Elementes automatisch erzeugt werden, - vorzugsweise computerunterstützt mit Hilfe eines vorgegebenen Software-Algorithmus, des Listen-Algorithmus.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Software-Algorithmen so aufgebaut sind, dass sie für unterschiedliche Produkte und/oder Begleit-Parameter und/oder Roboter-Aufgaben verwendbar sind.
  10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass - die 3D-Daten des Produktes zuvor aus mehreren vorgegebenen zweidimensionalen digitalen Bildern des Produktes automatisch errechnet werden, - insbesondere ein vorgegebener Trainings-Datensatz auch die 3D-Daten des Produktes als Begleit-Parameter enthält.
  11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass - mehrere Trainings-Datensätze vorgegeben werden, - die als Situations-Bild jeweils nur ein zweidimensionales digitales Bild enthalten.
  12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei nur einem vorgegebenen Trainings-Datensatz das Situations-Bild ein dreidimensionales digitales Bild ist.
  13. Verfahren zum automatischen Handhaben eines Produktes in einem Roboter-Anwendungssystem mit einer Roboter-Anwendungsumgebung (100), insbesondere einer Roboter-Straße (100), durch einen Greifer eines Roboters unterstützt durch eine künstliche Intelligenz (Kl) umfassend B) ein Verfahren zum Trainieren der KI hinsichtlich des Rückschlusses von einem Situations-Bild auf die zugehörige Situations-Annotation mit folgenden Schritten B1) mit einem 1. Teil des Trainings-Datenfeldes, also dessen Datensätzen, das künstliche neuronale Netz (KNN) der KI mittels der Trainings-Einheit der KI trainiert wird, B2) danach wird mit den Datensätzen eines 2. Teil des Trainings-Datenfeldes jeweils nur das Situations-Bild als Kl-Input in die Kl eingegeben und die vom KI als KI-Output ausgegebene vermutete Situations-Annotation mit der errechneten, im Datensatz des Trainings-Datenfeldes enthaltenen, Situations-Annotation verglichen wird, B3) die Abweichung der vermuteten Situations-Annotation von der tatsächlichen Situations-Annotation ermittelt wird, B4) bei Vorliegen einer zulässigen, geringen Abweichung, die unter einem vorgegebenen Toleranzwert liegt, für einen vorgegebenen Mindest-Prozentsatz (S.14, Z. 25), insbesondere allen, von Situations-Annotationen dieses 2. Teils die KI als ausreichend gut trainiert eingestuft wird und Training beendet wird, oder B5) bei noch nicht ausreichend gut trainierter KI das Training mit dem 1. Teil der Datensätze gemäß B1) fortgesetzt wird und anschließend der Trainingszustand der KI mit dem 2. oder einem 3. Teil des Datenfeldes gemäß B2) und B3) erneut überprüft wird.
  14. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für die Fortsetzung des Trainings das Datenfeld, insbesondere dessen 1. Teil, um weitere Datensätze vergrößert wird durch virtuelles Erzeugen weiterer Datensätze.
  15. Verfahren zum automatischen Handhaben eines Produktes in einem Roboter-Anwendungssystem mit einer Roboter-Anwendungsumgebung (100), insbesondere einer Roboter-Straße (100), durch einen Greifer eines Roboters unterstützt durch eine künstliche Intelligenz (Kl) umfassend C) ein Verfahren zum Ergreifen des Produktes mit folgenden Schritten C1) Anfertigen eines Real-Bildes von der Aufgreif-Stelle, C2) Eingeben des Real-Bildes vom Produkt als Anfrage in die KI, C3) Entgegennehmen der Antwort der Kl in Form einer vermuteten Situations-Annotation, C4) Festlegen der Anfahr- und Greif-Parameter des Roboters auf Basis der vermuteten Situations-Annotation, C5) Durchführen des Anfahr- und Greif-Vorganges.
  16. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass zwischen den Schritten C1) und C2) im Fall von mehreren auf dem Real-Bild zumindest teilweise sichtbaren Produkten - entweder für alle wenigstens teilweise sichtbaren Produkte ermittelt wird, welches deren jeweils höchster Z-Wert ist und Auswahl des Produktes mit dem höchsten aller Z-Werte, - oder für alle wenigstens teilweise sichtbaren Produkte ermittelt wird, welches davon am wenigsten abgedeckt ist von teilweise darauf liegenden Elementen, insbesondere Produkten und Auswahl des am wenigsten abgedeckten Produktes, - möglichst starkes Reduzieren des Real-Bildes auf eine Bildgröße, die möglichst nur das ausgewählte Produkt beinhaltet, - Eingeben des reduzierten Realbildes als Anfrage in die Kl.
  17. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei mehreren überhaupt nicht abgedeckten Produkten - entweder zufallsbedingt eines davon ausgewählt wird - oder von beiden ein möglichst stark reduziertes Real-Bild angefertigt wird und jedes als separate Anfrage in die Kl eingegeben wird.
  18. Verfahren zum automatischen Handhaben eines Produktes in einem Roboter-Anwendungssystem mit einer Roboter-Anwendungsumgebung (100), insbesondere einer Roboter-Straße (100), durch einen Greifer eines Roboters unterstützt durch eine künstliche Intelligenz (Kl) umfassend D) ein Verfahren zum Umsetzen des Produktes mit folgenden Schritten D1) ein Nest für die Ablage des Produktes vorgegeben wird, D2) die Nest-Position und Nest-Raumlage des Nestes bestimmt wird indem D2.1) entweder die Nest-Position und Nest-Drehlage fest vorgegeben werden, D2.2) oder durch Erfassen des zu bestückenden Nestes in seiner realen Raumlage und insbesondere realen Umgebung, insbesondere durch Anfertigen eines Situation-Bildes von der Ablege-Stelle, insbesondere mit mehreren darauf sichtbaren Nestern, D3) Festlegen und Durchführen des Anfahr- und Ablage-Vorganges, im Falle von D2.1) - auf Basis der fest vorgegebenen Nest-Raumlage im Falle von D2.2) durch D3.1) Eingeben des Real-Bildes als Anfrage in die KI, D3.2) entgegennehmen der Antwort der Kl in Form einer vermuteten Situations-Annotation, D3.3) Festlegen der Anfahr- und Ablage-Parameter des Roboters auf Basis der vermuteten Situations-Annotation, D3.4) Durchführen des Anfahr- und Ablage-Vorganges. (allgemein:)
  19. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass - die realen Situations-Bilder und aus diesen von der KI vermuteten Situations-Annotationen aller erfolgreich durchgeführten Anfahr- und Greif-Vorgänge und/oder Anfahr- und Ablage-Vorgänge verknüpft wird zu erfolgreichen Greif-Situationen bzw. Ablage-Situationen, insbesondere - entweder die erfolgreichen Situationen gekennzeichnet als erfolgreich in die KI eingegeben werden - und/oder dem Trainings-Datenfeld hinzugefügt werden als weitere Trainings-Datensätze für ein mögliches Nachtrainieren der Kl.
  20. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass - im Verfahren A) insbesondere im Schritt A2), und/oder - im Verfahren B), und/oder - im Verfahren C) insbesondere im Schritt C4) die Situations-Annotation außer Position und Drehlage des Produktes bzw. Nestes auch die Anfahr- und Greif-Parameter bzw. an Anfahr- und Ablage-Parameter als Begleit-Parameter für den Greifer umfassen, und diese insbesondere nicht erst aus der von der KI vermuteten Situations-Annotation errechnet werden müssen.
  21. Roboter-Anwendungssystem mit - einer Roboter-Anwendungsumgebung (100), insbesondere einer Verpackungs-Maschine (100), etwa in Form einer Roboter-Straße (100), umfassend - wenigstens einen Roboter (1), - eine Anwendungs-Steuerung (100*) zum Steuern der beweglichen Teile der Anwendungs-Umgebung (100), insbesondere der Antriebe der beweglich miteinander verbundenen Teile des wenigstens einen Roboters (1) relativ zueinander, gekennzeichnet durch - einen Vorberechnungs-Rechner (Vor-PC), der ausgelegt ist zum automatischen Erstellen eines synthetischen, also virtuellen Trainings-Datenfeldes für die KI mit einer Vielzahl von Trainings-Datensätzen, die jeweils eine konkrete Produkt-Situation betreffen, wobei jeder Trainings-Datensatz umfasst - ein digitales Situations-Bild und - eine Situations-Annotation, welche umfasst - die 6D-Daten des Produktes in dieser Situation und - die Begleit-Parameter der Situation, - eine künstliche Intelligenz (Kl) mit wenigstens einem künstlichen neuronalen Netz (KNN) und einem Trainings-Algorithmus, welcher in der Lage ist, mit Hilfe eines Machine-Learning-Modells mit den Trainings-Datensätzen die Kl zu trainieren.
DE102021104001.9A 2021-02-19 2021-02-19 Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen Active DE102021104001B3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021104001.9A DE102021104001B3 (de) 2021-02-19 2021-02-19 Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021104001.9A DE102021104001B3 (de) 2021-02-19 2021-02-19 Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen

Publications (1)

Publication Number Publication Date
DE102021104001B3 true DE102021104001B3 (de) 2022-04-28

Family

ID=81076772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021104001.9A Active DE102021104001B3 (de) 2021-02-19 2021-02-19 Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen

Country Status (1)

Country Link
DE (1) DE102021104001B3 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116184892A (zh) * 2023-01-19 2023-05-30 盐城工学院 一种机器人取物的ai识别控制方法及系统
DE102022113013A1 (de) 2022-05-24 2023-11-30 Dr. Ing. H.C. F. Porsche Aktiengesellschaft System für Hardware-in-the-Loop-Prüfstände

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018001781B4 (de) 2017-03-13 2019-07-18 Fanuc Corporation Robotersystem, Messdatenverarbeitungsvorrichtung und Messdatenverarbeitungsverfahren zum Aufnehmen eines Werkstücks unter Verwendung von Messdaten, die mittels maschinellen Lernens korrigiert sind
DE102019122790A1 (de) 2018-08-24 2020-02-27 Nvidia Corp. Robotersteuerungssystem
DE102016015873B3 (de) 2015-07-31 2020-10-29 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102019121889B3 (de) 2019-08-14 2020-11-19 Robominds GmbH Automatisierungssystem und Verfahren zur Handhabung von Produkten
DE102019125126B4 (de) 2018-09-27 2020-12-17 Canon Kabushiki Kaisha Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und System
DE112018007729T5 (de) 2018-06-14 2021-02-25 Yamaha Hatsudoki Kabushiki Kaisha Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016015873B3 (de) 2015-07-31 2020-10-29 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102018001781B4 (de) 2017-03-13 2019-07-18 Fanuc Corporation Robotersystem, Messdatenverarbeitungsvorrichtung und Messdatenverarbeitungsverfahren zum Aufnehmen eines Werkstücks unter Verwendung von Messdaten, die mittels maschinellen Lernens korrigiert sind
DE112018007729T5 (de) 2018-06-14 2021-02-25 Yamaha Hatsudoki Kabushiki Kaisha Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem
DE102019122790A1 (de) 2018-08-24 2020-02-27 Nvidia Corp. Robotersteuerungssystem
DE102019125126B4 (de) 2018-09-27 2020-12-17 Canon Kabushiki Kaisha Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und System
DE102019121889B3 (de) 2019-08-14 2020-11-19 Robominds GmbH Automatisierungssystem und Verfahren zur Handhabung von Produkten

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022113013A1 (de) 2022-05-24 2023-11-30 Dr. Ing. H.C. F. Porsche Aktiengesellschaft System für Hardware-in-the-Loop-Prüfstände
CN116184892A (zh) * 2023-01-19 2023-05-30 盐城工学院 一种机器人取物的ai识别控制方法及系统
CN116184892B (zh) * 2023-01-19 2024-02-06 盐城工学院 一种机器人取物的ai识别控制方法及系统

Similar Documents

Publication Publication Date Title
DE102021104001B3 (de) Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen
DE102018122376B3 (de) Verfahren und Vorrichtung zur kollisionsfreien Bewegungsplanung eines Manipulators
DE69534977T2 (de) Biegemaschine mit einer Steuerung zur Erstellung und Ausführung eines Metallplattenbiegeplanes
EP2952296A2 (de) Vorrichtung zum automatisierten entnehmen von in einem behälter angeordneten werkstücken
DE102021121063A1 (de) Effiziente datengenerierung für das greifenlernen mit allgemeinen greifern
DE112012002677T5 (de) Zuführvorrichtung für Bauelemente
DE102021120633A1 (de) Verfahren und system zur industrieroboter-bewegungssteuerung
DE102019208187B4 (de) Robotersystem und Steuerungsverfahren für ein Robotersystem
DE102014102943A1 (de) Robotersystem mit Funktionalität zur Ortsbestimmung einer 3D- Kiste
EP2353802A2 (de) Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters
CH709347A2 (de) Verfahren zur Wegfindung in einem automatisierten Handhabungssystem sowie Handhabungssystem mit entsprechendem Kontrollmodul zur Wegfindung.
EP0616706A1 (de) Verfahren zur optimierung von steuerparametern für ein system, das in abhängigkeit der steuerparameter ein ist-verhalten aufweist.
DE102019118637B4 (de) Automatische pfadgenerierungsvorrichtung
EP3173363A1 (de) Verfahren zur ermittlung eines bewegungsablaufs für einen linearantrieb
AT11337U1 (de) Verfahren und vorrichtung zum robotergesteuerten greifen und bewegen von objekten
WO2017050895A1 (de) Robotersteuerung
EP3456485B1 (de) Optimieren eines automatisierten vorganges zum auswählen und greifen eines objektes durch einen roboter
EP3741517A1 (de) Verfahren zum umsetzen von produkten sowie hierfür geeigneter umsetz-roboter
DE102020202945A1 (de) Lagersystem und Verfahren zum Betreiben eines derartigen Lagersystems
DE102022107227A1 (de) Greifenlernen unter verwendung modularisierter neuronaler netze
DE112018007729B4 (de) Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem
EP2208584A1 (de) Verfahren und Vorrichtung zur Steuerung von Industrierobotern
DE19800552C2 (de) Verfahren zur Kommandosteuerung eines Manipulators
DE102021103126B4 (de) Verfahren zum Beschleunigen einer Handhabungs-Maschine
DE102020127881B3 (de) Vorrichtung zur Installation an einem Kommissionier- und/oder Verpackungsarbeitsplatz

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