DE102022206381A1 - Method for controlling a robotic device - Google Patents

Method for controlling a robotic device Download PDF

Info

Publication number
DE102022206381A1
DE102022206381A1 DE102022206381.3A DE102022206381A DE102022206381A1 DE 102022206381 A1 DE102022206381 A1 DE 102022206381A1 DE 102022206381 A DE102022206381 A DE 102022206381A DE 102022206381 A1 DE102022206381 A1 DE 102022206381A1
Authority
DE
Germany
Prior art keywords
manifold
diffeomorphism
configuration
vector field
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022206381.3A
Other languages
German (de)
Inventor
Leonel Rozo
Hadi Beik-Mohammadi
Jiechao ZHANG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102022206381.3A priority Critical patent/DE102022206381A1/en
Publication of DE102022206381A1 publication Critical patent/DE102022206381A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40116Learn by operator observation, symbiosis, show, watch
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40391Human to robot skill transfer

Abstract

Gemäß verschiedenen Ausführungsformen ist ein Verfahren zum Steuern einer Robotervorrichtung beschrieben, umfassend Bereitstellen von Demonstrationen für eine Roboterfähigkeit, wobei jede Demonstration eine Trajektorie zeigt, die eine Sequenz von Roboterkonfigurationen umfasst, wobei jede Roboterkonfiguration zumindest teilweise durch einen Punkt auf einer ersten riemannschen Mannigfaltigkeit beschrieben wird, Bestimmen eines Vektorfeldes auf einer zweiten riemannschen Mannigfaltigkeit und Trainieren eines Diffeomorphismus zwischen der ersten riemannschen Mannigfaltigkeit und der zweiten riemannschen Mannigfaltigkeit. Das Verfahren umfasst ferner Steuern der Robotervorrichtung, für eine Konfiguration, für die eine Steueraktion bestimmt werden soll, gemäß einer Konfigurationsänderung, die durch das bestimmte Vektorfeld über den trainierten Diffeomorphismus für die Konfiguration, für die eine Steueraktion bestimmt werden soll, gegeben ist.

Figure DE102022206381A1_0000
According to various embodiments, a method for controlling a robotic device is described, comprising providing demonstrations of a robotic capability, each demonstration showing a trajectory comprising a sequence of robot configurations, each robot configuration being at least partially described by a point on a first Riemannian manifold, Determining a vector field on a second Riemann manifold and training a diffeomorphism between the first Riemann manifold and the second Riemann manifold. The method further includes controlling the robotic device, for a configuration for which a control action is to be determined, according to a configuration change given by the determined vector field via the trained diffeomorphism for the configuration for which a control action is to be determined.
Figure DE102022206381A1_0000

Description

Stand der TechnikState of the art

Die vorliegende Erfindung betrifft Verfahren zum Steuern einer Robotervorrichtung.The present invention relates to methods for controlling a robotic device.

In vielen Anwendungen ist es wünschenswert, dass Roboter in möglichen dynamischen und unstrukturierten Umgebungen autonom funktionieren können. Dafür müssen sie lernen, wie sie sich in ihrem Umfeld bewegen und damit interagieren sollen. Dazu können Roboter auf eine Bibliothek von Fähigkeiten angewiesen sein, die verwendet werden können, um einfache Bewegungen auszuführen oder komplizierte Aufgaben wie etwa eine Zusammensetzung mehrerer Fähigkeiten durchzuführen. Eine Weise zum Lernen von Bewegungsfähigkeiten ist über menschliche Beispiele, bekannt als Lernen aus Demonstrationen (LfD: Learning from Demonstrations). Dies beinhaltet, dass ein (typischerweise menschlicher) Experte einmal oder mehrere Male eine spezifische Fähigkeit (z. B. eine Bewegung) zeigt, die von einem Roboter nachgeahmt werden soll.In many applications, it is desirable that robots can function autonomously in potentially dynamic and unstructured environments. To do this, they have to learn how to move and interact with their environment. To do this, robots may rely on a library of skills that can be used to perform simple movements or to perform complicated tasks such as composing multiple skills. One way to learn movement skills is through human examples, known as Learning from Demonstrations (LfD). This involves a (typically human) expert demonstrating once or several times a specific skill (e.g. a movement) that is intended to be imitated by a robot.

Das Lernen aus Demonstrationen ermöglicht Robotern, menschenähnliche Fähigkeiten zum Durchführen einer großen Vielfalt von Aufgaben direkt zu erlangen. Unter dem LfD-Framework werden Demonstrationen gewöhnlich als Zustand-Aktion-Trajektorien repräsentiert, für die ein Zustand zum Beispiel die Roboterendeffektorposition, und eine Aktion die erforderlichen kartesischen Geschwindigkeiten sein kann. Im Kontext des Roboterbewegungslernens bieten Ansätze wie etwa Verhaltensklonen, eine direkte Abbildung (d. h. eine Funktion) von Zuständen auf Aktionen unter Verwendung von Demonstrationsdaten zu lernen. Diese Verfahren können jedoch unter Datenfehlanpassung und Extrapolations(Generalisierungs)-Schwierigkeiten leiden, was manchmal zu unzuverlässigen Bewegungen führt, wenn sie außerhalb der Demonstrationsdatenunterstützung erzeugt werden. Eine Weise, dies zu überwinden, besteht darin, Steuerungstheorie wirksam einzusetzen, insbesondere Stabilitätszertifikate, die die Generalisierungsfertigkeiten der Bewegungslernverfahren durch das Einführen von Stabilitätsgarantien verbessern können. Daher erfordert das Problem des Roboterbewegungslernens das Erstellen eines Modells, das die demonstrierten Bewegungsdynamiken einkapselt und Stabilität garantiert.Learning from demonstrations allows robots to directly acquire human-like abilities to perform a wide variety of tasks. Under the LfD framework, demonstrations are usually represented as state-action trajectories, for which a state can be, for example, the robot end-effector position, and an action can be the required Cartesian velocities. In the context of robot motion learning, approaches such as behavioral cloning offer to learn a direct mapping (i.e., a function) from states to actions using demonstration data. However, these methods can suffer from data misfitting and extrapolation (generalization) difficulties, sometimes resulting in unreliable motions when generated outside of demonstration data support. One way to overcome this is to leverage control theory, particularly stability certificates, which can improve the generalization capabilities of motion learning methods by introducing stability guarantees. Therefore, the problem of robot motion learning requires building a model that encapsulates the demonstrated motion dynamics and guarantees stability.

In diesen Aspekten lautet die gewöhnliche Annahme, dass die Roboterbewegungstrajektorien in euklidischen Räumen liegen. Diese Annahme gilt jedoch nicht streng, wenn die Bewegung des Roboterendeffektors in Erwägung gezogen wird, aufgrund der Orientierungsrepräsentation. Es gibt beispielsweise verschiedene Arten von Repräsentation für die Orientierung, wie etwa Quaternion in der 3-Sphären-Mannigfaltigkeit und Rotationsmatrizen in der Mannigfaltigkeit der speziellen orthogonalen Gruppe (SO(3)).In these aspects, the usual assumption is that the robot motion trajectories lie in Euclidean spaces. However, this assumption does not strictly hold when considering the movement of the robot end effector due to the orientation representation. For example, there are different types of representation for orientation, such as quaternions in the 3-sphere manifold and rotation matrices in the special orthogonal group (SO(3)) manifold.

Daher sind Ansätze für ein stabiles Training einer Robotervorrichtung, insbesondere zum Lernen aus Demonstrationen, das die geometrischen Beschränkungen der Demonstrationsdaten in nicht euklidischen Räumen effektiv handhaben kann, wünschenswert.Therefore, approaches for robust training of a robotic device, particularly for learning from demonstrations, that can effectively handle the geometric constraints of the demonstration data in non-Euclidean spaces are desirable.

Offenbarung der ErfindungDisclosure of the invention

Gemäß verschiedenen Ausführungsformen ist ein Verfahren zum Steuern einer Robotervorrichtung bereitgestellt, das beinhaltet: Bereitstellen von Demonstrationen für eine Roboterfähigkeit, wobei jede Demonstration eine Trajektorie zeigt, die eine Sequenz von Roboterkonfigurationen beinhaltet, wobei jede Roboterkonfiguration zumindest teilweise durch einen Punkt auf einer ersten riemannschen Mannigfaltigkeit beschrieben wird, Bestimmen eines Vektorfeldes auf einer zweiten riemannschen Mannigfaltigkeit und Trainieren eines Diffeomorphismus zwischen der ersten riemannschen Mannigfaltigkeit und der zweiten riemannschen Mannigfaltigkeit durch Suchen nach Parameterwerten des Diffeomorphismus, die einen Verlust minimieren. Der Verlust beinhaltet, für jede Demonstration und für mindestens eine Roboterkonfiguration der durch die Demonstration gezeigten Trajektorie, eine Differenz zwischen einer Konfigurationsänderung zu der nächsten Konfiguration der Trajektorie und einer Konfigurationsänderung, die durch das bestimmte Vektorfeld über den Diffeomorphismus gegeben ist. Das Bestimmen der Konfigurationsänderung, die durch das bestimmte Vektorfeld für eine Konfiguration gegeben ist, beinhaltet Abbilden des Punktes auf der ersten riemannschen Mannigfaltigkeit, die die Konfiguration beschreibt, auf einen Punkt auf der zweiten riemannschen Mannigfaltigkeit mittels des Diffeomorphismus, Bestimmen einer Änderung, die durch das Vektorfeld an dem Punkt auf der zweiten riemannschen Mannigfaltigkeit spezifiziert wird, und Abbilden der bestimmten Änderung auf den Tangentialraum des Punktes auf der ersten riemannschen Mannigfaltigkeit unter Verwendung des Differentials des inversen Diffeomorphismus, wobei die Konfigurationsänderung durch das Ergebnis der Abbildung gegeben ist. Das Verfahren beinhaltet ferner Steuern der Robotervorrichtung, für eine Konfiguration, für die eine Steueraktion bestimmt werden soll, gemäß einer Konfigurationsänderung, die durch das bestimmte Vektorfeld über den trainierten Diffeomorphismus für die Konfiguration gegeben ist, für die eine Steueraktion bestimmt werden soll.According to various embodiments, a method of controlling a robotic device is provided, including: providing demonstrations of a robotic capability, each demonstration showing a trajectory that includes a sequence of robot configurations, each robot configuration at least partially described by a point on a first Riemannian manifold is, determining a vector field on a second Riemann manifold and training a diffeomorphism between the first Riemann manifold and the second Riemann manifold by searching for parameter values of the diffeomorphism that minimize loss. The loss includes, for each demonstration and for at least one robot configuration of the trajectory shown by the demonstration, a difference between a configuration change to the next configuration of the trajectory and a configuration change given by the particular vector field via the diffeomorphism. Determining the configuration change given by the particular vector field for a configuration involves mapping the point on the first Riemann manifold describing the configuration to a point on the second Riemann manifold using the diffeomorphism, determining a change given by the vector field at the point on the second Riemann manifold is specified, and mapping the determined change to the tangent space of the point on the first Riemann manifold using the differential of the inverse diffeomorphism, where the configuration change is given by the result of the mapping. The method further includes controlling the robot device, for a configuration for which a control action is to be determined, according to a configuration change determined by the specific vector field is given via the trained diffeomorphism for the configuration for which a control action is to be determined.

Das oben beschriebene Verfahren ermöglicht das Lernen aus Demonstrationen für dynamische Bewegungen aus einer riemannschen Perspektive, bei der Position-Geschwindigkeits-Paare (allgemein Paare von Konfiguration (Zustand) und einer Konfigurationsänderung (Aktion), die in der Konfiguration durchgeführt werden sollten) ein Vektorfeld auf einer riemannschen Mannigfaltigkeit beschreiben (die einer Zustand-Aktion-Abbildungsfunktion entspricht). Die zugrundeliegende riemannsche Geometrie wird während des Lernprozesses integriert, um zu gewährleisten, dass das gelernte Vektorfeld (auf der ersten riemannschen Mannigfaltigkeit) die zugrundeliegende Geometrie der Demonstrationsdaten erfüllt. Dazu wird ein Diffeomorphismus verwendet, der, falls das bestimmte Vektorfeld (auf der zweiten riemannschen Mannigfaltigkeit) stabil ist, die Stabilität (z. B. im Sinne von Lyapunov) der gelernten Steuerungsstrategie (gegeben durch das gelernte Vektorfeld auf der ersten riemannschen Mannigfaltigkeit) garantiert.The method described above allows learning from demonstrations for dynamic motion from a Riemannian perspective, where position-velocity pairs (generally pairs of configuration (state) and a configuration change (action) that should be performed in the configuration) on a vector field describe a Riemannian manifold (which corresponds to a state-action mapping function). The underlying Riemannian geometry is integrated during the learning process to ensure that the learned vector field (on the first Riemannian manifold) satisfies the underlying geometry of the demonstration data. For this purpose, a diffeomorphism is used, which, if the particular vector field (on the second Riemann manifold) is stable, guarantees the stability (e.g. in the Lyapunov sense) of the learned control strategy (given by the learned vector field on the first Riemann manifold). .

