2022P00048WO 1/41 Kuka Deutschland GmbH Beschreibung Verfahren und System zum Betreiben eines Roboters Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben eines Roboters, das ein mehrfaches Prognostizieren einer Roboter-Zielpose mittels einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung, insbesondere mittels eines Regressionsverfahrens und/oder wenigstens eines Künstlichen Neuronalen Netzes, auf Basis bereitgestellter Bilddaten umfasst, ein Verfahren zum Trainieren der Datenverarbeitung, sowie ein System und ein Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens. Eine Aufgabe der vorliegenden Erfindung ist es, den Betrieb eines Roboters und/oder eine wenigstens teilweise auf maschinellem Lernen basierende Datenverarbeitung hierfür, in einer Ausführung deren Training, zu verbessern. Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw.6 gelöst. Ansprüche 10, 11 stellen ein System bzw. Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen. Nach einer Ausführung der vorliegenden Erfindung weist ein 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. Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Betreiben des Roboters die Schritte: a1) Bereitstellen von Start-Bilddaten einer Umgebung des Roboters, die einer Roboter-Startpose zugeordnet sind, in einer Ausführung in der bzw. für die Roboter-Startpose mithilfe wenigstens einer Kamera und/oder Bildverarbeitung erzeugt werden;
2022P00048WO 2/41 Kuka Deutschland GmbH c1) Prognostizieren einer ersten Roboter-Zielpose mittels einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung, in einer Ausführung mittels eines Regressionsverfahrens und/oder wenigstens eines, vorzugsweise tiefen, Künstlichen Neuronalen Netzes („(deep) Artificial Neural Network“), auf Basis der bereitgestellten Start-Bilddaten, insbesondere unter Verwendung der bereitgestellten Start-Bilddaten als Input der Datenverarbeitung; d1) Ermitteln einer Roboter-Soll-Bewegung auf Basis der ersten Zielpose; und e1) Steuern von Antrieben des Roboters zum Ausführen dieser Roboter-Soll- Bewegung. Nach einer Ausführung der vorliegenden Erfindung umfasst das Verfahren die darauf folgenden, mehrfach, in einer Ausführung bis zum Erreichen bzw. Eintreten einer Abbruchbedingung, vorzugsweise einem (ausreichend genauen) Erreichen einer aktuellen Zielpose oder einem Erkennen eines Fehlerfalles, beispielsweise einem Erkennen einer Nicht-Erreichbarkeit oder (unüberwindbaren) Blockade, einem Erreichen einer vorgegebenen maximalen Versuchsanzahl oder dergleichen, wiederholten Schritten: (jeweils) a2) Bereitstellen von neuen Bilddaten einer, vorzugsweise der(selben), Umgebung des Roboters, die einer aktuellen Roboter-Pose zugeordnet sind, in einer Ausführung in der bzw. für die aktuelle(n) Roboter-Startpose mithilfe wenigstens einer, vorzugsweise der wenigstens einen, Kamera und/oder Bildverarbeitung erzeugt werden, wobei dieses Bereitstellen während des Ausführens der (bisherigen bzw. zuletzt ermittelten, gegebenenfalls zuletzt aktualisierten) Roboter-Soll-Bewegung erfolgt; c2) Prognostizieren einer aktualisierten Roboter-Zielpose mittels der Datenverarbeitung auf Basis dieser bereitgestellten neuen Bilddaten; d2) Aktualisieren der Roboter-Soll-Bewegung auf Basis dieser aktualisierten Zielpose; und e2) Steuern von, vorzugsweise den, Antrieben des Roboters zum Ausführen der aktualisierten Roboter-Soll-Bewegung, insbesondere anstelle der bisherigen bzw. zuletzt ermittelten Roboter-Soll-Bewegung.
2022P00048WO 3/41 Kuka Deutschland GmbH Somit wird in einer Ausführung das Anfahren der Zielpose in zwei Sub-Probleme bzw. Sub-Tasks zerlegt und während des Verfahrens des Roboters fortwährend, in einer Ausführung parallel und/oder mit unterschiedlichen Taktraten, - durch eine (entsprechend trainierte) Künstliche Intelligenz bzw. wenigstens teilweise auf maschinellem Lernen basierende Datenverarbeitung, vorzugsweise ein Regressionsverfahren und/oder wenigstens ein, vorzugsweise tiefes, Künstliches Neuronales Netz, aktuelle Bilddaten (und, wie nachfolgend erläutert, gegebenenfalls vorhergehende Bilddaten und/oder weitere Daten, insbesondere Kinematik- und/oder Umweltdaten) als Input genommen, die eine, vorzugsweise wahrscheinlichste, Ziel-Pose als Output ausgibt; und - durch eine weitere Funktion die von dieser Künstlichen Intelligenz bzw. Datenverarbeitung prognostizierte (aktualisierte) Zielpose (und, wie nachfolgend erläutert, gegebenenfalls Kinematikdaten) als Input genommen wird, die ihrerseits eine (aktualisierte) Roboter-Soll-Bewegung, als Output ausgibt. Dadurch kann in einer Ausführung der Roboter, vorzugsweise über weite Teile eines freien Arbeitsraums, beispielsweise einen halben oder ganzen Meter, reaktiv bewegt werden. Zusätzlich oder alternativ kann hierdurch in einigen Ausführungen explizites (Vor)Wissen über variable Umgebungsbedingungen von dem Verfahren, vorzugsweise der Künstlichen Intelligenz bzw. Datenverarbeitung, berücksichtigt und/oder auf (teure) Kraft-Momenten-Sensoren verzichtet und/oder der Roboter auch ohne Expertenwissen verwendet bzw. betrieben werden. Die erste bzw. aktualisierte Roboter-Zielpose kann insbesondere eine finale bzw. Roboter-Endpose sein, die der Roboter am Ende einer vom ihm durchzuführenden Aufgabe bzw. Applikation aufweisen soll, beispielsweise am Ende eines Anfahrvorgangs zum Aufnehmen einer Last, am Ende eines Transfers einer Last, am Ende einer Bearbeitungsbahn oder dergleichen. Nach einer Ausführung der vorliegenden Erfindung, die mit den Schritten a2) – e2) kombiniert oder ohne diese realisiert sein kann, umfasst das Verfahren, vorzugsweise zusätzlich oder besonders bevorzugt anstelle der Schritte a2) – e2), die auf die Schritte a1) – e1) folgenden, mehrfach, in einer Ausführung bis zum Erreichen bzw. Eintreten einer Abbruchbedingung, vorzugsweise einer ausreichend geringen Veränderung der jeweils prognostizierten neuen Zielpose gegenüber einer zuvor
2022P00048WO 4/41 Kuka Deutschland GmbH prognostizierten neuen Zielpose oder einem Erkennen eines Fehlerfalles, beispielsweise einem Erkennen einer Nicht-Erreichbarkeit oder (unüberwindbaren) Blockade, einem Erreichen einer vorgegebenen maximalen Versuchsanzahl oder dergleichen, wiederholten Schritten: (jeweils) a3) Bereitstellen von neuen Bilddaten einer, vorzugsweise der(selben), Umgebung des Roboters, die einer aktuellen Roboter-Pose zugeordnet sind, in einer Ausführung in der bzw. für die aktuelle(n) Roboter-Startpose mithilfe wenigstens einer, vorzugsweise der wenigstens einen, Kamera und/oder Bildverarbeitung erzeugt werden, wobei dieses Bereitstellen in einer Ausführung vor oder nach oder besonders bevorzugt während dem Ausführen der (bisherigen bzw. zuletzt ermittelten, gegebenenfalls zuletzt aktualisierten) Roboter-Soll-Bewegung erfolgt; c3) Prognostizieren einer neuen Roboter-Zielpose mittels der Datenverarbeitung bzw. Künstlichen Intelligenz auf Basis dieser bereitgestellten neuen Bilddaten; d2) Ermitteln einer neuen Roboter-Soll-Bewegung, vorzugsweise eines nächstens Bahnabschnitts, auf Basis dieser neuen Zielpose; und e2) Steuern von, vorzugsweise den, Antrieben des Roboters zum Ausführen der neuen Roboter-Soll-Bewegung. Bei dieser Ausführung der vorliegenden Erfindung kann die erste Roboter-Zielpose bzw. eine oder mehrere der neuen Roboter-Zielposen insbesondere (jeweils) eine Roboter-Zielpose eines nächstens Bahnabschnitts bzw. Zeitschritts, insbesondere Regeltaktes oder dergleichen, sein, wobei der Roboter die erste Roboter-Zielpose und eine oder mehrere der neuen Roboter-Zielposen sukzessive nacheinander anfährt, um eine Aufgabe bzw. Applikation durchzuführen, beispielsweise einen Anfahrvorgang zum Aufnehmen einer Last, einen Transfer einer Last, eine Bearbeitungsbahn oder dergleichen. Somit umfasst die vorliegende Erfindung insbesondere zwei verschiedene Aspekte, die vorliegend gemeinsam beschrieben werden und vorteilhaft in Kombination miteinander oder besonders vorteilhaft auch eigenständig realisiert werden bzw. sein können: A) eine (entsprechend trainierte) Künstliche Intelligenz bzw. wenigstens teilweise auf maschinellem Lernen basierende Datenverarbeitung, vorzugsweise ein
2022P00048WO 5/41 Kuka Deutschland GmbH Regressionsverfahren und/oder wenigstens ein, vorzugsweise tiefes, Künstliches Neuronales Netz, gibt eine, vorzugsweise finale bzw. End- bzw. Target-Pose aus; oder B) eine (entsprechend trainierte) Künstliche Intelligenz bzw. wenigstens teilweise auf maschinellem Lernen basierende Datenverarbeitung, vorzugsweise ein Regressionsverfahren und/oder wenigstens ein, vorzugsweise tiefes, Künstliches Neuronales Netz, gibt, vorzugsweise während einer Bewegung des Roboters, jeweils, eine Ziel-Pose für einen oder mehrere nächste(n) Zeitschritt(e) bzw. Bahnabschnitt(e) aus. Bei Aspekt A) können in einer Ausführung vorteilhaft bei einer Datenaufnahme zum Trainieren der Datenverarbeitung verschiedene, vorzugsweise beliebige, Bewegungen ausgeführt werden, beispielsweise zick-zack-artige, spiralartige oder dergleichen, wodurch vorteilhaft eine diverse(re) Datenbasis erhalten werden kann, da es hier sozusagen nur auf die Endpose ankommt bzw. die Datenverarbeitung bzw. Künstliche Intelligenz auf deren Prognose trainiert wird. Fällt bei Aspekt A) das Bereitstellen von neuen Bilddaten im Betrieb zwischenzeitlich aus, dann kann sich der Roboter auf Basis der letzten Prognose vorteilhafterweise trotzdem weiterbewegen. Die Prognose der Ziel-Pose kann insbesondere verwendet werden, um mit dem Roboter die Ziel-Pose direkt anzufahren. Alternativ kann die Prognose auch verwendet werden, um eine Ziel-Pose bewusst zu umfahren, beispielsweise, wenn es sich bei der Ziel-Pose um ein variables Hindernis oder dergleichen handelt. Bei Aspekt A) lernt die Datenverarbeitung in einer Ausführung nicht, wie sich der Roboter bewegen soll, sondern nur, wo sich die Ziel-Pose befindet. Bei Aspekt B) werden in einer Ausführung bei der Datenaufnahme zum Trainieren der Datenverarbeitung die Bewegungen so ausgeführt, wie sich der Roboter später auch bewegen soll. Fällt bei Aspekt B) das Bereitstellen von neuen Bilddaten im Betrieb zwischenzeitlich aus, dann bleibt der Roboter in einer Ausführung stehen. Vorteilhaft lernt bei Aspekt B) die Datenverarbeitung, wie sich der Roboter bewegen soll. Wie bereits erwähnt, werden beide Aspekte vorliegend gemeinsam erörtert, wobei nach einer Ausführung der vorliegenden Erfindung bzw. Aspekt A) das Verfahren die Schritte a1), gegebenenfalls b1), c1), d1) und e1) sowie die darauf folgenden, mehrfach wiederholten Schritte a2), gegebenenfalls b2), c2), d2) und e2) umfasst und
2022P00048WO 6/41 Kuka Deutschland GmbH nach einer anderen Ausführung der vorliegenden Erfindung bzw. Aspekt B) das Verfahren die Schritte a1), gegebenenfalls b1), c1), d1) und e1) sowie die darauf folgenden, mehrfach wiederholten Schritte a3), gegebenenfalls b2), c3), d3) und e3) umfasst (der nachfolgend erläuterte Schritt des Bereitstellens aktualisierter Kinematikdaten wird zur kompakteren Darstellung bei beiden Aspekten A), B) einheitlich als Schritt b2) bezeichnet). In einer Ausführung wird in Schritt c1) mittels der Datenverarbeitung auf Basis der bereitgestellten Start-Bilddaten eine Sequenz mit der ersten Roboter-Zielpose und einer oder mehreren (jeweils) nachfolgenden Roboter-Zielposen prognostiziert und in Schritt d1) die Roboter-Soll-Bewegung auf Basis dieser Sequenz ermitteln und/oder in Schritt c3) mittels der Datenverarbeitung auf Basis der bereitgestellten neuen Bilddaten eine Sequenz mit der neuen Roboter-Zielpose und einer oder mehreren (jeweils) nachfolgenden Roboter-Zielposen prognostiziert und in Schritt d3) die neue Roboter-Soll-Bewegung auf Basis dieser Sequenz ermitteln. Bezeichnet yi eine Roboter-Zielpose, so wird entsprechend in einer Ausführung auf Basis der Start- bzw. neuen Bilddaten nicht nur die Roboter-Zielpose yi, sondern auch eine oder mehrere nachfolgende Roboter-Zielposen yi+1, yi+2, … prognostiziert und die Roboter-Soll- Bewegung (jeweils) auf Basis dieser Sequenz {yi, yi+1, yi+2, … } ermitteln, vorzugsweise derart, dass der Roboter diese Roboter-Zielposen nacheinander anfährt. y kann hier insbesondere die nachfolgend erläuterte Endeffektorpose x und/oder die nachfolgend erläuterten Gelenkkoordinaten q umfassen, insbesondere sein. Durch eine solche Prognose einer Sequenz von zwei oder mehr aufeinanderfolgenden Roboter-Zielpose mittels einer Datenverarbeitung auf Basis von Bilddaten können in einer Ausführung besonders vorteilhaft trainierte Roboterbewegungen reaktiv umgesetzt werden. In einer Ausführung wird in Schritt c2) die aktualisierte Roboter-Zielpose mittels der Datenverarbeitung auf Basis auch einer, in einer Weiterbildung chronologischen, Gruppe bzw. Historie wenigstens einiger der zuvor bereitgestellten Bilddaten prognostiziert. In einer Ausführung wird in Schritt c3) die neue Roboter-Zielpose, in einer Weiterbildung die Sequenz, mittels der Datenverarbeitung auf Basis auch einer,
2022P00048WO 7/41 Kuka Deutschland GmbH in einer Weiterbildung chronologischen, Gruppe bzw. Historie wenigstens einiger der zuvor bereitgestellten Bilddaten prognostiziert. Dadurch kann in einer Ausführung die Genauigkeit und/oder Zuverlässigkeit der Prognose verbessert werden. Zusätzlich oder alternativ werden in einer Ausführung in Schritt e2) mehrfach neue Bewegungskommandos zum Steuern von Antrieben des Roboters ermittelt (und diese Antriebe auf Basis dieser Bewegungskommandos gesteuert), bevor Schritt c2) erneut durchgeführt wird. Mit anderen Worten werden in einer Ausführung (die) Antriebe des Roboters gegenüber einer Aktualisierung der Roboter-Zielpose auf Basis neuer Bilddaten mit einer höheren Taktrate bzw. höherfrequenter gesteuert, vorzugsweise auch gegenüber einer Bereitstellung neuer Bilddaten mit einer höheren Taktrate bzw. höherfrequenter gesteuert. Ein Steuern im Sinne der vorliegenden Erfindung kann allgemein ein Regeln bzw. ein Steuern auf Basis von Soll- und rückgeführter Ist-Werte umfassen, insbesondere sein. Dadurch kann in einer Ausführung eine vorteilhafte, beispielsweise sanftere, Roboter- Soll-Bewegung ausgeführt und/oder die Ausführung bzw. Steuerung der Roboter-Soll- Bewegung, insbesondere deren Präzision, Geschwindigkeit und/oder Zuverlässigkeit, verbessert werden. Zusätzlich oder alternativ werden in einer Ausführung - in einem Schritt b1) Start-Kinematikdaten, die die Roboter-Startpose und/oder wenigstens eine Zeitableitung hiervon, insbesondere eine Roboter- Startgeschwindigkeit und/oder -beschleunigung, angeben, bereitgestellt; und/oder - in einem Schritt b2) aktualisierte Kinematikdaten, die eine aktuelle Roboter-Pose und/oder wenigstens eine Zeitableitung hiervon, insbesondere eine aktuelle Robotergeschwindigkeit und/oder -beschleunigung, angeben, bereitgestellt. In einer Weiterbildung dieser Ausführung werden - in Schritt c1) die erste Roboter-Zielpose mittels der Datenverarbeitung auf Basis auch der bereitgestellten Start-Kinematikdaten prognostiziert. Zusätzlich oder alternativ werden in einer Weiterbildung
2022P00048WO 8/41 Kuka Deutschland GmbH - in Schritt c2) die aktualisierte Roboter-Zielpose mittels der Datenverarbeitung auf Basis auch der bereitgestellten aktualisierten Kinematikdaten, in einer Weiterbildung auf Basis auch einer, insbesondere chronologischen, Gruppe bzw. Historie wenigstens einiger der zuvor bereitgestellten Kinematikdaten, prognostiziert; bzw. - in Schritt c3) die neue Roboter-Zielpose, in einer Weiterbildung die Sequenz, mittels der Datenverarbeitung auf Basis auch der bereitgestellten aktualisierten Kinematikdaten, in einer Weiterbildung auf Basis auch einer, insbesondere chronologischen, Gruppe bzw. Historie wenigstens einiger der zuvor bereitgestellten Kinematikdaten, prognostiziert. Dadurch kann in einer Ausführung die Genauigkeit und/oder Zuverlässigkeit der Prognose verbessert werden. Zusätzlich oder alternativ werden in einer Weiterbildung der Ausführung, in der Start- bzw. aktualisierte Kinematikdaten bereitgestellt werden, - in Schritt d1) die Roboter-Soll-Bewegung auf Basis auch der bereitgestellten Start-Kinematikdaten ermittelt. Zusätzlich oder alternativ werden in einer Weiterbildung - in Schritt d2) die Roboter-Soll-Bewegung auf Basis auch der bereitgestellten aktualisierten Kinematikdaten, insbesondere auf Basis auch einer, insbesondere chronologischen, Gruppe bzw. Historie wenigstens einiger der zuvor bereitgestellten Kinematikdaten, aktualisiert; bzw. - in Schritt d3) die neue Roboter-Soll-Bewegung auf Basis auch der bereitgestellten aktualisierten Kinematikdaten, insbesondere auf Basis auch einer, insbesondere chronologischen, Gruppe bzw. Historie wenigstens einiger der zuvor bereitgestellten Kinematikdaten, ermittelt. Dabei werden in einer Ausführung wenigstens einer der vorgenannten Weiterbildungen die Schritte b2), d2) und e2) vor erneutem Ausführen des Schrittes c2), in einer Ausführung der Schritte a2) und c2), mehrfach wiederholt bzw. mehrfach - aktualisierte Kinematikdaten, die die aktuelle Roboter-Pose und/oder wenigstens eine Zeitableitung hiervon angeben, bereitgestellt (Schritt b2));
2022P00048WO 9/41 Kuka Deutschland GmbH - die Roboter-Soll-Bewegung auf Basis der zuletzt aktualisierten Zielpose und auch dieser bereitgestellten (insbesondere gegenüber dieser zuletzt aktualisierten Zielpose ihrerseits) aktualisierten Kinematikdaten, insbesondere auf Basis auch einer, insbesondere chronologischen, Gruppe der zuvor bereitgestellten Kinematikdaten, aktualisiert (Schritt d2)); und - (die) Antriebe des Roboters zum Ausführen dieser aktualisierten Roboter-Soll- Bewegung gesteuert (Schritt e2)), bevor erneut - eine (neue) aktualisierte Roboter-Zielpose mittels der Datenverarbeitung auf Basis bereitgestellter neuer Bilddaten prognostiziert wird (Schritt c2)); - und gegebenenfalls hierfür diese einer (nun) aktuellen Roboter-Pose zugeordnete neue Bilddaten einer Umgebung des Roboters während des Ausführens der zuletzt aktualisierten Roboter-Soll-Bewegung bereitgestellt werden (Schritt a2)). Analog werden in einer Ausführung wenigstens einer der vorgenannten Weiterbildungen die Schritte b2), d3) und e3) vor erneutem Ausführen des Schrittes c3), in einer Ausführung der Schritte a3) und c3), mehrfach wiederholt. Mit anderen Worten wird in einer Ausführung die Roboter-Soll-Bewegung auf Basis neuer Kinematikdaten des Roboters gegenüber einer Aktualisierung der Roboter- Zielpose auf Basis neuer Bilddaten, gegebenenfalls auch gegenüber einer Bereitstellung der neuen Bilddaten, mit einer höheren Taktrate bzw. höherfrequenter aktualisiert und zum Steuern von (den) Antrieben des Roboters verwendet bzw. die neue Roboter-Soll-Bewegung auf Basis neuer Kinematikdaten des Roboters gegenüber einer Ermittlung der neuen Roboter-Zielpose auf Basis neuer Bilddaten, gegebenenfalls auch gegenüber einer Bereitstellung der neuen Bilddaten, mit einer höheren Taktrate bzw. höherfrequenter ermittelt und zum Steuern von (den) Antrieben des Roboters verwendet. Natürlich können auch während der höherfrequenten Aktualisierung der Roboter-Soll-Bewegung bzw. Ermittlung der neuen Roboter-Soll- Bewegung bereits neue Bilddaten bereitgestellt werden, jedoch erfolgt vorzugsweise jedenfalls die Aktualisierung der Roboter-Zielpose bzw. Ermittlung der neuen Roboter- Zielpose, in einer Weiterbildung Ermittlung der Sequenz, vorzugsweise gegenüber der Aktualisierung der Roboter-Soll-Bewegung bzw. Ermittlung der neuen Roboter-Soll- Bewegung niedrigerfrequent.
2022P00048WO 10/41 Kuka Deutschland GmbH Dadurch kann in einer Ausführung eine vorteilhafte, beispielsweise sanftere, Roboter- Soll-Bewegung ausgeführt und/oder die Ausführung bzw. Steuerung der Roboter-Soll- Bewegung, insbesondere deren Präzision, Geschwindigkeit und/oder Zuverlässigkeit, verbessert werden. In einer Ausführung wird - in Schritt c1) die erste Roboter-Zielpose mittels der Datenverarbeitung auf Basis auch von, insbesondere vorab, vorgegebenen Umweltdaten prognostiziert; und/oder - in Schritt c2) die aktualisierte Roboter-Zielpose mittels der Datenverarbeitung auf Basis auch von, insbesondere vorab, vorgegebenen Umweltdaten, vorzugsweise den in Schritt c1) verwendeten Umweltdaten, prognostiziert bzw. in Schritt c3) die neue Roboter-Zielpose, in einer Weiterbildung die Sequenz, mittels der Datenverarbeitung auf Basis auch von, insbesondere vorab, vorgegebenen Umweltdaten, vorzugsweise den in Schritt c1) verwendeten Umweltdaten, prognostiziert. Solche vorgegebenen 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. Dadurch kann in einer Ausführung die Genauigkeit und/oder Zuverlässigkeit der Prognose verbessert werden. Zusätzlich oder alternativ wird in einer Ausführung - in Schritt c1) die erste Roboter-Zielpose mittels der Datenverarbeitung auf Basis auch von, vorzugsweise in der bzw. für die Start-Pose, sensorisch erfassten Umweltdaten prognostiziert; und/oder - in Schritt c2) die aktualisierte Roboter-Zielpose mittels der Datenverarbeitung auf Basis auch von, vorzugsweise in der bzw. für die aktuelle Roboter-Pose, sensorisch erfassten Umweltdaten, insbesondere auf Basis auch einer, insbesondere chronologischen, Gruppe bzw. Historie wenigstens einiger der zuvor sensorisch erfassten Umweltdaten, prognostiziert bzw. in Schritt c3) die neue Roboter-Zielpose, in einer Weiterbildung die Sequenz, mittels der
2022P00048WO 11/41 Kuka Deutschland GmbH Datenverarbeitung auf Basis auch von, vorzugsweise in der bzw. für die aktuelle Roboter-Pose, sensorisch erfassten Umweltdaten, insbesondere auf Basis auch einer, insbesondere chronologischen, Gruppe bzw. Historie wenigstens einiger der zuvor sensorisch erfassten Umweltdaten, prognostiziert. Solche sensorisch erfassten 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. Dadurch kann in einer Ausführung die Genauigkeit und/oder Zuverlässigkeit der Prognose verbessert werden. In einer Ausführung werden eine oder mehrere der Roboter-Soll-Bewegungen (jeweils) unter Berücksichtigung von, in einer Weiterbildung parametrierbaren bzw. parametrierten, Zwangsbedingungen, in einer Ausführung eines oder mehrerer, vorzugsweise parametrierbarer bzw. parametrierter, Sicherheitsbereiche und/oder einer Kollisionsvermeidung, insbesondere Selbst- und/oder Fremd- Kollisionsvermeidung, ermittelt. Dadurch kann in einer Ausführung der Betrieb des Roboters verbessert werden. Zusätzlich oder alternativ werden in einer Ausführung eine oder mehrere der Roboter- Soll-Bewegungen (jeweils) auf Basis eines numerischen Kinematikmodells des Roboters ermittelt. Dadurch können in einer Ausführung vorteilhafte Bahnplanungsalgorithmen verwendet werden.
2022P00048WO 12/41 Kuka Deutschland GmbH Zusätzlich oder alternativ werden in einer Ausführung eine oder mehrere der Roboter- Soll-Bewegungen (jeweils) mittels einer ebenfalls wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung, in einer Weiterbildung mittels Gaussian Processes, Gaussian Mixture Modells, Bayesian Learning und/oder wenigstens eines zusätzlichen Künstlichen Neuronalen Netzes, ermittelt. Dadurch können in einer Ausführung vorteilhafte Bewegungen ausgeführt werden. Zusätzlich oder alternativ umfassen in einer Ausführung eine oder mehrere der Roboter-Soll-Bewegungen (jeweils) Bewegungskommandos in einem Achs- bzw. Gelenkkoordinatenraum, insbesondere Achs- bzw. Gelenkwinkelraum, des Roboters, wobei in einer vorteilhaften Weiterbildung Hardware-Limits und/oder (Selbst-)Kollisionen und/oder anderer Beschränkungen wie zum Beispiel Sicherheitsbereiche („Safety-Spaces“) berücksichtigt werden. Dadurch können in einer Ausführung Bewegungen vorteilhaft ermittelt bzw. gesteuert und/oder die Ermittlung und/oder Steuerung verbessert, insbesondere vereinfacht und/oder beschleunigt, werden. Zusätzlich oder alternativ umfassen in einer Ausführung die in Schritt d1) ermittelten und/oder eine oder mehrere der in Schritt d2) aktualisierten Roboter-Soll-Bewegungen (jeweils) eine Verschiebung eines Endeffektors des Roboters um wenigstens 10 cm, vorzugsweise um wenigstens 25 cm, insbesondere um wenigstens 50 cm. Wie auch an anderer Stelle erläutert, kann in einer Ausführung der Roboter über weite Teile eines freien Arbeitsraums, beispielsweise einen halben oder ganzen Meter, reaktiv bzw. unter Aktualisierung der Ziel-Pose bewegt werden. Dies beruht insbesondere auf der Erkenntnis, dass zwar die Bilddaten bei großen Distanzen bzw. Bewegungsabschnitten häufig deutlich stärker variieren als bei kleine(re)n Bewegungen in der Nähe der (finalen) Zielpose, aber die reaktive Steuerung eine Konvergenz der Zielposen-Prognose bzw. Zielposen-prognostizierenden Datenverarbeitung gewährleistet. In einer Ausführung umfassen die bereitgestellten Start-Kinematikdaten und/oder die aktualisierten Kinematikdaten (jeweils) eine, vorzugsweise ein-, zwei- oder
2022P00048WO 13/41 Kuka Deutschland GmbH dreidimensionale, Position und/oder eine, vorzugsweise ein-, zwei- oder dreidimensionale, Orientierung eines Endeffektors des Roboters, insbesondere entsprechende, vorzugsweise ein-, zwei- oder dreidimensionale, Positions- und/oder, vorzugsweise ein-, zwei- oder dreidimensionale, Orientierungsdaten, im Folgenden ohne Beschränkung der Allgemeinheit kurz xt. Zusätzlich oder alternativ umfassen in einer Ausführung die bereitgestellten Start-Kinematikdaten und/oder die aktualisierten Kinematikdaten (jeweils) Gelenkstellungen des Roboters, insbesondere entsprechende Gelenkstellungsdaten bzw. -koordinaten, deren Dimension vorzugsweise der Anzahl der Freiheitsgrade bzw. Gelenke bzw. (Bewegungs)Achsen des Roboters entspricht, im Folgenden ohne Beschränkung der Allgemeinheit kurz qt. Zusätzlich oder alternativ umfassen in einer Ausführung die bereitgestellten Start-Kinematikdaten und/oder die aktualisierten Kinematikdaten (jeweils) erste und/oder höhere Zeitableitungen der vorgenannten Größen, insbesondere also translatorische und/oder rotatorische Geschwindigkeiten und/oder Beschleunigungen des Endeffektors und/oder der Gelenke. In einer Ausführung umfassen die erste Roboter-Zielpose und/oder die aktualisierte(n) bzw. neue(n) Roboter-Zielpose(n), in einer Weiterbildung die Roboter-Zielposen der Sequenz, (jeweils) eine, vorzugsweise ein-, zwei- oder dreidimensionale, Position und/oder eine, vorzugsweise ein-, zwei- oder dreidimensionale, Orientierung eines bzw. des Endeffektors des Roboters, insbesondere entsprechende, vorzugsweise ein-, zwei- oder dreidimensionale, Positions- und/oder, vorzugsweise ein-, zwei- oder dreidimensionale, Orientierungsdaten, im Folgenden ohne Beschränkung der Allgemeinheit kurz x* bzw. xi bzw. xi+1, …. Zusätzlich oder alternativ umfassen in einer Ausführung die erste Roboter-Zielpose und/oder die aktualisierte(n) bzw. neue(n) Roboter-Zielpose(n), in einer Weiterbildung die Roboter-Zielposen der Sequenz, (jeweils) Gelenkstellungen des Roboters, insbesondere entsprechende Gelenkstellungsdaten bzw. -koordinaten, deren Dimension vorzugsweise der Anzahl der Freiheitsgrade bzw. Gelenke bzw. (Bewegungs)Achsen des Roboters entspricht, im Folgenden ohne Beschränkung der Allgemeinheit kurz q* bzw. qi bzw. qi+1, ….
2022P00048WO 14/41 Kuka Deutschland GmbH Durch die Verwendung von Position(sdat)en und/oder Orientierung(sdat)en des Endeffektors, besonders bevorzug wenigstens als Roboter-Zielpose(n), können Roboter-Soll-Bewegungen besonders vorteilhaft ermittelt, insbesondere vorteilhafte Algorithmen zur Ermittlung entsprechender Roboter-Soll-Bewegungen verwendet werden. Zusätzlich oder alternativ eigenen sich diese besonders gut zum Prognostizieren durch eine Künstliche Intelligenz bzw. wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung. Durch die Verwendung von Gelenkstellung(sdat/skoordinat)en des Roboters, vorzugsweise wenigstens als Kinematikdaten zum Prognostizieren von Roboter- Zielposen durch eine Künstliche Intelligenz bzw. wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung bzw. als (Teil eines) Inputs einer solchen Zielposen-prognostizierenden Künstlichen Intelligenz bzw. Datenverarbeitung, können Roboter-Zielposen besonders vorteilhaft ermittelt werden, sie eigenen sich besonders gut als (Teil eines) Inputs einer solchen Zielposen- prognostizierenden Künstlichen Intelligenz bzw. Datenverarbeitung. Entsprechend stellen dies bzw. ein Prognostizieren einer ersten bzw. aktualisierten bzw. neuen Roboter-Zielpose, welche Position(sdat)en und/oder Orientierung(sdat)en x* des Endeffektors umfassen, mittels der Datenverarbeitung auf Basis auch von Start- bzw. aktualisierten bzw. neuen Kinematikdaten, welche Gelenkstellung(sdat/skoordinat)en qt des Roboters umfassen (x* = KI(Bilddaten, qt))), jeweils besonders bevorzugte Ausführen dar, ohne dass die Erfindung hierauf beschränkt wäre. Entsprechend kann es beispielsweise auch zweckmäßig sein, Position(sdat)en und/oder Orientierung(sdat)en des Endeffektors als Kinematikdaten bzw. (Teil eines) Inputs einer Zielposen-prognostizierenden Künstlichen Intelligenz bzw. Datenverarbeitung zu verwenden und/oder Gelenkstellung(sdat/skoordinat)en des Roboters als Zielpose bzw. Input zum Ermitteln der Roboter-Soll-Bewegungen zu verwenden. In einer Ausführung ist die Roboter-Startpose und/oder die (jeweilige) aktuelle Roboterpose eine Stellung des Roboters, insbesondere seiner Gelenke bzw. (Bewegungs)Achsen. Entsprechend sind in einer Ausführung die Start-Bilddaten einer Start-Stellung des Roboters und/oder die aktuelle Roboterpose (jeweils) einer aktuellen Stellung des Roboters zugeordnet.
2022P00048WO 15/41 Kuka Deutschland GmbH In einer Ausführung ist die Roboter-Startpose und/oder die (jeweilige) aktuelle Roboterpose eine, vorzugsweise ein-, zwei- oder dreidimensionale, Position und/oder, vorzugsweise ein-, zwei- oder dreidimensionale, Orientierung seines Endeffektors. Entsprechend sind in einer Ausführung die Start-Bilddaten einer Start-Position und/oder -Orientierung des Endeffektors und/oder die aktuelle Roboterpose (jeweils) einer aktuellen Position und/oder Orientierung des Endeffektors des Roboters zugeordnet. Wie auch an anderer Stelle erläutert, können in mehreren Schritten b2) jeweils aktualisierte Kinematikdaten, die eine (jeweils) aktuelle Roboter-Pose und/oder wenigstens eine Zeitableitung hiervon angeben, bereitgestellt werden. Dabei wird in einer Ausführung in mehreren Schritten d2) jeweils die Roboter-Soll-Bewegung auf Basis der jeweils zuletzt bzw. im zuletzt durchgeführten Schritt c2) aktualisierten Zielpose und auf Basis auch der jeweils bzw. im zuletzt durchgeführten Schritt b2) aktualisierten Kinematikdaten aktualisiert, bevor in einem neuen Schritt c2) auf Basis von in einem diesem vorhergehenden Schritt b2) bereitgestellten Kinematikdaten, die vorzugsweise auch zum Aktualisieren der Roboter-Soll-Bewegung verwendet werden, die Zielpose erneut und somit niederfrequenter als die Roboter-Soll-Bewegung aktualisiert wird. Analog wird in einer Ausführung in mehreren Schritten d3) jeweils die neue Roboter-Soll-Bewegung auf Basis der jeweils zuletzt bzw. im zuletzt durchgeführten Schritt c3) prognostizierten neuen Zielpose und auf Basis auch der jeweils bzw. im zuletzt durchgeführten Schritt b2) aktualisierten Kinematikdaten aktualisiert, bevor in einem neuen Schritt c3) auf Basis von in einem diesem vorhergehenden Schritt b2) bereitgestellten Kinematikdaten, die vorzugsweise auch zum Ermitteln der neuen Roboter-Soll-Bewegung verwendet werden, die neue Zielpose prognostiziert und somit niederfrequenter als die neue Roboter-Soll- Bewegung ermittelt wird. Dadurch kann in einer Ausführung die zwei Sub-Probleme „Prognose/Aktualisierung der Ziel-Pose“ und „Ermittlung der Soll-Bewegung“ in unterschiedlichen Frequenzen und damit besonders vorteilhaft gelöst werden, vorzugsweise parallelisiert und/oder synchronisiert. In einer Ausführung werden mittels der Datenverarbeitung auf Basis der Bilddaten und gegebenenfalls Kinematik- und/oder Umweltdaten
2022P00048WO 16/41 Kuka Deutschland GmbH - in Schritt c1) zusätzlich wenigstens eine, vorzugsweise erste, Zeitableitung der ersten Roboter-Zielpose prognostiziert und in Schritt d1) die Roboter-Soll- Bewegung auf Basis auch dieser Zeitableitung(en) ermitteln; und/oder - in Schritt c2) zusätzlich wenigstens eine, vorzugsweise erste, (aktualisierte) Zeitableitung der aktualisierten Roboter-Zielpose prognostiziert und in Schritt d2) die Roboter-Soll-Bewegung auf Basis auch dieser (aktualisierten) Zeitableitung(en) aktualisiert bzw. in Schritt c3) zusätzlich wenigstens eine, vorzugsweise erste, (neue) Zeitableitung der neuen Roboter-Zielpose, in einer Weiterbildung jeweils wenigstens eine, vorzugsweise erste, Zeitableitung der Roboter-Zielposen der Sequenz, prognostiziert und in Schritt d3) die Roboter-Soll- Bewegung auf Basis auch dieser (neuen) Zeitableitung(en) ermittelt. Durch die Prognose (auch) von, vorzugsweise ersten, Zeitableitungen der Zielpose(n) kann in einer Ausführung eine besonders vorteilhafte Roboter-Soll-Bewegung realisiert werden. Eine Zeitableitung einer Roboter-Zielpose kann insbesondere eine translatorische und/oder rotatorische Geschwindigkeit des Endeffektors und/oder von Gelenken bzw. Achsen des Roboters umfassen, insbesondere sein. In einer Ausführung ist, in einer Weiterbildung wird, die Datenverarbeitung nach einem hier beschriebenen Verfahren trainiert. Insbesondere kann also das Verfahren zum Betreiben eines Roboters nach einer Ausführung der vorliegenden Erfindung ein hier beschriebenes Verfahren zum Trainieren einer bzw. der wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Prognostizieren von Roboter-Zielposen auf Basis von Bilddaten bzw. dessen Schritte umfassen. Nach einer Ausführung der vorliegenden Erfindung weist bei einem Verfahren zum Trainieren einer bzw. der wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung zum Prognostizieren von Roboter-Zielposen auf Basis von Bilddaten für ein hier beschriebenes Betreiben des Roboters das Trainieren die Schritte auf: - nacheinander Durchführen von Bewegungen des Roboters oder eines Demonstrators, insbesondere eines losen Endeffektors, Endeffektor-Dummies, Zeigegeräts oder dergleichen, jeweils - von einer Startpose zum Erreichen einer, vorzugsweise in eine, Zielpose; oder
2022P00048WO 17/41 Kuka Deutschland GmbH - von einer Zielpose zum Erreichen einer, vorzugsweise in eine, Startpose mit - unterschiedlichen Bewegungstrajektorien; und/oder - bei unterschiedlichen Umgebungsbedingungen; und/oder - wenigstens einmal von einer Startpose zum Erreichen einer Zielpose und wenigstens einmal von einer Zielpose zum Erreichen einer Startpose, vorzugsweise mehrmals von einer Startpose zum Erreichen einer Zielpose, bevorzugt von verschiedenen Startposen zum Erreichen derselben oder unterschiedlicher Zielpose(n), und/oder mehrmals von einer Zielpose zum Erreichen einer Startpose, bevorzugt von derselben oder unterschiedlichen Zielpose(n) zum Erreichen verschiedenen Startposen, wobei für eine oder mehrere dieser Bewegungen jeweils für mehrere bei der (jeweiligen) Bewegung eingenommenen Posen des Roboters bzw. Demonstrators - dieser Pose zugeordnete Bilddaten einer, vorzugsweise der, Umgebung des Roboters; und - die jeweilige Zielpose zum maschinellen Lernen des Prognostizierens gesammelt werden; und - Trainieren der Datenverarbeitung auf Basis dieser gesammelten, einander zugeordneten Bilddaten und Zielposen. In einer Ausführung weist der Demonstrator eine, vorzugsweise integrierte, Sensorik auf, mit der in einer Weiterbildung Posen und in einer Ausführung (zugeordnete) Zeitstempel erfasst werden. Zusätzlich oder alternativ können Pose des Demonstrators und in einer Ausführung (zugeordnete) Zeitstempel mithilfe einer externen Sensorik, insbesondere eines Trackingsystems oder dergleichen, erfasst werden. Eine Ausführung der vorliegenden Erfindung basiert auf der Idee, während (der Durchführung) solcher Bewegungen fortlaufend Bilddaten zu sammeln und zum Trainieren der (Zielposen-)Künstlichen Intelligenz bzw. Zielposen-prognostizierenden Datenverarbeitung zu nutzen. Dabei kann das Trainieren in einer Ausführung wenigstens teilweise bereits während des Durchführens von (weiteren) Bewegungen zum Sammeln (weiterer) Bilddaten und Zielposen erfolgen, was das Trainieren verbessern, insbesondere beschleunigen kann.
2022P00048WO 18/41 Kuka Deutschland GmbH Eine oder mehrere Bewegungen von einer Ziel- zu einer Startpose bzw. entgegen einer im Normalbetrieb durchlaufenden Bahnrichtung, können insbesondere ein Anfahren einer Zielpose im erfindungsgemäßen Betrieb des Roboters bei regulärer Bahnrichtung und/oder ein Steuern der Trainingsbewegungen verbessern, insbesondere diese vereinfachen und/oder eine Präzision erhöhen. In einer Ausführung werden für eine oder mehrere der Bewegungen die Startpose und/oder die Zielpose vorgegeben, vorzugsweise mittels einer Bedienereingabe (separat bzw. zusätzlich zum Einnehmen der Pose) eingegeben. Zusätzlich oder alternativ werden in einer Ausführung für eine oder mehrere dieser Bewegungen für mehrere der bei dieser Bewegung eingenommenen Posen des Roboters bzw. Demonstrators jeweils Kinematikdaten, die diese Roboter-Pose und/oder wenigstens eine Zeitableitung hiervon angeben, gesammelt und den entsprechenden Bilddaten, vorzugsweise zeitlich, in einer Ausführung durch entsprechende Zeitstempfel oder dergleichen, zugeordnet und die Datenverarbeitung auf Basis auch dieser gesammelten, vorzugsweise den entsprechenden Posen bzw. Bilddaten zeitlich zugeordneten, Kinematikdaten trainiert. Zusätzlich oder alternativ werden in einer Ausführung für eine oder mehrere dieser Bewegungen Umweltdaten vorgegeben, in einer Weiterbildung wie an anderer Stelle bereits erwähnt, Geometrien der Umgebung, insbesondere Geometrien und/oder Posen von anzufahrenden oder zu transportierenden Werkstücken, zu umfahrenden bzw. zu vermeidenden Hindernissen oder dergleichen, und die Datenverarbeitung auf Basis auch dieser vorgegeben Umweltdaten trainiert. Zusätzlich oder alternativ werden in einer Ausführung bei einer oder mehreren dieser Bewegungen, vorzugsweise in bzw. für eine oder mehrere bei dieser Bewegung eingenommenen Posen, Umweltdaten sensorisch erfasst, in einer Weiterbildung wie an anderer Stelle bereits erwähnt, Posen von anzufahrenden oder zu transportierenden Werkstücken und/oder Posen von zu umfahrenden bzw. zu vermeidenden Hindernissen und/oder Gelenk- und/oder Antriebslasten des Roboters und/oder Audiodaten oder dergleichen, und die Datenverarbeitung auf Basis auch dieser (sensorisch) erfassten, vorzugsweise den entsprechenden Posen bzw. Bilddaten zeitlich zugeordneten, Umweltdaten trainiert.
2022P00048WO 19/41 Kuka Deutschland GmbH Dadurch kann in einer Ausführung die Genauigkeit und/oder Zuverlässigkeit der Prognose verbessert werden. In einer Ausführung sind bei zwei oder mehr der zum Trainieren der Datenverarbeitung verwendeten bzw. genutzten Bewegungen die Startposen identisch. Zusätzlich oder alternativ sind in einer Ausführung bei zwei oder mehr der zum Trainieren der Datenverarbeitung verwendeten bzw. genutzten Bewegungen die Zielposen identisch. Dabei kann in einer Ausführung durch die unterschiedlichen Bewegungstrajektorien und/oder unterschiedlichen Umgebungsbedingungen die Genauigkeit und/oder Zuverlässigkeit der Prognose verbessert werden. Zusätzlich oder alternativ sind in einer Ausführung bei zwei oder mehr der zum Trainieren der Datenverarbeitung verwendeten bzw. genutzten Bewegungen die Startposen (voneinander) verschieden. Zusätzlich oder alternativ sind in einer Ausführung bei zwei oder mehr der zum Trainieren der Datenverarbeitung verwendeten bzw. genutzten Bewegungen die Zielposen (voneinander) verschieden. Dadurch kann in einer Ausführung die Genauigkeit und/oder Zuverlässigkeit der Prognose verbessert werden. In einer Ausführung sind bei zwei oder mehr der zum Trainieren der Datenverarbeitung verwendeten bzw. genutzten Bewegungen die Startposen identisch und die Zielposen identisch, aber die Bewegungen dazwischen (voneinander) verschieden. Dabei kann in einer Ausführung durch die unterschiedlichen Bewegungstrajektorien und/oder unterschiedlichen Umgebungsbedingungen die Genauigkeit und/oder Zuverlässigkeit der Prognose verbessert werden. In einer Ausführung erreicht der Roboter bzw. Demonstrator bei einer oder mehreren der durchgeführten Bewegungen die jeweilige Zielpose. Mit anderen Worten werden in einer Ausführung Positiv-Beispiele zum Trainieren der Datenverarbeitung verwendet.
2022P00048WO 20/41 Kuka Deutschland GmbH Zusätzlich oder alternativ erreicht in einer Ausführung der Roboter bzw. Demonstrator bei einer oder mehreren der durchgeführten Bewegungen die jeweilige vorgegebene Zielpose nicht. Mit anderen Worten werden in einer Ausführung (auch) Negativ- Beispiele zum Trainieren der Datenverarbeitung verwendet. Dadurch kann in einer Ausführung die Genauigkeit und/oder Zuverlässigkeit der Prognose verbessert werden. In einer Ausführung wird der Roboter bzw. Demonstrator bei einer oder mehreren der durchgeführten, zum Trainieren der Datenverarbeitung verwendeten bzw. genutzten Bewegungen durch manuell auf ihn ausgeübte Kräfte handgeführt, in einer Weiterbildung der Roboter hierzu entsprechend nachgiebig geregelt. Dabei kann es vorteilhaft sein, das Handführen regelungstechnisch zu beschränken, vorzugsweise auf vorgegebenen Gelenkwinkellimits des Roboters und/oder Orientierungs- und/oder Positionslimits des Endeffektors. Dadurch können in einer Ausführung diese Bewegungen sehr intuitiv, exakt und/oder auch ohne Expertenwissen durchgeführt werden. Zusätzlich oder alternativ wird der Roboter in einer Ausführung bei einer oder mehreren der durchgeführten Bewegungen gestengesteuert oder teleoperiert. Dadurch können in einer Ausführung diese Bewegungen rasch(er) durchgeführt werden. Zusätzlich oder alternativ führt der Roboter eine oder mehrere der zum Trainieren der Datenverarbeitung verwendeten bzw. genutzten Bewegungen automatisiert durch, in einer Weiterbildung - mithilfe einer automatisierten Bahnplanung auf Basis einer Umgebungserkennung; und/oder - mithilfe eines, insbesondere automatisierten, Variierens - einer zuvor von einem Benutzer geführten oder gesteuerten Bewegung; oder - einer automatisiert geplanten Bahn; und/oder
2022P00048WO 21/41 Kuka Deutschland GmbH in einem Arbeitseinsatz, in einer Weiterbildung in einem produktiven bzw. Produktionsbetrieb. Durch die, insbesondere zusätzliche, Verwendung (auch) von automatisierten Bewegungen kann das Trainieren verbessert, insbesondere viele Bewegungen genutzt und dadurch die Genauigkeit und/oder Zuverlässigkeit der Prognose verbessert werden. Wenn in einem Arbeitseinsatz automatisiert durchgeführte Bewegungen zum Trainieren der Datenverarbeitung verwendet werden, wird die Datenverarbeitung vorteilhaft (auch) im Einsatz (weiter) trainiert. In einer Ausführung wird dabei ein Duplikat der Prognose auf Basis der in einem Arbeitseinsatz, in einer Weiterbildung in einem produktiven bzw. Produktionsbetrieb, automatisiert durchgeführte Bewegungen bzw. dabei gesammelten Daten weiter trainiert und geprüft, ob dieses weiter trainierte Duplikat eine besseres Ergebnis erzielt als die in Arbeitseinsatz verwendete Prognose, und, in einer Ausführung durch einen Nutzer, entschieden, ob bei weiteren Arbeitseinsätzen statt der bisher verwendeten Prognose das weiter trainierte Duplikat als neue Prognose verwendet wird. In einer Ausführung sind, in einer Weiterbildung, werden, die Start- und/oder die neuen Bilddaten mithilfe wenigstens einer durch den Roboter geführten Kamera und/oder mithilfe wenigstens einer umgebungsseitigen Kamera und/oder mithilfe einer Bildverarbeitung erzeugt, in einer Ausführung umfasst ein Bereitstellen von Bilddaten in Schritt a1) und/oder in Schritt a2) bzw. a3) ein solches Erzeugen. In einer Ausführung sind ein oder mehrere Roboter (jeweils) mit wenigstens einer Kamera ausgestattet und wenigstens ein weiterer Roboter fährt die entsprechende Pose an. Durch robotergeführte Kameras können insbesondere signifikante(re) Perspektiven genutzt werden, durch umgebungsseitige Kameras vorteilhaft ruhigere und/oder globale(re) Perspektiven, wobei eine umgebungsseitige Kamera ihrerseits in der Umgebung fixiert sein oder durch eine vom Roboter separate Bewegungseinrichtung verschoben und/oder verdreht werden kann. Durch eine Bildverarbeitung können für die Datenverarbeitung besonders vorteilhafte Bilddaten generiert werden. In einer Ausführung umfasst ein Prognostizieren einer Zielpose ein Prognostizieren einer bzw. derjenigen von mehreren Zielposen, die eine höchste Wahrscheinlichkeit aufweist. Mit anderen Worten ermittelt die Datenverarbeitung in einer Ausführung für
2022P00048WO 22/41 Kuka Deutschland GmbH verschiedene Zielposen jeweils eine Wahrscheinlichkeit, dass es sich um eine tatsächlich( gewünscht)e Zielpose handelt, und wählt diejenige mit der höchsten Wahrscheinlichkeit als prognostizierte Zielpose aus. Zusätzlich oder alternativ umfasst in einer Ausführung ein Prognostizieren einer Zielposen ein Ausgeben einer Zielpose auf Basis einer Eingabe bzw. mit einem Input, wobei diese Eingabe bzw. dieser Input Bilddaten, in einer Weiterbildung zusätzlich Kinematikdaten und/oder Umweltdaten, umfasst. Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet ist. Nach einer Ausführung der vorliegenden Erfindung weist ein bzw. das System auf: - Mittel zum Bereitstellen von einer Roboter-Startpose zugeordneten Start-Bilddaten einer Umgebung des Roboters, insbesondere umfassend wenigstens eine Kamera und/oder Bildverarbeitung; - Mittel zum Prognostizieren einer ersten Roboter-Zielpose mittels einer wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung, insbesondere mittels eines Regressionsverfahrens und/oder wenigstens eines Künstlichen Neuronalen Netzes, auf Basis der bereitgestellten Start-Bilddaten, insbesondere umfassend die Datenverarbeitung; - Mittel zum Ermitteln einer Roboter-Soll-Bewegung auf Basis der ersten Zielpose; und - Mittel zum Steuern von Antrieben des Roboters zum Ausführen der Roboter-Soll- Bewegung; sowie - Mittel zum darauf folgenden, mehrfach wiederholten Bereitstellen von einer jeweiligen aktuellen Roboter-Pose zugeordneten neuen Bilddaten einer Umgebung des Roboters, in einer Weiterbildung während des Ausführen der Roboter-Soll-Bewegung, insbesondere umfassend die wenigstens eine Kamera und/oder Bildverarbeitung; - Mittel zum Prognostizieren einer aktualisierten bzw. neuen Roboter-Zielpose, in einer Weiterbildung der Sequenz, mittels der Datenverarbeitung auf Basis der
2022P00048WO 23/41 Kuka Deutschland GmbH jeweiligen bereitgestellten neuen Bilddaten, insbesondere umfassend die Datenverarbeitung; - Mittel zum Aktualisieren der Roboter-Soll-Bewegung auf Basis der aktualisierten Zielpose bzw. zum Ermitteln der neuen Roboter-Soll-Bewegung auf Basis der neuen Zielpose bzw. Sequenz; und - Mittel zum Steuern von Antrieben des Roboters zum Ausführen der aktualisierten bzw. neuen Roboter-Soll-Bewegung. Nach einer Ausführung der vorliegenden Erfindung weist ein bzw. das System zusätzlich oder alternativ auf: - Mittel zum, bei nacheinander Durchführen von Bewegungen des Roboters oder eines Demonstrators jeweils - von einer Startpose zum Erreichen einer Zielpose; oder - von einer Zielpose zum Erreichen einer Startpose mit unterschiedlichen Bewegungstrajektorien und/oder bei unterschiedlichen Umgebungsbedingungen und/oder wenigstens einmal von einer Startpose zum Erreichen einer Zielpose und wenigstens einmal von einer Zielpose zum Erreichen einer Startpose, für wenigstens eine dieser Bewegungen für mehrere bei dieser Bewegung eingenommenen Posen des Roboters bzw. Demonstrators jeweils Sammeln von: - dieser Pose zugeordneten Bilddaten einer Umgebung; und - der jeweiligen Zielpose, in einer Weiterbildung der Sequenz, zum maschinellen Lernen des Prognostizierens, insbesondere einen entsprechend (gefüllten) Datenspeicher bzw. eine entsprechende Datenmenge; und - Mittel zum Trainieren der Datenverarbeitung auf Basis dieser gesammelten, einander zugeordneten Bilddaten und Zielposen. Ein System und/oder 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
2022P00048WO 24/41 Kuka Deutschland GmbH 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 den Roboter betreiben bzw. die Datenverarbeitung trainieren 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 eines hier beschriebenen Verfahrens vollständig oder teilweise computerimplementiert bzw. werden ein oder 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 und/oder die Datenverarbeitung und/oder die wenigstens eine Kamera und/oder Bildverarbeitung auf. In einer Ausführung bewegt sich der Roboter während mehrerer nacheinander durchgeführter Schritte e2) bzw. e3), vorzugsweise ständig. Mit anderen Worten werden in einer Ausführung Antriebe des Roboters fortwährend zum Ausführen der Roboter-Soll-Bewegung gesteuert, während diese fortwährend auf Basis einer fortwährend mittels der künstlichen Intelligenz bzw. Datenverarbeitung aktualisierten Zielpose aktualisiert wird bzw. wird bereits während des Anfahrens einer zuletzt
2022P00048WO 25/41 Kuka Deutschland GmbH ermittelten Zielpose wenigstens eine neue Zielpose prognostiziert und ein Bahnabschnitt zu dieser geplant. 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; Fig.2: ein Verfahren nach einer Ausführung der vorliegenden Erfindung; und Fig.3: einen Informationsfluss in dem System bzw. 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ührten 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ührten 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. 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
2022P00048WO 26/41 Kuka Deutschland GmbH 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 Bewegung 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 des Prognostizierens gesammelt. 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. Wenn genügen Daten gesammelt sind (S25: „Y“), wird in einem Schritt S30 die Datenverarbeitung auf Basis dieser gesammelten, einander zugeordneten Bilddaten und Zielposen und gegebenenfalls Kinematik- und/oder Umweltdaten trainiert. Gegebenenfalls kann das Trainieren auch wenigstens teilweise zeitlich parallel zu einem Sammeln weiterer Daten auf Basis weiterer durchgeführter Bewegungen erfolgen. 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-
2022P00048WO 27/41 Kuka Deutschland GmbH 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, 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
2022P00048WO 28/41 Kuka Deutschland GmbH dieser aktuellen Kinematikdaten aktualisiert und dann die Antriebe 12 des Roboters 10 zum Ausführen dieser aktualisierten Roboter-Soll-Bewegung gesteuert. Solange kein Abbruchbedingung erfüllt ist (S255: „N“), beispielsweise der Roboter 10 ein Werkstück erreicht hat oder dergleichen, kehrt das System bzw. Verfahren zu Schritt 210 zurück, andernfalls (S255: „Y“) wird das Verfahren beendet (Schritt S260). Der in Fig.3 dargestellte Informationsfluss in dem System bzw. Verfahren illustriert, dass mittels der wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung auf Basis der Bilddaten („image“) und Kinematikdaten („qt“) eine Zielpose („x*“) prognostiziert wird und auf Basis dieser prognostizierten Zielpose und aktualisierten Kinematikdaten („xt = F^(qt)“) eine Roboter-Soll-Bewegung ermittelt bzw. aktualisiert bzw. entsprechende Bewegungskommandos („q*“) zum Steuern der Antrieben 12 des Roboters 10 ermittelt werden. 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,
2022P00048WO 29/41 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). 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 trainierten Datenverarbeitung auf Basis der bereitgestellten Umweltdaten, neuen Bilddaten und aktualisierten Kinematikdaten prognostiziert, in einem Schritt S240, wie
2022P00048WO 30/41 Kuka Deutschland GmbH 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 kein 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 Innteligenz bzw. Datenverarbeitung die aktuelle Pose als neue Zielpose, so dass der Roboter von selbst anhält. Der in Fig.3 dargestellte Informationsfluss illustriert analog auch, dass mittels der wenigstens teilweise auf maschinellem Lernen basierenden Datenverarbeitung auf Basis der Bilddaten („image“) und Kinematikdaten („qt“) jeweils eine neue Zielpose („x*“) ermittelt wird und auf Basis dieser prognostizierten Zielpose und aktualisierten Kinematikdaten („xt = F^(qt)“) eine neue Roboter-Soll-Bewegung ermittelt bzw. entsprechende Bewegungskommandos („q*“) zum Steuern der Antrieben 12 des Roboters 10 ermittelt werden. 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. So kann insbesondere in Fig.3 die Funktion x* = f(image, qt) auch durch eine der folgenden Varianten mit anderen Inputs ersetzt sein:
2022P00048WO 31/41 Kuka Deutschland GmbH x* = f(image, xt); oder x* = f(image, qt, xt); oder x* = f(image); oder q* = f(image, xt); oder q* = f(image, qt, xt); oder q* = f(image). Zusätzlich können auch Zeitableitungen der Ziel-Posen prognostiziert und bei der Ermittlung der neuen Roboter-Soll-Bewegungen berücksichtigt werden, rein exemplarisch in der Form dx*/dt = f‘(image, qt), dq*/dt = f‘(image, qt), dx*/dt = f‘(image, xt), dq*/dt = f‘(image, xt), dx*/dt = f‘(image, qt, xt), dq*/dt = f‘(image, qt, xt), dx*/dt = f‘(image), dq*/dt = f‘(image) oder dergleichen. Zusätzlich oder alternativ können die verwendeten Kinematikdaten auch Zeitableitungen aufweisen (dqt/dt, dxt/dt, d2qt/dt2, d2xt/dt2,,,,). In einer entsprechenden Abwandlung werden dann auch im Trainingsprozess die jeweiligen Daten mit Zeitstempel gesammelt und verwendet. 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.
2022P00048WO 32/41 Kuka Deutschland GmbH Bezugszeichenliste 1 Steuerung 10 Roboter 11 Endeffektor 12 Antrieb 20, 21 Kamera 22 Trackingsystem 30 Umgebung 31 Hindernis
2022P00048WO 1/41 Kuka Deutschland GmbH Description Method and system for operating a robot The present invention relates to a method for operating a robot, which comprises multiple predictions of a robot target pose by means of data processing based at least partially on machine learning, in particular by means of a regression method and/or at least one artificial neural network, on the basis of provided image data, a method for training the data processing, and a system and a computer program or computer program product for carrying out a method described here. One object of the present invention is to improve the operation of a robot and/or data processing therefor based at least partially on machine learning, in one embodiment its training. This object is achieved by a method with the features of claim 1 and 6, respectively. Claims 10, 11 protect a system or computer program or computer program product for carrying out a method described here. The subclaims relate to advantageous further developments. According to one embodiment of the present invention, a 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, preferably motor-driven, in one embodiment electric-driven, drives of the robot or are designed to do so. According to one embodiment of the present invention, a method for operating the robot comprises the steps: a1) providing start image data of an environment of the robot, which are assigned to a robot start pose, in one embodiment in or for which the robot start pose is generated using at least one camera and/or image processing; 2022P00048WO 2/41 Kuka Deutschland GmbH c1) predicting a first robot target pose by means of data processing based at least partially on machine learning, in one embodiment by means of a regression method and/or at least one, preferably deep, artificial neural network (“(deep) artificial neural network”), on the basis of the provided start image data, in particular using the provided start image data as input to the data processing; d1) determining a robot target movement based on the first target pose; and e1) controlling drives of the robot to execute this robot target movement. According to one embodiment of the present invention, the method comprises the following steps, repeated several times in one embodiment until a termination condition is reached or occurs, preferably a (sufficiently accurate) reaching of a current target pose or a detection of an error, for example a detection of inaccessibility or (insurmountable) blockage, a predetermined maximum number of attempts or the like: (each) a2) providing new image data of a, preferably the same, environment of the robot, which are assigned to a current robot pose, in one embodiment in or for the current robot start pose are generated using at least one, preferably the at least one, camera and/or image processing, this provision taking place during the execution of the (previous or most recently determined, possibly most recently updated) robot target movement; c2) predicting an updated robot target pose by means of the data processing on the basis of these provided new image data; d2) updating the robot target movement based on this updated target pose; and e2) controlling, preferably the, drives of the robot to execute the updated robot target movement, in particular instead of the previous or most recently determined robot target movement. 2022P00048WO 3/41 Kuka Deutschland GmbH Thus, in one embodiment, the approach to the target pose is broken down into two sub-problems or sub-tasks and, during the movement of the robot, continuously, in one embodiment in parallel and/or with different clock rates, - by a (suitably trained) artificial intelligence or data processing based at least partially on machine learning, preferably a regression method and/or at least one, preferably deep, artificial neural network, current image data (and, as explained below, possibly previous image data and/or other data, in particular kinematics and/or environmental data) is taken as input, which outputs a, preferably most probable, target pose; and - by a further function, the (updated) target pose predicted by this artificial intelligence or data processing (and, as explained below, possibly kinematics data) is taken as input, which in turn outputs an (updated) robot target movement as output. As a result, in one embodiment, the robot can be moved reactively, preferably over large parts of a free workspace, for example half a meter or a whole meter. Additionally or alternatively, in some embodiments, explicit (prior) knowledge about variable environmental conditions can be taken into account by the method, preferably the artificial intelligence or data processing, and/or (expensive) force-torque sensors can be dispensed with and/or the robot can be used or operated without expert knowledge. The first or updated robot target pose can in particular be a final or robot end pose that the robot should have at the end of a task or application to be carried out by it, for example at the end of a start-up process for picking up a load, at the end of a load transfer, at the end of a processing path or the like. According to an embodiment of the present invention, which can be combined with steps a2) - e2) or implemented without them, the method comprises, preferably in addition to or particularly preferably instead of steps a2) - e2), the steps following steps a1) - e1), several times in one execution until a termination condition is reached or occurs, preferably a sufficiently small change in the respectively predicted new target pose compared to a previously 2022P00048WO 4/41 Kuka Deutschland GmbH predicted new target pose or detection of an error case, for example detection of inaccessibility or (insurmountable) blockage, reaching a predetermined maximum number of attempts or the like, repeated steps: (each) a3) providing new image data of a, preferably the same, environment of the robot, which are assigned to a current robot pose, in one embodiment in which or for the current robot start pose(s) are generated using at least one, preferably the at least one, camera and/or image processing, this provision taking place in one embodiment before or after or particularly preferably during the execution of the (previous or most recently determined, possibly most recently updated) robot target movement; c3) predicting a new robot target pose by means of data processing or artificial intelligence on the basis of this provided new image data; d2) determining a new robot target movement, preferably of a next path section, on the basis of this new target pose; and e2) controlling, preferably the drives of the robot to execute the new robot target movement. In this embodiment of the present invention, the first robot target pose or one or more of the new robot target poses can in particular be (each) a robot target pose of a next path section or time step, in particular control cycle or the like, wherein the robot approaches the first robot target pose and one or more of the new robot target poses successively one after the other in order to carry out a task or application, for example a start-up process for picking up a load, a transfer of a load, a processing path or the like. Thus, the present invention comprises in particular two different aspects, which are described together here and can advantageously be implemented in combination with one another or particularly advantageously also independently: A) an (appropriately trained) artificial intelligence or data processing based at least partially on machine learning, preferably a 2022P00048WO 5/41 Kuka Deutschland GmbH regression method and/or at least one, preferably deep, artificial neural network, outputs a, preferably final or end or target pose; or B) a (correspondingly trained) artificial intelligence or data processing based at least partially on machine learning, preferably a regression method and/or at least one, preferably deep, artificial neural network, outputs a target pose for one or more next time step(s) or path section(s), preferably during a movement of the robot. In aspect A), in one embodiment, various, preferably arbitrary, movements can advantageously be carried out during data recording for training the data processing, for example zigzag-like, spiral-like or the like, whereby a more diverse database can advantageously be obtained, since here only the end pose is important, so to speak, and the data processing or artificial intelligence is trained to predict it. If, in aspect A), the provision of new image data during operation fails in the meantime, the robot can advantageously continue to move anyway based on the last forecast. The forecast of the target pose can be used in particular to move the robot directly to the target pose. Alternatively, the forecast can also be used to deliberately avoid a target pose, for example if the target pose is a variable obstacle or the like. In aspect A), the data processing in one embodiment does not learn how the robot should move, but only where the target pose is. In aspect B), in one embodiment, when data is recorded to train the data processing, the movements are carried out in the way the robot should later move. If, in aspect B), the provision of new image data during operation fails in the meantime, the robot will remain stationary in one embodiment. In aspect B), the data processing advantageously learns how the robot should move. As already mentioned, both aspects are discussed together here, whereby according to an embodiment of the present invention or aspect A), the method comprises steps a1), optionally b1), c1), d1) and e1) as well as the subsequent, repeatedly repeated steps a2), optionally b2), c2), d2) and e2) and 2022P00048WO 6/41 Kuka Deutschland GmbH according to another embodiment of the present invention or aspect B), the method comprises steps a1), optionally b1), c1), d1) and e1) as well as the subsequent, repeatedly repeated steps a3), optionally b2), c3), d3) and e3) (the step of providing updated kinematics data explained below is uniformly referred to as step b2) for both aspects A), B) for a more compact presentation). In one embodiment, in step c1) a sequence with the first robot target pose and one or more (respectively) subsequent robot target poses is predicted by means of data processing on the basis of the provided start image data and in step d1) the robot target movement is determined on the basis of this sequence and/or in step c3) a sequence with the new robot target pose and one or more (respectively) subsequent robot target poses is predicted by means of data processing on the basis of the provided new image data and in step d3) the new robot target movement is determined on the basis of this sequence. If yi designates a robot target pose, then in one embodiment, based on the start or new image data, not only the robot target pose y i but also one or more subsequent robot target poses y i+1 , y i+2 , ... are predicted and the robot target movement (in each case) is determined on the basis of this sequence {yi, yi+1, yi+2, ... }, preferably in such a way that the robot approaches these robot target poses one after the other. Here, y can include, in particular be, the end effector pose x explained below and/or the joint coordinates q explained below. By predicting a sequence of two or more consecutive robot target poses in this way by means of data processing based on image data, trained robot movements can be reactively implemented in a particularly advantageous manner in one embodiment. In one embodiment, in step c2) the updated robot target pose is predicted by means of data processing on the basis of a group or history of at least some of the previously provided image data, in a further development chronologically. In one embodiment, in step c3) the new robot target pose, in a further development the sequence, is predicted by means of data processing on the basis of a, 2022P00048WO 7/41 Kuka Deutschland GmbH in a further development chronological, group or history of at least some of the previously provided image data. In one embodiment, this can improve the accuracy and/or reliability of the forecast. Additionally or alternatively, in one embodiment, in step e2), new movement commands for controlling drives of the robot are determined several times (and these drives are controlled on the basis of these movement commands) before step c2) is carried out again. In other words, in one embodiment, (the) drives of the robot are controlled at a higher clock rate or higher frequency compared to an update of the robot target pose on the basis of new image data, preferably also controlled at a higher clock rate or higher frequency compared to a provision of new image data. Control in the sense of the present invention can generally include, in particular be, regulation or control on the basis of target and fed-back actual values. As a result, in one embodiment, an advantageous, for example smoother, robot target movement can be carried out and/or the execution or control of the robot target movement, in particular its precision, speed and/or reliability, can be improved. Additionally or alternatively, in one embodiment - in a step b1) start kinematics data that indicate the robot start pose and/or at least one time derivative thereof, in particular a robot start speed and/or acceleration, are provided; and/or - in a step b2) updated kinematics data that indicate a current robot pose and/or at least one time derivative thereof, in particular a current robot speed and/or acceleration, are provided. In a further development of this embodiment - in step c1) the first robot target pose is predicted by means of data processing on the basis of the start kinematics data provided. Additionally or alternatively, in a further development 2022P00048WO 8/41 Kuka Deutschland GmbH - in step c2) the updated robot target pose is predicted by means of data processing on the basis of the updated kinematics data provided, in a further development on the basis of a group or history, in particular a chronological one, of at least some of the previously provided kinematics data; or - in step c3) the new robot target pose, in a further development the sequence, is predicted by means of data processing on the basis of the updated kinematics data provided, in a further development on the basis of a group or history, in particular a chronological one, of at least some of the previously provided kinematics data. This can improve the accuracy and/or reliability of the forecast in one embodiment. Additionally or alternatively, in a further development of the embodiment in which start or updated kinematics data is provided, - in step d1) the robot target movement is determined on the basis of the start kinematics data provided. Additionally or alternatively, in a further development - in step d2) the robot target movement is updated on the basis of the updated kinematics data provided, in particular on the basis of a, in particular chronological, group or history of at least some of the previously provided kinematics data; or - in step d3) the new robot target movement is determined on the basis of the updated kinematics data provided, in particular on the basis of a, in particular chronological, group or history of at least some of the previously provided kinematics data. In an embodiment of at least one of the aforementioned further developments, steps b2), d2) and e2) are repeated several times before step c2 is carried out again, in an embodiment of steps a2) and c2), or several times - updated kinematics data which indicate the current robot pose and/or at least one time derivative thereof are provided (step b2)); 2022P00048WO 9/41 Kuka Deutschland GmbH - the robot target movement is updated on the basis of the most recently updated target pose and also the kinematic data provided (in particular compared to this most recently updated target pose), in particular on the basis of a group of the previously provided kinematic data, in particular a chronological group (step d2)); and - (the) drives of the robot are controlled to execute this updated robot target movement (step e2)), before again - a (new) updated robot target pose is predicted by means of data processing on the basis of new image data provided (step c2)); - and if necessary, this new image data of an environment of the robot assigned to a (now) current robot pose is provided for this purpose during the execution of the most recently updated robot target movement (step a2)). Analogously, in an embodiment of at least one of the aforementioned developments, steps b2), d3) and e3) are repeated several times in an embodiment of steps a3) and c3) before step c3) is carried out again. In other words, in one embodiment, the robot target movement is updated at a higher clock rate or higher frequency on the basis of new kinematics data of the robot compared to an update of the robot target pose on the basis of new image data, possibly also compared to a provision of the new image data, and used to control the robot's drives, or the new robot target movement is determined at a higher clock rate or higher frequency on the basis of new kinematics data of the robot compared to a determination of the new robot target pose on the basis of new image data, possibly also compared to a provision of the new image data, and used to control the robot's drives. Of course, new image data can also be provided during the higher frequency updating of the robot target movement or determination of the new robot target movement, but preferably the updating of the robot target pose or determination of the new robot target pose, in a further development of the determination of the sequence, preferably takes place at a lower frequency than the updating of the robot target movement or determination of the new robot target movement. 2022P00048WO 10/41 Kuka Deutschland GmbH As a result, in one embodiment, an advantageous, for example smoother, robot target movement can be carried out and/or the execution or control of the robot target movement, in particular its precision, speed and/or reliability, can be improved. In one embodiment, - in step c1) the first robot target pose is predicted by means of data processing on the basis of, in particular, previously specified environmental data; and/or - in step c2) the updated robot target pose is predicted by means of data processing on the basis of, in particular, previously specified environmental data, preferably the environmental data used in step c1), or in step c3) the new robot target pose, in a further development the sequence, is predicted by means of data processing on the basis of, in particular, previously specified environmental data, preferably the environmental data used in step c1). Such predetermined 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 the like. In one embodiment, this can improve the accuracy and/or reliability of the forecast. Additionally or alternatively, in one embodiment - in step c1) the first robot target pose is forecast by means of data processing on the basis of environmental data recorded by sensors, preferably in or for the start pose; and/or - in step c2) the updated robot target pose is forecast by means of data processing on the basis of environmental data recorded by sensors, preferably in or for the current robot pose, in particular on the basis of a group or history, in particular a chronological group, of at least some of the environmental data recorded previously by sensors, or in step c3) the new robot target pose, in a further development the sequence by means of which 2022P00048WO 11/41 Kuka Deutschland GmbH Data processing based on environmental data recorded by sensors, preferably in or for the current robot pose, in particular on the basis of a group or history, in particular chronological, of at least some of the environmental data previously recorded by sensors. Such environmental data recorded by sensors can in particular include poses of workpieces to be approached or transported and/or obstacles to be avoided and/or joint and/or drive loads of the robot and/or audio data or the like. Accordingly, the sensors for (sensory) recording of the environmental data can in particular include force and/or torque sensors, distance sensors, radar sensors, microphones and the like, whereby a combination of two or more sensors or a combination of environmental data recorded (by sensors) using different sensors can be particularly advantageous. In one embodiment, this can improve the accuracy and/or reliability of the forecast. In one embodiment, one or more of the robot target movements (each) are determined taking into account constraints that can be parameterized or parameterized in a further development, in one embodiment one or more, preferably parameterized or parameterized, safety areas and/or collision avoidance, in particular self- and/or external collision avoidance. In one embodiment, the operation of the robot can thereby be improved. Additionally or alternatively, in one embodiment, one or more of the robot target movements (each) are determined on the basis of a numerical kinematic model of the robot. In one embodiment, advantageous path planning algorithms can thereby be used. 2022P00048WO 12/41 Kuka Deutschland GmbH Additionally or alternatively, in one embodiment, one or more of the robot target movements (each) are determined by means of data processing that is also at least partially based on machine learning, in a further development using Gaussian Processes, Gaussian Mixture Models, Bayesian Learning and/or at least one additional artificial neural network. In this way, advantageous movements can be carried out in one embodiment. Additionally or alternatively, in one embodiment, one or more of the robot target movements (each) comprise movement commands in an axis or joint coordinate space, in particular axis or joint angle space, of the robot, wherein in an advantageous further development, hardware limits and/or (self-)collisions and/or other restrictions such as safety areas (“safety spaces”) are taken into account. In this way, in one embodiment, movements can be advantageously determined or controlled and/or the determination and/or control can be improved, in particular simplified and/or accelerated. Additionally or alternatively, in one embodiment, the robot target movements determined in step d1) and/or one or more of the robot target movements updated in step d2) (each) comprise a displacement of an end effector of the robot by at least 10 cm, preferably by at least 25 cm, in particular by at least 50 cm. As also explained elsewhere, in one embodiment, the robot can be moved over large parts of a free workspace, for example half a meter or a whole meter, reactively or by updating the target pose. This is based in particular on the knowledge that the image data often vary significantly more for large distances or movement sections than for small(er) movements in the vicinity of the (final) target pose, but the reactive control ensures a convergence of the target pose prediction or target pose-predicting data processing. In one embodiment, the provided start kinematics data and/or the updated kinematics data (each) comprise one, preferably one, two or 2022P00048WO 13/41 Kuka Deutschland GmbH three-dimensional position and/or a, preferably one-, two- or three-dimensional, orientation of an end effector of the robot, in particular corresponding, preferably one-, two- or three-dimensional, position and/or, preferably one-, two- or three-dimensional, orientation data, hereinafter referred to as x t without restriction of generality. Additionally or alternatively, in one embodiment, the provided start kinematics data and/or the updated kinematics data (each) comprise joint positions of the robot, in particular corresponding joint position data or coordinates, the dimension of which preferably corresponds to the number of degrees of freedom or joints or (motion) axes of the robot, hereinafter referred to as q t without restriction of generality. Additionally or alternatively, in one embodiment, the provided start kinematics data and/or the updated kinematics data (each) comprise first and/or higher time derivatives of the aforementioned variables, in particular translational and/or rotational speeds and/or accelerations of the end effector and/or the joints. In one embodiment, the first robot target pose and/or the updated or new robot target pose(s), in a further development the robot target poses of the sequence, (each) comprise a, preferably one-, two- or three-dimensional, position and/or a, preferably one-, two- or three-dimensional, orientation of one or the end effector of the robot, in particular corresponding, preferably one-, two- or three-dimensional, position and/or, preferably one-, two- or three-dimensional, orientation data, hereinafter referred to without restriction of generality as x* or x i or x i+1 , .... Additionally or alternatively, in one embodiment, the first robot target pose and/or the updated or new robot target pose(s), in a further development the robot target poses of the sequence, comprise (each) joint positions of the robot, in particular corresponding joint position data or coordinates, the dimension of which preferably corresponds to the number of degrees of freedom or joints or (motion) axes of the robot, hereinafter referred to as q* or qi or qi+1, without loss of generality, .... 2022P00048WO 14/41 Kuka Deutschland GmbH By using position data and/or orientation data of the end effector, particularly preferably at least as robot target pose(s), robot target movements can be determined particularly advantageously, in particular advantageous algorithms can be used to determine corresponding robot target movements. Additionally or alternatively, these are particularly well suited for forecasting using artificial intelligence or data processing based at least partially on machine learning. By using joint positions (sdat/scoordinates) of the robot, preferably at least as kinematic data for predicting robot target poses by an artificial intelligence or at least partially machine learning-based data processing or as (part of) an input of such a target pose-predicting artificial intelligence or data processing, robot target poses can be determined particularly advantageously; they are particularly suitable as (part of) an input of such a target pose-predicting artificial intelligence or data processing. Accordingly, this or a prediction of a first or updated or new robot target pose, which includes position (sdat)s and/or orientation (sdat)s x* of the end effector, by means of data processing based on start or updated or new kinematics data, which includes joint position (sdat/scoordinate)s qt of the robot (x* = AI(image data, qt))), each represent particularly preferred embodiments, without the invention being limited thereto. Accordingly, it may also be expedient, for example, to use position (sdat)s and/or orientation (sdat)s of the end effector as kinematics data or (part of) an input of a target pose-predicting artificial intelligence or data processing and/or to use joint position (sdat/scoordinate)s of the robot as a target pose or input for determining the robot's target movements. In one embodiment, the robot start pose and/or the (respective) current robot pose is a position of the robot, in particular its joints or (motion) axes. Accordingly, in one embodiment, the start image data is assigned to a start position of the robot and/or the current robot pose is assigned to a current position of the robot (respectively). 2022P00048WO 15/41 Kuka Deutschland GmbH In one embodiment, the robot start pose and/or the (respective) current robot pose is a, preferably one-, two- or three-dimensional, position and/or, preferably one-, two- or three-dimensional, orientation of its end effector. Accordingly, in one embodiment, the start image data is assigned to a start position and/or orientation of the end effector and/or the current robot pose is (respectively) assigned to a current position and/or orientation of the end effector of the robot. As also explained elsewhere, in several steps b2), respectively updated kinematic data indicating a (respective) current robot pose and/or at least one time derivative thereof can be provided. In one embodiment, in several steps d2), the robot target movement is updated on the basis of the target pose updated most recently or in the most recently performed step c2) and also on the basis of the kinematic data updated most recently or in the most recently performed step b2), before the target pose is updated again in a new step c2) on the basis of kinematic data provided in a preceding step b2), which are preferably also used to update the robot target movement, and thus at a lower frequency than the robot target movement. Analogously, in one embodiment, the new robot target movement is updated in several steps d3) on the basis of the new target pose predicted last or in the last step c3) and on the basis of the kinematic data updated last or in the last step b2), before the new target pose is predicted in a new step c3) on the basis of kinematic data provided in a preceding step b2), which are preferably also used to determine the new robot target movement, and is thus determined at a lower frequency than the new robot target movement. In one embodiment, the two sub-problems "prediction/updating the target pose" and "determining the target movement" can thus be solved at different frequencies and thus particularly advantageously, preferably in parallel and/or synchronized. In one embodiment, the data processing is based on the image data and, if applicable, kinematic and/or environmental data. 2022P00048WO 16/41 Kuka Deutschland GmbH - in step c1) at least one, preferably first, time derivative of the first robot target pose is additionally predicted and in step d1) the robot target movement is determined on the basis of this time derivative(s); and/or - in step c2) at least one, preferably first, (updated) time derivative of the updated robot target pose is additionally predicted and in step d2) the robot target movement is updated on the basis of this (updated) time derivative(s) or in step c3) at least one, preferably first, (new) time derivative of the new robot target pose, in a further development at least one, preferably first, time derivative of the robot target poses of the sequence is predicted and in step d3) the robot target movement is determined on the basis of this (new) time derivative(s). By predicting (also) preferably first time derivatives of the target pose(s), a particularly advantageous robot target movement can be realized in one embodiment. A time derivative of a robot target pose can in particular include, in particular be, a translational and/or rotational speed of the end effector and/or joints or axes of the robot. In one embodiment, in a further development, the data processing is trained according to a method described here. In particular, the method for operating a robot according to an embodiment of the present invention can therefore comprise a method described here for training a data processing based at least partially on machine learning for predicting robot target poses on the basis of image data or its steps. According to one embodiment of the present invention, in a method for training a data processing system or the data processing system based at least partially on machine learning for predicting robot target poses on the basis of image data for operating the robot as described here, the training comprises the steps of: - successively carrying out movements of the robot or a demonstrator, in particular a loose end effector, end effector dummy, pointing device or the like, in each case - from a start pose to reach a, preferably into a, target pose; or 2022P00048WO 17/41 Kuka Deutschland GmbH - from a target pose to reach a, preferably into a, start pose with - different movement trajectories; and/or - under different environmental conditions; and/or - at least once from a start pose to reach a target pose and at least once from a target pose to reach a start pose, preferably several times from a start pose to reach a target pose, preferably from different start poses to reach the same or different target pose(s), and/or several times from a target pose to reach a start pose, preferably from the same or different target pose(s) to reach different start poses, wherein for one or more of these movements, for several poses of the robot or demonstrator assumed during the (respective) movement, - image data of a, preferably the, environment of the robot associated with this pose; and - the respective target pose is collected for machine learning of the forecast; and - training the data processing on the basis of these collected, mutually associated image data and target poses. In one embodiment, the demonstrator has a, preferably integrated, sensor system, with which, in a further development, poses and, in one embodiment, (assigned) time stamps are recorded. Additionally or alternatively, the pose of the demonstrator and, in one embodiment, (assigned) time stamps can be recorded using an external sensor system, in particular a tracking system or the like. One embodiment of the present invention is based on the idea of continuously collecting image data during (the execution of) such movements and using it to train the (target pose) artificial intelligence or target pose-predicting data processing. In one embodiment, the training can at least partially take place while (further) movements are being carried out to collect (further) image data and target poses, which can improve and, in particular, accelerate training. 2022P00048WO 18/41 Kuka Deutschland GmbH One or more movements from a target pose to a start pose or against a path direction running through in normal operation can in particular improve approaching a target pose in the inventive operation of the robot in the regular path direction and/or controlling the training movements, in particular simplifying them and/or increasing precision. In one embodiment, the start pose and/or the target pose are specified for one or more of the movements, preferably entered by means of an operator input (separately or in addition to assuming the pose). Additionally or alternatively, in one embodiment, for one or more of these movements, kinematics data indicating this robot pose and/or at least a time derivative thereof are collected for several of the poses assumed by the robot or demonstrator during this movement and assigned to the corresponding image data, preferably in terms of time, in one embodiment by means of corresponding time stamps or the like, and the data processing is trained on the basis of this collected kinematics data, which is preferably assigned in time to the corresponding poses or image data. Additionally or alternatively, in one embodiment, environmental data is specified for one or more of these movements; in a further development, as already mentioned elsewhere, geometries of the environment, in particular geometries and/or poses of workpieces to be approached or transported, obstacles to be avoided or the like, and the data processing is also trained on the basis of these specified environmental data. Additionally or alternatively, in one embodiment, for one or more of these movements, preferably in or for one or more poses assumed during this movement, environmental data is recorded by sensors; in a further development, as already mentioned elsewhere, poses of workpieces to be approached or transported and/or poses of obstacles to be avoided or the like and/or joint and/or drive loads of the robot and/or audio data or the like, and the data processing is also trained on the basis of these (sensor-) recorded environmental data, preferably temporally assigned to the corresponding poses or image data. 2022P00048WO 19/41 Kuka Deutschland GmbH In one embodiment, this can improve the accuracy and/or reliability of the forecast. In one embodiment, the start poses are identical for two or more of the movements used or utilized to train the data processing. Additionally or alternatively, in one embodiment, the target poses are identical for two or more of the movements used or utilized to train the data processing. In one embodiment, the accuracy and/or reliability of the forecast can be improved due to the different motion trajectories and/or different environmental conditions. In one embodiment, this can improve the accuracy and/or reliability of the forecast. In one embodiment, this can improve the accuracy and/or reliability of the forecast. In one embodiment, this can improve the accuracy and/or reliability of the forecast. In one embodiment, for two or more of the movements used to train the data processing, the starting poses are identical and the target poses are identical, but the movements in between are different (from each other). In one embodiment, the accuracy and/or reliability of the prediction can be improved by the different movement trajectories and/or different environmental conditions. In one embodiment, the robot or demonstrator reaches the respective target pose in one or more of the movements performed. In other words, in one embodiment, positive examples are used to train the data processing. 2022P00048WO 20/41 Kuka Deutschland GmbH Additionally or alternatively, in one embodiment the robot or demonstrator does not reach the respective specified target pose for one or more of the movements performed. In other words, in one embodiment negative examples are (also) used to train the data processing. This can improve the accuracy and/or reliability of the forecast in one embodiment. In one embodiment the robot or demonstrator is hand-guided for one or more of the movements performed or used to train the data processing by forces exerted on it manually; in a further development the robot is controlled accordingly. It can be advantageous to limit hand guidance by control technology, preferably to specified joint angle limits of the robot and/or orientation and/or position limits of the end effector. This means that in one embodiment these movements can be carried out very intuitively, precisely and/or even without expert knowledge. Additionally or alternatively the robot is gesture-controlled or teleoperated for one or more of the movements performed. As a result, in one embodiment these movements can be carried out more quickly. Additionally or alternatively, the robot carries out one or more of the movements used to train the data processing automatically, in a further development - with the help of automated path planning based on environmental recognition; and/or - with the help of a, in particular automated, variation - of a movement previously guided or controlled by a user; or - an automatically planned path; and/or 2022P00048WO 21/41 Kuka Deutschland GmbH in a work assignment, in further training in a productive or production company. Through the, in particular additional, use (also) of automated movements, training can be improved, in particular many movements can be used and the accuracy and/or reliability of the forecast can be improved. If movements carried out automatically in a work assignment are used to train data processing, the data processing is advantageously (also) (further) trained in the assignment. In one embodiment, a duplicate of the forecast is further trained on the basis of the movements carried out automatically in a work assignment, in further training in a productive or production company, or the data collected during this, and it is checked whether this further trained duplicate achieves a better result than the forecast used in the work assignment, and, in one embodiment by a user, a decision is made as to whether the further trained duplicate will be used as the new forecast for further work assignments instead of the forecast previously used. In one embodiment, in a further development, the start and/or the new image data are generated using at least one camera guided by the robot and/or using at least one camera on the environment side and/or using image processing. In one embodiment, providing image data in step a1) and/or in step a2) or a3) includes such generation. In one embodiment, one or more robots are (each) equipped with at least one camera and at least one further robot moves to the corresponding pose. Robot-guided cameras can be used to use more significant perspectives, while cameras on the environment side can advantageously use calmer and/or more global perspectives, whereby an environment-side camera can itself be fixed in the environment or can be moved and/or rotated by a movement device separate from the robot. Image processing can be used to generate image data that is particularly advantageous for data processing. In one embodiment, predicting a target pose includes predicting one or the one of several target poses that has the highest probability. In other words, the data processing in one execution determines 2022P00048WO 22/41 Kuka Deutschland GmbH different target poses each have a probability that it is an actual (desired) target pose, and selects the one with the highest probability as the predicted target pose. Additionally or alternatively, in one embodiment, predicting a target pose comprises outputting a target pose on the basis of an input or with an input, wherein this input or this input comprises image data, in a further development additionally kinematic data and/or environmental data. According to one embodiment of the present invention, a system, in particular hardware and/or software, in particular program technology, is set up to carry out a method described here. According to one embodiment of the present invention, a or the system has: - means for providing start image data of an environment of the robot assigned to a robot start pose, in particular comprising at least one camera and/or image processing; - Means for predicting a first robot target pose by means of data processing based at least partially on machine learning, in particular by means of a regression method and/or at least one artificial neural network, on the basis of the provided start image data, in particular comprising the data processing; - Means for determining a robot target movement on the basis of the first target pose; and - Means for controlling drives of the robot to execute the robot target movement; and - Means for subsequently providing new image data of an environment of the robot, assigned to a respective current robot pose, repeatedly, in a further development during the execution of the robot target movement, in particular comprising the at least one camera and/or image processing; - Means for predicting an updated or new robot target pose, in a further development of the sequence, by means of data processing on the basis of the 2022P00048WO 23/41 Kuka Deutschland GmbH respective new image data provided, in particular comprising data processing; - means for updating the robot target movement on the basis of the updated target pose or for determining the new robot target movement on the basis of the new target pose or sequence; and - means for controlling drives of the robot to execute the updated or new robot target movement. According to one embodiment of the present invention, a or the system additionally or alternatively comprises: - means for, when movements of the robot or a demonstrator are carried out one after the other, in each case - from a start pose to reaching a target pose; or - from a target pose to reach a start pose with different movement trajectories and/or under different environmental conditions and/or at least once from a start pose to reach a target pose and at least once from a target pose to reach a start pose, for at least one of these movements for several poses of the robot or demonstrator assumed during this movement, collecting in each case: - image data of an environment assigned to this pose; and - the respective target pose, in a further development of the sequence, for machine learning of the forecasting, in particular a corresponding (filled) data storage or a corresponding amount of data; and - means for training the data processing on the basis of these collected, mutually assigned image data and target poses. A system and/or a means in the sense of the present invention can be designed in terms of hardware and/or software, in particular at least one, preferably data- or signal-connected, especially digital, processing unit, especially microprocessor unit (CPU), graphics card (GPU) or the like, and/or one or more programs or program modules. The processing unit can be designed to execute commands that are stored as a 2022P00048WO 24/41 Kuka Deutschland GmbH The program can be designed in such a way that it embodies or is capable of carrying out the methods described here, so that the processing unit can carry out the steps of such methods and thus in particular operate the robot or train the data processing. 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 carry out a method described here or one or more of its steps, or the program or the instructions are set up for this purpose. In one embodiment, one or more, in particular all, steps of a method described here are fully or partially computer-implemented or one or more, 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 has the robot and/or the data processing and/or the at least one camera and/or image processing. In one embodiment, the robot preferably moves continuously during several steps e2) or e3) carried out one after the other. In other words, in one embodiment, the robot's drives are continuously controlled to execute the robot's target movement, while this is continuously updated on the basis of a target pose that is continuously updated using artificial intelligence or data processing, or is already updated during the approach to a last 2022P00048WO 25/41 Kuka Deutschland GmbH, at least one new target pose is predicted and a path section to this is planned. Further advantages and features emerge from the subclaims and the embodiments. In this regard, the following shows, partially schematically: Fig. 1: a system according to an embodiment of the present invention; Fig. 2: a method according to an embodiment of the present invention; and Fig. 3: an information flow in the system or 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 camera 21 on the environment. In modifications not shown, the camera 20 or 21 can be omitted and/or additional cameras guided by the robot and/or cameras on the environment 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, a robot start pose is shown in solid lines and a robot target pose is shown in dashed lines, 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 is shown in a dash-dotted line, a movement of the robot based on a "CIRC" movement command that causes a circular path of the TCP in Cartesian space is shown in dash-double-dotted lines, and a movement of the robot based on a "PTP" movement command is shown in double-dash lines. Fig. 2 shows a method according to an embodiment of the present invention. For training a data processing based at least partially on machine learning to predict robot target poses based on 2022P00048WO 26/41 Kuka Deutschland GmbH In a step S10, 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 for the image data. Then, in step S20, a movement of the robot 10 or of a demonstrator, for example only the loose end effector 11, is carried out from a starting pose to reach a target pose. Additionally or alternatively, movements from a target pose to reach a starting pose can also be carried out. The movement is carried out with different movement trajectories (cf. Fig. 1) and/or under different environmental conditions. For these movements, in step S20, for several poses assumed by the robot or demonstrator during the respective movement, image data of an environment 30 and the respective target pose are collected for machine learning of the forecasting. In a preferred development, these poses or image data are temporally assigned, preferably via time stamps or the like, kinematic data that 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. If sufficient data has been collected (S25: "Y"), in a step S30 the data processing is trained on the basis of these collected, mutually assigned image data and target poses and, if applicable, kinematic and/or environmental data. If appropriate, the training can also take place at least partially in parallel with the collection of further data on the basis of further movements carried out. 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, and start-up data are specified in a step S110. 2022P00048WO 27/41 Kuka Deutschland GmbH Kinematic data indicating the robot start pose are provided, in a step S120 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 S130 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 kinematic 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 are controlled to execute the robot target movement, of which three drives are provided with the reference number 12 as an example. During this control in step S150, current kinematics data are provided several times, analogously to step S110, the robot target movement is updated on the basis of the first target pose and this current kinematics data, analogously to step S140, and 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 is still being executed, in a step S210, as previously in step S110, updated kinematics 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 and 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 environmental data provided, new image data and updated kinematics data, in a step S240 the robot target movement is updated on the basis of this updated target pose, 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 several times, analogous to step 150 or S210, the robot target movement is provided on the basis of the target pose updated in step S230, and 2022P00048WO 28/41 Kuka Deutschland GmbH this current kinematic 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 210, otherwise (S255: "Y") the method is terminated (step S260). The information flow in the system or method shown in Fig.3 illustrates that by means of the data processing based at least partially on machine learning on the basis of the image data ("image") and kinematic data ("qt") a target pose ("x*") is predicted and on the basis of this predicted target pose and updated kinematic data ("x t = F^(q t )") a robot target movement is determined or updated or corresponding movement commands ("q*") for controlling the drives 12 of the robot 10 are determined. In a modification, which can preferably be implemented in addition to or particularly preferably as an alternative to the aspect explained above of predicting an updated robot target pose, updating the robot target movement on the basis of the updated target pose and controlling drives of the robot to execute the updated robot 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 on the basis of the new image data assigned to a current robot pose. In this case, as already described above, in steps S10, S20, environmental data are specified and movement of the robot 10 or a demonstrator is carried out and image data of the environment 30 and the respective target pose are collected for machine learning of the prediction, whereby the target pose here is not the final target or end pose but 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 associated with kinematic data, preferably via time stamps or the like, 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, 2022P00048WO 29/41 Kuka Deutschland GmbH tracking systems 22 for detecting obstacles 31 or the like. In step S30, the or, if applicable, further data processing is trained on the basis of these collected, associated image data and target poses and, if applicable, kinematics and/or environmental data, but not to predict the final target or end pose, but rather the target pose(s) to be approached in the next time step(s). To operate the robot 10, environmental data, for example known geometries of workpieces to be handled by the robot 10 or the like, 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 and 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 environmental data, start image data and start kinematics data provided in a step S130, a robot target movement is determined on the basis of this first target pose in a step S140, and 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 kinematics 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 and environmental data recorded by sensors 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 successive time steps) are predicted by means of the trained data processing on the basis of the environmental data provided, new image data and updated kinematics data, in a step S240, as previously in step S150, 2022P00048WO 30/41 Kuka Deutschland GmbH previously in step S140, a new robot target movement is determined on the basis of 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, analogously to step 150 or S210, current kinematics data are provided several times, analogously to step S240, a new robot target movement is determined on the basis of the new target pose determined in step S230 and this current kinematics 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, when the final or end pose is reached, the artificial intelligence or data processing predicts the current pose as the new target pose, so that the robot stops automatically. The information flow shown in Fig.3 also illustrates analogously that by means of the data processing based at least partially on machine learning on the basis of the image data (“image”) and kinematics data (“qt”), a new target pose (“x*”) is determined and on the basis of this predicted target pose and updated kinematics data (“xt = F^(qt)”) a new robot target movement is determined or corresponding movement commands (“q*”) for controlling the drives 12 of the robot 10 are determined. In the present disclosure, “has an X” does not generally imply an exhaustive list, but is a short form of “has at least one X” and also includes “has two or more X” and “has Y in addition to X”. Although exemplary embodiments were explained in the previous description, it should be noted that a large number of modifications are possible. In particular, in Fig.3 the function x* = f(image, q t ) can also be replaced by one of the following variants with other inputs: 2022P00048WO 31/41 Kuka Deutschland GmbH x* = f(image, xt); or x* = f(image, qt, xt); or x* = f(image); or q* = f(image, x t ); or q* = f(image, q t , x t ); or q* = f(image). In addition, time derivatives of the target poses can also be predicted and taken into account when determining the new robot target movements, purely exemplary in the form dx*/dt = f'(image, q t ), dq*/dt = f'(image, q t ), dx*/dt = f'(image, x t ), dq*/dt = f'(image, x t ), dx*/dt = f'(image, q t , x t ), dq*/dt = f'(image, q t , x t ), dx*/dt = f'(image), dq*/dt = f'(image) or the like. Additionally or alternatively, the kinematic data used can also have time derivatives (dqt/dt, dxt/dt, d 2 qt/dt 2 , d 2 xt/dt 2 ,,,,). In a corresponding modification, the respective data with a time stamp is then also collected and used in the training process. It should also be noted that the exemplary embodiments are merely examples that are not intended to limit the scope of protection, the applications and the structure in any way. Rather, the preceding description provides the person skilled in the art with a guide for the implementation of at least one exemplary embodiment, whereby various changes, in particular with regard to the function and arrangement of the components described, can be made without departing from the scope of protection as it arises from the claims and combinations of features equivalent to these. 2022P00048WO 32/41 Kuka Deutschland GmbH List of reference symbols 1 Controller 10 Robot 11 End effector 12 Drive 20, 21 Camera 22 Tracking system 30 Environment 31 Obstacle