-
Die vorliegende Erfindung betrifft ein Verfahren zur kollisionsfreien Bewegungsplanung eines ersten Manipulators bei geschlossener Kinematik sowie eine entsprechende Vorrichtung.
-
Kollisionsfreie Bewegungsplanung ist in der Robotik die Suche nach einem Bewegungspfad für einen Roboter oder seinen Manipulator von einem Startpunkt zu einem Endpunkt, ohne dabei mit sich selbst oder einem Hindernis zu kollidieren. Von einer geschlossenen Kinematik spricht man, wenn mindestens eine geschlossene kinematische Kette vorliegt. Dies ist dann der Fall, wenn ein Manipulator auf zwei verschiedenen Wegen kinematisch mit seiner Basis verbunden ist. Eine geschlossene kinematische Kette bilden beispielsweise ein Roboter und ein am Boden oder der Wand beweglich gelagertes Element oder aber mehrere Manipulatoren eines Roboters, die gemeinsam ein Objekt greifen und bewegen. Die Bewegungsplanung muss dann so erfolgen, dass die geschlossene Kinematik zu jeder Zeit erfüllt ist, d.h. ein Roboter muss sich so bewegen, dass er den Kontakt zu dem festgelagerten Element oder dem gemeinsam zu tragenden Objekt nicht verliert. Für die Bewegungsplanung stellt sich die geschlossene Kinematik somit als eine zusätzliche Beschränkung der Bewegungsfreiheit dar.
-
Für die verbreiteten Stichproben basierten Bewegungsplaner, wie probabilistic road maps (PRM) oder rapidly-exploring random trees (RRT), ist die geschlossene Kinematik eine große Herausforderung, da die Wahrscheinlichkeit, dass eine zufällige Konfiguration die zusätzliche Beschränkung einhält, gegen null geht. Zwar sind Ansätze bekannt, die aus zufälligen Stichproben durch einen einfachen Gradientenabstieg zulässige Konfigurationen generieren, allerdings gehen die mit hohen Rechenzeiten einher, wenn sehr viele Stichproben zum Lösen des Problems benötigt werden. Darüber hinaus haben probabilistische Verfahren das Problem, dass keine deterministischen Trajektorien erzeugt werden, d.h., dass die Rechenzeit zwar begrenzt werden kann, im Allgemeinen aber nicht vorhersehbar ist.
-
Neben probabilistischen Verfahren sind optimierungsbasierte Verfahren bekannt, die dazu ausgelegt sind, direkt und ohne Umwege eine gleichmäßige und natürliche Bewegung eines Roboters oder seines Manipulators zu erzeugen. Optimierungsbasierte Verfahren haben zusätzlich den Vorteil, dass sie deterministische Trajektorien liefern können, die reproduzierbar und in endlicher Rechenzeit bestimmbar sind. Voraussetzung für ein optimierungsbasiertes Verfahren ist die Formulierung eines geeigneten Optimierungsproblems, welches die Bewegungsplanung umfänglich erfasst.
-
DE 20 2005 007 654 U1 offenbart ein System zum Steuern eines ersten Roboters und eines zweiten Roboters mit einer Einrichtung zum Kalibrieren des zweiten Roboters in Bezug auf den ersten Roboter durch Bestimmen einer Koordinatentransformation des ersten Roboters in Bezug auf den zweiten Roboter. Die Transformation wird in einem Speicher in der Steuereinheit des zweiten Roboters hinterlegt.
-
DE 10 2004 021 389 A1 offenbart kooperierende Roboter und insbesondere ein Verfahren zum Verbinden von mindestens zwei Werkstücken mit Hilfe eines Fügewerkzeugs, das von einem ersten Roboter im Raum bewegt wird. Die beiden Werkstücke werden dabei mit Hilfe eines Spannwerkzeugs, das von einem zweiten Roboter getragen wird, bewegt bzw. gespannt. Zur Bewegungssteuerung des ersten Roboters und zum Aktivieren des Fügewerkzeugs ist eine erste Programmsteuerung vorgesehen, während die Bewegungssteuerung des zweiten Roboters und die Betätigung des Spannwerkzeugs mit Hilfe einer zweiten Programmsteuerung erfolgt. Die beiden Programmsteuerungen sind in einer solchen Weise miteinander gekoppelt, dass einer der beiden Roboter als der „Master“ fungiert, während der andere Roboter als „Slave“ an die Bewegungssteuerung des „Masters“ angebunden ist.
DE 10 2015 103 451 A1 offenbart ein Verfahren zur Trajektoriengenerierung zum schnellen bahntreuen Anhalten auf einer vorgegebenen Bahn.
-
DE 10 2008 029 657 A1 offenbart ein Verfahren, bei dem eine Menge von Bewegungsprofilen vorgegeben ist, um bei der Suche nach einer zeitoptimalen, zulässigen Bewegungstrajektorie unter den vorgegeben Bewegungstrajektorien eine geeignete auszuwählen. Die Auswahl eines geeigneten Bewegungsprofiles erfolgt anhand von Entscheidungsbäumen, wobei durch die Überprüfung, ob mit einem angenommenen Bewegungsverhalten der Zielbewegungszustand oder eine Untermenge davon erreicht wird, die Menge der möglichen Bewegungsprofile schrittweise reduziert wird.
-
DE 690 30 592 T2 offenbart ein weiteres Verfahren zur Generierung von Bewegungstrajektoren in einem dynamischen System und
DE 196 25 637 A1 offenbart ein Verfahren zur Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen.
-
Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren zur Bewegungsplanung anzugeben, das für eine geschlossene Kinematik unter Vermeidung von Selbstkollisionen und Kollisionen mit Hindernissen eine Berechnung von deterministischen Trajektorien hinsichtlich Reproduzierbarkeit und Rechenzeit ermöglicht sowie eine Anpassung der Trajektorien an veränderte Umgebungen erlaubt.
-
Gemäß einem Aspekt der vorliegenden Erfindung wird die Aufgabe gelöst durch ein Verfahren zur kollisionsfreien Bewegungsplanung eines ersten Manipulators bei geschlossener Kinematik mit den Schritten:
- - Definieren eines dynamischen Optimierungsproblems,
- - Lösen des Optimierungsproblems über einen numerischen Ansatz, und
- - Bestimmen einer ersten Bewegungsbahn für den ersten Manipulator anhand der Lösung des Optimierungsproblems, und
- - Ausführen der ersten Bewegungsbahn,
wobei das dynamische Optimierungsproblem ein Kostenfunktional, welches Zustände und Stellgrößen des ersten Manipulators gewichtet, eine Dynamik, welche Zustände und Stellgrößen des ersten Manipulators in Abhängigkeit der Zeit definiert, mindestens eine Ungleichungsbeschränkung für einen Abstand zu Kollisionen sowie mindestens eine Gleichungsbeschränkung für die geschlossene Kinematik umfasst, wobei der numerische Ansatz die Überführung des dynamischen Optimierungsproblems von einem beschränkten Optimierungsproblem in ein unbeschränktes Optimierungsproblem beinhaltet, und wobei das Ausführen der ersten Bewegungsbahn parallel zur Lösung des Optimierungsproblems erfolgt.
-
Ferner wird die Aufgabe durch eine Vorrichtung mit einem ersten Manipulator und einer Steuereinheit gelöst, wobei die Steuereinheit dazu ausgebildet ist, das genannte Verfahren zur kollisionsfreien Bewegungsplanung auszuführen.
-
Es ist somit eine Idee der vorliegenden Erfindung, die kollisionsfreie Bewegungsplanung bei geschlossener Kinematik als Optimierungsproblem zu formulieren und anschließend numerisch zu lösen. Das Optimierungsproblem ist ein dynamisches Problem, welches die Dynamik des Manipulators hinsichtlich seiner Zustände und Stellgrößen berücksichtigt und über ein Kostenfunktional gewichtet. Die Dynamik bildet den zeitlichen Verlauf der Zustände und Stellgrößen ab. Die Zustände können Positionen im Raum sein, die durch Gelenkwinkel angegeben werden, und die Stellgrößen können Gelenkwinkelgeschwindigkeiten (Integrator) oder Gelenkwinkelbeschleunigungen (Doppelintegrator) sein.
-
Das Kostenfunktional gewichtet die Zustände und Stellgrößen. Im einfachsten Fall bestraft das Kostenfunktional nur die Stellgrößen mit einer Gewichtungsmatrix, um die Geschwindigkeiten bzw. Beschleunigungen zu minimieren. Diese Formulierung ist äquivalent zur Suche nach dem kürzesten Pfad zwischen einer Startposition des Roboters und der zu erreichenden Zielposition.
-
Um die geschlossene Kinematik zu berücksichtigen und um Selbstkollisionen oder Kollisionen mit Hindernissen zu vermeiden, wird das dynamische Optimierungsproblem um Gleichungsbeschränkungen und Ungleichungsbeschränkungen ergänzt. Durch die Ungleichungsbeschränkungen können einseitige Grenzen definiert werden, die einzuhalten sind, damit Selbstkollisionen und Kollisionen mit Hindernissen ausgeschlossen werden können. Gleichungsbeschränkungen hingegen sind konkrete Forderungen, die eingehalten werden müssen, sich aber dynamisch mit der Bewegung des Manipulators ändern können. Über die Gleichungsbeschränkungen kann gewährleistet werden, dass während der Bewegung die Bedingungen, die durch die geschlossene Kinematik vorgegeben sind, eingehalten werden.
-
Das dynamische Optimierungsproblem einschließlich der mindestens einen Ungleichungsbeschränkung und der mindestens einen Gleichungsbeschränkung wird anschließend mit einem numerischen Ansatz gelöst. Vorteilhaft kann bei der numerischen Lösung auf bekannte Verfahren zurückgegriffen werden, da sich die als dynamisches Optimierungsproblem formulierte Bewegungsplanung einschließlich der Gleichungs- und Ungleichungsbeschränkungen nicht von bekannten dynamischen Optimierungsproblemen unterscheidet. Es kann somit auch auf bekannte Maßnahmen zurückgegriffen werden, um das dynamische Optimierungsproblem deterministisch zu gestalten.
-
Der numerische Ansatz beinhaltet die Überführung des dynamischen Optimierungsproblems von einem beschränkten Optimierungsproblem in ein unbeschränktes Optimierungsproblem. Die Überführung des dynamischen Optimierungsproblems hin zu einem unbeschränkten Optimierungsproblem ermöglicht eine besonders effiziente Lösung des Optimierungsproblems, wobei auf bekannte Verfahren für die Lösung von unbeschränkten Optimierungsproblemen zurückgegriffen werden kann.
-
Planung und Ausführung finden parallel statt, wodurch die notwendige Rechenzeit vor Beginn der Bewegung reduziert werden kann. Ebenso werden häufige Neuplanungen vermieden, da die Trajektorie während der Ausführung weiter optimiert wird.
-
Insgesamt ermöglicht die Formulierung des Bewegungsproblems als dynamisches Optimierungsproblem mit Ungleichungsbeschränkungen und Gleichungsbeschränkungen eine vereinfachte Bewegungsplanung, die deterministische Trajektorien hervorbringen kann und eine kollisionsfreie Bewegungsführung des Manipulators unter Einhaltung der Bedingungen für eine geschlossene Kinematik ermöglicht. Die eingangs genannte Aufgabe ist damit vollständig gelöst.
-
In einer weiteren Ausgestaltung umfasst das dynamische Optimierungsproblem zusätzliche Randbedingungen, welche eine Anfangs- und eine Endbedingung definieren, insbesondere eine Start- und Zielposition des ersten Manipulators.
-
Über die zusätzlichen Randbedingungen können weitere Vorgaben unmittelbar in die Bewegungsplanung einbezogen werden, so dass beispielsweise ein Manipulator nicht zunächst in eine Initialstellung überführt werden muss, sondern unmittelbar mit der Bewegungsplanung begonnen werden kann.
-
In einer weiteren Ausgestaltung umfasst das dynamische Optimierungsproblem ferner eine oder mehrere Stellgrößenbeschränkungen, welche die minimalen und maximalen Stellgrößen definieren, insbesondere minimale und maximale Geschwindigkeiten und/oder Beschleunigungen des ersten Manipulators.
-
Durch die Stellgrößenbeschränkungen kann die Bewegungsplanung unmittelbar auf nur realisierbare Bewegungen des ersten Manipulators eingegrenzt werden. Die Fähigkeiten des Manipulators können somit unmittelbar bei der Lösung des dynamischen Optimierungsproblems berücksichtigt werden.
-
In einer weiteren Ausgestaltung umfasst das dynamische Optimierungsproblem ferner eine oder mehrere Zustandsbeschränkungen, welche die Grenzen der Zustände definieren, insbesondere minimale und maximale Gelenkwinkel und/oder Gelenkwinkelgeschwindigkeiten des ersten Manipulators.
-
Durch diese Ausgestaltung können unmittelbar Einschränkungen in einzunehmenden Positionen des Manipulators berücksichtigt werden. Beispielsweise können so Räume definiert werden, die der Manipulator theoretisch erreichen kann, jedoch nicht erreichen soll. Für einen Manipulator kann so beispielsweise ein definierter Arbeitsraum festgelegt werden, der unmittelbar bei der Bewegungsplanung berücksichtigt wird.
-
In einer weiteren Ausgestaltung umfasst das dynamische Optimierungsproblem ferner eine definierte Endzeit, welche eine Zeitdauer der Bewegung repräsentiert. Die Zeitdauer der zu planenden Bewegung ist somit ein Teil des Optimierungsproblems und bei der Bewegungsplanung zu berücksichtigen.
-
Insbesondere kann die Endzeit fest gewählt oder vom Kostenfunktional gewichtet werden. Im ersten Fall wird die Zeitdauer, die eine Bewegung benötigen darf, fest vorgegeben, während diese im zweiten Fall als weitere Größe optimiert wird. Im letzteren Fall wird die Endzeit im Kostenfunktional gewichtet, wobei bevorzugt Minimal- und Maximalwerte festgelegt werden.
-
In einer weiteren Ausgestaltung definiert die mindestens eine Ungleichungsbeschränkung für einen Abstand zu Kollisionen einen Mindestabstand zu Kollisionen. Die Ungleichungsbeschränkung legt somit fest, wie weit sich der Manipulator einem Hindernis annähern darf bzw. wieviel Abstand er von sich selbst halten muss.
-
In einer weiteren Ausgestaltung definiert die mindestens eine Gleichungsbeschränkung für die geschlossene Kinematik eine erste dynamische Positionsbeschränkung und/oder eine erste dynamische Orientierungsbeschränkung. Die Gleichungsbeschränkung stellt somit eine dynamische Forderung für die Position bzw. die Orientierung des Manipulators während der Bewegung auf. Durch translatorische und rotatorische Beschränkungen kann während der Bewegung die Bedingung der geschlossenen Kinematik aufrechterhalten werden.
-
In einer hierzu bevorzugten Ausgestaltung wird die mindestens eine Gleichungsbeschränkung für die geschlossene Kinematik und die mindestens eine Ungleichungsbeschränkung für einen Abstand zu Kollisionen jeweils mit einem Multiplikator multipliziert und zum Kostenfunktional hinzuaddiert. Ferner kann mindestens eine Gleichungsbeschränkung für die geschlossene Kinematik und die mindestens eine Ungleichungsbeschränkung für einen Abstand zur Kollision in quadrierter Form mit einem Strafparameter multipliziert und zum Kostenfunktional hinzuaddiert werden. Die numerische Lösung basiert somit auf der erweiterten Lagrange-Methode. Dabei werden Multiplikatoren und Strafparameter für alle Beschränkungen bestimmt und die Beschränkungen mit den Multiplikatoren und Strafparametern dem Kostenfunktional hinzugefügt. Es entsteht ein Max-Min-Optimierungsproblem ohne Beschränkungen mit einer unterlagerten Minimierung bezüglich der Stellgrößen und einer überlagerten Maximierung bezüglich der Multiplikatoren.
-
Bevorzugt werden dabei die Multiplikatoren und Strafparameter beim Lösen des dynamischen Optimierungsproblems iterativ angepasst und das unbeschränkte Optimierungsproblem im Übrigen mit einem Gradientenverfahren gelöst.
-
Insbesondere weist das dynamische Optimierungsproblem für den Fall der parallelen Planung und Ausführung eine Endzeit auf, welche die Zeitdauer der Bewegung repräsentiert und der numerische Ansatz generiert in einem ersten Schritt eine erste Teillösung für mindestens einen ersten Zeitschritt, welcher kleiner ist als die Zeitdauer der Bewegung, und der numerische Ansatz generiert in mindestens einem zweiten Schritt eine zweite Teillösung für einen zweiten Zeitschritt, wobei für den zweiten Zeitschritt ein angepasstes Optimierungsproblem verwendet wird, welches dem dynamischen Optimierungsproblem entspricht und einen Zustand am Ende des ersten Zeitschritts als Anfangsbedingung berücksichtigt.
-
Die Bewegungsplanung erfolgt somit sukzessive. Da die Bewegungsplanung mit geschlossener Kinematik sich deutlich schwieriger gestaltet als im Fall mit offener Kinematik und erheblich mehr Zeit zur Berechnung benötigt, kann durch die sukzessive und parallele Planung und Ausführung die notwendige Rechenzeit vor Beginn der Bewegung reduziert werden. Es ist somit eine Idee, die Trajektorie sukzessive weiter zu optimieren. Die Bewegung kann dabei schon ausgeführt werden, obwohl sie noch nicht vollständig kollisionsfrei ist. Da die weitere Optimierung an die veränderten Umgebungsbedingungen angepasst wird, ergibt sich automatisch ein lokales Ausweichverhalten. Die Optimierung auf bewegtem Horizont ermöglicht somit eine iterative Verbesserung der Lösung und Anpassung der Trajektorie an veränderte Umgebungsbedingungen. Ein Start mit einer suboptimalen Lösung wird dabei möglich, wobei die Lösung während der Ausführung weiter verbessert wird.
-
In einer weiteren Ausgestaltung umfasst das Verfahren ferner das Bestimmen einer zweiten Bewegungsbahn für einen zweiten Manipulator, wobei das Kostenfunktional zusätzlich die Zustände und Stellgrößen des zweiten Manipulators gewichtet und die Dynamik die Zustände und Stellgrößen des zweiten Manipulators in Abhängigkeit der Zeit definiert, und wobei der erste Manipulator und der zweite Manipulator die geschlossene Kinematik bilden.
-
In dieser Ausgestaltung werden somit anhand des dynamischen Optimierungsproblems zwei Bewegungsbahnen bestimmt, mit denen zwei Manipulatoren so bewegt werden können, dass die Manipulatoren eine geschlossene kinematische Kette bilden. Mit anderen Worten wird mit einem Optimierungsproblem die Steuerung eines Zweiarmroboters verwirklicht, die miteinander verbunden sind, beispielsweise indem sie gemeinsam einen Gegenstand bewegen. Die Ausgestaltung trägt vorteilhaft zu einer effizienten Implementierung einer Steuerung für einen Zwei- oder Mehrarmroboter bei.
-
Besonders bevorzugt umfasst die mindestens eine Gleichungsbeschränkung für die geschlossene Kinematik in diesem Fall eine erste dynamische Positions- und/oder Orientierungsbeschränkung des ersten Manipulators und eine zweite dynamische Positions- und/oder Orientierungsbeschränkung des zweiten Manipulators umfasst, die in einem definierten, festen Verhältnis zueinander stehen, so dass die geschlossene Kinematik erfüllt ist. Die Gleichungsbeschränkung des Optimierungsproblems wird somit durch ein festes Verhältnis hinsichtlich der Position und/oder der Orientierung des ersten und des zweiten Manipulators definiert.
-
Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden in der nachfolgenden Beschreibung näher erläutert. Es zeigen:
- 1 ein Blockdiagramm eines Ausführungsbeispiels des neuen Verfahrens,
- 2 eine formale Repräsentation des Optimierungsproblems,
- 3 eine schematische Darstellung von paralleler Planung und Ausführung, und
- 4 ein bevorzugtes Ausführungsbeispiel der neuen Vorrichtung.
-
In der 1 ist ein Ausführungsbeispiel des neuen Verfahrens in seiner Gesamtheit mit der Bezugsziffer 100 bezeichnet.
-
Das Verfahren beginnt mit der Formulierung eines geeigneten Optimierungsproblems für die Bewegungsplanung im Schritt 102. Die Grundlage des Optimierungsproblems ist ein Systemmodell, welches die Dynamik des sich bewegenden Systems hinsichtlich der möglichen Zustände und Stellgrößen in Abhängigkeit der Zeit beschreibt. Darüber hinaus umfasst das Optimierungsproblem ein Kostenfunktional, welches das Ziel der Optimierung spezifiziert. Das Kostenfunktional enthält eine oder mehrere Zielfunktionen, welche die Parameter des Systemmodells gewichten.
-
Grundsätzlich ist das Ziel der Optimierung, eine Funktion einer unabhängigen Variablen (in der Regel eine Zeitfunktion) zu suchen, welche das Kostenfunktional minimiert. Mit anderen Worten im Falle der Bewegungsplanung ist es ein Ziel, eine optimale Eingangstrajektorie zu finden, welche zum Ansteuern des Manipulators verwendet werden kann. Man spricht in diesem Zusammenhang auch von einem Optimalsteuerungsproblem. Das Optimierungsproblem umfasst darüber hinaus Beschränkungen, die eine freie Bewegung im Raum einschränken und bei der Bewegungsplanung zu berücksichtigen sind. Die Beschränkungen umfassen mindestens eine Ungleichungsbeschränkung, welche Hindernisse im Raum berücksichtigt, und mindestens eine Gleichungsbeschränkung, welche kinematische Einschränkungen berücksichtigt.
-
Das Ergebnis des Schritts 102 ist eine formale Repräsentation des Systems, seiner Grenzen und der gewünschten Optimierung.
-
Anschließend, im Schritt 104, wird das Optimierungsproblem gelöst, d.h. es wird die Funktion gesucht, welche das Kostenfunktional minimiert. Dies erfolgt über einen numerischen Ansatz, vorzugsweise rechnergestützt. Anstelle einer konkreten Lösung, ermöglicht der numerische Ansatz eine näherungsweise Berechnung des Optimierungsproblems. Es kann somit auch eine Lösung angegeben werden, wenn keine explizierte Lösungsdarstellung möglich ist bzw. diese nicht in einem vertretbaren Zeitansatz gefunden werden kann.
-
Es ist eine Vielzahl verschiedener numerischer Verfahren und Programme bekannt, mit denen das Optimierungsproblem grundsätzlich gelöst werden kann. Welcher Ansatz am besten geeignet ist, hängt dabei von verschiedenen Faktoren ab, u.a. von der geforderten Genauigkeit oder der verfügbaren Rechenzeit. Die Erfindung ist nicht auf ein spezifisches numerisches Lösungsverfahren beschränkt.
-
Das Ergebnis aus Schritt 104 ist eine optimale Lösungsfunktion oder eine Approximation dieser optimalen Funktion mit hinreichender Genauigkeit.
-
Basierend auf der optimalen Lösungsfunktion bzw. deren Näherung wird im Schritt 106 eine konkrete Bewegungsbahn für den ersten Manipulator ermittelt. D.h. anhand der numerischen Lösung wird die konkrete Bewegung des Manipulators formuliert. Im einfachsten Fall ist die Lösung des Optimierungsproblems eine optimale Eingangstrajektorie, welche unmittelbar in eine Bewegungssteuerung eines Manipulators umgesetzt werden kann. Das erfindungsgemäße Verfahren liefert somit vorzugsweise unmittelbar und direkt die gewünschte Ansteuerung, welche prinzipbedingt zu einer gleichmäßigen und natürlichen Bewegung des Manipulators führt.
-
Da, wie im Folgenden noch näher erläutert wird, das Optimierungsproblem u.a. Hindernisse über die zumindest eine Ungleichungsbeschränkung und die geschlossene Kinematik über die zumindest eine Gleichungsbeschränkung berücksichtigt, erzeugt das Verfahren insgesamt eine gleichmäßige und natürliche Bewegung des Manipulators um die Hindernisse herum und ohne die Forderung an die geschlossene Kinematik zu verletzen. Somit können die verschiedenen Probleme der Bewegungsplanung (Hindernisse, Kinematik) umfassend berücksichtigt werden, wobei die Planung durch den numerischen Ansatz iterativ und insbesondere deterministisch gestaltet werden kann. Die Planungszeiten sind kurz und bestimmbar, wodurch eine echtzeitfähige Implementierung der Bewegungsplanung möglich wird. Die resultierende Bewegung ist natürlich, kollisionsfrei und berücksichtigt die geschlossene Kinematik.
-
2 zeigt eine formale Repräsentation des dynamischen Optimierungsproblems, welches hier in seiner Gesamtheit mit der Bezugsziffer
12 bezeichnet ist. Ausgangspunkt ist das Systemmodell, welches die Dynamik
14 des bewegten Systems, beispielsweise des Manipulators, mit den Zuständen
16 und Stellgrößen
18 beschreibt. Die Dynamik
14 kann vereinfacht als Integrator q = u mit den Zuständen x = q und den Stellgrößen q oder als Doppelintegrator q̈ = u mit den Zuständen
und den Stellgrößen u = q̈ angenommen werden.
-
Soll mit der Optimierung nur ein Pfad berechnet werden ohne Zeitparametrierung, so genügt der einfache Integrator als Systemmodell. Wenn andererseits die berechnete Trajektorie direkt ausgeführt werden soll, sollte der Doppelintegrator verwendet werden, da hier die minimale und maximale Beschleunigung berücksichtigt werden können.
-
Das Kostenfunktional 20 gewichtet die Zustände 16 und Stellgrößen 18. Aufgabe der Optimierung ist es, aus den in der Regel unendlich vielen Steuerfunktionen die optimale Steuerfunktion herauszufinden, die das Kostenfunktional 20 minimiert.
-
Über die zumindest eine Gleichungsbeschränkung 22 des Optimierungsproblems 12 wird eine geschlossene Kinematik des Systems bei der Planung berücksichtigt. Eine geschlossene Kinematik ist dann gegeben, wenn mindestens eine geschlossene kinematische Kette vorliegt. Dies ist beispielsweise der Fall, wenn ein Manipulator auf zwei verschiedenen Wegen kinematisch mit seiner Basis verbunden ist.
-
Eine geschlossene Kinematik ist auch dann gegeben, wenn ein Roboter mehrere Manipulatoren aufweist, die miteinander verbunden sind, beispielsweise indem die Manipulatoren gemeinsam ein Werkstück heben und bewegen. In diesem Fall ist eine Pose der Endeffektoren der jeweiligen Manipulatoren immer relativ zu einer Pose der Endeffektoren der jeweils anderen Manipulatoren. Es besteht somit eine Beschränkung der Posen der einzelnen Manipulatoren zueinander, die sich paarweise als eine Gleichungsbeschränkung darstellt (P1(x)Prelativ=P2(x)) darstellt. Die Gleichungsbeschränkungen definieren somit eine dynamische Sollvorgabe, die bei der Lösung des dynamischen Optimierungsproblems berücksichtigt werden muss. Mit anderen Worten, die Bedingung einer geschlossenen Kinematik fließt als zusätzliche Beschränkung in das zu lösende Optimierungsproblem ein. Damit wird die geschlossene Kinematik unmittelbar bei der Bewegungsplanung berücksichtigt und unmittelbarer Bestandteil der Bewegungsplanung selbst.
-
Das dynamische Optimierungsproblem 12 umfasst darüber hinaus zumindest eine Ungleichungsbeschränkung 24, über welche Hindernisse im Raum berücksichtigt werden können. Vorzugsweise fordert die mindestens eine Ungleichungsbeschränkung einen Mindestabstand zu Kollisionen mit Hindernissen im Raum. Die Berechnung dieser Kollisionsdistanz und ihrer partiellen Ableitungen nach den Zuständen stellt den aufwendigsten Teil des Optimierungsproblems dar.
-
Mit den Ungleichungsbeschränkungen 24 werden vorzugsweise der Abstand zu Selbstkollisionen und der Abstand zu Kollisionen mit Hindernissen berücksichtigt. Zur Berechnung des Abstands für Selbstkollisionen kann in einem Ausführungsbeispiel eine Approximation des Roboters durch Kugeln mit Mittelpunkt und Radius herangezogen werden. Für die Kollision mit Hindernissen kann eine Approximation der Umgebung durch eine Rasterkarte erfolgen, wobei sich die zu berücksichtigende Distanz durch die Euklid'sche Distanztransformation der Rasterkarte ergibt. Berücksichtigt wird der jeweils kleinste Abstand entweder zur Selbstkollision oder zur Kollision mit einem Hindernis.
-
Es versteht sich, dass neben den genannten Beschränkungen weitere Randbedingungen 26 und Beschränkungen von dem dynamischen Optimierungsproblem 12 umfasst sein können. Insbesondere können weitere Ungleichungsbeschränkungen 24 vorgesehen sein, die Ober- und Untergrenzen von möglichen Zuständen definieren. Beispielsweise können Grenzen für minimale und maximale Gelenkwinkel festgelegt und vom Optimierungsproblem erfasst werden. Ferner sind Stellgrößenbeschränkungen denkbar, welche die minimalen und maximalen Stellgrößen definieren, insbesondere minimale und maximale Geschwindigkeiten und/oder Beschleunigungen des ersten Manipulators.
-
In einem bevorzugten Ausführungsbeispiel kann auch die Zeitdauer der Bewegung über eine definierte Endzeit T berücksichtigt werden. Die Endzeit T kann zum einen in Abhängigkeit des Start- und Endzustands fest gewählt werden oder als eine weitere Größe ein Bestandteil der Optimierung sein. Im letzteren Fall wird die Zeit im Kostenfunktional 20 gewichtet, wobei bevorzugt Minimal- und Maximalwerte festgelegt werden. Durch die Berücksichtigung der Endzeit T kann ein deterministisches Verhalten der Optimierung erreicht werden.
-
Die Lösung des hier dargestellten Optimierungsproblems 12 kann auf verschiedene Weise über verschiedene numerische Ansätze erfolgen. In einem bevorzugten Ausführungsbeispiel erfolgt die numerische Lösung des Optimierungsproblems 12 mit einem Gradientenverfahren und der erweiterten Lagrange-Methode. Kern des numerischen Ansatzes ist hier das Überführen des dynamischen Optimierungsproblems mit Beschränkungen in ein unbeschränktes Optimierungsproblem. Mit anderen Worten wird das Optimierungsproblem auf die Optimierung einer Hilfsfunktion ohne Nebenbedingungen reduziert. Bei der Überführung werden die Beschränkungen mit reellen Faktoren, den sogenannten Lagrange-Multiplikatoren, multipliziert und in die Zielfunktion eingebaut. Mit positiven Lagrange-Multiplikatoren wird eine Verletzung der Beschränkungen bestraft.
-
Die erweiterte Lagrange-Methode umfasst zusätzlich eine quadratische Straffunktion, die über einen weiteren Multiplikator in die Zielfunktion eingebaut wird.
-
Die resultierende Hilfsfunktion, die auch als erweiterte Lagrange-Funktion bezeichnet wird, lautet:
mit dem Lagrange-Multiplikator µ und dem Strafparameter p. Dabei entspricht der vordere Anteil f(x)+µg(x) der gewöhnlichen Lagrange-Funktion und der hintere Teil
einer quadratischen Straffunktion. Unter Annahme von starker Dualität und der Existenz einer optimalen Lösung x*, µ* kann gezeigt werden, dass für jedes p ≥ 0 die Sattelpunktbedingung
erfüllt sein muss. Daraus ist ersichtlich, dass die Lagrange-Funktion bezüglich der Variablen x minimiert und bezüglich der Lagrange-Multiplikatoren µ maximiert werden muss, d.h. ein neues Optimierungsproblem
gelöst werden muss.
-
Dabei wird über eine Iteration k zunächst das unterlagerte Minimierungsproblem
formuliert, welches durch ein Gradientenverfahren gelöst wird. Anschließend werden die Lagrange-Multiplikatoren per steilstem Aufstieg
mit dem Strafparameter p(k) als Schrittweite aktualisiert. Die Konvergenz des Verfahrens kann durch eine Adaption des Strafparameters erheblich verbessert werden. Dabei hat sich die Heuristik
mit den Faktoren β
inc > 1, β
dec < 1, γ
inc und γ
dec < 1 β
inc > 1, β
dec < 1, und der absoluten Toleranz ε
g in der praktischen Anwendung bewährt.
-
Falls durch die Minimierung keine ausreichende Verbesserung der Beschränkung erzielt wurde, wird der Strafparameter weiter erhöht. Sobald die Beschränkung mit der geforderten Toleranz eingehalten wird, kann der Strafparameter wieder reduziert werden. Das Vorgehen wird wiederholt bis eine maximale Iterationszahl k = Nmult erreicht ist oder die Minimierung konvergiert ist und alle Beschränkungen eingehalten sind.
-
Die Ungleichungsbeschränkungen h(x) ≤ 0 können durch Einführung von Schlupfvariablen z ≥ 0 in Gleichungsbeschränkungen g(x) = h(x) + z = 0 überführt werden. Die Minimierung bezüglich z kann explizit ausgerechnet werden und ergibt
-
Daraus folgt eingesetzt in g(x) die äquivalente Formulierung
ohne Schlupfvariablen, die in der Lagrange-Funktion verwendet werden kann. Die Adaptionsregel für den Strafparameter wird für Ungleichungsbeschränkungen ohne den Absolutbetrag gebildet.
-
Bei mehreren Gleichungs- und Ungleichungsbeschränkungen ergibt sich jeweils ein Lagrange-Multiplikator pro Beschränkung. Der Strafparameter kann entweder einheitlich für alle oder wie der Lagrange-Multiplikator separat für jede Beschränkung gewählt werden. Um die Robustheit des Verfahrens zu verbessern, kann die Aktualisierung der Multiplikatoren, wenn in der Minimierung keine ausreichende Konvergenz erreicht wurde, übersprungen werden. Außerdem sind die Lagrange-Multiplikatoren und die Strafparameter durch Minimal- und Maximalwerte begrenzt.
-
Im Einzelnen führt das Gradientenverfahren ausgehend von einer initialen Stellgröße u(0)(t) in jeder Iteration j die folgenden Schritte aus:
- • Integrieren des Systems ausgehend von der Anfangsbedingung in Vorwärtszeit, um x(j)(t) zu erhalten.
- • Integrieren des adjungierten Systems ausgehend von der Endbedingung in Rückwärtszeit, um λ(j)(t) zu erhalten.
- • Lösen des unterlagerten Liniensuchproblems
mit der Suchrichtung:
-
Dabei werden die Stellgrößenbeschränkungen durch die Projektion Ψ auf die zulässige Menge [u-, u+] berücksichtigt.
- • Berechnen der neuen Stellgröße u(j+1) = Ψ (u(j) - α(j)g(j) und setzen von j =j + 1.
- • Abbrechen des Gradientenverfahrens bei j = Ngrad oder bei Erreichen eines Konvergenzkriteriums.
-
Das hier dargestellte Gradientenverfahren lässt sich verhältnismäßig einfach implementieren. Die einzelnen Iterationen benötigen nur wenig Rechenzeit. Der Speicherbedarf des Verfahrens ist gering. Insbesondere am Anfang des Verfahrens tritt meist eine deutliche Reduktion der Kostenfunktion auf, so dass schnell eine suboptimale Lösung gefunden wird. Um eine hohe Genauigkeit zu erreichen, werden im Vergleich mit Methoden, die Information zweiter Ordnung (Hesse-Matrix) nutzen, jedoch viele Iterationen benötigt.
-
In einem bevorzugten Ausführungsbeispiel erfolgt die vorstehend aufgezeigte Planung parallel zur tatsächlichen Ausführung, d.h. parallel zur tatsächlichen Bewegung des Manipulators. Das Prinzip von paralleler Planung und Ausführung ist in der 3 veranschaulicht.
-
Durch parallele Planung und Ausführung kann sowohl die notwendige Rechenzeit vor Beginn der Bewegung reduziert werden, als auch die Notwendigkeit von häufigen Neuplanungen vermieden werden. Dabei wird die Trajektorie während der Ausführung weiter optimiert. Somit kann die Trajektorie bereits ausgeführt werden, auch wenn sie noch nicht vollständig kollisionsfrei ist. Darüber hinaus wird auf diese Weise die Trajektorie vorteilhaft durch die weitere Optimierung an veränderte Umgebungsbedingungen angepasst, so dass sich automatisch ein lokales Ausweichverhalten ergibt.
-
Im ersten Zeitschritt wird die Bewegung von qS nach qG geplant (A). Im zweiten Zeitschritt wird der Anfang dieser Trajektorie bis zu q1 = q(ΔT) ausgeführt (B) und zeitgleich die Bewegung von q1 nach qG weiter optimiert (C). Wenn der Roboter die Position q1 erreicht hat, wird direkt das nächste Stück der Trajektorie bis zu q2 = q(2ΔT) ausgeführt (D) und die Optimierung ab diesem Punkt fortgesetzt (E). Diese Methode wird so lange wiederholt bis innerhalb von einem Zeitschritt der Zielpunkt qG erreicht wird (F), so dass keine weitere Optimierung nötig ist.
-
Die praktische Umsetzung erfordert somit ein enges Zusammenspiel von Planungs- und Ausführungsebene. Jeder Planungsschritt (A, C, D, F) muss seine Berechnung innerhalb der Abtastzeit Δt beenden. Im Zeitschritt tk = kΔt muss die berechnete Trajektorie von qk nach qG zumindest für die nächste Abtastzeit zulässig sein, d.h. qk → qk+1 muss kollisionsfrei sein und die geschlossene Kinematik einhalten. Die Ausführung (B, D) startet jedoch erst, wenn die letzte Bewegung qk-1 → qk abgeschlossen ist, so dass sich der Roboter zum Zeitpunkt des Wechsels genau an der Position qk befindet. Probleme können sich z.B. ergeben, wenn am Übergangspunkt Sprünge in der Geschwindigkeit auftreten. Dies muss auf der Ebene der Folgeregelung ausgeglichen werden.
-
Für die prädiktive Planung wird das eingangs dargestellte Optimierungsproblem im Zeitschritt
tk wie folgt angepasst:
-
Hierbei werden mit x und u die internen Größen des Optimierers bezogen auf die Zeit τ ∈ [0, T] bezeichnet, um sie von dem realen Zustand x(t) zu unterscheiden. Geändert hat sich am Optimierungsproblem insbesondere die Anfangsbedingung, da im Zeitschritt tk ausgehend vom zukünftigen Zustand x(tk + Δt) geplant werden muss. Außerdem kann die Endzeit Tals weitere Optimierungsgröße mit Grenzen und einer Gewichtung in der Kostenfunktion berücksichtigt werden.
-
Damit die Zielposition qG nicht nur asymptotisch für t → ∞ erreicht wird, muss zum einen eine harte Endbeschränkung q(T) = qG im Optimierungsproblem gefordert werden und zum anderen muss der Zeithorizont T sukzessive verkürzt werden bis für T = Δt der Zielpunkt in einem Abtastschritt exakt erreicht wird. Dazu wird ausgehend von einer initialen Abschätzung der benötigten Zeitdauer, die Endzeit nach jedem Zeitschritt um Δt verkürzt, d.h. T(k+1) = T(k) - Δt. Um ein zeitoptimales Verhalten und eine Adaption an veränderte Umgebungsbedingungen zu realisieren, muss die Endzeit als freie Optimierungsvariable betrachtet werden.
-
Insbesondere bei der Planung mit geschlossener Kinematik kann es vorkommen, dass die Abtastzeit Δt nicht ausreicht, um im ersten Schritt eine zulässige Trajektorie zu berechnen. Vor Ausführung des ersten Schritts muss deshalb mehr Zeit in die Optimierung investiert werden. Dazu kann entweder die maximale Anzahl an Iterationen Nocp dieser Vorabberechnung limitiert werden oder eine Zeit Tvalidate < T definiert werden. In diesem Fall beginnt die Ausführung erst, wenn der entsprechende Teil der Trajektorie zulässig ist. So kann z.B. gefordert werden, dass die Bewegung für die nächste Sekunde bereits kollisionsfrei sein muss.
-
4 zeigt ein bevorzugtes Ausführungsbeispiel einer neuen Vorrichtung. Die neue Vorrichtung ist hier in ihrer Gesamtheit mit der Bezugsziffer 10 bezeichnet und in diesem Ausführungsbeispiel als ein Zweiarmroboter mit einem ersten Manipulator 28 und einem zweiten Manipulator 30 ausgebildet. Die Manipulatoren 28, 30 sind über eine gemeinsame Basis 31 miteinander verbunden und in diesem Ausführungsbeispiel symmetrisch aufgebaut. Jeder Manipulator 28, 30 hat drei Glieder 32 und drei Gelenke 34 und an den Enden jedes Manipulators 28, 30 ist ein Endeffektor 36, der hier als Greifer ausgebildet ist, angeordnet. Beide Manipulatoren 28, 30 können gemeinsam ein Werkstück 38 greifen und bewegen. Durch die Verbindung über das Werkstück 38 entsteht eine geschlossene kinematische Kette 40, die hier durch die gestrichelte Linie angedeutet ist.
-
Bei der Bewegung der beiden Manipulatoren 28, 30 und somit auch bei deren Bewegungsplanung muss diese geschlossene Kinematik berücksichtigt werden, da ansonsten die Manipulatoren 28, 30 das Werkstück 38 fallen lassen würden.
-
Die Bewegung des ersten und des zweiten Manipulators 28, 30 wird über eine Steuereinheit 42 koordiniert. Die Steuereinheit 42 führt hierzu das zuvor beschriebene Verfahren aus, d.h. die Steuereinheit 42 ermittelt eine koordinierte Bewegungsbahn sowohl für den ersten als auch den zweiten Manipulator 28, 30 unter Berücksichtigung der geschlossenen Kinematik. Die Steuereinheit 42 ist somit dazu ausgebildet, das zugrundeliegende Optimierungsproblem numerisch zu lösen.
-
Besonders bevorzugt ist die Steuereinheit 42 dazu eingerichtet, die Planung und Ausführung parallel durchzuführen. D.h. die Manipulatoren 28, 30 werden bereits bewegt noch bevor eine optimale und vollständige Bewegungsplanung erfolgt ist.
-
Neben der geschlossenen Kinematik berücksichtigt die Steuerung 42 dabei auch noch Hindernisse 44, die im Bewegungsraum der Manipulatoren 28, 30 angeordnet sind. Besonders bevorzugt werden nicht nur statische Hindernisse 44, sondern auch sich bewegende Hindernisse im Bewegungsraum berücksichtigt.
-
Durch den Ansatz der parallelen Planung und Ausführung, welcher eine kontinuierliche Optimierung beinhaltet, kann besonders vorteilhaft die sich verändernde Umgebung berücksichtigt werden.