Dies kann durch das Bestimmen eines (z. B. kanonischen) stabilen Vektorfeldes gemäß den Lyapunov-Stabilitätsanforderungen auf einem vorbestimmten Raum (hier die zweite riemannsche Mannigfaltigkeit, z. B. für Orientierungen, aber das gleiche kann auch für den euklidischen Raum für Positionen, bei denen die Situation viel einfacher ist, durchgeführt werden) erreicht werden. Dann wird ein Vektorfeld auf der ersten riemannschen Mannigfaltigkeit durch Lernen eines Diffeomorphismus zwischen den gewünschten (beobachteten) Demonstrationsdaten und der zweiten riemannschen Mannigfaltigkeit (die ein stabiles System mittels des (vor)bestimmten Vektorfeldes repräsentiert) bereitgestellt. Das gelernte Vektorfeld kann verwendet werden, um stabile Dynamiken in der Steuerung zu reproduzieren, die die Demonstrationstrajektorien imitieren.This can be done by determining a (e.g. canonical) stable vector field according to the Lyapunov stability requirements on a predetermined space (here the second Riemannian manifold, e.g. for orientations, but the same can also be done for the Euclidean space for positions, where the situation is much simpler). Then, a vector field is provided on the first Riemann manifold by learning a diffeomorphism between the desired (observed) demonstration data and the second Riemann manifold (representing a stable system by means of the (pre)determined vector field). The learned vector field can be used to reproduce stable dynamics in the control that mimic the demonstration trajectories.

Der obige Ansatz kann bei einer breiten Vielfalt von Anwendungen angewendet werden, bei denen Daten auf einer riemannschen Mannigfaltigkeit liegen. Er garantiert eine globale asymptotische Stabilität der Robotervorrichtung zusammen mit hoher Genauigkeit der Bewegungsreproduktion.The above approach can be applied to a wide variety of applications where data lies on a Riemannian manifold. It guarantees global asymptotic stability of the robotic device along with high accuracy of motion reproduction.

Verschiedene Beispiele sind im Folgenden gegeben.Various examples are given below.

Beispiel 1 ist ein Verfahren zum Steuern einer Robotervorrichtung, wie oben beschrieben.Example 1 is a method of controlling a robot device as described above.

Beispiel 2 ist das Verfahren des Beispiels 1, einschließlich Bestimmen, dass das Vektorfeld ein stabiles Vektorfeld ist.Example 2 is the procedure of Example 1, including determining that the vector field is a stable vector field.

Somit kann erreicht werden, dass die Steueraktionen, die gemäß den Konfigurationsänderungen vorgenommen werden, die durch das bestimmte Vektorfeld über den Diffeomorphismus gegeben sind, zu einer stabilen und effizienten Steuerung der Robotervorrichtung führen.Thus, it can be achieved that the control actions taken according to the configuration changes given by the particular vector field via the diffeomorphism lead to stable and efficient control of the robotic device.

Beispiel 3 ist das Verfahren des Beispiels 1 oder 2, einschließlich Trainieren des Diffeomorphismus durch Trainieren eines neuronalen Netzwerks, wobei der Diffeomorphismus einen Punkt auf die Lösung einer neuronalen gewöhnlichen Differentialgleichung abbildet, wobei der Wert der Ableitung an einem Punkt durch die Ausgabe des neuronalen Netzwerks, wenn es mit dem Punkt versorgt wird, gegeben ist.Example 3 is the method of Example 1 or 2, including training the diffeomorphism by training a neural network, the diffeomorphism mapping a point to the solution of a neural ordinary differential equation, where the value of the derivative at a point is given by the output of the neural network, when it is supplied with the point, is given.

Somit kann der Diffeomorphismus effizient durch Trainieren eines neuronalen Netzwerks trainiert werden, da für neuronale Netzwerke effiziente Trainingsverfahren verfügbar sind. Ferner kann eine neuronale gewöhnliche Differentialgleichung effizient in einer Vorwärtsiteration gelöst werden.Thus, diffeomorphism can be trained efficiently by training a neural network since efficient training methods are available for neural networks. Furthermore, a neural ordinary differential equation can be solved efficiently in a forward iteration.

Beispiel 4 ist das Verfahren eines der Beispiele 1 bis 3, einschließlich Bestimmen des Vektorfeldes auf der zweiten riemannschen Mannigfaltigkeit in Abhängigkeit von der Ausgabe eines weiteren neuronalen Netzwerks und Trainieren des weiteren neuronalen Netzwerks zusammen mit dem Diffeomorphismus durch Suchen nach Parameterwerten des Diffeomorphismus und des weiteren neuronalen Netzwerks, um den Verlust zu minimieren.Example 4 is the method of any of Examples 1 to 3, including determining the vector field on the second Riemann manifold depending on the output of another neural network and training the further neural network together with the diffeomorphism by searching for parameter values of the diffeomorphism and the further neural network to minimize loss.

Somit werden zusätzliche Freiheitsgrade in Form des weiteren neuronalen Netzwerks eingeführt, was eine bessere Anpassung an die Demonstrationen ermöglicht. Das weitere neuronale Netzwerk empfängt zum Beispiel Punkte auf der zweiten riemannschen Mannigfaltigkeit als Eingabe.Thus, additional degrees of freedom are introduced in the form of the additional neural network, which enables better adaptation to the demonstrations. The further neural network, for example, receives points on the second Riemann manifold as input.

Beispiel 5 ist das Verfahren eines der Beispiele 1 bis 4, wobei jede Roboterkonfiguration eine Orientierung einer Komponente der Robotervorrichtung beinhaltet, die durch den jeweiligen Punkt auf der ersten riemannschen Mannigfaltigkeit beschrieben wird.Example 5 is the method of any of Examples 1 to 4, wherein each robot configuration includes an orientation of a component of the robot device described by the respective point on the first Riemann manifold.

Orientierungen können effizienter unter Verwendung (allgemeiner) riemannscher Mannigfaltigkeiten anstatt euklidischer Räume beschrieben werden.Orientations can be described more efficiently using (general) Riemannian manifolds rather than Euclidean spaces.

Beispiel 6 ist eine Robotervorrichtungssteuerung, die dazu ausgelegt ist, das Verfahren nach einem der Beispiele 1 bis 5 auszuführen.Example 6 is a robot device controller designed to carry out the method of any of Examples 1 to 5.

Beispiel 7 ist ein Computerprogramm einschließlich Anweisungen, die bei Ausführung durch einen Prozessor veranlassen, dass der Prozessor ein Verfahren nach einem der Beispiele 1 bis 5 durchführt.Example 7 is a computer program including instructions that, when executed by a processor, cause the processor to perform a method according to any of Examples 1 to 5.

Beispiel 8 ist ein computerlesbares Medium, das Anweisungen speichert, die bei Ausführung durch einen Prozessor veranlassen, dass der Prozessor ein Verfahren nach einem der Beispiele 1 bis 5 durchführt.Example 8 is a computer-readable medium that stores instructions that, when executed by a processor, cause the processor to perform a method according to any of Examples 1 to 5.

In den Zeichnungen bezeichnen allgemein überall in den unterschiedlichen Ansichten ähnliche Bezugszeichen die gleichen Teile. Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu, stattdessen wird der Schwerpunkt allgemein auf die Veranschaulichung der Prinzipien der Erfindung gelegt. In der folgenden Beschreibung werden verschiedene Aspekte mit Bezug auf die folgenden Zeichnungen beschrieben, in denen gilt:

  • 1 zeigt einen Roboter.
  • 2 zeigt eine Veranschaulichung einer Sphären-Mannigfaltigkeit S2, deren Punkte zum Beispiel jeweils eine mögliche Orientierung eines Roboterendeffektors repräsentieren können.
  • 3 veranschaulicht einen Diffeomorphismus zwischen einer ersten riemannschen Mannigfaltigkeit und einer zweiten riemannschen Mannigfaltigkeit, der zum Ableiten vom Robotersteueraktionen verwendet wird, gemäß verschiedenen Ausführungsformen.
  • 4 veranschaulicht eine numerische Integration auf einer Mannigfaltigkeit unter Verwendung eines Projektionsverfahrens.
  • 5 zeigt ein Flussdiagramm, das ein Verfahren zum Steuern einer Robotervorrichtung veranschaulicht, gemäß einer Ausführungsform.
In the drawings, similar reference numerals generally indicate the same parts throughout the different views. The drawings are not necessarily to scale, but rather emphasis is generally placed on illustrating the principles of the invention. In the following description various aspects will be described with reference to the following drawings, in which:
  • 1 shows a robot.
  • 2 shows an illustration of a sphere manifold S 2 , the points of which can each represent, for example, a possible orientation of a robot end effector.
  • 3 illustrates a diffeomorphism between a first Riemannian manifold and a second Riemannian manifold used to derive robot control actions, according to various embodiments.
  • 4 illustrates numerical integration on a manifold using a projection method.
  • 5 shows a flowchart illustrating a method for controlling a robotic device, according to an embodiment.

Die folgende ausführliche Beschreibung bezieht sich auf die begleitenden Zeichnungen, die veranschaulichend spezifische Einzelheiten und Aspekte dieser Offenbarung zeigen, in denen die Erfindung umgesetzt werden kann. Andere Aspekte können genutzt werden, und strukturelle, logische und elektrische Änderungen können vorgenommen werden, ohne vom Schutzumfang der Erfindung abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht notwendigerweise gegenseitig aus, da manche Aspekte dieser Offenbarung mit einem oder mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden.The following detailed description refers to the accompanying drawings, which illustratively show specific details and aspects of this disclosure in which the invention may be practiced. Other aspects may be utilized and structural, logical and electrical changes may be made without departing from the scope of the invention. The various aspects of this disclosure are not necessarily mutually exclusive, as some aspects of this disclosure may be combined with one or more other aspects of this disclosure to form new aspects.

Im Folgenden werden verschiedene Beispiele ausführlicher beschrieben.Various examples are described in more detail below.

1 zeigt einen Roboter 100. 1 shows a robot 100.

Der Roboter 100 beinhaltet einen Roboterarm 101, zum Beispiel einen Industrieroboterarm zum Handhaben oder Zusammenfügen eines Arbeitsstücks (oder eines oder mehrerer anderer Objekte). Der Roboterarm 101 beinhaltet Manipulatoren 102, 103, 104 und eine Basis (oder Stütze) 105, mit der die Manipulatoren 102, 103, 104 gestützt werden. Der Begriff „Manipulator“ bezieht sich auf die beweglichen Glieder des Roboterarms 101, deren Betätigung eine physische Interaktion mit der Umgebung ermöglicht, z. B. um eine Aufgabe auszuführen. Zur Steuerung beinhaltet der Roboter 100 eine (Roboter-) Steuerung 106, die dazu ausgelegt ist, die Interaktion mit der Umgebung gemäß einem Steuerprogramm zu implementieren. Das letzte Glied 104 (am weitesten von der Stütze 105 entfernt) der Manipulatoren 102, 103, 104 wird auch als der Endeffektor 104 bezeichnet und kann ein oder mehrere Werkzeuge wie etwa einen Schweißbrenner, ein Greifinstrument, ein Lackiergerät oder dergleichen beinhalten.The robot 100 includes a robot arm 101, for example an industrial robot arm, for handling or assembling a workpiece (or one or more other objects). The robot arm 101 includes manipulators 102, 103, 104 and a base (or support) 105 with which the manipulators 102, 103, 104 are supported. The term “manipulator” refers to the movable links of the robot arm 101, the actuation of which enables physical interaction with the environment, e.g. B. to carry out a task. For control, the robot 100 includes a (robot) controller 106, which is designed to implement interaction with the environment according to a control program. The last member 104 (farthest from the support 105) of the manipulators 102, 103, 104 is also referred to as the end effector 104 and may include one or more tools such as a welding torch, a gripping instrument, a painting device or the like.

Die anderen Manipulatoren 102, 103 (näher an der Stütze 105) können eine Positionierungsvorrichtung bilden, sodass, zusammen mit dem Endeffektor 104, der Roboterarm 101 mit dem Endeffektor 104 an seinem Ende bereitgestellt ist. Der Roboterarm 101 ist ein mechanischer Arm, der ähnliche Funktionen wie ein menschlicher Arm (möglicherweise mit einem Werkzeug an seinem Ende) bereitstellen kann.The other manipulators 102, 103 (closer to the support 105) can form a positioning device so that, together with the end effector 104, the robot arm 101 is provided with the end effector 104 at its end. The robot arm 101 is a mechanical arm that can provide similar functions to a human arm (possibly with a tool at the end).

