2023P00022 WO 1/28 Kuka Deutschland GmbH Beschreibung Betreiben eines Roboters mithilfe einer Datenverarbeitung und Trainieren dieser Datenverarbeitung Die vorliegende Erfindung betrifft ein Verfahren und ein System zum Trainieren einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Ermitteln von Roboterposen auf Basis von Bilddaten einer Roboterumgebung bzw. zum Betreiben eines Roboters mithilfe dieser (trainierten) Datenverarbeitung sowie ein Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens. Ein Roboter kann vorteilhaft dadurch betrieben werden, dass mithilfe einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung auf Basis von Bilddaten einer Umgebung des Roboters Soll-Roboterposen ermittelt und Antriebe des Roboters auf Basis dieser ermittelten Soll-Roboterposen gesteuert werden. Um die Datenverarbeitung entsprechend zu trainieren, werden regelmäßig sehr viele Trainingsdaten benötigt, die jeweils Trainings-Eingangsdaten mit einander zugeordneten Roboterposen und Bilddaten aufweisen. Sofern all diese Trainingsdaten unter Einsatz von Robotern, insbesondere handgeführten Robotern, und Kameras gesammelt werden, bedingt dies einen sehr großen Trainingsaufwand bzw. limitiert umgekehrt die Güte der solcherart trainierten Datenverarbeitung. Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es daher, das Trainieren einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Ermitteln von Roboterposen auf Basis von Bilddaten einer Roboterumgebung bzw. den Betrieb eines Roboters zu verbessern. Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw. 7 gelöst. Ansprüche 9, 10 stellen ein System bzw. Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen
2023P00022 WO 2/28 Kuka Deutschland GmbH Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen. Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum Trainieren einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung (im Folgenden zur Erläuterung mit f oder F symbolisiert) dazu bzw. derart, dass diese Datenverarbeitung Roboterposen (zur Erläuterung mit p symbolisiert) auf Basis von Bilddaten (zur Erläuterung mit b symbolisiert) einer Roboterumgebung ermittelt, insbesondere Eingangsdaten (zur Erläuterung mit e symbolisiert), welche jeweils Bilddaten einer Umgebung eines Roboters aufweisen (e (b)), insbesondere diese sein (e = b) oder zusätzliche Daten aufweisen (e = {b, y}) können, auf Roboterposen abbildet (p = f(e(b)), auf deren Basis dann Soll-Posen p* zum Steuern des Roboters ermittelt werden (können) oder die bereits solche Soll- Posen sind, bzw. die hierzu eingerichtet ist bzw. verwendet wird (p* = p*(p) = p*(f(e(b)), in einer Ausführung p* = F(e(b)), den Schritt auf: - Bereitstellen von einer Ausgangs-Trainingsinformation oder vorzugsweise mehreren Ausgangs-Trainingsinformationen (zur Erläuterung mit ai symbolisiert, vorzugsweise also i = 1, 2,…,n), wobei: die bzw. eine Ausgangs-Trainingsinformation (jeweils): - eine Trainings-Roboterpose (zur Erläuterung mit p‘i symbolisiert); und - Trainings-Eingangsdaten (zur Erläuterung mit e‘i symbolisiert), die Bilddaten (zur Erläuterung mit b‘i symbolisiert) eines dieser Trainings-Roboterpose p‘i zugeordneten Ausgangs-Bildes (zur Erläuterung mit B‘i symbolisiert) einer Roboterumgebung aufweisen (ai = {e’i(b‘i), p‘i}); aufweist; und in dem bzw. für das Ausgangs-Bild oder vorzugsweise in bzw. für mehrere(n) Ausgangs-Trainingsinformationen jeweils ein gesperrter Bild-Teilbereich (zur Erläuterung mit G‘j symbolisiert) oder freigegebener Bild-Teilbereich (zur Erläuterung mit R‘j symbolisiert) identifiziert, insbesondere ermittelt und/oder festgelegt, ist.
2023P00022 WO 3/28 Kuka Deutschland GmbH In einer Ausführung sind, in einer Weiterbildung werden, die bzw. eine oder mehrere der Ausgangs-Trainingsinformationen mittels Handführen des Roboters ermittelt, wobei der Roboter jeweils durch manuelles Ausüben von Kräften auf seine Struktur und eine entsprechende, insbesondere nachgiebige, Regelung, zu einer Roboterpose oder aus einer Roboterpose geführt wird, die (dadurch) als Trainings-Roboterpose festgelegt wird, und in einer oder mehreren Posen beim Führen in die bzw. aus der Pose jeweils Bilder einer Umgebung des Roboters aufgenommen und als (dieser Trainings-Roboterpose zugeordnete) Ausgangs- Bilder verwendet werden. Nach einer Ausführung der vorliegenden Erfindung umfasst das Verfahren den Schritt, zu einer oder mehreren der Ausgangs-Trainingsinformationen jeweils eine oder mehrere Zusatz-Trainingsinformationen (zur Erläuterung mit zi,j symbolisiert, vorzugsweise also i = 1, 2,…,n und/oder j = 1, 2,…,m) zu generieren, wobei eine Zusatz-Trainingsinformation jeweils - die Trainings-Roboterpose p‘i der Ausgangs-Trainingsinformation ai, zu der diese Zusatz-Trainingsinformation generiert wird; und - Trainings-Eingangsdaten, die Bilddaten eines dieser Trainings-Roboterpose zugeordneten Zusatz-Bildes einer Roboterumgebung aufweisen (zur Erläuterung mit e’i,j(b’i,j(B’i,j)) symbolisiert), wobei dieses Zusatz-Bild durch Augmentieren wenigstens eines Teils des freigegebenen Bild-Teilbereichs oder des nicht gesperrten Bild-Teilbereichs - in dem Ausgangs-Bild B’i der Ausgangs-Trainingsinformation ai, zu der diese Zusatz-Trainingsinformation zi,j generiert wird, oder - in dem Zusatz-Bild B’i,k^j einer weiteren zu dieser Ausgangs- Trainingsinformation (bereits) generierten Zusatz-Trainingsinformation zi,k generiert wird; aufweist. Nach einer Ausführung der vorliegenden Erfindung umfasst das Verfahren den Schritt:
2023P00022 WO 4/28 Kuka Deutschland GmbH - Trainieren einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Ermitteln von Roboterposen auf Basis von Bilddaten einer Roboterumgebung; wobei die Datenverarbeitung auf Basis von einer oder mehreren der Zusatz- Trainingsinformationen zi,j, vorzugsweise also mit i = 1, 2,…n und besonders bevorzugt mit j = 1, 2,…m, trainiert wird. Dadurch können in einer Ausführung einfach und/oder schnell (mehr bzw. viele) Trainingsdaten zum Trainieren einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Ermitteln von Roboterposen auf Basis von Bilddaten einer Roboterumgebung zur Verfügung gestellt bzw. durch diese Trainingsdaten bzw. Zusatz-Trainingsinformation das Trainieren bzw. die trainierte Datenverarbeitung bzw. das Ermitteln von Roboterposen auf Basis von Bilddaten einer Roboterumgebung verbessert, insbesondere eine Präzision, Zuverlässigkeit, Trefferquote, Flexibilität, Robustheit und/oder Geschwindigkeit erhöht werden. In einer Ausführung weist der Roboter wenigstens einen Roboterarm auf. In einer Ausführung weist der Roboter, vorzugsweise der bzw. einer oder mehrere der Roboterarm(e jeweils), wenigstens drei, vorzugsweise wenigstens sechs, in einer Ausführung wenigstens sieben, Gelenke bzw. (Bewegungs)Achsen, vorzugsweise Drehgelenke bzw. -achsen, auf, die durch, vorzugsweise motorische, in einer Ausführung elektromotorische, Antriebe des Roboters verstellt werden bzw. hierzu eingerichtet sind. Die wenigstens teilweise auf maschinellem Lernen basierende Datenverarbeitung umfasst in einer Ausführung ein Regressionsverfahren und/oder wenigstens ein, vorzugsweise tiefes, Künstliches Neuronales Netz („(deep) Artificial Neural Network“) zum Ermitteln der Roboterpose(n) auf Basis von Bilddaten, insbesondere auf Basis von Eingangsdaten, die diese Bilddaten sein oder zusätzlich zu diesen Bilddaten noch weitere Daten, insbesondere Kinematikdaten des Roboters und/oder vorgegebene Umweltdaten und/oder sensorisch erfasste Umweltdaten der Roboterumgebung aufweisen können.
2023P00022 WO 5/28 Kuka Deutschland GmbH Eine Roboterpose umfasst in einer Ausführung eine, vorzugsweise ein-, zwei- oder dreidimensionale, Position und/oder eine, vorzugsweise ein-, zwei- oder dreidimensionale, Orientierung eines Endeffektors des Roboters. In einer Ausführung wird die Datenverarbeitung auf Basis auch von einer oder bevorzugt mehreren der Ausgangs-Trainingsinformationen trainiert. Dadurch können in einer Ausführung einfach und/oder schnell (noch) mehr Trainingsdaten zum Trainieren einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Ermitteln von Roboterposen auf Basis von Bilddaten einer Roboterumgebung zur Verfügung gestellt bzw. durch diese Trainingsdaten bzw. Zusatz-Trainingsinformation das Trainieren bzw. die trainierte Datenverarbeitung bzw. das Ermitteln von Roboterposen auf Basis von Bilddaten einer Roboterumgebung weiter verbessert, insbesondere eine Präzision, Zuverlässigkeit, Trefferquote, Flexibilität, Robustheit und/oder Geschwindigkeit weiter erhöht werden. In einer Ausführung werden der bzw. einer oder mehrere der gesperrten Bild- Teilbereiche und/oder der bzw. einer oder mehrere der freigegebenen Bild- Teilbereiche von hier genannten Bildern einer Roboterumgebung, insbesondere des bzw. eines oder mehrerer Ausgangs-Bilder, (jeweils) auf Basis einer Transformation eines, vorzugsweise durch einen Benutzer oder automatisch, vorgegebenen Raum-Teilbereichs dieser Roboterumgebung ermittelt. Gesperrte bzw. freigegebene Bild-Teilbereiche von Zusatz-Bildern, die zum Generieren weiterer Zusatz-Bilder verwendet werden, können insbesondere den zugrundeliegenden Ausgangs-Bildern entsprechen(d festgelegt werden). In einer Ausführung umfasst das Verfahren das entsprechende Transformieren. Wenn in einer Ausführung Bilddaten eines Ausgangs-Bildes mithilfe wenigstens einer, vorzugsweise roboter- oder umgebungsseitigen, Kamera bereitgestellt sind bzw. werden, ist bzw. wird diese Transformation in einer Weiterbildung auf Basis einer Kalibrierung dieser Kamera(s) ermittelt und transformiert den vorgegebenen Raum-Teilbereich in das entsprechende Ausgangs- bzw. Zusatz-Bild. In einer besonders vorteilhaften Ausführung werden Grenzpunkte des vorgegebenen
2023P00022 WO 6/28 Kuka Deutschland GmbH Raum-Teilbereichs, entsprechend der Kalibrierung der Kamera(s), in entsprechende Bildpunkte transformiert und diese zu einer Grenze des gesperrten bzw. freigegebenen Bild-Teilbereichs verbunden. Dabei kann vorteilhafterweise eine limitierte Toleranz bzw. Vergrößerung des gesperrten Bild-Teilbereichs bzw. Reduzierung des freigegebenen Teilbereichs gegenüber der exakten Transformation des vorgegebenen Raum-Teilbereichs realisiert sein, beispielsweise eine komplexe(re) Grenzkontur der Transformation in eine einfache(re) Grenzkontur des gesperrten bzw. freigegebenen Bild-Teilbereichs überführt werden. Dadurch wirken sich vorteilhaft Ungenauigkeiten bei der Vorgabe des Raum-Teilbereichs wenig(er) aus. In einer Ausführung ist oder wird der Raum-Teilbereich - auf Basis einer Benutzereingabe oder automatisch; und/oder - mithilfe eines virtuellen Modells der Roboterumgebung, in einer Weiterbildung mithilfe einer visuellen bzw. graphischen Darstellung der Roboterumgebung; und/oder - auf Basis einer Vorgabe eines oder mehrerer Referenzpunkte, in einer Weiterbildung eines Mittel- bzw. geometrischen Schwerpunktes und/oder eines oder mehrerer Rand-, insbesondere Eckpunkte, des Raum-Teilbereichs; und/oder - auf Basis einer Vorgabe einer Abmessung und/oder Form des Raum- Teilbereichs; und/oder - auf Basis wenigstens eines vorgegebenen oder erkannten Elements der, insbesondere Gegenstandes in der, Roboterumgebung, in einer Weiterbildung wenigstens eines vorgegebenen oder erkannten Hindernisses und/oder wenigstens eines vorgegebenen oder erkannten mit dem Roboter handzuhabenden Gegenstandes; und/oder - auf Basis einer Roboterpose, in einer Weiterbildung der Trainings-Roboterpose, der das Bildes der Roboterumgebung zugeordnet ist, in einer Ausführung derart, dass der Raum-Teilbereich die (Position der) Trainings-Roboterpose aufweist bzw. enthält, beispielsweise hierzu zentriert ist; vorgegeben.
2023P00022 WO 7/28 Kuka Deutschland GmbH Hierdurch können jeweils, insbesondere in Kombination von zwei oder mehr dieser Merkmale, gesperrte oder freigegebene Bild-Teilbereiche besonders vorteilhaft identifiziert werden. Ein identifizierter gesperrter bzw. freigegebener Bild- Teilbereich wird bzw. ist in einer Ausführung durch einen vorgegebenen Rand, insbesondere vorgegebene Randpunkte, identifiziert bzw. definiert bzw. vorgegeben bzw. festgelegt. In einer Ausführung umfasst ein Augmentieren ein Verschieben, Verdrehen und/oder Löschen von Bildbereichen und/oder eine Farb- und/oder Auflösungsänderung von Bildbereichen und/oder ein Entfernen von abgebildeten, vorzugsweise mittels Bilderkennung erkannten, Gegenständen und/oder ein Hinzufügen virtueller Gegenstände. Hierdurch können in einer Ausführung jeweils zum Trainieren besonders geeignete Zusatz-Bilder besonders einfach, schnell und/oder robust generiert werden, ohne dass das Augmentieren bzw. die vorliegende Erfindung hierauf beschränkt ist. Wie bereits angedeutet, können Eingangsdaten für die Datenverarbeitung, auf deren Basis die Datenverarbeitung Roboterposen ermittelt, insbesondere Trainings-Eingangsdaten, auf deren Basis die Datenverarbeitung trainiert wird, zusätzlich zu den Bilddaten einer Umgebung eines Roboters noch weitere Daten, insbesondere Kinematikdaten dieses Roboters und/oder vorgegebene Umweltdaten dieser Umgebung und/oder sensorisch erfasste Umweltdaten dieser Umgebung, aufweisen, wobei die Datenverarbeitung zum Ermitteln von Roboterposen auf Basis solcher Trainings-Eingangsdaten trainiert wird bzw. eine oder mehrere Soll-Roboterpose(n) auf Basis solcher Eingangsdaten mithilfe der trainierten Datenverarbeitung ermittelt und Antriebe des Roboters auf Basis dieser ermittelten Soll-Roboterpose(n) gesteuert werden. Ein Steuern im Sinne der vorliegenden Erfindung umfasst insbesondere auch ein Regeln. Hierdurch kann der Betrieb des Roboters weiter verbessert, insbesondere zuverlässig(er) geeignete(re) Soll-Posen ermittelt werden. Die Kinematikdaten eines Roboters umfassen in einer Ausführung eine aktuelle, vorzugsweise ein-, zwei- oder dreidimensionale, Position und/oder Orientierung eines
2023P00022 WO 8/28 Kuka Deutschland GmbH Endeffektors des Roboters und/oder aktuelle Gelenkstellungen des Roboters und/oder Zeitableitungen dieser Position, Orientierung bzw. Gelenkstellungen. Vorgegebene Umweltdaten können insbesondere Geometrien der Umgebung, insbesondere Geometrien und/oder Posen von anzufahrenden oder zu transportierenden Werkstücken, zu umfahrenden bzw. zu vermeidenden Hindernissen oder dergleichen, umfassen. Sensorisch erfasste Umweltdaten können insbesondere Posen von anzufahrenden oder zu transportierenden Werkstücken und/oder von zu umfahrenden bzw. zu vermeidenden Hindernissen und/oder Gelenk- und/oder Antriebslasten des Roboters und/oder Audiodaten oder dergleichen umfassen. Entsprechend können die Sensoren zum (sensorischen) Erfassen der Umweltdaten insbesondere Kraft- und/oder Momenten-Sensoren, Abstandssensoren, Radarsensoren, Mikrophone und dergleichen umfassen, wobei eine Kombination von zwei oder mehr Sensoren bzw. eine Kombination mittels unterschiedlicher Sensoren (sensorisch) erfasster Umweltdaten besonders vorteilhaft sein kann. Durch die zusätzliche Berücksichtigung solcher Kinematik- und/oder Umweltdaten kann der Betrieb des Roboters weiter verbessert, insbesondere können zuverlässig(er) geeignete(re) Soll-Posen ermittelt werden. So kann beispielsweise die Datenverarbeitung für das gleiche Bild einer Roboterumgebung bei unterschiedlichen Robotergelenkstellungen und/oder unterschiedlichen bekannten oder sensorisch erfassten Hindernissen und/oder Gelenk- und/oder Antriebslasten des Roboters unterschiedliche, jeweils hierfür besonders geeignete Soll-Posen ermitteln. Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Betreiben eines Roboters die Schritte: - Bereitstellen von Bilddaten einer Umgebung des Roboters, wobei die Bilddaten vorzugsweise mithilfe wenigstens einer, insbesondere umgebungsseitigen oder roboterseitigen, Kamera bereitgestellt sind oder werden; - Ermitteln einer oder mehrerer Soll-Roboterpose(n), in einer Weiterbildung zum Greifen und/oder zum Absetzen und/oder zum Bearbeiten eines Gegenstandes
2023P00022 WO 9/28 Kuka Deutschland GmbH mit dem Roboter oder dergleichen, auf Basis dieser Bilddaten mithilfe einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung, die nach einem hier beschriebenen Verfahren trainiert ist, in einer Weiterbildung vor und/oder während dem Betrieb des Roboters (weiter) trainiert wird; und - Steuern von Antrieben des Roboters auf Basis dieser ermittelten Soll- Roboterpose(n), insbesondere zum Anfahren bzw. Einnehmen der Soll- Roboterpose(n). Ein besonders vorteilhaftes Betreiben eines Roboters, wobei Bilddaten einer Umgebung des Roboters bereitgestellt und Roboter-Zielposen mittels einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung prognostiziert werden, eine Roboter-Soll-Bewegung auf Basis dieser Zielposen und somit auf Basis der Bilddaten mithilfe der Datenverarbeitung ermittelt und Antriebe des Roboters zum Ausführen der Roboter-Soll-Bewegung und somit auf Basis der ermittelten Soll-Roboterpose(n) gesteuert werden, sowie ein besonders vorteilhaftes Trainieren der Datenverarbeitung, bei dem Ausgangs-Bilder während durchgeführter Bewegungen eines Roboters oder Demonstrators gesammelt werden, ist in der deutschen Patentanmeldung 102023206009.4 beschrieben, auf die entsprechend ergänzend Bezug genommen und deren Offenbarung in die vorliegende Offenbarung aufgenommen wird. Insbesondere können eines oder mehrere der in dieser deutschen Patentanmeldung 102023206009.4 beschriebenen Merkmale besonders vorteilhaft auch bei der vorliegenden Erfindung verwendet werden bzw. realisiert sein. Nach einer Ausführung der vorliegenden Erfindung weist ein System zum Trainieren einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Ermitteln von Roboterposen auf Basis von Bilddaten einer Roboterumgebung und/oder zum Betreiben eines Roboters die bzw. eine wenigstens teilweise auf maschinellem Lernen basierende Datenverarbeitung zum Ermitteln von Roboterposen auf Basis von Bilddaten einer Roboterumgebung auf.
2023P00022 WO 10/28 Kuka Deutschland GmbH Nach einer Ausführung der vorliegenden Erfindung ist das System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet. Nach einer Ausführung der vorliegenden Erfindung weist das System auf: - Mittel zum Bereitstellen von einer oder mehreren Ausgangs-Trainingsinformationen, wobei eine Ausgangs-Trainingsinformation jeweils - eine Trainings-Roboterpose; und - Trainings-Eingangsdaten, die Bilddaten eines dieser Trainings-Roboterpose zugeordneten Ausgangs-Bildes einer Roboterumgebung aufweisen; aufweist; und in wenigstens einem Ausgangs-Bild ein gesperrter oder freigegebener Bild- Teilbereich identifiziert ist; - Mittel zum, zu einer oder mehreren Ausgangs-Trainingsinformationen jeweils, Generieren von einer oder mehreren Zusatz-Trainingsinformationen, wobei eine Zusatz-Trainingsinformation jeweils - die Trainings-Roboterpose der Ausgangs-Trainingsinformation, zu der diese Zusatz-Trainingsinformation generiert wird; und - Trainings-Eingangsdaten, die Bilddaten eines dieser Trainings-Roboterpose zugeordneten Zusatz-Bildes einer Roboterumgebung aufweisen, wobei dieses Zusatz-Bild durch Augmentieren wenigstens eines Teils des freigegebenen Bild-Teilbereichs oder des nicht gesperrten Bild- Teilbereichs - in dem Ausgangs-Bild der Ausgangs-Trainingsinformation, zu der diese Zusatz-Trainingsinformation generiert wird, oder - dem Zusatz-Bild einer weiteren zu dieser Ausgangs-Trainingsinformation generierten Zusatz-Trainingsinformation generiert wird; aufweist; und
2023P00022 WO 11/28 Kuka Deutschland GmbH - Mittel zum Trainieren der Datenverarbeitung zum Ermitteln von Roboterposen auf Basis von Bilddaten einer Roboterumgebung auf Basis von einer oder mehreren der Zusatz-Trainingsinformationen, in einer Weiterbildung auch von einer oder mehrerer Ausgangs-Trainingsinformationen. Nach einer Ausführung der vorliegenden Erfindung weist das System zusätzlich oder alternativ auf: - Mittel zum Bereitstellen von Bilddaten einer Umgebung des Roboters; - Mittel zum Ermitteln wenigstens einer Soll-Roboterpose auf Basis dieser Bilddaten mithilfe der Datenverarbeitung; und - Mittel zum Steuern von Antrieben des Roboters auf Basis dieser ermittelten wenigstens einen Soll-Roboterpose. In einer Ausführung weist das System bzw. seine Mittel auf: - Mittel zum Ermitteln wenigstens eines gesperrten oder freigegebenen Bild- Teilbereichs eines Bildes einer Roboterumgebung auf Basis einer Transformation eines vorgegebenen Raum-Teilbereichs dieser Roboterumgebung, in einer Weiterbildung Mittel zum Vorgeben des Raum- Teilbereichs - auf Basis einer Benutzereingabe oder automatisch; und/oder - mithilfe eines virtuellen Modells der Roboterumgebung; und/oder - auf Basis einer Vorgabe wenigstens eines Referenzpunktes und/oder einer Abmessung und/oder Form des Raum-Teilbereichs; und/oder - auf Basis wenigstens eines vorgegebenen oder erkannten Elements der Roboterumgebung; und/oder - Mittel zum Verschieben, Verdrehen und/oder Löschen von Bildbereichen und/oder eine Farb- und/oder Auflösungsänderung von Bildbereichen und/oder ein Entfernen von abgebildeten Gegenständen und/oder ein Hinzufügen virtueller Gegenstände zum Augmentieren zum Generieren wenigstens eines Zusatz-Bildes; und/oder - Mittel zum Bereitstellen der Bilddaten wenigstens eines Ausgangs-Bildes und/oder einer Umgebung des Roboters mithilfe wenigstens einer Kamera,
2023P00022 WO 12/28 Kuka Deutschland GmbH insbesondere diese Kamera(s) und/oder eine Bildverarbeitung und/oder einen entsprechenden Speicher. Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere wenigstens eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere die Datenverarbeitung trainieren bzw. den Roboter betreiben kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere computerlesbares und/oder nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. von Anweisungen bzw. mit einem darauf gespeicherten Programm bzw. mit darauf gespeicherten Anweisungen aufweisen, insbesondere sein. In einer Ausführung veranlasst ein Ausführen dieses Programms bzw. dieser Anweisungen durch ein System bzw. eine Steuerung, insbesondere einen Computer oder eine Anordnung von mehreren Computern, das System bzw. die Steuerung, insbesondere den bzw. die Computer, dazu, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen, bzw. sind das Programm bzw. die Anweisungen hierzu eingerichtet. In einer Ausführung sind ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise computerimplementiert bzw. werden ein oder
2023P00022 WO 13/28 Kuka Deutschland GmbH mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel. In einer Ausführung weist das System den Roboter auf. Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert: Fig.1: ein System nach einer Ausführung der vorliegenden Erfindung; und Fig.2: ein Verfahren nach einer Ausführung der vorliegenden Erfindung; und Fig.3: ein Ermitteln eines gesperrten Bild-Teilbereichs eines Bildes einer Roboterumgebung auf Basis einer Transformation eines vorgegebenen Raum-Teilbereichs dieser Roboterumgebung bei einem Verfahren nach einer Ausführung der vorliegenden Erfindung. Fig.1 zeigt ein System nach einer Ausführung der vorliegenden Erfindung, das einen Roboter mit einer Steuerung 1 und einem Roboterarm 10 mit einem Endeffektor 11 sowie wenigstens eine durch den Roboter geführte Kamera 20 und/oder wenigstens eine umgebungsseitige Kamera 21 aufweist. In nicht dargestellten Abwandlungen kann die Kamera 20 oder 21 entfallen und/oder zusätzliche durch den Roboter geführte Kameras und/oder umgebungsseitige Kameras vorgesehen sein und/oder der Roboterarm eine andere Konfiguration aufweisen, beispielsweise mehr oder weniger als die dargestellten sechs Gelenke bzw. (Bewegungs)Achsen. Exemplarisch ist in Fig.1 in ausgezogenen Linien eine Roboter-Startpose und gestrichelt eine Roboter-Zielpose, in einer strich-punktierten Linie eine Bewegung des Roboters auf Basis eines „LIN“-Bewegungskommandos, das eine Gerade eines in Fig. 1 durch Koordinatensysteme angedeuteten TCPs des Roboter im kartesischen Raum bewirkt, strich-doppelpunktiert eine Bewegung des Roboters auf Basis eines „CIRC“- Bewegungskommandos, das eine Kreisbahn des TCPs im kartesischen Raum bewirkt, und doppelstrich-punktiert eine Bewegung des Roboters auf Basis eines „PTP“- Bewegungskommandos illustriert.
2023P00022 WO 14/28 Kuka Deutschland GmbH Fig.2 zeigt ein Verfahren nach einer Ausführung der vorliegenden Erfindung. Zum Trainieren einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Prognostizieren von Roboter-Zielposen auf Basis von Bilddaten werden in einem Schritt S10 Umweltdaten, beispielsweise bekannte Geometrien von von dem Roboter 10 handzuhabenden Werkstücken und/oder zu umfahrenden Hindernissen oder dergleichen vorgegeben. Dann wird in Schritt S20 jeweils eine Bewegung des Roboters 10 oder eines Demonstrators, beispielsweise nur des losen Endeffektors 11, von einer Startpose zum Erreichen einer Zielpose durchgeführt. Zusätzlich oder alternativ können auch Bewegungen von einer Zielpose zum Erreichen einer Startpose durchgeführt werden. Dabei werden die Bewegungen mit unterschiedlichen Bewegungstrajektorien (vgl. Fig. 1) und/oder bei unterschiedlichen Umgebungsbedingungen durchgeführt. Für diese Bewegungen werden in Schritt S20 jeweils für mehrere bei der jeweiligen Bewegung eingenommene Posen des Roboters bzw. Demonstrators jeweils dieser Pose zugeordnete Bilddaten einer Umgebung 30 und die jeweilige Zielpose zum maschinellen Lernen gesammelt. Die jeweilige Zielpose und die jeweiligen Bilddaten stellen jeweils eine Trainings-Roboterpose p‘i und Bilddaten b‘i eines dieser Trainings-Roboterpose zugeordneten Ausgangs-Bildes B‘i einer Ausgangs-Trainingsinformation ai = {e’i(b‘i), p‘i} dar. In einer bevorzugten Weiterbildung werden diesen Posen bzw. Bilddaten zeitlich, vorzugsweise über Zeitstempel oder dergleichen, jeweils zugeordnete Kinematikdaten, die die jeweilige Roboter-Pose angeben, und/oder sensorisch erfasste Umweltdaten, beispielsweise Sensordaten von Kraft-Momenten-Sensoren, Gelenk- Drehmomentsensoren, Radarsensoren, Audio-Mikrophonen, Trackingsystemen 22 zum Erfassen von Hindernissen 31 oder dergleichen, gesammelt, die zusammen mit den Bilddaten b‘i und den in Schritt S10 vorgegebenen Umweltdaten jeweils Trainings-Eingangsdaten e‘i bilden können.
2023P00022 WO 15/28 Kuka Deutschland GmbH Auf Basis einer Benutzerein- bzw. -vorgabe ist bzw. wird ein Raum-Teilbereich 100 vorgegeben, der für die zu trainierende Datenverarbeitung relevant ist. Gleichermaßen kann auch ein Raum-Teilbereich vorgegeben werden, der für die Datenverarbeitung nicht relevant ist. Hierzu gibt der Benutzer beispielsweise ein Zentrum und eine Orientierung und Größe oder einen Eckpunkt eines entsprechenden Quaders vor (vgl. den Raum- Teilbereich 100 in Fig.1), innerhalb dessen sich ein zu greifender oder zu bearbeitender Gegenstand oder ein Ablageort für einen robotergeführten Gegenstand befindet. Vorteilhaft kann der Raum-Teilbereich die (Position der) jeweilige(n) Zielpose aufweisen, in einer Weiterbildung hierzu zentriert sein bzw. werden. Auf Basis einer entsprechenden Transformation des vorgegebenen Raum- Teilbereichs wird in den Ausgangs-Bildern B‘i jeweils ein für ein Augmentieren gesperrter Bild-Teilbereich ermittelt bzw. identifiziert, vorzugsweise durch Transformation eines als für die zu trainierende Datenverarbeitung relevant vorgegebenen Raum-Teilbereichs in das entsprechende Ausgangs-Bild oder durch Eliminieren eines Bild-Teilbereichs, des sich durch Transformation eines als für die zu trainierende Datenverarbeitung nicht relevant vorgegebenen Raum-Teilbereichs in das entsprechende Ausgangs-Bild ergibt. Gleichermaßen kann, wiederum mithilfe einer entsprechenden Transformation des vorgegebenen Raum-Teilbereichs, in den Ausgangs-Bildern B‘i jeweils ein für ein Augmentieren freigegebener Bild-Teilbereich ermittelt bzw. identifiziert werden, beispielsweise ein als für die Datenverarbeitung nicht relevant vorgegebener Raum-Teilbereich mithilfe einer entsprechenden Transformation auf einen für ein Augmentieren freigegebenen Bild-Teilbereich abgebildet werden bzw. ein Bild-Teilbereich, des sich durch Transformation eines als für die zu trainierende Datenverarbeitung relevant vorgegebenen Raum- Teilbereichs in das entsprechende Ausgangs-Bild ergibt, eliminiert werden. Die Identifikation des entsprechenden Bild-Teilbereichs, insbesondere eine entsprechende Grenze in einem Bild einer Trainings-Information, wird für die jeweilige Ausgangs-Trainingsinformation gespeichert.
2023P00022 WO 16/28 Kuka Deutschland GmbH Wenn genügend Daten gesammelt sind (S25: „Y“), werden in einem Schritt S30 für eine oder mehrere der Ausgangs-Trainingsinformation ai jeweils eine oder mehrere Zusatz-Trainingsinformationen zi,j ermittelt. Hierzu werden ein oder mehrere Zusatz-Bilder B’i,j generiert, indem jeweils wenigstens ein Teil des freigegebenen Bild-Teilbereichs oder des nicht gesperrten Bild-Teilbereichs des entsprechenden Ausgangs-Bildes B‘i augmentiert wird, beispielsweise Bildbereiche des freigegebenen bzw. nicht gesperrten Bild- Teilbereichs des entsprechenden Ausgangs-Bildes B‘i v erschoben und/oder verdreht und/oder Bildbereiche des freigegebenen bzw. nicht gesperrten Bild-Teilbereichs des entsprechenden Ausgangs-Bildes B‘i gelöscht werden und/oder Farben und/oder Auflösungen von Bildbereichen des freigegebenen bzw. nicht gesperrten Bild- Teilbereichs geändert werden und/oder in dem freigegebenen bzw. nicht gesperrten Bild-Teilbereich abgebildete, vorzugsweise mittels Bilderkennung erkannte, Gegenstände entfernt und/oder virtuelle Gegenstände hinzugefügt werden oder dergleichen. Zusätzlich oder alternativ werden ein oder mehrere Zusatz-Bilder B’i,j generiert, indem jeweils wenigstens ein Teil des freigegebenen Bild-Teilbereichs oder des nicht gesperrten Bild-Teilbereichs eines bereits zu dem entsprechenden Ausgangs-Bild B‘i generierten Zusatz-Bildes B’i,k^j augmentiert wird. Die Bilddaten b’i,j der zu einer Ausgangs-Trainingsinformation ai jeweils durch die vorstehend beschriebene Augmentierung von freigegebenen bzw. nicht gesperrten Bild-Teilbereichen generierten Zusatz-Bilder B’i,j bilden, gegebenenfalls zusammen mit den Kinematikdaten und/oder sensorisch erfassten Umweltdaten und/oder vorgegebenen Umweltdaten, jeweils Trainings-Eingangsdaten e’i,j , die zusammen mit der entsprechenden Trainings-Roboterpose p‘i jeweils eine Zusatz-Trainingsinformation zi,j = {e’i,j(b’i,j), p‘i} bilden. Anschaulich gesprochen werden in Schritt S20 für wenigstens eine Zielpose p‘i und mehrere bei deren Anfahren eingenommene Posen des Roboters jeweils ein Bild B‘i aufgenommen und entsprechende Bilddaten dieser Bilder, gegebenenfalls zusammen
2023P00022 WO 17/28 Kuka Deutschland GmbH mit Kinematikdaten und/oder sensorisch erfassten Umweltdaten und/oder vorgegebenen Umweltdaten, als Eingangsdaten zusammen mit der jeweiligen Zielpose als Ausgangs-Trainingsinformation ai = {e’i(b’i), p‘i} abgespeichert, wobei jeweils auf Basis einer Transformation eines als für die zu trainierende Datenverarbeitung relevant vorgegebenen Raum-Teilbereichs 100 der Roboterumgebung 30 in das entsprechende Bild B‘i ein für ein Augmentieren gesperrter Bild-Teilbereich in diesem Bild B‘i identifiziert ist bzw. auf Basis einer Transformation eines als für die zu trainierende Datenverarbeitung nicht relevant vorgegebenen Raum-Teilbereichs der Roboterumgebung 30 in das entsprechende Bild B‘i ein für ein Augmentieren freigegebener Bild-Teilbereich in diesem Bild B‘i identifiziert ist bzw. ein freigegebener/gesperrter Bild-Teilbereich durch Eleminieren eines Bildbereichs ermittelt bzw. identifiziert wird, der sich durch Transformation eines als für die zu trainierende Datenverarbeitung relevant/nicht relevant vorgegebenen Raum-Teilbereichs ergibt. In Schritt S30 werden zusätzlich Zusatz-Trainingsinformationen zi,j = {e’i,j(b’i,j), p‘i} generiert, indem freigegebene Bild-Teilbereiche (die für die Datenverarbeitung bzw. deren Training als nicht relevant angesehen werden) augmentiert bzw. gesperrte Bild-Teilbereiche (die für die Datenverarbeitung bzw. deren Training als relevant angesehen werden) nicht augmentiert werden. Dann wird in Schritt S30 die Datenverarbeitung auf Basis dieser Ausgangs-Trainingsinformationen ai = {e’i(b’i), p‘i} und Zusatz-Trainingsinformation zi,j = {e’i,j(b’i,j) trainiert. Gegebenenfalls kann das Generieren von Zusatz-Trainingsinformation und/oder das Trainieren auch wenigstens teilweise zeitlich parallel zu einem Sammeln weiterer Daten auf Basis weiterer durchgeführter Bewegungen erfolgen. Durch die Zusatz-Trainingsinformationen kann die Datenverarbeitung bzw. deren Training verbessert werden, insbesondere können viele zusätzliche Bilddaten zur Verfügung gestellt bzw. genutzt und dadurch die Datenverarbeitung bzw. deren Training verbessert werden, wobei kein zusätzlicher Aufwand zum Aufnehmen entsprechender Bilder entsteht und der für die Datenverarbeitung bzw. deren
2023P00022 WO 18/28 Kuka Deutschland GmbH Training relevante Bildbereich nicht verändert wird und so die Zuordnung entsprechender Roboterposen nicht unvorhersehbar beeinflusst wird. Zum Betreiben des Roboters 10 werden in einem Schritt S100 Umweltdaten, beispielsweise bekannte Geometrien von von dem Roboter 10 handzuhabenden Werkstücken oder dergleichen vorgegeben, in einem Schritt S110 Start- Kinematikdaten, die die Roboter-Startpose angeben, bereitgestellt, in einem Schritt S120 dieser Roboter-Startpose zugeordnete Start-Bilddaten einer Umgebung 30 des Roboters 10 sowie sensorisch erfasste Umweltdaten, beispielsweise Sensordaten von Kraft-Momenten-Sensoren, Gelenk-Drehmomentsensoren, Radarsensoren, Audio- Mikrophonen, Trackingsystemen 22 zum Erfassen von Hindernissen 31 oder dergleichen (nicht dargestellt), bereitgestellt, in einem Schritt S130 eine erste Roboter-Zielpose mittels der trainierten Datenverarbeitung auf Basis der bereitgestellten Umweltdaten, Start-Bilddaten und Start-Kinematikdaten prognostiziert, in einem Schritt S140 eine Roboter-Soll-Bewegung auf Basis dieser ersten Zielpose ermittelt, und in einem Schritt S150 Antriebe des Roboters 10 zum Ausführen der Roboter-Soll-Bewegung gesteuert, von denen exemplarisch drei Antriebe mit dem Bezugszeichen 12 versehen sind. Während dieses Steuerns in Schritt S150 werden analog zu Schritt S110 mehrfach aktuelle Kinematikdaten bereitgestellt, analog zu Schritt S140 die Roboter-Soll- Bewegung auf Basis der ersten Zielpose und dieser aktuelle Kinematikdaten aktualisiert und dann die Antriebe 12 des Roboters 10 zum Ausführen dieser aktualisierten Roboter-Soll-Bewegung anstelle der bisher ausgeführten Roboter-Soll- Bewegung gesteuert. Noch während die Roboter-Soll-Bewegung weiterhin ausgeführt wird, werden in einem Schritt S210, wie zuvor in Schritt S110, aktualisierte Kinematikdaten, die die aktuelle Roboter-Pose angeben, bereitgestellt, in einem Schritt S220, wie zuvor in Schritt S120, dieser aktuellen Roboter-Pose zugeordnete neue Bilddaten der Umgebung des Roboters 10 sowie sensorisch erfasste Umweltdaten bereitgestellt, in einem Schritt S230, wie zuvor in Schritt S130, eine aktualisierte Roboter-Zielpose mittels der trainierten Datenverarbeitung auf Basis der bereitgestellten Umweltdaten, neuen Bilddaten und aktualisierten Kinematikdaten prognostiziert, in einem Schritt S240 die Roboter-Soll-Bewegung auf Basis dieser aktualisierten Zielpose aktualisiert,
2023P00022 WO 19/28 Kuka Deutschland GmbH und in einem Schritt S250, wie zuvor in Schritt S150, die Antriebe 12 des Roboters 10 nun zum Ausführen dieser aktualisierten Roboter-Soll-Bewegung gesteuert. Auch während dieses Steuerns in Schritt S250 werden analog zu Schritt 150 bzw. S210 mehrfach aktuelle Kinematikdaten bereitgestellt, analog zu Schritt S240 die Roboter-Soll-Bewegung auf Basis der in Schritt S230 aktualisierten Zielpose und dieser aktuellen Kinematikdaten aktualisiert und dann die Antriebe 12 des Roboters 10 zum Ausführen dieser aktualisierten Roboter-Soll-Bewegung gesteuert. Solange keine Abbruchbedingung erfüllt ist (S255: „N“), beispielsweise der Roboter 10 ein Werkstück erreicht hat oder dergleichen, kehrt das System bzw. Verfahren zu Schritt S210 zurück, andernfalls (S255: „Y“) wird das Verfahren beendet (Schritt S260). In einer Abwandlung, die vorzugsweise zusätzlich oder besonders bevorzugt alternativ zu dem vorstehend erläuterten Aspekt eines Prognostizierens einer aktualisierten Roboter-Zielpose, Aktualisierens der Roboter-Soll-Bewegung auf Basis der aktualisierten Zielpose und Steuern von Antrieben des Roboters zum Ausführen der aktualisierten Roboter-Soll-Bewegung realisiert sein kann, wird nicht nur bzw. nicht die finale Ziel- bzw. Endpose prognostiziert, sondern zusätzlich bzw. alternativ (jeweils) eine oder mehrere neue Roboter-Zielpose(n) auf Basis der jeweils einer aktuellen Roboter-Pose zugeordneten neuen Bilddaten. Dabei werden, wie vorstehend bereits beschrieben, in den Schritten S10, S20 Umweltdaten vorgegeben und Bewegung des Roboters 10 oder eines Demonstrators durchgeführt und Bilddaten der Umgebung 30 und die jeweilige Zielpose zum maschinellen Lernen des Prognostizierens gesammelt, wobei hier die Zielpose nicht die finale Ziel- bzw. Endpose sondern die jeweils in einem nächsten Zeitschritt angefahrene Ziel-Pose ist oder eine Sequenz mit mehreren aufeinanderfolgenden solcher Ziel-Posen gesammelt wird. Auch hier können diesen Posen bzw. Bilddaten zeitlich, vorzugsweise über Zeitstempel oder dergleichen, jeweils zugeordnete Kinematikdaten, die die jeweilige Roboter-Pose angeben, und/oder sensorisch erfasste Umweltdaten, beispielsweise Sensordaten von Kraft-Momenten-Sensoren, Gelenk-Drehmomentsensoren, Radarsensoren, Audio-Mikrophonen,
2023P00022 WO 20/28 Kuka Deutschland GmbH Trackingsystemen 22 zum Erfassen von Hindernissen 31 oder dergleichen, gesammelt werden. In Schritt S30 wird die bzw. gegebenenfalls eine weitere Datenverarbeitung auf Basis dieser gesammelten, einander zugeordneten Bilddaten und Zielposen und gegebenenfalls Kinematik- und/oder Umweltdaten trainiert, allerdings nicht darauf, die finale Ziel- bzw. Endpose zu prognostizieren, sondern jeweils die in dem bzw. den nächsten Zeitschritt(en) anzufahrende(n) Zielpose(n). Dabei werden wiederum, wie vorstehend beschrieben, Zusatz-Trainingsinformationen generiert und zusammen mit den gesammelten Bilddaten zum Trainieren verwendet. Zum Betreiben des Roboters 10 werden in Schritt S100 Umweltdaten, beispielsweise bekannte Geometrien von von dem Roboter 10 handzuhabenden Werkstücken oder dergleichen vorgegeben, in einem Schritt S110 Start-Kinematikdaten, die die Roboter- Startpose angeben, bereitgestellt, in einem Schritt S120 dieser Roboter-Startpose zugeordnete Start-Bilddaten einer Umgebung 30 des Roboters 10 sowie sensorisch erfasste Umweltdaten, beispielsweise Sensordaten von Kraft-Momenten-Sensoren, Gelenk-Drehmomentsensoren, Radarsensoren, Audio-Mikrophonen, Trackingsystemen 22 zum Erfassen von Hindernissen 31 oder dergleichen (nicht dargestellt), bereitgestellt, in einem Schritt S130 eine erste Roboter-Zielpose mittels der trainierten Datenverarbeitung auf Basis der bereitgestellten Umweltdaten, Start-Bilddaten und Start-Kinematikdaten prognostiziert, in einem Schritt S140 eine Roboter-Soll-Bewegung auf Basis dieser ersten Zielpose ermittelt, und in einem Schritt S150 Antriebe des Roboters 10 zum Ausführen der Roboter-Soll-Bewegung gesteuert, von denen exemplarisch drei Antriebe mit dem Bezugszeichen 12 versehen sind. Nach oder vorzugsweise bereits während dieses Steuerns in Schritt S150 werden in einem Schritt S210, wie zuvor in Schritt S110, aktualisierte Kinematikdaten, die die aktuelle Roboter-Pose angeben, bereitgestellt, in einem Schritt S220, wie zuvor in Schritt S120, dieser aktuellen Roboter-Pose zugeordnete neue Bilddaten der Umgebung des Roboters 10 sowie sensorisch erfasste Umweltdaten bereitgestellt, in einem Schritt S230, wie zuvor in Schritt S130, eine neue, im nächsten Zeitschritt anzufahrende Roboter-Zielpose oder mehrere aufeinanderfolgende solcher (in aufeinanderfolgenden Zeitschritten anzufahrende) Roboter-Zielposen mittels der
2023P00022 WO 21/28 Kuka Deutschland GmbH trainierten Datenverarbeitung auf Basis der bereitgestellten Umweltdaten, neuen Bilddaten und aktualisierten Kinematikdaten prognostiziert, in einem Schritt S240, wie zuvor in Schritt S140, eine neue Roboter-Soll-Bewegung auf Basis dieser neuen Zielpose(n) ermittelt, und in einem Schritt S250, wie zuvor in Schritt S150, die Antriebe 12 des Roboters 10 zum Ausführen dieser neuen Roboter-Soll-Bewegung gesteuert. Auch während dieses Steuerns in Schritt S250 werden analog zu Schritt 150 bzw. S210 mehrfach aktuelle Kinematikdaten bereitgestellt, analog zu Schritt S240 eine neue Roboter-Soll-Bewegung auf Basis der in Schritt S230 ermittelten neuen Zielpose und dieser aktuellen Kinematikdaten ermittelt und dann die Antriebe 12 des Roboters 10 zum Ausführen dieser neuen Roboter-Soll-Bewegung gesteuert. Solange keine Abbruchbedingung erfüllt ist (S255: „N“), beispielsweise die neue Zielpose nur noch (ausreichend) gering von der zuletzt ermittelten Zielpose abweicht bzw. die finale bzw. Endpose erreicht ist oder dergleichen, kehrt das System bzw. Verfahren zu Schritt 210 zurück, andernfalls (S255: „Y“) wird das Verfahren beendet (Schritt S260). Vorteilhafterweise prognostiziert bei Erreichen der finalen bzw. Endpose die Künstliche Intelligenz bzw. Datenverarbeitung die aktuelle Pose als neue Zielpose, so dass der Roboter von selbst anhält. Das vorstehend erläuterte Trainieren bzw. Betreiben umfasst insbesondere Merkmale, wie sie in der deutschen Patentanmeldung 102023206009.4 beschrieben sind, für die bzw. mit der die vorliegende Erfindung besonders vorteilhaft verwendet bzw. kombiniert werden bzw. sein kann. Sie ist jedoch nicht hierauf beschränkt. In einem einfachen, anhand der Fig.3 illustrierten Beispiel werden, beispielsweise für eine Greifpose eines Roboters, mehrere Bilder B’i einer Umgebung des Roboters aufgenommen, ein Benutzer gibt für die Greifpose einen relevanten Raum-Teilbereich 100 der Umgebung, etwa einen Quader, eine Sphäre oder dergleichen, vor, beispielsweise einen Raum-Teilbereich, in dem sich ein zu greifender Gegenstand 110 befindet. Dieser Raum-Teilbereich wird anhand der Kalibrierung der aufnehmenden Kamera 200 in einen entsprechend gesperrten Bild-Teilbereich G’i transformiert. Nun werden freigegebene bzw. nicht gesperrte Bildbereiche G’i = B’i\G’i der Bilder augmentiert und bilden zusammen mit
2023P00022 WO 22/28 Kuka Deutschland GmbH der jeweiligen Greifpose zusätzliche bzw. Zusatz-Trainingsdaten, auf deren Basis eine Datenverarbeitung trainiert wird. Diese kann anschließend beim Betreiben des Roboters auf Basis von Bildern Soll-Greifposen ermitteln, auf deren Basis der Roboter dann gesteuert wird, um diese anzufahren und einen Gegenstand zu greifen. So können einerseits einfach, schnell und ohne großen Aufwand viele zusätzliche Trainingsinformationen zum Trainieren der Datenverarbeitung gewonnen bzw. zur Verfügung gestellt werden. Andererseits wird durch die Beschränkung des Augmentierens auf hierfür freigegebene bzw. nicht gesperrte Bild-Teilbereiche vorteilhaft verhindert, dass ein Augmentieren der für die Datenverarbeitung relevanten Bild-Teilbereiche in der Nähe der Greifpose die Leistung der trainierten Datenverarbeitung beeinträchtigt. In der vorliegenden Offenbarung impliziert „weist ein X auf“ allgemein keine abschließende Aufzählung, sondern ist eine Kurzform von „weist wenigstens ein X auf“ und umfasst auch „weist zwei oder mehr X auf“ sowie „weist außer X auch Y auf“. Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.
2023P00022 WO 23/28 Kuka Deutschland GmbH Bezugszeichenliste 1 Steuerung 10 Roboter 11 Endeffektor 12 Antrieb 20-22 Kamera 30 Umgebung 31 Hindernis 100 Raum-Teilbereich 110 Gegenstand 200 Kamera G’i gesperrter Bildbereich B’i (Ausgangs-)Bild
2023P00022 WO 1/28 Kuka Deutschland GmbH Description Operating a robot with the aid of data processing and training this data processing The present invention relates to a method and a system for training a data processing system based at least partially on machine learning for determining robot poses on the basis of image data of a robot environment or for operating a robot with the aid of this (trained) data processing, as well as a computer program or computer program product for carrying out a method described here. A robot can advantageously be operated by determining target robot poses on the basis of image data of an environment of the robot with the aid of data processing system based at least partially on machine learning, and controlling the robot's drives on the basis of these determined target robot poses. In order to train the data processing system accordingly, a large amount of training data is regularly required, each of which has training input data with associated robot poses and image data. If all of these training data are collected using robots, in particular hand-guided robots, and cameras, this requires a very large training effort or, conversely, limits the quality of the data processing trained in this way. One object of an embodiment of the present invention is therefore to improve the training of a data processing system based at least partially on machine learning for determining robot poses on the basis of image data of a robot environment or to improve the operation of a robot. This object is achieved by a method having the features of claim 1 and 7, respectively. Claims 9, 10 represent a system or computer program or computer program product for carrying out a process described here. 2023P00022 WO 2/28 Kuka Deutschland GmbH. The subclaims relate to advantageous developments. According to one embodiment of the present invention, a method for training a data processing system based at least partially on machine learning (symbolized below with f or F for explanation) for or in such a way that this data processing system determines robot poses (symbolized with p for explanation) on the basis of image data (symbolized with b for explanation) of a robot environment, in particular input data (symbolized with e for explanation), which each comprise image data of an environment of a robot (e(b)), in particular can be this (e = b) or comprise additional data (e = {b, y}), maps it to robot poses (p = f(e(b)), on the basis of which target poses p* for controlling the robot are (can be) determined or which are already such target poses, or which is set up or used for this purpose (p* = p*(p) = p*(f(e(b)), in one embodiment p* = F(e(b)), the step: - Providing one piece of initial training information or preferably several pieces of initial training information (symbolized by ai for explanation, preferably i = 1, 2,…,n), where: the or one piece of output training information (each): - a training robot pose (symbolized by p'i for explanation); and - training input data (symbolized by e'i for explanation), which comprises image data (symbolized by b'i for explanation) of an output image (symbolized by B'i for explanation) of a robot environment assigned to this training robot pose p'i (ai = {e'i(b'i), p'i}); and in which or for the output image or preferably in or for several pieces of output training information, a locked image sub-area (symbolized by G'j for explanation) or released image sub-area (symbolized by R'j for explanation) is identified, in particular determined and/or specified. 2023P00022 WO 3/28 Kuka Deutschland GmbH In one embodiment, in a further development, the or one or more of the initial training information is determined by manually guiding the robot, wherein the robot is guided to a robot pose or out of a robot pose by manually exerting forces on its structure and a corresponding, in particular compliant, control, which is (thereby) defined as a training robot pose, and in one or more poses when guiding into or out of the pose, images of an environment of the robot are recorded and used as initial images (assigned to this training robot pose). According to one embodiment of the present invention, the method comprises the step of generating one or more additional training information items (symbolized by zi,j for explanation, preferably i = 1, 2,...,n and/or j = 1, 2,...,m) for one or more of the initial training information items, wherein an additional training information item in each case - the training robot pose p'i of the initial training information ai for which this additional training information is generated; and - training input data comprising image data of an additional image of a robot environment assigned to this training robot pose (symbolized for explanation by e'i,j(b'i,j(B'i,j))), wherein this additional image is generated by augmenting at least a part of the released image sub-area or the unlocked image sub-area - in the output image B'i of the initial training information ai, for which this additional training information zi,j is generated, or - in the additional image B'i,k^j of another additional training information zi,k (already) generated for this initial training information; According to one embodiment of the present invention, the method comprises the step: 2023P00022 WO 4/28 Kuka Deutschland GmbH - Training a data processing system based at least partially on machine learning for determining robot poses on the basis of image data of a robot environment; wherein the data processing system is trained on the basis of one or more of the additional training information zi,j, preferably with i = 1, 2,…n and particularly preferably with j = 1, 2,…m. As a result, in one embodiment, (more or many) training data can be made available easily and/or quickly for training a data processing system based at least partially on machine learning for determining robot poses on the basis of image data of a robot environment, or the training or the trained data processing or the determination of robot poses on the basis of image data of a robot environment can be improved by this training data or additional training information, in particular by increasing precision, reliability, hit rate, flexibility, robustness and/or speed. In one embodiment, the robot has at least one robot arm. In one embodiment, the robot, preferably the or one or more of the robot arms, has at least three, preferably at least six, in one embodiment at least seven, joints or (movement) axes, preferably rotary joints or axes, which are adjusted by, or are configured to do so, preferably motor-driven, in one embodiment electric-driven, drives of the robot. The data processing, which is based at least partially on machine learning, comprises in one embodiment a regression method and/or at least one, preferably deep, artificial neural network (“deep artificial neural network”) for determining the robot pose(s) based on image data, in particular based on input data, which may be this image data or, in addition to this image data, may include further data, in particular kinematic data of the robot and/or predetermined environmental data and/or sensor-detected environmental data of the robot's environment. 2023P00022 WO 5/28 Kuka Deutschland GmbH In one embodiment, a robot pose comprises a preferably one-, two-, or three-dimensional position and/or a preferably one-, two-, or three-dimensional orientation of an end effector of the robot. In one embodiment, the data processing is also trained on the basis of one or preferably more of the initial training information. As a result, in one embodiment, (even) more training data can be made available easily and/or quickly for training a data processing system based at least partially on machine learning for determining robot poses based on image data of a robot environment, or the training or the trained data processing or the determination of robot poses based on image data of a robot environment can be further improved using this training data or additional training information, in particular precision, reliability, hit rate, flexibility, robustness, and/or speed can be further increased. In one embodiment, the one or more of the blocked image sub-areas and/or the one or more of the released image sub-areas of the images of a robot environment mentioned here, in particular of the one or more output images, are (each) determined based on a transformation of a spatial sub-area of this robot environment, preferably specified by a user or automatically. Blocked or released image sub-areas of additional images used to generate further additional images can, in particular, be defined correspondingly to the underlying output images. In one embodiment, the method comprises the corresponding transformation. If, in one embodiment, image data of an output image is or are provided using at least one camera, preferably on the robot or environment side, this transformation is or is determined in a further development based on a calibration of this camera(s) and transforms the specified spatial sub-area into the corresponding output or additional image. In a particularly advantageous embodiment, boundary points of the specified 2023P00022 WO 6/28 Kuka Deutschland GmbH spatial sub-area, according to the calibration of the camera(s), is transformed into corresponding pixels and these are connected to form a boundary of the locked or released image sub-area. In this case, a limited tolerance or enlargement of the locked image sub-area or reduction of the released sub-area compared to the exact transformation of the specified spatial sub-area can advantageously be realized, for example a more complex boundary contour of the transformation can be converted into a simpler boundary contour of the locked or released image sub-area. This has the advantageous effect of reducing inaccuracies in the specification of the spatial sub-area. In one embodiment, the spatial sub-area is or will be - based on user input or automatically; and/or - using a virtual model of the robot environment, in a further development using a visual or graphic representation of the robot environment; and/or - based on a specification of one or more reference points, in a further development of a central or geometric center of gravity and/or one or more edge points, in particular corner points, of the spatial sub-area; and/or - based on a specification of a dimension and/or shape of the spatial sub-area; and/or - based on at least one specified or recognized element of the, in particular object in the, robot environment, in a further development of at least one specified or recognized obstacle and/or at least one specified or recognized object to be handled by the robot; and/or - based on a robot pose, in a further development of the training robot pose, to which the image of the robot environment is assigned, in an embodiment such that the spatial sub-area has or contains the (position of the) training robot pose, for example is centered thereon; specified. 2023P00022 WO 7/28 Kuka Deutschland GmbH In this way, blocked or released image sub-regions can be identified particularly advantageously, in particular in combination with two or more of these features. An identified blocked or released image sub-region is or is identified or defined or predetermined or fixed in one embodiment by a predetermined edge, in particular predetermined edge points. In one embodiment, augmentation comprises shifting, rotating and/or deleting image regions and/or changing the color and/or resolution of image regions and/or removing imaged objects, preferably recognized by image recognition, and/or adding virtual objects. In this way, in one embodiment, additional images particularly suitable for training can be generated particularly easily, quickly and/or robustly, without the augmentation or the present invention being limited thereto. As already indicated, input data for the data processing, on the basis of which the data processing determines robot poses, in particular training input data on the basis of which the data processing is trained, can comprise, in addition to the image data of a robot's environment, further data, in particular kinematic data of this robot and/or predetermined environmental data of this environment and/or sensor-detected environmental data of this environment, wherein the data processing for determining robot poses is trained on the basis of such training input data or one or more target robot pose(s) are determined on the basis of such input data with the aid of the trained data processing, and drives of the robot are controlled on the basis of these determined target robot pose(s). Control within the meaning of the present invention also includes, in particular, closed-loop control. This can further improve the operation of the robot, in particular more reliably determine suitable target poses. The kinematic data of a robot, in one embodiment, comprise a current, preferably one-, two-, or three-dimensional, position and/or orientation of a 2023P00022 WO 8/28 Kuka Deutschland GmbH end effector of the robot and/or current joint positions of the robot and/or time derivatives of this position, orientation or joint positions. Specified environmental data can in particular comprise geometries of the environment, in particular geometries and/or poses of workpieces to be approached or transported, obstacles to be avoided or avoided, or the like. Environmental data acquired by sensors can in particular comprise poses of workpieces to be approached or transported and/or obstacles to be avoided or avoided and/or joint and/or drive loads of the robot and/or audio data or the like. Accordingly, the sensors for (sensor-based) acquisition of the environmental data can in particular comprise force and/or torque sensors, distance sensors, radar sensors, microphones and the like, wherein a combination of two or more sensors or a combination of environmental data acquired (sensor-based) by means of different sensors can be particularly advantageous. By additionally considering such kinematic and/or environmental data, the operation of the robot can be further improved; in particular, more suitable target poses can be determined more reliably. For example, data processing can determine different, particularly suitable target poses for the same image of a robot environment with different robot joint positions and/or different known or sensor-detected obstacles and/or joint and/or drive loads of the robot. According to one embodiment of the present invention, a method for operating a robot comprises the steps of: - Providing image data of an environment of the robot, wherein the image data is or will be provided preferably using at least one camera, in particular an environment-side or robot-side camera; - Determining one or more target robot poses, in a further development for gripping and/or setting down and/or processing an object 2023P00022 WO 9/28 Kuka Deutschland GmbH with the robot or the like, on the basis of this image data with the aid of data processing based at least partially on machine learning, which is trained according to a method described here, is (further) trained in a further development before and/or during operation of the robot; and - controlling drives of the robot on the basis of these determined target robot pose(s), in particular for approaching or assuming the target robot pose(s). A particularly advantageous operation of a robot, wherein image data of a robot's environment is provided and robot target poses are predicted by means of data processing based at least partially on machine learning, a desired robot movement is determined based on these target poses and thus on the image data with the aid of the data processing, and robot drives are controlled to execute the desired robot movement and thus on the basis of the determined desired robot pose(s), as well as a particularly advantageous training of the data processing, in which output images are collected during movements performed by a robot or demonstrator, is described in German patent application 102023206009.4, to which reference is made accordingly and the disclosure of which is incorporated into the present disclosure. In particular, one or more of the features described in this German patent application 102023206009.4 can also be used or implemented particularly advantageously in the present invention. According to one embodiment of the present invention, a system for training a data processing system based at least partially on machine learning for determining robot poses on the basis of image data of a robot environment and/or for operating a robot comprises the data processing system or a data processing system based at least partially on machine learning for determining robot poses on the basis of image data of a robot environment. 2023P00022 WO 10/28 Kuka Deutschland GmbH According to one embodiment of the present invention, the system is configured, in particular in terms of hardware and/or software, in particular programming, to carry out a method described here. According to one embodiment of the present invention, the system comprises: - means for providing one or more pieces of initial training information, wherein each piece of initial training information comprises - a training robot pose; and - training input data comprising image data of an initial image of a robot environment assigned to this training robot pose; and a locked or unlocked image sub-area is identified in at least one initial image; - means for generating one or more pieces of additional training information for each piece of initial training information, wherein each piece of additional training information comprises - the training robot pose of the initial training information for which this additional training information is generated; and - training input data comprising image data of an additional image of a robot environment associated with this training robot pose, wherein this additional image is generated by augmenting at least a part of the released image sub-area or the unlocked image sub-area - in the output image of the initial training information for which this additional training information is generated, or - the additional image of a further additional training information generated for this initial training information; and 2023P00022 WO 11/28 Kuka Deutschland GmbH - Means for training the data processing unit to determine robot poses based on image data of a robot environment based on one or more of the additional training information items, in a further development also on one or more pieces of initial training information. According to one embodiment of the present invention, the system additionally or alternatively comprises: - means for providing image data of the robot's environment; - means for determining at least one target robot pose based on this image data with the aid of the data processing unit; and - means for controlling the robot's drives based on this determined at least one target robot pose. In one embodiment, the system or its means comprises: - means for determining at least one locked or released image sub-area of an image of a robot environment based on a transformation of a predetermined spatial sub-area of this robot environment; in a further development, means for specifying the spatial sub-area - based on a user input or automatically; and/or - with the aid of a virtual model of the robot environment; and/or - based on a specification of at least one reference point and/or a dimension and/or shape of the spatial sub-area; and/or - based on at least one specified or recognized element of the robot's environment; and/or - means for shifting, rotating, and/or deleting image areas and/or changing the color and/or resolution of image areas and/or removing imaged objects and/or adding virtual objects for augmentation to generate at least one additional image; and/or - means for providing the image data of at least one original image and/or an environment of the robot using at least one camera, 2023P00022 WO 12/28 Kuka Deutschland GmbH, in particular these cameras and/or an image processing unit and/or a corresponding memory. A means within the meaning of the present invention can be designed in hardware and/or software, in particular at least one, in particular digital, processing unit, in particular a microprocessor unit (CPU), graphics card (GPU) or the like, preferably data- or signal-connected to a memory and/or bus system, and/or one or more programs or program modules. The processing unit can be designed to execute commands implemented as a program stored in a memory system, to acquire input signals from a data bus, and/or to output output signals to a data bus. A memory system can have one or more, in particular different, storage media, in particular optical, magnetic, solid-state, and/or other non-volatile media. The program can be such that it embodies or is capable of executing the methods described here, so that the processing unit can execute the steps of such methods and thus, in particular, train the data processing or operate the robot. In one embodiment, a computer program product can have, in particular be, a storage medium, in particular a computer-readable and/or non-volatile one, for storing a program or instructions or with a program or instructions stored thereon. In one embodiment, execution of this program or these instructions by a system or a controller, in particular a computer or an arrangement of several computers, causes the system or the controller, in particular the computer(s), to execute a method described here or one or more of its steps, or the program or the instructions are configured to do so. In one embodiment, one or more, in particular all, steps of the method are fully or partially computer-implemented, or one or more 2023P00022 WO 13/28 Kuka Deutschland GmbH several, in particular all, steps of the method are carried out fully or partially automatically, in particular by the system or its means. In one embodiment, the system comprises the robot. Further advantages and features emerge from the dependent claims and the exemplary embodiments. In this regard, the following shows, partly schematically: Fig. 1: a system according to an embodiment of the present invention; and Fig. 2: a method according to an embodiment of the present invention; and Fig. 3: determining a blocked image sub-area of an image of a robot environment based on a transformation of a predetermined spatial sub-area of this robot environment in a method according to an embodiment of the present invention. Fig. 1 shows a system according to an embodiment of the present invention, which has a robot with a controller 1 and a robot arm 10 with an end effector 11 and at least one camera 20 guided by the robot and/or at least one environment-side camera 21. In modifications not shown, the camera 20 or 21 can be omitted and/or additional cameras guided by the robot and/or ambient cameras can be provided and/or the robot arm can have a different configuration, for example more or fewer than the six joints or (movement) axes shown. By way of example, in Fig. 1, solid lines show a robot start pose and dashed lines a robot target pose, a dash-dotted line illustrates a movement of the robot based on a "LIN" movement command that causes a straight line of a TCP of the robot indicated in Fig. 1 by coordinate systems in Cartesian space, a dash-double-dotted line illustrates a movement of the robot based on a "CIRC" movement command that causes a circular path of the TCP in Cartesian space, and a double-dash-dotted line illustrates a movement of the robot based on a "PTP" movement command. 2023P00022 WO 14/28 Kuka Deutschland GmbH Fig. 2 shows a method according to an embodiment of the present invention. To train a data processing system based at least partially on machine learning for predicting robot target poses based on image data, environmental data, for example known geometries of workpieces to be handled by the robot 10 and/or obstacles to be avoided or the like, are specified in a step S10. Then, in step S20, a movement of the robot 10 or a demonstrator, for example only the loose end effector 11, is performed from a start pose to reach a target pose. Additionally or alternatively, movements from a target pose to reach a start pose can also be performed. The movements are performed with different movement trajectories (cf. Fig. 1) and/or under different environmental conditions. For these movements, in step S20, image data of an environment 30 and the respective target pose for machine learning are collected for a plurality of poses assumed by the robot or demonstrator during the respective movement, each of which is associated with this pose. The respective target pose and the respective image data each represent a training robot pose p'i and image data b'i of an output image B'i of an output training information ai = {e'i(b'i), p'i} assigned to this training robot pose. In a preferred development, kinematic data which are respectively assigned to these poses or image data and which indicate the respective robot pose, and/or environmental data recorded by sensors, for example sensor data from force-torque sensors, joint torque sensors, radar sensors, audio microphones, tracking systems 22 for detecting obstacles 31 or the like, are collected in a timely manner, preferably via time stamps or the like, which together with the image data b'i and the environmental data specified in step S10 can each form training input data e'i. 2023P00022 WO 15/28 Kuka Deutschland GmbH Based on a user input or specification, a spatial sub-area 100 is or is specified which is relevant for the data processing to be trained. Likewise, a spatial sub-area can also be specified which is not relevant for the data processing. To do this, the user specifies, for example, a center and an orientation and size or a corner point of a corresponding cuboid (cf. spatial sub-area 100 in Fig. 1), within which an object to be grasped or processed or a storage location for a robot-guided object is located. Advantageously, the spatial sub-area can have the (position of the) respective target pose(s) and, in a further development, can be or be centered for this purpose. Based on a corresponding transformation of the specified spatial sub-area, an image sub-area blocked for augmentation is determined or identified in each of the output images B'i, preferably by transforming a spatial sub-area specified as relevant for the data processing to be trained into the corresponding output image or by eliminating an image sub-area resulting from transforming a spatial sub-area specified as not relevant for the data processing to be trained into the corresponding output image. Likewise, again with the aid of a corresponding transformation of the specified spatial sub-area, an image sub-area released for augmentation can be determined or identified in each of the output images B'i, for example, a spatial sub-area specified as not relevant for data processing can be mapped to an image sub-area released for augmentation using a corresponding transformation, or an image sub-area resulting from transforming a spatial sub-area specified as relevant for the data processing to be trained into the corresponding output image can be eliminated. The identification of the corresponding image sub-area, in particular a corresponding boundary in an image of a training information, is stored for the respective initial training information. 2023P00022 WO 16/28 Kuka Deutschland GmbH If sufficient data has been collected (S25: “Y”), in a step S30 one or more additional training information zi,j are determined for one or more of the initial training information ai. For this purpose, one or more additional images B'i,j are generated by augmenting at least a part of the released image sub-area or the unlocked image sub-area of the corresponding output image B'i, for example image areas of the released or unlocked image sub-area of the corresponding output image B'i are shifted and/or rotated and/or image areas of the released or unlocked image sub-area of the corresponding output image B'i are deleted and/or colors and/or resolutions of image areas of the released or unlocked image sub-area are changed and/or objects depicted in the released or unlocked image sub-area, preferably recognized by means of image recognition, are removed and/or virtual objects are added or the like. Additionally or alternatively, one or more additional images B'i,j are generated by augmenting at least a portion of the released image sub-area or the unlocked image sub-area of an additional image B'i,k^j already generated for the corresponding output image B'i. The image data b'i,j of the additional images B'i,j generated for an output training information ai by the above-described augmentation of released or unlocked image sub-areas, respectively, form, optionally together with the kinematic data and/or sensor-detected environmental data and/or predetermined environmental data, training input data e'i,j , which together with the corresponding training robot pose p'i each form additional training information zi,j = {e'i,j(b'i,j), p'i}. Illustratively speaking, in step S20, an image B'i is recorded for at least one target pose p'i and several poses taken by the robot when approaching them, and corresponding image data of these images, if necessary together 2023P00022 WO 17/28 Kuka Deutschland GmbH with kinematic data and/or sensor-recorded environmental data and/or specified environmental data, as input data together with the respective target pose as output training information ai = {e'i(b'i), p'i}, wherein in each case on the basis of a transformation of a spatial sub-area 100 of the robot environment 30, which is specified as relevant for the data processing to be trained, into the corresponding image B'i, an image sub-area blocked for augmentation is identified in this image B'i or on the basis of a transformation of a spatial sub-area of the robot environment 30, which is specified as not relevant for the data processing to be trained, into the corresponding image B'i, an image sub-area released for augmentation is identified in this image B'i or a released/blocked image sub-area is determined or identified by eliminating an image area which is determined or identified by transforming a spatial sub-area 100 as relevant/not relevant for the data processing to be trained spatial sub-area. In step S30, additional training information zi,j = {e'i,j(b'i,j), p'i} is generated by augmenting released image sub-areas (which are considered irrelevant for data processing or its training) or by not augmenting blocked image sub-areas (which are considered relevant for data processing or its training). Then, in step S30, the data processing is trained on the basis of this initial training information ai = {e'i(b'i), p'i} and additional training information zi,j = {e'i,j(b'i,j) . If necessary, the generation of additional training information and/or the training can also take place at least partially in parallel with the collection of further data based on further movements performed. The additional training information can improve the data processing and its training, in particular, a lot of additional image data can be made available and used, thereby improving the data processing and its training, whereby no additional effort is required to take corresponding images and the time required for the data processing and its 2023P00022 WO 18/28 Kuka Deutschland GmbH Training relevant image area is not changed and thus the assignment of corresponding robot poses is not unpredictably influenced. To operate the robot 10, environmental data, for example known geometries of workpieces or the like to be handled by the robot 10, are specified in a step S100, start kinematics data indicating the robot start pose are provided in a step S110, start image data of an environment 30 of the robot 10 associated with this robot start pose as well as sensor-detected environmental data, for example sensor data from force-torque sensors, joint torque sensors, radar sensors, audio microphones, tracking systems 22 for detecting obstacles 31 or the like (not shown) are provided in a step S120, a first robot target pose is predicted by means of the trained data processing on the basis of the provided environmental data, start image data and start kinematics data, in a step S140 a robot target movement is determined on the basis of this first target pose, and in a step S150 drives of the robot 10 for executing the The robot target movement is controlled, of which three drives are provided with the reference numeral 12 as an example. During this control in step S150, current kinematic data are provided multiple times, analogously to step S110. Analogously to step S140, the robot target movement is updated based on the first target pose and this current kinematic data. Then, the drives 12 of the robot 10 are controlled to execute this updated robot target movement instead of the previously executed robot target movement. While the robot target movement continues to be executed, in a step S210, as previously in step S110, updated kinematic data indicating the current robot pose are provided; in a step S220, as previously in step S120, new image data of the environment of the robot 10 associated with this current robot pose as well as sensor-detected environmental data are provided; in a step S230, as previously in step S130, an updated robot target pose is predicted by means of the trained data processing on the basis of the provided environmental data, new image data and updated kinematic data; in a step S240, the robot target movement is updated on the basis of this updated target pose; 2023P00022 WO 19/28 Kuka Deutschland GmbH and in a step S250, as previously in step S150, the drives 12 of the robot 10 are now controlled to execute this updated robot target movement. Also during this control in step S250, current kinematics data are provided multiple times, analogous to step S150 or S210, analogous to step S240, the robot target movement is updated based on the target pose updated in step S230 and this current kinematics data, and then the drives 12 of the robot 10 are controlled to execute this updated robot target movement. As long as no termination condition is met (S255: "N"), for example, the robot 10 has reached a workpiece or the like, the system or method returns to step S210; otherwise (S255: "Y"), the method is terminated (step S260). In a modification, which can preferably be implemented in addition to or particularly preferably as an alternative to the above-explained aspect of predicting an updated robot target pose, updating the robot's target movement based on the updated target pose, and controlling the robot's drives to execute the updated robot's target movement, not only or not the final target or end pose is predicted, but additionally or alternatively (in each case) one or more new robot target pose(s) are predicted based on the new image data assigned to a current robot pose. As already described above, in steps S10, S20, environmental data are specified, movement of the robot 10 or a demonstrator is performed, and image data of the environment 30 and the respective target pose are collected for machine learning of the prediction, wherein the target pose here is not the final target or end pose, but rather the target pose approached in a next time step, or a sequence with several consecutive such target poses is collected. Here too, these poses or image data can be temporally assigned, preferably via time stamps or the like, kinematic data indicating the respective robot pose, and/or environmental data recorded by sensors, for example sensor data from force-torque sensors, joint torque sensors, radar sensors, audio microphones, 2023P00022 WO 20/28 Kuka Deutschland GmbH tracking systems 22 for detecting obstacles 31 or the like. In step S30, the or, if appropriate, further data processing is trained based on these collected, associated image data and target poses, and, if appropriate, kinematic and/or environmental data. However, this training is not aimed at predicting the final target or end pose, but rather at predicting the target pose(s) to be approached in the next time step(s). In this case, as described above, additional training information is generated and used together with the collected image data for training. To operate the robot 10, environmental data, for example known geometries of workpieces or the like to be handled by the robot 10, are specified in step S100, start kinematics data indicating the robot start pose are provided in a step S110, start image data of an environment 30 of the robot 10 associated with this robot start pose as well as sensor-detected environmental data, for example sensor data from force-torque sensors, joint torque sensors, radar sensors, audio microphones, tracking systems 22 for detecting obstacles 31 or the like (not shown) are provided in a step S120, a first robot target pose is predicted by means of the trained data processing on the basis of the provided environmental data, start image data and start kinematics data, in a step S140 a robot target movement is determined on the basis of this first target pose, and in a step S150 drives of the robot 10 for executing the Robot target movement is controlled, of which three drives are provided with the reference number 12 by way of example. After or preferably already during this control in step S150, in a step S210, as previously in step S110, updated kinematic data indicating the current robot pose are provided, in a step S220, as previously in step S120, new image data of the environment of the robot 10 associated with this current robot pose as well as sensor-detected environmental data are provided, in a step S230, as previously in step S130, a new robot target pose to be approached in the next time step or several consecutive such robot target poses (to be approached in consecutive time steps) are determined by means of the 2023P00022 WO 21/28 Kuka Deutschland GmbH trained data processing based on the provided environmental data, new image data, and updated kinematic data, in a step S240, as previously in step S140, a new robot target movement is determined based on these new target pose(s), and in a step S250, as previously in step S150, the drives 12 of the robot 10 are controlled to execute this new robot target movement. Also during this control in step S250, analogous to step 150 or S210, current kinematic data are provided multiple times, analogous to step S240, a new robot target movement is determined based on the new target pose determined in step S230 and these current kinematic data, and then the drives 12 of the robot 10 are controlled to execute this new robot target movement. As long as no termination condition is met (S255: "N"), for example, the new target pose deviates only (sufficiently) slightly from the last determined target pose or the final or end pose is reached or the like, the system or method returns to step 210; otherwise (S255: "Y") the method is terminated (step S260). Advantageously, upon reaching the final or end pose, the artificial intelligence or data processing predicts the current pose as the new target pose, so that the robot stops automatically. The training or operation explained above includes, in particular, features as described in German patent application 102023206009.4, for or with which the present invention can be used or combined particularly advantageously. However, it is not limited thereto. In a simple example illustrated in Fig. 3, several images B'i of the robot's environment are recorded, for example for a grasping pose of a robot. A user specifies a relevant spatial sub-area 100 of the environment for the grasping pose, such as a cuboid, a sphere, or the like, for example a spatial sub-area in which an object 110 to be grasped is located. This spatial sub-area is transformed into a correspondingly locked image sub-area G'i based on the calibration of the recording camera 200. Now, released or unlocked image areas G'i = B'i\G'i of the images are augmented and, together with 2023P00022 WO 22/28 Kuka Deutschland GmbH for the respective grasping pose, additional or supplementary training data is used to train a data processing system. This can then, when the robot is operating, determine target gripping poses based on images, on the basis of which the robot is then controlled to approach these poses and grasp an object. In this way, a great deal of additional training information for training the data processing system can be obtained or made available easily, quickly, and without great effort. On the other hand, limiting augmentation to image subregions that are enabled or unlocked for this purpose advantageously prevents augmentation of the image subregions relevant for data processing near the grasping pose from impairing the performance of the trained data processing system. In the present disclosure, "has an X" generally does not imply an exhaustive list, but is a shortened form of "has at least one X" and also includes "has two or more Xs" and "has Ys in addition to Xs." Although exemplary embodiments have been explained in the preceding description, it should be noted that numerous modifications are possible. Furthermore, it should be noted that the exemplary embodiments are merely examples and are not intended to limit the scope of protection, applications, or structure in any way. Rather, the preceding description provides the skilled person with a guide for implementing at least one exemplary embodiment, whereby various modifications, particularly with regard to the function and arrangement of the described components, can be made without departing from the scope of protection as it results from the claims and equivalent combinations of features. 2023P00022 WO 23/28 Kuka Deutschland GmbH List of reference symbols 1 Controller 10 Robot 11 End effector 12 Drive 20-22 Camera 30 Environment 31 Obstacle 100 Partial spatial area 110 Object 200 Camera G'i Blocked image area B'i (Input) image