Der Roboterarm 101 kann Gelenkelemente 107, 108, 109 beinhalten, die die Manipulatoren 102, 103, 104 miteinander und mit der Stütze 105 verbinden. Ein Gelenkelement 107, 108, 109 kann ein oder mehrere Gelenke aufweisen, die jeweils eine rotierbare Bewegung (d. h. Rotationsbewegung) und/oder eine translatorische Bewegung (d. h. Verlagerung) für assoziierte Manipulatoren relativ zueinander bereitstellen können. Die Bewegung der Manipulatoren 102, 103, 104 kann mittels Aktoren initiiert werden, die durch die Steuerung 106 gesteuert werden.The robot arm 101 may include joint elements 107, 108, 109 that connect the manipulators 102, 103, 104 to each other and to the support 105. A joint element 107, 108, 109 can have one or more Have joints that can each provide a rotatable movement (ie, rotational movement) and/or a translational movement (ie, displacement) for associated manipulators relative to one another. The movement of the manipulators 102, 103, 104 can be initiated by means of actuators that are controlled by the controller 106.

Der Begriff „Aktor“ kann als eine Komponente verstanden werden, die ausgebildet ist, einen Mechanismus oder Prozess als Reaktion auf eine Ansteuerung zu beeinflussen. Der Aktor kann Anweisungen, die durch die Steuerung 106 erstellt werden (die sogenannte Aktivierung) in mechanische Bewegungen implementieren. Der Aktor, z. B. ein elektromechanischer Wandler, kann dazu ausgelegt sein, elektrische Energie als Reaktion auf eine Ansteuerung in mechanische Energie umzuwandeln.The term “actuator” can be understood as a component that is designed to influence a mechanism or process in response to a control. The actuator can implement instructions created by the controller 106 (the so-called activation) into mechanical movements. The actor, e.g. B. an electromechanical transducer can be designed to convert electrical energy into mechanical energy in response to a control.

Der Begriff „Steuerung“ kann als eine beliebige Art von logikimplementierender Entität verstanden werden, die zum Beispiel eine Schaltung und/oder einen Prozessor beinhalten kann, die/der in der Lage ist, Software, die in einem Speichermedium gespeichert ist, Firmware oder eine Kombination davon auszuführen, und die Anweisungen erstellen kann, z. B. zu einem Aktor im vorliegenden Beispiel. Die Steuerung kann zum Beispiel durch Programmcode (z. B. Software) zum Steuern des Betriebs eines Systems, eines Roboters in dem vorliegenden Beispiel, konfiguriert werden.The term “controller” can be understood as any type of logic-implementing entity, which may include, for example, a circuit and/or a processor capable of controlling software stored in a storage medium, firmware, or a combination of it, and can create the instructions, e.g. B. to an actuator in the present example. The controller may be configured, for example, through program code (e.g., software) to control the operation of a system, a robot in the present example.

Im vorliegenden Beispiel beinhaltet die Steuerung 106 einen oder mehrere Prozessoren 110 und einen Speicher 111, der Code und Daten speichert, basierend auf denen der Prozessor 110 den Roboterarm 101 steuert. Gemäß verschiedenen Ausführungsformen steuert die Steuerung 106 den Roboterarm 101 auf Basis eines maschinellen Lernmodells 112, das im Speicher 111 gespeichert ist.In the present example, the controller 106 includes one or more processors 110 and a memory 111 that stores code and data based on which the processor 110 controls the robot arm 101. According to various embodiments, the controller 106 controls the robot arm 101 based on a machine learning model 112 stored in the memory 111.

Das maschinelle Lernmodell 112 wird mittels Lernens aus Demonstrationen trainiert, die z. B. durch einen Benutzer bereitgestellt werden, der den Roboterarm 101 manuell bewegt. Jede Demonstration ist eine Sequenz von Roboterkonfigurationen. Gemäß verschiedenen Ausführungsformen wird jede Konfiguration zumindest teilweise durch einen Punkt auf einer riemannschen Mannigfaltigkeit gegeben. Beispielsweise besteht eine gewisse Demonstrationstrajektorie τ = { y t } t = 1 T

Figure DE102022206381A1_0001
aus Datenpunkten y t 3 × S 3 ,
Figure DE102022206381A1_0002
d. h. Paaren von Punkten, wobei der erste Punkt (von ℝ3) zum Beispiel die Endeffektorposition spezifiziert und der zweite Punkt eine Quaternion (von
Figure DE102022206381A1_0003
) ist und die Orientierung des Endeffektors spezifiziert. Quaternionen weisen vorteilhafte Eigenschaften für die Robotersteuerung auf. Da Quaternionen (die für die Robotersteuerung verwendet werden) jedoch eine Einheitsnorm-Beschränkung erfüllen, bilden sie keinen Vektorraum. Sie liegen jedoch auf der riemannschen Mannigfaltigkeit
Figure DE102022206381A1_0004
Ein anderes Beispiel für eine riemannschen Mannigfaltigkeit, deren Elemente (d. h. Punkte) für die Robotersteuerung verwendet werden können, ist die spezielle orthogonale Gruppe (SO(3)).The machine learning model 112 is trained by learning from demonstrations, e.g. B. be provided by a user who moves the robot arm 101 manually. Each demonstration is a sequence of robot configurations. According to various embodiments, each configuration is at least partially given by a point on a Riemannian manifold. For example, there is a certain demonstration trajectory τ = { y t } t = 1 T
Figure DE102022206381A1_0001
from data points y t 3 × S 3 ,
Figure DE102022206381A1_0002
i.e. pairs of points, for example where the first point (of ℝ 3 ) specifies the end effector position and the second point a quaternion (of
Figure DE102022206381A1_0003
) and the orientation of the end effector is specified. Quaternions have advantageous properties for robot control. However, since quaternions (used for robot control) satisfy a unit norm constraint, they do not form a vector space. However, they lie on the Riemannian manifold
Figure DE102022206381A1_0004
Another example of a Riemannian manifold whose elements (i.e. points) can be used for robot control is the special orthogonal group (SO(3)).

Eine riemannsche Mannigfaltigkeit

Figure DE102022206381A1_0005
ist ein m-dimensionaler topologischer Raum, für den jeder Punkt einem euklidischen Raum ℝm gleicht und der eine global definierte differenzielle Struktur aufweist. Für jeden Punkt x M
Figure DE102022206381A1_0006
existiert ein Tangentialraum T x M
Figure DE102022206381A1_0007
der ein Vektorraum ist, der aus den Tangentialvektoren aller möglichen glatten Kurven, die durch x laufen, besteht. Eine riemannsche Mannigfaltigkeit ist mit einem gleichmäßig variierenden positiven definitiven inneren Produkt genannt eine riemannsche Metrik versehen, die gestattet, Kurvenlängen in
Figure DE102022206381A1_0008
zu definieren. Diese Kurven, Geodäten genannt, sind die Generalisierung gerader Linien im euklidischen Raum auf riemannsche Mannigfaltigkeiten, da sie die Kurven mit minimaler Länge zwischen zwei Punkten in
Figure DE102022206381A1_0009
repräsentieren.A Riemannian manifold
Figure DE102022206381A1_0005
is an m-dimensional topological space for which every point is equal to a Euclidean space ℝ m and which has a globally defined differential structure. For every point x M
Figure DE102022206381A1_0006
there is a tangent space T x M
Figure DE102022206381A1_0007
which is a vector space consisting of the tangential vectors of all possible smooth curves passing through x. A Riemannian manifold is provided with a uniformly varying positive definite inner product called a Riemannian metric, which allows curve lengths in
Figure DE102022206381A1_0008
define. These curves, called geodesics, are the generalization of straight lines in Euclidean space to Riemannian manifolds, since they represent the minimum length curves between two points in
Figure DE102022206381A1_0009
represent.

2 zeigt eine Veranschaulichung einer Sphären-Mannigfaltigkeit

Figure DE102022206381A1_0010
deren Punkte zum Beispiel jeweils eine mögliche Orientierung eines Roboterendeffektors repräsentieren können. 2 shows an illustration of a sphere manifold
Figure DE102022206381A1_0010
whose points can each represent, for example, a possible orientation of a robot end effector.

Zwei Punkte x und y sind auf der Sphäre angegeben, die durch die Steuerung 106 verwendet werden können, um zwei unterschiedliche Orientierungen des Roboterendeffektors 104 zu repräsentieren.Two points x and y are indicated on the sphere that can be used by the controller 106 to represent two different orientations of the robot end effector 104.

Die kürzeste Distanz zwischen den beiden Punkten im umliegenden Raum würde eine gerade Linie 201 sein, während der kürzeste Pfad auf der Mannigfaltigkeit eine Geodäte 202 ist.The shortest distance between the two points in the surrounding space would be a straight line 201, while the shortest path on the manifold is a geodesic 202.

Um die euklidischen Tangentialräume zu nutzen, können Abbildungen hin und her zwischen den Tangentialräumen T x M

Figure DE102022206381A1_0011
verwendet werden, die als die Exponentialabbildung bzw. die Logarithmusabbildung bezeichnet werden.To use the Euclidean tangent spaces, mappings can be made back and forth between the tangent spaces T x M
Figure DE102022206381A1_0011
are used, which are referred to as the exponential map and the logarithm map, respectively.

Die Exponentialabbildung Exp x : T x M

Figure DE102022206381A1_0012
bildet einen Punkt u im Tangentialraum von x auf einen Punkt y auf der Mannigfaltigkeit ab, sodass er auf der Geodäte beginnend bei x in die Richtung u liegt, sodass die geodätische Distanz zwischen x und y gleich der Norm der Distanz zwischen x und u ist. Die inverse Operation wird die Logarithmusabbildung Log x : M T x M
Figure DE102022206381A1_0013
genannt, d. h. u = Logx(y).The exponential map Exp x : T x M
Figure DE102022206381A1_0012
maps a point u in the tangent space of x to a point y on the manifold so that it lies on the geodesic starting at x in the direction u, so that the geodesic distance between x and y is equal to the norm of the distance between x and u. The inverse operation becomes the logarithm map log x : M T x M
Figure DE102022206381A1_0013
called, i.e. u = log x (y).

Eine andere nützliche Operation über Mannigfaltigkeiten ist der Paralleltransport Γ x y : T x M T y M ,

Figure DE102022206381A1_0014
der Elemente zwischen Tangentialräumen verschiebt, sodass das innere Produkt zwischen zwei Elementen im Tangentialraum konstant bleibt.Another useful operation over manifolds is parallel transport Γ x y : T x M T y M ,
Figure DE102022206381A1_0014
of the elements between tangent spaces, so that the inner product between two elements in the tangent space remains constant.

Beispielsweise in 2 sind Γ(v1), Γ (v2) die paralleltransportierten Vektoren v1 und v2 von T x M

Figure DE102022206381A1_0015
nach T y M
Figure DE102022206381A1_0016
(der Index x→y wird der Einfachheit halber weggelassen).For example in 2 Γ(v 1 ), Γ (v 2 ) are the parallel transported vectors v 1 and v 2 of T x M
Figure DE102022206381A1_0015
after T y M
Figure DE102022206381A1_0016
(the index x→y is omitted for simplicity).

Das Folgende sind die Ausdrücke für die riemannsche Distanz, Exponential- und Logarithmusabbildungen und Paralleltransportoperation für die Sphären-Mannigfaltigkeit

Figure DE102022206381A1_0017
Operation Formel d M ( x , y )
Figure DE102022206381A1_0018
arccos(xTy)
Expx(u) xcos ( u ) + u ¯ sin ( u ) mit  u ¯ = u u
Figure DE102022206381A1_0019
Logx(y) d M ( x ,y ) y x T y x y x T y x
Figure DE102022206381A1_0020
Γx→y(v) ( xsin ( u ) u ¯ T + u ¯ cos ( u ) u ¯ T + ( I u ¯   u ¯ T ) ) v mit  u ¯ = u u und u = Log x ( y )
Figure DE102022206381A1_0021
The following are the expressions for the Riemann distance, exponential and logarithmic maps, and parallel transport operation for the sphere manifold
Figure DE102022206381A1_0017
surgery formula d M ( x , y )
Figure DE102022206381A1_0018
arccos(x T y)
Exp x (u) xcos ( u ) + u ¯ sin ( u ) with u ¯ = u u
Figure DE102022206381A1_0019
Log x (y) d M ( x ,y ) y x T yx y x T yx
Figure DE102022206381A1_0020
Γ x→y (v) ( xsin ( u ) u ¯ T + u ¯ cos ( u ) u ¯ T + ( I u ¯ u ¯ T ) ) v with u ¯ = u u and u = log x ( y )
Figure DE102022206381A1_0021

Die Aufgabe des Lernens aus Demonstrationen kann als Lernen eines Vektorfeldes im jeweiligen Raum von Konfigurationen des Roboters angesehen werden. Im Folgenden ist der Raum von Konfigurationen eine riemannsche Mannigfaltigkeit. Es sollte jedoch angemerkt werden, dass jede Konfiguration weitere Komponenten aufweisen kann, insbesondere eine Komponente im euklidischen Raum (wie ℝ3 im obigen Beispiel), die im Folgenden der Einfachheit halber weggelassen wird (und die einfacher zu behandeln ist als der allgemeinere Fall der riemannschen Mannigfaltigkeit).The task of learning from demonstrations can be viewed as learning a vector field in the robot's respective space of configurations. In the following the space of configurations is a Riemannian manifold. However, it should be noted that any configuration may have additional components, in particular a component in Euclidean space (like ℝ 3 in the example above), which is omitted below for simplicity (and which is easier to treat than the more general case of Riemannian diversity).

Somit wird im Folgenden ein Ansatz zum Lernen eines Vektorfeldes auf einer riemannschen Mannigfaltigkeit beschrieben, während globale asymptotische Stabilität garantiert wird. Gemäß verschiedenen Ausführungsformen wird dies durch Nutzung eines Diffeomorphismus erreicht, der ein Zielvektorfeld (d. h. dasjenige, das gelernt werden sollte) auf der riemannschen Mannigfaltigkeit zu einem einfachen kanonischen (d. h. vorbestimmten) stabilen Vektorfeld auf einer latenten Mannigfaltigkeit transformiert. Der Diffeomorphismus wird durch ein (erstes) neuronales Netzwerk implementiert, wie nachstehend ausführlicher beschrieben wird.Thus, an approach for learning a vector field on a Riemannian manifold while guaranteeing global asymptotic stability is described below. According to various embodiments, this is accomplished by utilizing a diffeomorphism that transforms a target vector field (i.e., the one that should be learned) on the Riemann manifold to a simple canonical (i.e., predetermined) stable vector field on a latent manifold. The diffeomorphism is implemented by a (first) neural network, as described in more detail below.

3 veranschaulicht einen Diffeomorphismus Φθ zwischen einer ersten riemannschen Mannigfaltigkeit 301 (derjenigen, auf der ein Vektorfeld gelernt werden soll, d. h. deren Punkte (zumindest teilweise) Roboterkonfigurationen spezifizieren) und einer zweiten riemannschen Mannigfaltigkeit 302 (d. h. derjenigen, die oben als riemannsche Mannigfaltigkeit bezeichnet wird). Auf der ersten riemannschen Mannigfaltigkeit 301 sollte ein Zielvektorfeld (hier durch die S-Form repräsentiert) bereitgestellt (d. h. aus den Demonstrationen gelernt) werden. Auf der zweiten riemannschen Mannigfaltigkeit 302 wird ein Vektorfeld vordefiniert (durch die „Meridiane“ repräsentiert). Es sollte angemerkt werden, dass die riemannschen Mannigfaltigkeiten 301, 302 in einem topologischen Sinn die gleichen sind, d. h. es existiert ein Homöomorphismus zwischen den beiden Mannigfaltigkeiten. 3 illustrates a diffeomorphism Φ θ between a first Riemannian manifold 301 (the one on which a vector field is to be learned, i.e. whose points (at least partially) specify robot configurations) and a second Riemannian manifold 302 (i.e. the one referred to above as the Riemannian manifold) . On the first Riemannian manifold 301, a target vector field (represented here by the S-shape) should be provided (i.e. learned from the demonstrations). On the second Riemannian manifold 302, a vector field is predefined (represented by the “meridians”). It should be noted that the Riemann manifolds 301, 302 are the same in a topological sense, i.e. there is a homeomorphism between the two manifolds.

Beispielsweise wird ein C1-Diffeomorphismus unter Verwendung kontinuierlicher Normalisierungsflüsse auf Mannigfaltigkeiten gelernt. Vor dem Lernen des Diffeomorphismus wird das Zielvektorfeld 302 auf der latenten Mannigfaltigkeit 302 ausgewählt. Wie erwartet, lautet eine der Bedingungen, die erfüllt werden muss, wenn eine latente Mannigfaltigkeit ausgewählt wird, dass die latente Mannigfaltigkeit 302 und die ursprüngliche Mannigfaltigkeit (d. h. die erste Mannigfaltigkeit 301) diffeomorph sein müssen. Dieses Zielvektorfeld 302 ist vordefiniert, sich als ein geodätisches Vektorfeld zu verhalten, wobei das Wegintegral auf diesem Vektorfeld Geodäten auf der latenten Mannigfaltigkeit produziert.For example, a C1 diffeomorphism is learned using continuous normalization flows on manifolds. Before learning the diffeomorphism, the target vector field 302 on the latent manifold 302 is selected. As expected, one of the conditions that must be satisfied when selecting a latent manifold is that the latent manifold is 302 and the original manifold (i.e. the first manifold 301) must be diffeomorphic. This target vector field 302 is predefined to behave as a geodesic vector field, with the path integral on this vector field producing geodesics on the latent manifold.

Um ein stabiles Zielvektorfeld 302 zu konstruieren, kann die Logarithmusabbildung verwendet werden, um zu veranlassen, dass das Vektorfeld den Geodäten folgt. Insbesondere in Anbetracht eines Attraktorpunktes y 0 N

Figure DE102022206381A1_0022
kann der Tangentialvektor ẏ am Ort y N
Figure DE102022206381A1_0023
berechnet werden als y ˙ = g ( y ) = k γ ( y ) L o g y ( y 0 ) L o g y ( y 0 ) 2 .
Figure DE102022206381A1_0024
To construct a stable target vector field 302, the logarithm map can be used to cause the vector field to follow the geodesics. Especially considering an attractor point y 0 N
Figure DE102022206381A1_0022
can the tangential vector ẏ at the location y N
Figure DE102022206381A1_0023
be calculated as y ˙ = G ( y ) = k γ ( y ) L O G y ( y 0 ) L O G y ( y 0 ) 2 .
Figure DE102022206381A1_0024

Gemäß verschiedenen Ausführungsformen wird der Faktor kγ unter Verwendung eines (zweiten) neuronalen Netzwerks mit Parameter γ konstruiert und trainiert, unter Verwendung der Demonstrationsdaten zusammen mit dem Diffeomorphismus Φθ zu lernen. Es sollte angemerkt werden, dass der Faktor kγ nur größer als null an allen Orten y ≠ y0 für das Vektorfeld sein muss, um auf der Mannigfaltigkeit stabil zu sein. Gemäß verschiedenen Ausführungsformen wird somit die Exponentialfunktion verwendet, deren Exponent durch das zweite neuronale Netzwerk modelliert wird ψ γ : n N ,

Figure DE102022206381A1_0025
d. h. k γ ( y ) = e ψ γ ( y ) + ε ,
Figure DE102022206381A1_0026
wobei ε eine sehr kleine Konstante ist (z. B. die Maschinenpräzision).According to various embodiments, the factor k γ is constructed and trained using a (second) neural network with parameter γ to learn using the demonstration data together with the diffeomorphism Φ θ . It should be noted that the factor k γ only needs to be greater than zero at all locations y ≠ y 0 for the vector field to be stable on the manifold. According to various embodiments, the exponential function is used, the exponent of which is modeled by the second neural network ψ γ : n N ,
Figure DE102022206381A1_0025
ie k γ ( y ) = e ψ γ ( y ) + ε ,
Figure DE102022206381A1_0026
where ε is a very small constant (e.g. the machine precision).

Die erste Mannigfaltigkeit 301 soll mit

Figure DE102022206381A1_0027
bezeichnet werden und das Zielvektorfeld soll mit V T M
Figure DE102022206381A1_0028
bezeichnet werden. Das Lernen dieses Vektorfeldes bedeutet das Ermöglichen der Evaluierung der Geschwindigkeit vx am Ort x M .
Figure DE102022206381A1_0029
Es sollte angemerkt werden, dass ein Vektorfeld als eine Abbildung zwischen der Mannigfaltigkeit und ihrem Tangentialraum v : M T M
Figure DE102022206381A1_0030
angesehen werden kann.The first manifold 301 should be with
Figure DE102022206381A1_0027
and the target vector field should be denoted by v T M
Figure DE102022206381A1_0028
be referred to. Learning this vector field means enabling the evaluation of the velocity vx at the location x M .
Figure DE102022206381A1_0029
It should be noted that a vector field is considered a mapping between the manifold and its tangent space v : M T M
Figure DE102022206381A1_0030
can be viewed.

Gemäß verschiedenen Ausführungsformen wird, anstelle einer direkten Parametrisierung des Zielvektorfeldes, die diffeomorphe Abbildung Φ θ : M N ,

Figure DE102022206381A1_0031
die angewendet werden soll, um sie auf die latente Mannigfaltigkeit 302 zu projizieren, bezeichnet mit
Figure DE102022206381A1_0032
gelernt.According to various embodiments, instead of directly parameterizing the target vector field, the diffeomorphic mapping Φ θ : M N ,
Figure DE102022206381A1_0031
which is to be applied to project onto the latent manifold 302, denoted by
Figure DE102022206381A1_0032
learned.

Das Lernen des Zielvektorfeldes beinhaltet somit das Lernen des Diffeomorphismus (d. h. Anpassen seiner Parameter θ, die zum Beispiel Gewichte eines neuronalen Netzwerks zum Implementieren des Diffeomorphismus sind, wie nachstehend ausführlicher beschrieben), sodass er das Zielvektorfeld auf das vordefinierte (global stabile) Vektorfeld auf der zweiten Mannigfaltigkeit 302 projiziert. Die zweite Mannigfaltigkeit ist zum Beispiel durch ein geodätisches Vektorfeld g γ : N T N

Figure DE102022206381A1_0033
gegeben. Aufgrund der Tatsache, dass ein Diffeomorphismus topologische Eigenschaften bewahrt, kann erwartet werden, dass das auf diese Weise gelernte Zielvektorfeld weiterhin global stabil ist, solange das geodätische Vektorfeld auf der latenten Mannigfaltigkeit stabil ist.Learning the target vector field thus involves learning the diffeomorphism (i.e. adjusting its parameters θ, which are, for example, weights of a neural network to implement the diffeomorphism, as described in more detail below) so that it matches the target vector field to the predefined (globally stable) vector field on the second manifold 302 is projected. The second manifold is, for example, by a geodesic vector field G γ : N T N
Figure DE102022206381A1_0033
given. Due to the fact that a diffeomorphism preserves topological properties, the target vector field learned in this way can be expected to continue to be globally stable as long as the geodesic vector field on the latent manifold is stable.

Nach dem Lernen des Diffeomorphismus und seiner Inversen kann die jeweilige Steuerung (z. B. Steuerung 106), um eine Steueraktion für eine aktuelle Roboterkonfiguration zu bestimmen, die Aktion für eine Konfiguration (d. h. die Konfigurationsänderung wie etwa Geschwindigkeit) bestimmen, die durch den Punkt x M

Figure DE102022206381A1_0034
 
Figure DE102022206381A1_0035
spezifiziert wird, durch

  • • Abbilden des Punktes x auf die latente Mannigfaltigkeit 302 mit dem gelernten Diffeomorphismus Φ θ : M N ,
    Figure DE102022206381A1_0036
  • • Evaluieren des geodätischen Vektorfeldes auf die bestimmte Änderung (z. B. Geschwindigkeit) für die latente Variable y (d. h. den Punkt auf der zweiten riemannschen Mannigfaltigkeit, auf den x mittels des Diffeomorphismus abgebildet wurde)
  • • Verwenden des Pullback-Operators D y Φ θ * ,
    Figure DE102022206381A1_0037
    um die bestimmte Änderung zurück auf den Tangentialraum der ersten Mannigfaltigkeit 301 am Ort x M
    Figure DE102022206381A1_0038
    zu projizieren. Der Pullback-Operator kann als die inverse Abbildung des Differentials des Diffeomorphismus angesehen werden, d. h. die Inverse von D x Φ θ : T Φ θ ( x ) N T x N ,
    Figure DE102022206381A1_0039
    die durch Berechnen der Ableitungen von Φθ und dann Ableiten der Inversen oder Berechnen der Ableitungen des inversen Diffeomorphismus bestimmt werden kann.
After learning the diffeomorphism and its inverses, to determine a control action for a current robot configuration, the respective controller (e.g., controller 106) can determine the action for a configuration (ie, the configuration change such as speed) that passes through the point x M
Figure DE102022206381A1_0034
Figure DE102022206381A1_0035
is specified by
  • • Mapping the point x onto the latent manifold 302 using the learned diffeomorphism Φ θ : M N ,
    Figure DE102022206381A1_0036
  • • Evaluate the geodesic vector field for the specific change (e.g. velocity) for the latent variable y (i.e. the point on the second Riemann manifold to which x was mapped using diffeomorphism)
  • • Using the pullback operator D y Φ θ * ,
    Figure DE102022206381A1_0037
    around the specific change back to the tangent space of the first manifold 301 at the location x M
    Figure DE102022206381A1_0038
    to project. The pullback operator can be viewed as the inverse map of the differential of the diffeomorphism, that is, the inverse of D x Φ θ : T Φ θ ( x ) N T x N ,
    Figure DE102022206381A1_0039
    which can be determined by computing the derivatives of Φ and then deriving the inverses or computing the derivatives of the inverse diffeomorphism.

Wie in 3 veranschaulicht, kann diese Prozedur in eine einzelne Gleichung wie folgt kombiniert werden x ˙ = ( D y Φ θ * g γ Φ θ ) ( x ) = D Φ θ * ( y ˙ )

Figure DE102022206381A1_0040
As in 3 illustrated, this procedure can be combined into a single equation as follows x ˙ = ( D y Φ θ * G γ Φ θ ) ( x ) = D Φ θ * ( y ˙ )
Figure DE102022206381A1_0040

Wie oben erwähnt, können kontinuierliche Normalisierungsflüsse auf Mannigfaltigkeiten verwendet werden, um den (trainierbaren) Diffeomorphismus zu konstruieren.As mentioned above, continuous normalization flows on manifolds can be used to construct the (trainable) diffeomorphism.

Insbesondere, gemäß verschiedenen Ausführungsformen, wird ein Residualfluss zum Konstruieren des Diffeomorphismus verwendet. Ein Residualfluss kann als die Zusammensetzung von Residualverbindungen der folgenden Form repräsentiert werden z k + 1 = z k + f θ ( z k )

Figure DE102022206381A1_0041
wobei fθ ein vorwärtsgekoppeltes neuronales Netzwerk bezeichnet und zk einen k-ten verborgenen Zustand repräsentiert.In particular, according to various embodiments, a residual flow is used to construct the diffeomorphism. A residual flow can be represented as the composition of residual connections of the following form e.g k + 1 = e.g k + f θ ( e.g k )
Figure DE102022206381A1_0041
where f θ denotes a feedforward neural network and z k represents a kth hidden state.

Das Iterieren durch Gleichung (2) (von einem Startindex s zu einem Endindex e) führt zum Berechnen der Transformation eines Punktes zs = x zu einem Punkt y = ze. Ferner kann durch das Beschränken der Lipschitz-Konstante von fθ auf weniger als 1, d. h. Lip(fθ) < 1, die Invertierbarkeit der Residualblöcke ausreichend gewährleistet werden.Iterating through equation (2) (from a starting index s to an ending index e) results in computing the transformation of a point z s = x to a point y = z e . Furthermore, by limiting the Lipschitz constant of f θ to less than 1, ie Lip(f θ ) < 1, the invertibility of the residual blocks can be sufficiently guaranteed.

Der Residualfluss kann aufgrund dessen, dass das neuronale Netzwerk fθ als neuronale ODE bezeichnet wird, als eine Euler-Diskretisierung einer kontinuierlichen gewöhnlichen Differentialgleichung (ODE) angesehen werden, d d t z ( t ) = f θ ( z ( t ) , t )

Figure DE102022206381A1_0042
The residual flow can be viewed as an Euler discretization of a continuous ordinary differential equation (ODE) because the neural network f θ is called a neural ODE, d d t e.g ( t ) = f θ ( e.g ( t ) , t )
Figure DE102022206381A1_0042

Die durch den Residualfluss gegebene diffeomorphe Abbildung (und somit durch das neuronale Netzwerk und seine Gewichte gegeben) kann durch iteratives Durchlaufen des residualen Netzwerks fθ berechnet werden. Dies bedeutet, dass das Berechnen des Diffeomorphismus dem Lösen eines Anfangswertproblems (oder Integrals) entspricht. Dazu wird der Anfangspunkt x = z(ts) ∈ ℝn verwendet, um y zu berechnen durch y = Φ θ ( x ) = x + τ = t s t e f θ ( z ( τ ) , τ ) d τ

Figure DE102022206381A1_0043
wobei das Ergebnis der Berechnung auf der rechten Seite als ein Punkt der zweiten Mannigfaltigkeit 302 mittels des Homöomorphismus zwischen den beiden Mannigfaltigkeiten angesehen wird.The diffeomorphic map given by the residual flow (and thus given by the neural network and its weights) can be calculated by iteratively traversing the residual network f θ . This means that computing the diffeomorphism is equivalent to solving an initial value problem (or integral). To do this, the starting point x = z(t s ) ∈ ℝ n is used to calculate y by y = Φ θ ( x ) = x + τ = t s t e f θ ( e.g ( τ ) , τ ) d τ
Figure DE102022206381A1_0043
where the result of the calculation on the right is viewed as a point of the second manifold 302 by means of the homeomorphism between the two manifolds.

Der inverse Diffeomorphismus Φ θ 1

Figure DE102022206381A1_0044
kann leicht durch Umdrehen des Zeitintervalls für die Integration erhalten werden, d. h. x = Φ θ 1 ( y ) = y + τ = t e t s f θ ( z ( τ ) , τ ) d τ
Figure DE102022206381A1_0045
(z. B. entsprechend dem maschinellen Lernmodell 112)The inverse diffeomorphism Φ θ 1
Figure DE102022206381A1_0044
can be easily obtained by flipping the time interval for integration, ie x = Φ θ 1 ( y ) = y + τ = t e t s f θ ( e.g ( τ ) , τ ) d τ
Figure DE102022206381A1_0045
(e.g. according to machine learning model 112)

Das Obenstehende beschreibt das Konstruieren eines Diffeomorphismus unter dem euklidischen Umfeld. Um die zugrundeliegende Geometrie von Daten zu berücksichtigen (d. h. Konfigurationen, die zumindest teilweise durch Punkte auf einer riemannschen Mannigfaltigkeit repräsentiert werden), wird der kontinuierliche Normalisierungsfluss auf ein Mannigfaltigkeitsumfeld erweitert, d. h. wobei x , z k M

Figure DE102022206381A1_0046
und f θ : M × T M .
Figure DE102022206381A1_0047
Dies führt zu der Formulierung neuronaler Mannigfaltigkeits-ODEs. Es sollte angemerkt werden, dass neuronale ODEs lediglich ein Spezialfall neuronaler Mannigfaltigkeits-ODEs sind, wenn die Mannigfaltigkeit euklidisch ist. Da der euklidische Raum lediglich ein Spezialfall von Mannigfaltigkeit ist, sind alle Verweise auf Gleichung (3) im Folgenden im Zusammenhang mit neuronalen Mannigfaltigkeits-ODE gemeint.The above describes constructing a diffeomorphism under the Euclidean setting. To account for the underlying geometry of data (i.e. configurations that are at least partially represented by points on a Riemannian manifold), the continuous normalization flow is extended to a manifold environment, i.e. where x , e.g k M
Figure DE102022206381A1_0046
and f θ : M × T M .
Figure DE102022206381A1_0047
This leads to the formulation of neural manifold ODEs. It should be noted that neural ODEs are merely a special case of neural manifold ODEs when the manifold is Euclidean. Since Euclidean space is merely a special case of manifold, all references to equation (3) below are meant in the context of neural manifold ODE.

Im allgemeinen Mannigfaltigkeitsfall kann außerdem der Diffeomorphismus unter Verwendung von Gleichung (4) berechnet werden, indem die Integration über die Mannigfaltigkeit anstatt im euklidischen Raum durchgeführt wird.Furthermore, in the general manifold case, the diffeomorphism can be calculated using equation (4) by performing the integration over the manifold rather than in Euclidean space.

Die Integration auf Mannigfaltigkeiten kann unter Verwendung von Projektionsverfahren und Integratoren basierend auf lokalen Koordinaten durchgeführt werden.Integration on manifolds can be performed using projection methods and integrators based on local coordinates.

4 veranschaulicht eine numerische Integration auf einer Mannigfaltigkeit unter Verwendung eines Projektionsverfahrens. 4 illustrates numerical integration on a manifold using a projection method.

Mit einer ODE gegeben durch Gleichung (3) auf einer Mannigfaltigkeit

Figure DE102022206381A1_0048
wobei f θ ( , t ) T z ( t ) M
Figure DE102022206381A1_0049
für alle z ( t ) M ,
Figure DE102022206381A1_0050
berechnet das Projektionsverfahren ein Ein-Schritt-Integral mit einem willkürlichen numerischen Integrator im euklidischen Raum und projiziert dann den Wert auf die Mannigfaltigkeit
Figure DE102022206381A1_0051
um die Integralergebnisse auf der Mannigfaltigkeit zu erhalten, wie in 4 veranschaulicht. Beispielsweise wird ein Euler-Löser mit Schrittgröße dt verwendet, der einen einzelnen Schritt vom Anfangspunkt za berechnet. Der nächste Zustand z̃1 wird dann als z̃1 = z0 + fθ (z0, 0)dt berechnet. Dies wird bis zum Endpunkt z̃e fortgesetzt, der zurück auf die Mannigfaltigkeit projiziert wird.With an ODE given by equation (3) on a manifold
Figure DE102022206381A1_0048
where f θ ( , t ) T e.g ( t ) M
Figure DE102022206381A1_0049
for all e.g ( t ) M ,
Figure DE102022206381A1_0050
The projection method calculates a one-step integral with an arbitrary numerical integrator in Euclidean space and then projects the value onto the manifold
Figure DE102022206381A1_0051
to get the integral results on the manifold, as in 4 illustrated. For example, an Euler solver with step size dt is used, which calculates a single step from the starting point z a . The next state z̃ 1 is then calculated as z̃ 1 = z 0 + f θ (z 0 , 0)dt. This continues until the endpoint z̃e, which is projected back onto the manifold.

Integrationsverfahren auf Mannigfaltigkeiten basierend auf den lokalen Koordinaten berücksichtigen eine lokale Repräsentation von Mannigfaltigkeit durch eine Koordinatenabbildung, die eine Formulierung einer äquivalenten ODE im euklidischen Raum ermöglicht, die gelöst werden kann und, mittels der Koordinatenabbildung mit inverser Abbildung, eine Lösung auf der Mannigfaltigkeit ergibt.Integration methods on manifolds based on the local coordinates consider a local representation of the manifold through a coordinate map, which enables a formulation of an equivalent ODE in Euclidean space that can be solved and, using the coordinate map with inverse map, gives a solution on the manifold.

Um eine Mannigfaltigkeits-ODE in einem Deep-Learning-Framework (zum Trainieren des neuronalen Netzwerks fθ) einzubeziehen, muss der Gradient des Verlusts bezüglich der Gewichte des neuronalen Netzwerks effizient berechnet werden. Dies kann durch adjungierte Sensitivitätsverfahren durchgeführt werden, die das Behandeln des ODE-Lösers als eine Blackbox ermöglichen und Gradienten durch Lösen einer zweiten augmentierten adjungierten ODE zeitlich rückwärts berechnen, anstatt des direkten Differenzierens durch ODE-Löser. Dieser Ansatz ist speichereffizient, insbesondere für adaptive ODE-Löser, die die Schrittgröße spontan (on-the-fly) anpassen.To include a manifold ODE in a deep learning framework (for training the neural network f θ ), the gradient of the loss with respect to the weights of the neural network must be efficiently calculated. This can be done by adjoint sensitivity methods, which allow treating the ODE solver as a black box and computing gradients backwards in time by solving a second augmented adjoint ODE, rather than directly differentiating by ODE solvers. This approach is memory efficient, especially for adaptive ODE solvers that adjust the step size on the fly.

Es sollte angemerkt werden, dass das Verwenden eines neuronalen Netzwerks zum Modellieren der Dynamiken einer Mannigfaltigkeits-ODE dem neuronalen Netzwerk einige Einschränkungen auferlegt. Aufgrund dessen wird, gemäß verschiedenen Ausführungsformen, ein Projektionsoperator zu der letzten Schicht eines neuronalen „Freiform“-Netzwerks (d. h. ein neuronales Netzwerk ohne diese Einschränkungen) hinzugefügt, um seine Ausgabe auf den Tangentialraum am Eingabeort zu projizieren. Es soll die Roboterkonfiguration (zumindest teilweise) durch Punkte auf einer Mannigfaltigkeit

Figure DE102022206381A1_0052
mit Dimension d spezifiziert sein, die in einem umgebenden n-dimensionalen euklidischen Raum eingebettet ist. Angesichts eines neuronalen Freiform-Netzwerks Ψθ : ℝn × ℝ →ℝn ist die Abbildung f θ : n T M
Figure DE102022206381A1_0053
dann gegeben durch fθ (z(t),t) = proju ◯ Ψθ(z(t),t)It should be noted that using a neural network to model the dynamics of a manifold ODE imposes some limitations on the neural network. Because of this, according to various embodiments, a projection operator is added to the final layer of a “freeform” neural network (ie, a neural network without these restrictions) to project its output onto the tangent space at the input location. It should represent the robot configuration (at least partially) by points on a manifold
Figure DE102022206381A1_0052
be specified with dimension d, which is embedded in a surrounding n-dimensional Euclidean space. Given a free-form neural network Ψ θ : ℝ n × ℝ →ℝ n is the figure f θ : n T M
Figure DE102022206381A1_0053
then given by f θ (z(t),t) = proju ◯ Ψ θ (z(t),t)

Eingabedaten in das neuronale Netzwerk werden als auf der Mannigfaltigkeit 301 angenommen. Das neuronale Netzwerk kann zum Beispiel ein vollständig verbundenes neuronales Netzwerk (FCNN) mit Tanh-Aktivierungsfunktion sein.Input data to the neural network is assumed to be on manifold 301. The neural network may be, for example, a fully connected neural network (FCNN) with Tanh activation function.

Wie oben beschrieben, wird nach dem Erhalten der Konfigurationsänderung, die für den Punkt x durch das Vektorfeld auf der zweiten riemannschen Mannigfaltigkeit über den Diffeomorphismus gegeben ist, der Tangentialvektor ẏ für die latente Variable y (d. h. den Punkt, auf den der Diffeomorphismus x abbildet) zurück auf den Tangentialraum am Ort x M

Figure DE102022206381A1_0054
durch den Pullback-Operator D y Φ θ *
Figure DE102022206381A1_0055
abgebildet.As described above, after obtaining the configuration change given for the point back to the tangent space at the location x M
Figure DE102022206381A1_0054
through the pullback operator D y Φ θ *
Figure DE102022206381A1_0055
pictured.

Dieser Operator kann als die inverse Abbildung der Differentialen des Diffeomorphismus angesehen werden, d. h. der Differentialen, die ẋ auf ẏ abbildet: D x Φ θ ( x ) x ˙ = y ˙

Figure DE102022206381A1_0056
This operator can be viewed as the inverse mapping of the differentials of the diffeomorphism, that is, the differentials that ẋ maps to ẏ: D x Φ θ ( x ) x ˙ = y ˙
Figure DE102022206381A1_0056

Im euklidischen Fall kann ẋ direkt durch Multiplizieren von ẏ mit der Inversen von DxΦθ abgeleitet werden. Unter einem Mannigfaltigkeitsumfeld ist das direkte Berechnen der Inversen jedoch schwierig, insbesondere für eine d-dimensionale Untermannigfaltigkeit in einem n-dimensionalen euklidischen Raum ℝn. Dies liegt an einem unvermeidlichen Rangverlust in der Matrixrepräsentation für DxΦθ (x).In the Euclidean case, ẋ can be derived directly by multiplying ẏ by the inverse of D x Φ θ . However, in a manifold setting, computing the inverse directly is difficult, especially for a d-dimensional submanifold in an n-dimensional Euclidean space ℝ n . This is due to an inevitable loss of rank in the matrix representation for D x Φ θ (x).

Beispielsweise weist der Tangentialraum einer 2-Sphäre, die in ℝ3 repräsentiert ist, auch die gleiche Dimension wie die Mannigfaltigkeit selbst auf, was impliziert, dass der Operator DxΦθ (x) eine Abbildung zwischen zwei 2-dimensionalen Räumen sein sollte. Da die 2-Sphäre und ihr Tangentialraum jedoch in den 3-dimensionalen umgebenden euklidischen Raum eingebettet sind, ist die Matrixrepräsentation für DxΦθ(x) eine 3-mal-3-Matrix. Eine 3-mal-3-Matrix zum Abbilden zwischen 2-dimensionalen Räumen muss rangdefizient sein und kann somit nicht direkt invertiert werden. Es ist typischerweise auch nicht hilfreich, die generalisierte Inverse dieser Matrix zu berechnen, da dies äquivalent zu dem Berechnen einer Minimum-Norm-Lösung für ẋ ist, die nicht die Eigenschaften eines Tangentialvektors erfüllt. Gemäß verschiedenen Ausführungsformen wird dies durch das Einführen einer Beschränkung angesprochen, die das Auferlegen von ẋ auf den Tangentialraum ermöglicht. Im Fall einer Sphären-Mannigfaltigkeit muss der Tangentialvektor ẋ senkrecht zum Positionsvektor x sein, der formuliert werden kann als x T x ˙ = 0

Figure DE102022206381A1_0057
For example, the tangent space of a 2-sphere represented in ℝ 3 also has the same dimension as the manifold itself, which implies that the operator D x Φ θ (x) is a mapping between between two 2-dimensional spaces. However, since the 2-sphere and its tangent space are embedded in the 3-dimensional surrounding Euclidean space, the matrix representation for D x Φ θ (x) is a 3 by 3 matrix. A 3-by-3 matrix for mapping between 2-dimensional spaces must be rank-deficient and thus cannot be directly inverted. It is also typically not helpful to compute the generalized inverse of this matrix, since this is equivalent to computing a minimum norm solution for ẋ that does not satisfy the properties of a tangential vector. According to various embodiments, this is addressed by introducing a constraint that allows ẋ to be imposed on the tangent space. In the case of a sphere manifold, the tangent vector ẋ must be perpendicular to the position vector x, which can be formulated as x T x ˙ = 0
Figure DE102022206381A1_0057

Das Kombinieren dieser beiden Gleichungen (6) und (7) ergibt eine eindeutige Lösung. Eine Lösung kann durch Lösen des linear beschränkten Problems entweder durch Erstellen eines neuen linearen Gleichungssystems oder durch Anwenden eines Lagrange-Multiplikators gefunden werden. Im Folgenden wird gezeigt, die Matrix zu augmentieren, um eine neue lineare Gleichung zu erzeugen und die Pseudo-Inverse zu berechnen. Da die augmentierte Matrix einen vollen Rang hat, erzeugt die Pseudo-Inverse das gleiche Ergebnis wie die direkte Inverse. ( D x Φ θ ( x ) x T ) x ˙ = ( y ˙ 0 )

Figure DE102022206381A1_0058
( D x Φ θ ( x ) x T ) T ( D x Φ θ ( x ) x T ) x ˙ = ( D x Φ θ ( x ) x T ) T ( y ˙ 0 )
Figure DE102022206381A1_0059
( D x Φ θ ( x ) T D x Φ θ ( x ) + x x T ) x ˙ = D x Φ θ ( x ) T y ˙
Figure DE102022206381A1_0060
Combining these two equations (6) and (7) gives a unique solution. A solution can be found by solving the linearly bounded problem either by creating a new system of linear equations or by applying a Lagrange multiplier. The following shows how to augment the matrix to create a new linear equation and calculate the pseudo-inverse. Since the augmented matrix has full rank, the pseudo-inverse produces the same result as the direct inverse. ( D x Φ θ ( x ) x T ) x ˙ = ( y ˙ 0 )
Figure DE102022206381A1_0058
( D x Φ θ ( x ) x T ) T ( D x Φ θ ( x ) x T ) x ˙ = ( D x Φ θ ( x ) x T ) T ( y ˙ 0 )
Figure DE102022206381A1_0059
( D x Φ θ ( x ) T D x Φ θ ( x ) + x x T ) x ˙ = D x Φ θ ( x ) T y ˙
Figure DE102022206381A1_0060

Dies führt zu der eindeutigen Lösung sowie dem Ausdruck des Pullback-Operators DxΦθ, formuliert als x ˙ = ( D x Φ θ ( x ) T ) D x Φ θ ( x ) + x x T ) 1 D x Φ θ ( x ) T y ˙

Figure DE102022206381A1_0061
D y Φ θ * = ( D x Φ θ ( x ) T D x Φ θ ( x ) + x x T ) 1 D x Φ θ ( x ) T
Figure DE102022206381A1_0062
This leads to the unique solution as well as the expression of the pullback operator D x Φ θ , formulated as x ˙ = ( D x Φ θ ( x ) T ) D x Φ θ ( x ) + x x T ) 1 D x Φ θ ( x ) T y ˙
Figure DE102022206381A1_0061
D y Φ θ * = ( D x Φ θ ( x ) T D x Φ θ ( x ) + x x T ) 1 D x Φ θ ( x ) T
Figure DE102022206381A1_0062

Angesichts der obigen Ableitung kann der Pullback-Operator D y Φ θ *

Figure DE102022206381A1_0063
erhalten werden, der für Sphären spezifisch ist, da die in Gleichung (7) definierte Beschränkung nur für Sphären-Mannigfaltigkeiten gültig ist.Given the above derivation, the pullback operator D y Φ θ *
Figure DE102022206381A1_0063
can be obtained, which is specific for spheres, since the restriction defined in equation (7) is only valid for sphere manifolds.

Während unter dem Sphären-Mannigfaltigkeits-Umfeld die Beschränkung linear und leicht zu berechnen oder zu erfüllen ist, kann sie jedoch in anderen Mannigfaltigkeiten nichtlinear und komplex sein. Daher erfordert das Einführen einer nichtlinearen Bedingung in die Gleichung (6) eine iterative Prozedur, um ein nichtlinear beschränktes Optimierungsproblem zu lösen, das rechenintensiv ist.However, while in the sphere manifold environment the constraint is linear and easy to calculate or satisfy, in other manifolds it can be nonlinear and complex. Therefore, introducing a nonlinear condition into equation (6) requires an iterative procedure to solve a nonlinearly constrained optimization problem, which is computationally intensive.

Daher wird gemäß verschiedenen Ausführungsformen, um die Berechnung für willkürliche Mannigfaltigkeiten zu generalisieren, eine Weise zum Bestimmen des Pullback-Operators D y Φ θ *

Figure DE102022206381A1_0064
basierend auf modifizierten adjungierten Verfahren eingeführt. Wie oben erwähnt, kann der Pullback-Operator auch als ein Differential eines inversen Diffeomorphismus D y ( Φ θ 1 )
Figure DE102022206381A1_0065
angesehen werden. Somit besteht ein Ansatz zum Bestimmen des Pullback-Operators darin, zunächst den inversen Diffeomorphismus zu berechnen und dann seine Ableitungen zu erhalten. In der Tat sind die Prozedur zum Berechnen des Diffeomorphismus und des inversen Diffeomorphismus für unsere Mannigfaltigkeits-ODE identisch, und nur das Zeitintervall muss invertiert werden, d. h. anstatt des Integrierens von ts nach te, um den Diffeomorphismus zu erhalten, wird die Integration von te nach ts durchgeführt, um den inversen Diffeomorphismus zu erhalten.Therefore, according to various embodiments, to generalize the computation for arbitrary manifolds, a way to determine the pullback operator becomes D y Φ θ *
Figure DE102022206381A1_0064
based on modified adjoint methods introduced. As mentioned above, the pullback operator can also be used as a differential of an inverse diffeomorphism D y ( Φ θ 1 )
Figure DE102022206381A1_0065
be considered. Thus, one approach to determining the pullback operator is to first calculate the inverse diffeomorphism and then obtain its derivatives. In fact, the procedure for computing the diffeomorphism and the inverse diffeomorphism for our manifold ODE are identical, and only the time interval needs to be inverted, that is, instead of integrating from ts to te to obtain the diffeomorphism, the integration of t e after t s to obtain the inverse diffeomorphism.

Ferner kann ein adjungiertes Verfahren verwendet werden, um das Differential des inversen Diffeomorphismus zu berechnen.Furthermore, an adjoint method can be used to calculate the differential of the inverse diffeomorphism.

Dafür wird A(t) als adjungierte Variable definiert als Dz(t)Φ-1 definiert. Algorithmus 1 zeigt, dass das Differential des inversen Diffeomorphismus mit einem einzigen Durchlauf des ODE-Lösers auf der Mannigfaltigkeit gegeben ist, während das Ergebnis für den Diffeomorphismus ohne zusätzlichen Aufwand erhalten wird. Daher wird keine Vorwärtsberechnung vor dem Fortfahren mit der Rückwärtspropagation benötigt.

Figure DE102022206381A1_0066
For this purpose, A (t) is defined as an adjoint variable as D z(t) Φ -1 . Algorithm 1 shows that the differential of the inverse diffeomorphism is given with a single pass of the ODE solver on the manifold, while the result for the diffeomorphism is obtained without any additional effort. Therefore, no forward computation is needed before proceeding with backward propagation.
Figure DE102022206381A1_0066

Die Funktion ManifoldODESolve löst die Mannigfaltigkeits-ODE (z. B. unter Verwendung eines dynamischen Chart-Verfahrens). Hier liegt die Hauptherausforderung in der Berechnung des Differentials der Vektorfelder auf der Mannigfaltigkeit Dz(t)fθ(z(t),t), wohingegen alleinig partielle Ableitungen in der euklidischen Situation erforderlich sind. Das direkte Berechnen des Differentials von Vektorfeldern kann durch mehrere Techniken vermieden werden, z. B. wie im Folgenden beschrieben.The ManifoldODESolve function solves the manifold ODE (e.g. using a dynamic charting method). Here the main challenge lies in the calculation of the differential of the vector fields on the manifold D z(t) f θ (z(t),t), whereas only partial derivatives are required in the Euclidean situation. Directly computing the differential of vector fields can be avoided by several techniques, e.g. B. as described below.

Unter Verwendung einer Exponentialabbildung φ i 1 = E x p z ,

Figure DE102022206381A1_0067
φi = Logzi , kann der inverse Diffeomorphismus Φ θ 1 : y = z k z 0 = x
Figure DE102022206381A1_0068
geschrieben werden als Φ θ 1 = L o g z 0 1 f ^ 0 1 E x p z 0 1 L o g z k 1 1 f ^ k 1 1 E x p z k 1 1   = E x p z 0 f ^ 0 1 L o g z 0 E x p z k 1 f ^ k 1 1 L o g z k 1 .
Figure DE102022206381A1_0069
Using an exponential map φ i 1 = E x p e.g ,
Figure DE102022206381A1_0067
φ i = Log z i , can be the inverse diffeomorphism Φ θ 1 : y = e.g k e.g 0 = x
Figure DE102022206381A1_0068
be written as Φ θ 1 = L O G e.g 0 1 f ^ 0 1 E x p e.g 0 1 L O G e.g k 1 1 f ^ k 1 1 E x p e.g k 1 1 = E x p e.g 0 f ^ 0 1 L O G e.g 0 E x p e.g k 1 f ^ k 1 1 L O G e.g k 1 .
Figure DE102022206381A1_0069

Da f ^ i : y ( t s ) y i ( t e )  und  f ^ i 1 : y i ( t e ) y i ( t s )

Figure DE102022206381A1_0070
dem Lösen der äquivalenten ODE vorwärts bzw. rückwärts in der Zeit im euklidischen Raum entsprechen, kollabiert das Differential dieser Abbildungen zu klassischen partiellen Ableitungen. Dies ermöglicht das wirksame Einsetzen des Algorithmus 1 im euklidischen Raum, um f̂i und seine partiellen Ableitungen in einem einzigen Aufruf zu einem klassischen ODE-Löser zu erhalten. Zusammengefasst kann das Durchlaufen einer einzigen Komponente und die Berechnung ihres Differentials geschrieben werden als z i = ( E x p z i f ^ i 1 L o g z i ) z i + 1 D z i 1 z i = D y i ( t s ) E x p z i D y i ( t e ) f ^ i 1 D z i 1 L o g z i ,
Figure DE102022206381A1_0071
wobei eine Exponential- und Logarithmusabbildung sowie ihre Ableitungen analytische Ausdrücke aufweisen. Das iterative Lösen der Gleichung (8) ergibt die Ergebnisse des Diffeomorphismus und des Pullback-Operators.There f ^ i : y ( t s ) y i ( t e ) and f ^ i 1 : y i ( t e ) y i ( t s )
Figure DE102022206381A1_0070
correspond to solving the equivalent ODE forwards and backwards in time in Euclidean space, the differential of these maps collapses to classical partial derivatives. This allows leveraging Algorithm 1 in Euclidean space to obtain f̂ i and its partial derivatives in a single call to a classical ODE solver. In summary, looping through a single component and computing its differential can be written as e.g i = ( E x p e.g i f ^ i 1 L O G e.g i ) e.g i + 1 D e.g i 1 e.g i = D y i ( t s ) E x p e.g i D y i ( t e ) f ^ i 1 D e.g i 1 L O G e.g i ,
Figure DE102022206381A1_0071
where an exponential and logarithm map as well as their derivatives have analytical expressions. Iteratively solving equation (8) gives the results of the diffeomorphism and the pullback operator.

Zusammengefasst wird gemäß verschiedenen Ausführungsformen ein Verfahren wie in 5 veranschaulicht bereitgestellt.According to various embodiments, a method is summarized as in 5 illustrated provided.

5 zeigt ein Flussdiagramm 500, das ein Verfahren zum Steuern einer Robotervorrichtung veranschaulicht. 5 shows a flowchart 500 illustrating a method for controlling a robotic device.

Bei 501 werden Demonstrationen (z. B. durch einen menschlichen Benutzer) für eine Roboterfähigkeit bereitgestellt, wobei jede Demonstration eine Trajektorie zeigt, die eine Sequenz von Roboterkonfigurationen beinhaltet, wobei jede Roboterkonfiguration zumindest teilweise durch einen Punkt auf einer ersten riemannschen Mannigfaltigkeit beschrieben wird.At 501, demonstrations (e.g., by a human user) are provided for a robot capability, each demonstration showing a trajectory that includes a sequence of robot configurations, each robot configuration being at least partially described by a point on a first Riemannian manifold.

Bei 502 wird ein Vektorfeld auf einer zweiten riemannschen Mannigfaltigkeit (homöomorph zu der ersten riemannschen Mannigfaltigkeit, sodass sie auch als eine zweite „Instanz“ der riemannschen Mannigfaltigkeit angesehen werden kann) (vor)definiert.At 502, a vector field is (pre)defined on a second Riemann manifold (homeomorphic to the first Riemann manifold, so that it can also be viewed as a second “instance” of the Riemann manifold).

Bei 503 wird ein Diffeomorphismus zwischen der ersten riemannschen Mannigfaltigkeit und der zweiten riemannschen Mannigfaltigkeit durch Suchen nach Parameterwerten des Diffeomorphismus trainiert, die einen Verlust minimieren, einschließlich, für jede Demonstration und für mindestens eine Roboterkonfiguration der durch die Demonstration gezeigten Trajektorie, einer Differenz zwischen einer Konfigurationsänderung zu der nächsten Konfiguration der Trajektorie und einer Konfigurationsänderung, die durch das bestimmte Vektorfeld über den Diffeomorphismus gegeben ist.At 503, a diffeomorphism between the first Riemannian manifold and the second Riemannian manifold is trained by searching for parameter values of the diffeomorphism that minimize a loss, including, for each demonstration and for at least one robot configuration of the trajectory shown by the demonstration, a difference between a configuration change to the next configuration of the trajectory and a configuration change given by the particular vector field via the diffeomorphism.

Hier beinhaltet das Bestimmen der Konfigurationsänderung, die durch das bestimmte Vektorfeld für eine Konfiguration gegeben ist,

  • • Abbilden des Punktes auf der ersten riemannschen Mannigfaltigkeit, der die Konfiguration beschreibt, auf einen Punkt auf der zweiten riemannschen Mannigfaltigkeit mittels des Diffeomorphismus;
  • • Bestimmen einer Änderung, die durch das Vektorfeld an dem Punkt auf der zweiten riemannschen Mannigfaltigkeit spezifiziert wird; und
  • • Abbilden der bestimmten Änderung auf den Tangentialraum des Punktes auf der ersten riemannschen Mannigfaltigkeit unter Verwendung des Differentials des inversen Diffeomorphismus. Das Ergebnis dieser Abbildung ist die Konfigurationsänderung, die durch das bestimmte Vektorfeld für eine Konfiguration über den Diffeomorphismus gegeben ist.
Here, determining the configuration change given by the particular vector field for a configuration involves
  • • Mapping the point on the first Riemann manifold that describes the configuration to a point on the second Riemann manifold using diffeomorphism;
  • • Determine a change specified by the vector field at the point on the second Riemann manifold; and
  • • Mapping the particular change to the tangent space of the point on the first Riemann manifold using the differential of the inverse diffeomorphism. The result of this mapping is the configuration change given by the particular vector field for a configuration via diffeomorphism.

Bei 504 wird die Robotervorrichtung für eine Konfiguration, für die eine Steueraktion bestimmt werden soll, gemäß einer Konfigurationsänderung gesteuert, die durch das bestimmte Vektorfeld über den trainierten Diffeomorphismus für die Konfiguration, für die eine Steueraktion bestimmt werden soll, gegeben ist (wobei die Konfigurationsänderung gemäß den obigen drei Stichpunkten bestimmt werden kann).At 504, the robotic device is controlled for a configuration for which a control action is to be determined according to a configuration change given by the determined vector field via the trained diffeomorphism for the configuration for which a control action is to be determined (where the configuration change is according to can be determined from the above three bullet points).

Das Steuern der Robotervorrichtung gemäß einer Konfigurationsänderung kann als das dahingehende Steuern der Robotervorrichtung, die Konfigurationsänderung durchzuführen, verstanden werden. Beispielsweise gibt die Konfigurationsänderung eine Geschwindigkeit in eine gewisse Richtung an, und die Robotervorrichtung wird dahingehend gesteuert, sich mit der Geschwindigkeit in die Richtung zu bewegen (oder zu drehen).Controlling the robot device according to a configuration change can be understood as controlling the robot device to perform the configuration change. For example, the configuration change specifies a speed in a certain direction, and the robotic device is controlled to move (or rotate) at the speed in that direction.

Die riemannschen Mannigfaltigkeiten sind zum Beispiel Räume von Punkten, die eine Orientierung der Robotervorrichtung spezifizieren, z. B. die Orientierung eines Endeffektors.The Riemannian manifolds are, for example, spaces of points that specify an orientation of the robotic device, e.g. B. the orientation of an end effector.

Der Ansatz von 5 ermöglicht das Lernen einer Steuerungsstrategie (entsprechend einem Vektorfeld auf der ersten riemannschen Mannigfaltigkeit) über menschliche Demonstrationen, bei denen Wegintegrale (Geodäten) natürliche Bewegungsfähigkeiten sind. Das Vektorfeld wird auf der ersten riemannschen Mannigfaltigkeit in dem Sinn gelernt, dass ein Diffeomorphismus gelernt wird, der die gewünschten (beobachteten) Demonstrationsdaten auf das (vor)bestimmte (stabile) Vektorfeld auf der zweiten riemannschen Mannigfaltigkeit abbildet. Daher kann die globale Stabilität des gelernten Vektorfeldes durch den Diffeomorphismus, der auf das (vor)bestimmte Vektorfeld angewendet wird, garantiert werden.The approach of 5 allows learning a control strategy (corresponding to a vector field on the first Riemannian manifold) via human demonstrations where path integrals (geodesics) are natural motion capabilities. The vector field is learned on the first Riemannian manifold in the sense that a diffeomorphism is learned that maps the desired (observed) demonstration data to the (pre)determined (stable) vector field on the second Riemannian manifold. Therefore, the global stability of the learned vector field can be guaranteed by the diffeomorphism applied to the (pre)determined vector field.

Das Verfahren von 5 kann durch einen oder mehrere Computer durchgeführt werden, die eine oder mehrere Datenverarbeitungseinheiten beinhalten. Der Begriff „Datenverarbeitungseinheit“ kann als eine beliebige Art von Entität verstanden werden, die die Verarbeitung von Daten oder Signalen ermöglicht. Beispielsweise können die Daten oder Signale gemäß mindestens einer (d. h. einer oder mehr als einer) spezifischen Funktion behandelt werden, die durch die Datenverarbeitungseinheit durchgeführt wird. Eine Datenverarbeitungseinheit kann eine analoge Schaltung, eine digitale Schaltung, eine Mischsignalschaltung, eine Logikschaltung, einen Mikroprozessor, einen Mikrocontroller, eine Zentralverarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU), einen Digitalsignalprozessor (DSP), ein programmierbares Gate-Array (FPGA), eine integrierte Schaltung oder eine beliebige Kombination davon beinhalten oder daraus gebildet werden. Eine beliebige andere Weise zum Implementieren der jeweiligen Funktionen kann auch als Datenverarbeitungseinheit oder Logikschaltungsanordnung verstanden werden. Es versteht sich, dass ein oder mehrere der hierin ausführlich beschriebenen Verfahrensschritte durch eine Datenverarbeitungseinheit durch eine oder mehrere spezifische Funktionen, die durch die Datenverarbeitungseinheit durchgeführt werden, ausgeführt (z. B. implementiert) werden können.The procedure of 5 can be performed by one or more computers containing one or more data processing units. The term “data processing unit” can be understood as any type of entity that enables the processing of data or signals. For example, the data or signals may be treated according to at least one (ie, one or more than one) specific function performed by the data processing unit. A data processing unit may include an analog circuit, a digital circuit, a mixed signal circuit, a logic circuit, a microprocessor, a microcontroller, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a programmable gate array (FPGA), include or be formed from an integrated circuit or any combination thereof. Any other way to implement the respective functions can also be understood as a data processing unit or logic circuit arrangement. It is understood that one or more of the method steps described in detail herein may be performed (e.g., implemented) by a data processing unit through one or more specific functions performed by the data processing unit.

Verschiedene Ausführungsformen können Bilddaten von verschiedenen visuellen Sensoren (Kameras) wie etwa zum Beispiel Video, Radar, LiDAR, Ultraschall, Wärmebildgebung, Sonar usw. empfangen und verwenden, um die Daten der Demonstrationen zu erhalten.Various embodiments may receive and use image data from various visual sensors (cameras), such as, for example, video, radar, LiDAR, ultrasound, thermal imaging, sonar, etc., to obtain the demonstration data.

Der Ansatz von 5 kann verwendet werden, um ein Steuersignal zum Steuern eines technischen Systems zu berechnen, wie z. B. einer computergesteuerten Maschine wie eines Roboters, eines Fahrzeugs, eines Haushaltsgeräts, eines Elektrowerkzeugs, einer Herstellungsmaschine, eines persönlichen Assistenten oder eines Zugangssteuersystems. Gemäß verschiedenen Ausführungsformen kann eine Strategie zum Steuern des technischen Systems gelernt werden und dann kann das technische System dementsprechend betrieben werden.The approach of 5 can be used to calculate a control signal for controlling a technical system, such as: B. a computer-controlled machine such as a robot, a vehicle, a household appliance, a power tool, a manufacturing machine, a personal assistant or an access control system. According to various embodiments, a strategy for controlling the technical system may be learned and then the technical system may be operated accordingly.

Gemäß einer Ausführungsform ist das Verfahren computer-implementiert.According to one embodiment, the method is computer-implemented.

Obwohl spezifische Ausführungsformen hierin veranschaulicht und beschrieben wurden, werden Durchschnittsfachleute auf dem Gebiet verstehen, dass eine Vielfalt alternativer und/oder äquivalenter Implementierungen für die spezifischen gezeigten und beschriebenen Ausführungsformen ersetzt werden können, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen. Diese Anmeldung soll jegliche Anpassungen oder Variationen der hierin besprochenen spezifischen Ausführungsformen abdecken. Daher ist beabsichtigt, dass diese Erfindung nur durch die Ansprüche und deren Äquivalente beschränkt wird.Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art will understand that a variety of alternative and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and their equivalents.

Claims (8)

Verfahren zum Steuern einer Robotervorrichtung, umfassend: Bereitstellen von Demonstrationen für eine Roboterfähigkeit, wobei jede Demonstration eine Trajektorie zeigt, die eine Sequenz von Roboterkonfigurationen umfasst, wobei jede Roboterkonfiguration zumindest teilweise durch einen Punkt auf einer ersten riemannschen Mannigfaltigkeit beschrieben wird; Bestimmen eines Vektorfeldes auf einer zweiten riemannschen Mannigfaltigkeit; Trainieren eines Diffeomorphismus zwischen der ersten riemannschen Mannigfaltigkeit und der zweiten riemannschen Mannigfaltigkeit durch Suchen nach Parameterwerten des Diffeomorphismus, die einen Verlust minimieren, einschließlich für jede Demonstration und für mindestens eine Roboterkonfiguration der durch die Demonstration gezeigten Trajektorie, einer Differenz zwischen einer Konfigurationsänderung zu der nächsten Konfiguration der Trajektorie und einer Konfigurationsänderung, die durch das bestimmte Vektorfeld über den Diffeomorphismus gegeben ist, wobei das Bestimmen der Konfigurationsänderung, die durch das bestimmte Vektorfeld für eine Konfiguration gegeben ist, umfasst Abbilden des Punktes auf der ersten riemannschen Mannigfaltigkeit, der die Konfiguration beschreibt, auf einen Punkt auf der zweiten riemannschen Mannigfaltigkeit mittels des Diffeomorphismus; Bestimmen einer Änderung, die durch das Vektorfeld an dem Punkt auf der zweiten riemannschen Mannigfaltigkeit spezifiziert wird; Abbilden der bestimmten Änderung auf den Tangentialraum des Punktes auf der ersten riemannschen Mannigfaltigkeit unter Verwendung des Differentials des inversen Diffeomorphismus, wobei die Konfigurationsänderung durch das Ergebnis der Abbildung gegeben ist; und Steuern der Robotervorrichtung, für eine Konfiguration, für die eine Steueraktion bestimmt werden soll, gemäß einer Konfigurationsänderung, die durch das bestimmte Vektorfeld über den trainierten Diffeomorphismus für die Konfiguration, für die eine Steueraktion bestimmt werden soll, gegeben ist.Method for controlling a robotic device, comprising: Providing demonstrations of a robotic capability, each demonstration showing a trajectory comprising a sequence of robot configurations, each robot configuration being at least partially described by a point on a first Riemannian manifold; determining a vector field on a second Riemannian manifold; Training a diffeomorphism between the first Riemannian manifold and the second Riemannian manifold by searching for parameter values of the diffeomorphism that minimize loss, including for each demonstration and for at least one robot configuration of the trajectory shown by the demonstration, a difference between a configuration change to the next configuration of the trajectory and a configuration change given by the particular vector field via the diffeomorphism, wherein determining the configuration change given by the determined vector field for a configuration includes mapping the point on the first Riemann manifold that describes the configuration to a point on the second Riemann manifold using diffeomorphism; determining a change specified by the vector field at the point on the second Riemann manifold; mapping the determined change to the tangent space of the point on the first Riemann manifold using the differential of the inverse diffeomorphism, where the configuration change is given by the result of the mapping; and Controlling the robotic device, for a configuration for which a control action is to be determined, according to a configuration change given by the determined vector field via the trained diffeomorphism for the configuration for which a control action is to be determined. Verfahren nach Anspruch 1, umfassend Bestimmen, dass das Vektorfeld ein stabiles Vektorfeld ist.Procedure according to Claim 1 , comprising determining that the vector field is a stable vector field. Verfahren nach Anspruch 1 oder 2, umfassend Trainieren des Diffeomorphismus durch Trainieren eines neuronalen Netzwerks, wobei der Diffeomorphismus einen Punkt auf die Lösung einer neuronalen gewöhnlichen Differentialgleichung abbildet, wobei der Wert der Ableitung an einem Punkt durch die Ausgabe des neuronalen Netzwerks, wenn es mit dem Punkt versorgt wird, gegeben ist.Procedure according to Claim 1 or 2 , comprising training the diffeomorphism by training a neural network, the diffeomorphism mapping a point to the solution of a neural ordinary differential equation, the value of the derivative at a point being given by the output of the neural network when fed the point . Verfahren nach einem der Ansprüche 1 bis 3, umfassend Bestimmen des Vektorfeldes auf der zweiten riemannschen Mannigfaltigkeit in Abhängigkeit von der Ausgabe eines weiteren neuronalen Netzwerks und Trainieren des weiteren neuronalen Netzwerks zusammen mit dem Diffeomorphismus durch Suchen nach Parameterwerten des Diffeomorphismus und des weiteren neuronalen Netzwerks, um den Verlust zu minimieren.Procedure according to one of the Claims 1 until 3 , comprising determining the vector field on the second Riemannian manifold depending on the output of another neural network and training the further neural network together with the diffeomorphism by searching for parameter values of the diffeomorphism and the further neural network to minimize the loss. Verfahren nach einem der Ansprüche 1 bis 4, wobei jede Roboterkonfiguration eine Orientierung einer Komponente der Robotervorrichtung umfasst, die durch den jeweiligen Punkt auf der ersten riemannschen Mannigfaltigkeit beschrieben wird.Procedure according to one of the Claims 1 until 4 , wherein each robot configuration includes an orientation of a component of the robot device described by the respective point on the first Riemann manifold. Robotervorrichtungssteuerung, die dazu ausgelegt ist, das Verfahren nach einem der Ansprüche 1 bis 5 auszuführen.Robotic device controller designed to carry out the method according to one of the Claims 1 until 5 to carry out. Computerprogramm, umfassend Anweisungen, die bei Ausführung durch einen Prozessor veranlassen, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 5 durchführt.Computer program comprising instructions which, when executed by a processor, cause the processor to carry out a method according to one of the Claims 1 until 5 carries out. Computerlesbares Medium, das Anweisungen speichert, die bei Ausführung durch einen Prozessor veranlassen, dass der Prozessor ein Verfahren nach einem der Ansprüche 1 bis 5 durchführt.A computer-readable medium that stores instructions that, when executed by a processor, cause the processor to perform a method according to one of the Claims 1 until 5 carries out.
DE102022206381.3A 2022-06-24 2022-06-24 Method for controlling a robotic device Pending DE102022206381A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022206381.3A DE102022206381A1 (en) 2022-06-24 2022-06-24 Method for controlling a robotic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022206381.3A DE102022206381A1 (en) 2022-06-24 2022-06-24 Method for controlling a robotic device

Publications (1)

Publication Number Publication Date
DE102022206381A1 true DE102022206381A1 (en) 2024-01-04

Family

ID=89167255

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022206381.3A Pending DE102022206381A1 (en) 2022-06-24 2022-06-24 Method for controlling a robotic device

Country Status (1)

Country Link
DE (1) DE102022206381A1 (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018211738A1 (en) 2018-06-12 2020-01-16 Robert Bosch Gmbh Real-time control strategy for hydraulic systems with systematic consideration of actuation (rate) and condition size restrictions
EP3753684A1 (en) 2019-06-21 2020-12-23 Robert Bosch GmbH Method and system for robot manipulation planning
DE102019216229A1 (en) 2019-10-07 2021-04-08 Robert Bosch Gmbh Apparatus and method for controlling a robotic device
DE102020127508A1 (en) 2019-10-24 2021-04-29 Nvidia Corporation POSITION TRACKING OBJECTS IN HAND
EP3838503A1 (en) 2019-12-16 2021-06-23 Robert Bosch GmbH Method for controlling a robot and robot controller
DE102020208169A1 (en) 2020-06-30 2021-12-30 Robert Bosch Gesellschaft mit beschränkter Haftung Method and device for operating a machine
DE102020212658A1 (en) 2020-10-07 2022-04-07 Robert Bosch Gesellschaft mit beschränkter Haftung Apparatus and method for controlling a robotic device
DE102020214231A1 (en) 2020-11-12 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung METHOD OF CONTROLLING A ROBOT DEVICE AND ROBOT CONTROLLER
WO2022171573A1 (en) 2021-02-12 2022-08-18 Deutsches Zentrum für Luft- und Raumfahrt e.V. Nonlinear dynamic system and method for designing a nonlinear dynamic system
DE102021204961A1 (en) 2021-05-17 2022-11-17 Robert Bosch Gesellschaft mit beschränkter Haftung Method of controlling a robotic device

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018211738A1 (en) 2018-06-12 2020-01-16 Robert Bosch Gmbh Real-time control strategy for hydraulic systems with systematic consideration of actuation (rate) and condition size restrictions
EP3753684A1 (en) 2019-06-21 2020-12-23 Robert Bosch GmbH Method and system for robot manipulation planning
DE102019216229A1 (en) 2019-10-07 2021-04-08 Robert Bosch Gmbh Apparatus and method for controlling a robotic device
DE102020127508A1 (en) 2019-10-24 2021-04-29 Nvidia Corporation POSITION TRACKING OBJECTS IN HAND
EP3838503A1 (en) 2019-12-16 2021-06-23 Robert Bosch GmbH Method for controlling a robot and robot controller
DE102020208169A1 (en) 2020-06-30 2021-12-30 Robert Bosch Gesellschaft mit beschränkter Haftung Method and device for operating a machine
DE102020212658A1 (en) 2020-10-07 2022-04-07 Robert Bosch Gesellschaft mit beschränkter Haftung Apparatus and method for controlling a robotic device
DE102020214231A1 (en) 2020-11-12 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung METHOD OF CONTROLLING A ROBOT DEVICE AND ROBOT CONTROLLER
WO2022171573A1 (en) 2021-02-12 2022-08-18 Deutsches Zentrum für Luft- und Raumfahrt e.V. Nonlinear dynamic system and method for designing a nonlinear dynamic system
DE102021204961A1 (en) 2021-05-17 2022-11-17 Robert Bosch Gesellschaft mit beschränkter Haftung Method of controlling a robotic device

Similar Documents

Publication Publication Date Title
Yu et al. Neural PID control of robot manipulators with application to an upper limb exoskeleton
DE102021204961B4 (en) Method of controlling a robotic device
DE112016004725T5 (en) Method for teach-in of a robot and robot arm control device
DE112016005365T5 (en) Direct teaching method of a robot
DE102020207085A1 (en) METHOD OF CONTROLLING A ROBOT AND ROBOT CONTROL UNIT
WO2021069129A1 (en) Device and method for controlling a robot device
DE102020209685B4 (en) METHODS OF CONTROLLING A ROBOT DEVICE AND ROBOT DEVICE CONTROL
DE102021204697B4 (en) Method of controlling a robotic device
DE102020212658A1 (en) Apparatus and method for controlling a robotic device
DE102020214231A1 (en) METHOD OF CONTROLLING A ROBOT DEVICE AND ROBOT CONTROLLER
DE102020214633A1 (en) Apparatus and method for controlling a robotic device
DE102020209511B3 (en) Method and system for determining optimized program parameters for a robot program
DE102020208211A1 (en) Devices and methods for training a machine learning model for recognizing an object topology of an object from an image of the object
DE102020214300A1 (en) DEVICE AND METHOD FOR TRAINING A MACHINE LEARNING MODEL FOR RECOGNIZING AN OBJECT TOPOLOGY OF AN OBJECT FROM AN IMAGE OF THE OBJECT
DE102022206381A1 (en) Method for controlling a robotic device
DE102020210823A1 (en) machine control arrangement
DE102017222474A1 (en) NUMERIC CONTROL AND DATA STRUCTURE
Zywno et al. Innovative initiatives in control education at Ryerson Polytechnic University. Fuzzy-logic control of the 3D-helicopter simulator
DE102022208082B3 (en) Method for controlling a technical system
Jin et al. Evaluation of state representation methods in robot hand-eye coordination learning from demonstration
DE102022212638B3 (en) Device and method for controlling a robot
DE102022210281A1 (en) Apparatus and method for updating a control strategy for an agent given by a Gaussian mixture model
DE102021211185B4 (en) Device and method for controlling a robot
DE102022202142B3 (en) Device and method for training a machine learning model for deriving a motion vector for a robot from image data
DE102021209761A1 (en) Procedure for training a control strategy

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed