DE102017129665B3 - Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik - Google Patents

Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik Download PDF

Info

Publication number
DE102017129665B3
DE102017129665B3 DE102017129665.4A DE102017129665A DE102017129665B3 DE 102017129665 B3 DE102017129665 B3 DE 102017129665B3 DE 102017129665 A DE102017129665 A DE 102017129665A DE 102017129665 B3 DE102017129665 B3 DE 102017129665B3
Authority
DE
Germany
Prior art keywords
optimization problem
manipulator
dynamic
constraint
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102017129665.4A
Other languages
English (en)
Inventor
Andreas Völz
Knut Graichen
Daniel BAKOVIC
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.)
Pilz GmbH and Co KG
Original Assignee
Pilz GmbH and Co KG
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 Pilz GmbH and Co KG filed Critical Pilz GmbH and Co KG
Priority to DE102017129665.4A priority Critical patent/DE102017129665B3/de
Priority to EP18816051.9A priority patent/EP3723945B1/de
Priority to JP2020531772A priority patent/JP7030988B2/ja
Priority to PCT/EP2018/084215 priority patent/WO2019115471A1/de
Priority to CN201880086533.2A priority patent/CN111629867B/zh
Application granted granted Critical
Publication of DE102017129665B3 publication Critical patent/DE102017129665B3/de
Priority to US16/900,396 priority patent/US11642785B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1664Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/0084Program-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1664Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1669Program controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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/40476Collision, planning for collision free path
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

Verfahren (100) zur kollisionsfreien Bewegungsplanung eines ersten Manipulators (28) bei geschlossener Kinematik, mit den Schritten: Definieren eines dynamischen Optimierungsproblems (12), Lösen des Optimierungsproblems (12) über einen numerischen Ansatz und Bestimmen einer ersten Bewegungsbahn für den ersten Manipulator (28) anhand der Lösung des Optimierungsproblems (12). Das dynamische Optimierungsproblem (12) umfasst ein Kostenfunktional (20), welches Zustände (16) und Stellgrößen (18) des ersten Manipulators (28) gewichtet, eine Dynamik (14), welche Zustände (16) und Stellgrößen (18) des ersten Manipulators (28) in Abhängigkeit der Zeit definiert, und mindestens eine Ungleichungsbeschränkung (24) für einen Abstand zu Kollisionen. Ferner umfasst das Optimierungsproblem (12) mindestens eine Gleichungsbeschränkung (22) für die geschlossene Kinematik.

Description

  • 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 x [ q T , q ˙ T ] T
    Figure DE102017129665B3_0001
    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: L ( x , μ , p ) = f ( x ) + π g ( x ) + 1 2 ρ g ( x ) 2
    Figure DE102017129665B3_0002
    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 1 2 ρ g ( x 2 )
    Figure DE102017129665B3_0003
    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 L ( x * , μ , ρ ) L ( x * , μ * , ρ ) L ( x , μ * , ρ )
    Figure DE102017129665B3_0004
    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 max u min x L ( x , μ , ρ )
    Figure DE102017129665B3_0005
    gelöst werden muss.
  • Dabei wird über eine Iteration k zunächst das unterlagerte Minimierungsproblem x ( k + 1 ) = argmin x L ( x , μ ( k ) , ρ ( k ) ) .
    Figure DE102017129665B3_0006
    formuliert, welches durch ein Gradientenverfahren gelöst wird. Anschließend werden die Lagrange-Multiplikatoren per steilstem Aufstieg μ ( k ) = μ ( k ) + ρ ( k ) g ( x ( k ) )
    Figure DE102017129665B3_0007
    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 ρ ( k + 1 ) = { β inc ρ ( k ) | g ( x ( k ) ) | ϒ inc | g ( x ( k 1 ) ) | | g ( x ( k ) ) | > ε g β dec ρ ( k ) | g ( x ( k ) ) | ϒ dec ε g ρ ( k ) sonst
    Figure DE102017129665B3_0008
    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 z * = max { 0, μ ρ h ( x ) } .
    Figure DE102017129665B3_0009
  • Daraus folgt eingesetzt in g(x) die äquivalente Formulierung g + ( x , μ , ρ ) = max { h ( x ) , μ ρ }
    Figure DE102017129665B3_0010
    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 α ( j ) = arg min α > 0 J ( ψ ( u ( j ) α g ( j ) ) )
      Figure DE102017129665B3_0011
      mit der Suchrichtung: g = H ( x , u , λ ) u = ( l ( x , u ) x ) T + ( f ( x , u ) x ) T λ
      Figure DE102017129665B3_0012
  • 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: min u ¯ ( ) , T J ( u ¯ , T ) = V ( T ) + 0 l ( x ¯ ( τ ) , u ¯ ( τ ) ) d τ u .B .v . x ¯ ˙ ( τ ) = f ( x ¯ ( τ ) , u ¯ ( τ ) ) x ¯ ( 0 ) = x k+1 = x ( t k + Δ t ) , x ¯ ( T ) = x G u ¯ ( τ ) [ u , u + ] , τ [ 0, T ] T [ T , T + ] g ( x ¯ ( τ ) ) = 0 , τ [ 0, T ] h ( x ¯ ( τ ) ) 0 , τ [ 0, T ] .
    Figure DE102017129665B3_0013
  • 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.

Claims (18)

  1. Verfahren (100) zur kollisionsfreien Bewegungsplanung eines ersten Manipulators (28) bei geschlossener Kinematik, mit den Schritten: - Definieren eines dynamischen Optimierungsproblems (12), - Lösen des Optimierungsproblems (12) über einen numerischen Ansatz, - Bestimmen einer ersten Bewegungsbahn für den ersten Manipulator (28) anhand der Lösung des Optimierungsproblems (12), und - Ausführen der ersten Bewegungsbahn, wobei das dynamische Optimierungsproblem ein Kostenfunktional (20), welches Zustände (16) und Stellgrößen (18) des ersten Manipulators (28) gewichtet, eine Dynamik (14), welche Zustände (16) und Stellgrößen (18) des ersten Manipulators (28) in Abhängigkeit der Zeit definiert, mindestens eine Ungleichungsbeschränkung (24) für einen Abstand zu Kollisionen sowie mindestens eine Gleichungsbeschränkung (22) 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.
  2. Verfahren nach Anspruch 1, wobei das dynamische Optimierungsproblem (12) zusätzlich Randbedingungen (26) umfasst, welche eine Anfangs- und eine Endbedingung definieren, insbesondere eine Startposition und eine Zielposition des ersten Manipulators (28).
  3. Verfahren nach einem der Ansprüche 1 oder 2, wobei das dynamische Optimierungsproblem (12) ferner eine oder mehrere Stellgrößenbeschränkungen umfasst, welche die minimalen und maximalen Stellgrößen definieren, insbesondere minimale und maximale Geschwindigkeiten und/oder Beschleunigungen des ersten Manipulators (28).
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei das dynamische Optimierungsproblem (12) ferner eine oder mehrere Zustandsbeschränkungen umfasst, welche die Grenzen der Zustände definieren, insbesondere minimale und maximale Gelenkwinkel und/oder Gelenkwinkelgeschwindigkeiten des ersten Manipulators (28).
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei das dynamische Optimierungsproblem (12) ferner eine definierte Endzeit T umfasst, welche eine Zeitdauer der Bewegung repräsentiert.
  6. Verfahren nach Anspruch 5, wobei die Endzeit T fest gewählt wird oder vom Kostenfunktional (20) gewichtet wird.
  7. Verfahren nach einem der Ansprüche 5 bis 6, wobei das dynamische Optimierungsproblem (12) ferner eine oder mehrere Endzeitbeschränkungen aufweist, insbesondere eine minimale und maximale Endzeit.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei die mindestens eine Ungleichungsbeschränkung (24) für einen Abstand zu Kollisionen einen Mindestabstand zu Kollisionen definiert.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei die mindestens eine Gleichungsbeschränkung (22) für die geschlossene Kinematik eine erste dynamische Positionsbeschränkung des ersten Manipulators (28) definiert.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei die mindestens eine Gleichungsbeschränkung (22) für die geschlossene Kinematik eine erste dynamische Orientierungsbeschränkung des ersten Manipulators (28) definiert.
  11. Verfahren nach Anspruch 1, wobei die mindestens eine Gleichungsbeschränkung (22) für die geschlossene Kinematik und die mindestens eine Ungleichungsbeschränkung (24) für einen Abstand zu Kollisionen jeweils mit einem Multiplikator multipliziert und zum Kostenfunktional (20) hinzuaddiert werden.
  12. Verfahren nach einem der Ansprüche 1 bis 11, wobei die mindestens eine Gleichungsbeschränkung (22) für die geschlossene Kinematik und die mindestens eine Ungleichungsbeschränkung (24) für einen Abstand zu Kollisionen in quadrierter Form mit einem Strafparameter multipliziert und zum Kostenfunktional (20) hinzuaddiert werden.
  13. Verfahren nach Anspruch 12, wobei der Multiplikator und der Strafparameter beim Lösen des dynamischen Optimierungsproblems (12) iterativ angepasst werden.
  14. Verfahren nach einem der Ansprüche 1 bis 13, wobei der numerische Ansatz die Lösung des unbeschränkten Optimierungsproblems mit einem Gradientenverfahren umfasst.
  15. Verfahren nach einem der Ansprüche 1 bis 14, wobei das dynamische Optimierungsproblem (12) eine Endzeit T aufweist, welche die Zeitdauer der Bewegung repräsentiert, und der numerische Ansatz in einem ersten Schritt eine erste Teillösung für mindestens einen ersten Zeitschritt, welcher kleiner ist als die Zeitdauer der Bewegung, generiert und in mindestens einem zweiten Schritt eine zweite Teillösung für einen zweiten Zeitschritt generiert, wobei für den zweiten Schritt ein angepasstes Optimierungsproblem verwendet wird, welches dem dynamischen Optimierungsproblem (12) entspricht und einen Zustand am Ende des ersten Zeitschritts als Anfangsbedingung berücksichtigt.
  16. Verfahren nach einem der Ansprüche 1 bis 15, wobei das Verfahren ferner umfasst: - Bestimmen einer zweiten Bewegungsbahn für einen zweiten Manipulator (30), wobei das Kostenfunktional (20) zusätzlich die Zustände (14) und Stellgrößen (16) des zweiten Manipulators (30) gewichtet und die Dynamik (14) die Zustände (14) und Stellegrößen (16) des zweiten Manipulators (30) in Abhängigkeit der Zeit definiert, und wobei der erste Manipulator (28) und der zweite Manipulator (30) die geschlossene Kinematik bilden.
  17. Verfahren nach Anspruch 16, wobei die mindestens eine Gleichungsbeschränkung (22) für die geschlossene Kinematik eine erste dynamische Positions- und/oder Orientierungsbeschränkung des ersten Manipulators (28) und eine zweite dynamische Positions- und/oder Orientierungsbeschränkung des zweiten Manipulators (30) umfasst, die in einem definierten, festen Verhältnis zueinander stehen, so dass die geschlossene Kinematik erfüllt ist.
  18. Vorrichtung mit einem ersten Manipulator (28) und einer Steuereinheit (42), wobei die Steuereinheit (42) dazu ausgebildet ist, ein Verfahren gemäß einem der Ansprüche 1 bis 17 auszuführen.
DE102017129665.4A 2017-12-12 2017-12-12 Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik Active DE102017129665B3 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE102017129665.4A DE102017129665B3 (de) 2017-12-12 2017-12-12 Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
EP18816051.9A EP3723945B1 (de) 2017-12-12 2018-12-10 Kollisionsfreie bewegungsplanung bei geschlossener kinematik
JP2020531772A JP7030988B2 (ja) 2017-12-12 2018-12-10 閉鎖運動のための衝突回避動作計画
PCT/EP2018/084215 WO2019115471A1 (de) 2017-12-12 2018-12-10 Kollisionsfreie bewegungsplanung bei geschlossener kinematik
CN201880086533.2A CN111629867B (zh) 2017-12-12 2018-12-10 封闭运动系统中的无碰撞运动规划
US16/900,396 US11642785B2 (en) 2017-12-12 2020-06-12 Collision-free motion planning for closed kinematics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017129665.4A DE102017129665B3 (de) 2017-12-12 2017-12-12 Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik

Publications (1)

Publication Number Publication Date
DE102017129665B3 true DE102017129665B3 (de) 2019-01-24

Family

ID=64664305

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017129665.4A Active DE102017129665B3 (de) 2017-12-12 2017-12-12 Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik

Country Status (6)

Country Link
US (1) US11642785B2 (de)
EP (1) EP3723945B1 (de)
JP (1) JP7030988B2 (de)
CN (1) CN111629867B (de)
DE (1) DE102017129665B3 (de)
WO (1) WO2019115471A1 (de)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111421552A (zh) * 2020-05-09 2020-07-17 云南电网有限责任公司电力科学研究院 一种巡检机器人双操作臂的协同控制方法
DE102019102803A1 (de) * 2019-02-05 2020-08-06 Franka Emika Gmbh Ausrichten zweier Roboterarme zueinander
DE102019129338B3 (de) * 2019-10-30 2021-02-18 Pilz Gmbh & Co. Kg Modellprädiktive Interaktionsregelung
DE102019128583A1 (de) * 2019-10-23 2021-04-29 Franka Emika Gmbh Optimierungsmodi für Steuerprogramme eines Robotermanipulators
CN112975951A (zh) * 2019-12-13 2021-06-18 医达科技公司 用于具有障碍物规避的机器人路径规划的快速方法
CN113478479A (zh) * 2021-06-17 2021-10-08 北京工业大学 一种基于工业机器人五次多项式轨迹规划中间点的加速度选取方法
JP2021175590A (ja) * 2020-04-03 2021-11-04 ファナック株式会社 ロボット最適化動作計画用の初期参照生成
DE102022208769B3 (de) 2022-08-24 2023-11-09 Kuka Deutschland Gmbh Roboterbahnplanung und -steuerung

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11235466B2 (en) * 2018-04-23 2022-02-01 University Of Southern California Setup planning and parameter selection for robotic finishing
JP6881525B2 (ja) * 2019-08-23 2021-06-02 株式会社安川電機 ロボットシステム、コントローラ及び制御方法
GB2588629B (en) * 2019-10-29 2024-01-03 Cmr Surgical Ltd Robotic joint control
US11504849B2 (en) 2019-11-22 2022-11-22 Edda Technology, Inc. Deterministic robot path planning method for obstacle avoidance
US11724387B2 (en) * 2020-04-03 2023-08-15 Fanuc Corporation Fast robot motion optimization with distance field
JP7436659B2 (ja) * 2020-05-25 2024-02-21 ファナック株式会社 ロボットシステム
US20220234614A1 (en) * 2021-01-28 2022-07-28 Motional Ad Llc Sampling-based maneuver realizer
CN112917477B (zh) * 2021-01-28 2024-06-11 武汉精锋微控科技有限公司 多自由度机器人静态环境运动规划方法
CN112775976B (zh) * 2021-02-05 2022-05-10 深圳市优必选科技股份有限公司 任务执行控制方法、装置、控制设备及可读存储介质
CN112549037B (zh) * 2021-02-24 2021-06-01 佛山隆深机器人有限公司 一种双臂机器人的无碰运动控制方法及计算机存储介质
CN113119114B (zh) * 2021-03-22 2022-10-21 深圳市优必选科技股份有限公司 一种机械臂运动规划方法、装置、可读存储介质及机械臂
CN113172631B (zh) * 2021-05-11 2023-01-24 西南交通大学 一种基于改进式rrt算法的机械臂自主避障方法
CN113787514B (zh) * 2021-06-25 2022-12-23 广东工业大学 机械臂动态避碰规划方法
CN117001675B (zh) * 2023-09-28 2024-05-31 江苏云幕智造科技有限公司 一种双臂协作操控非合作目标避障轨迹规划方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69030592T2 (de) 1989-01-05 1997-09-18 Atr Auditory Visual Perception Generierungsverfahren für Bewegungstrajektoren in einem dynamischen System
DE19625637A1 (de) 1996-06-26 1998-01-02 Brink Carsten Dipl Ing Ten Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen
DE202005007654U1 (de) 2005-05-14 2005-10-27 Kuka Roboter Gmbh System zur Steuerung von Robotern
DE102004021389A1 (de) 2004-04-30 2005-11-24 Daimlerchrysler Ag Verfahren und Vorrichtung zum Verbinden von mindestens zwei Werkstücken
DE102008029657A1 (de) 2008-06-24 2009-12-31 Technische Universität Carolo-Wilhelmina Zu Braunschweig Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen
DE102015103451A1 (de) 2015-03-10 2016-09-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen, Computerprogrammprodukt und Vorrichtung zur Durchführung eines derartigen Verfahrens

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02159672A (ja) * 1988-12-14 1990-06-19 Hitachi Ltd 非線形最適化方式および装置
JP4033050B2 (ja) * 2003-06-16 2008-01-16 トヨタ自動車株式会社 ロボットハンドの把持制御装置
JP5732066B2 (ja) * 2009-12-02 2015-06-10 シエル・インターナシヨネイル・リサーチ・マーチヤツピイ・ベー・ウイShell Internationale Research Maatschappij Beslotenvennootshap 先進的プロセス制御とプロセスの実時間最適化とを協調させるための方法、システム及び製造品
US9170580B2 (en) * 2012-10-19 2015-10-27 Mitsubishi Electric Rsearch Laboratories, Inc. Determining trajectories of redundant actuators jointly tracking reference trajectory
JP6039382B2 (ja) * 2012-11-27 2016-12-07 キヤノン株式会社 ロボットシステム及びロボットシステムの制御方法
US9120227B2 (en) * 2013-08-15 2015-09-01 Disney Enterprises, Inc. Human motion tracking control with strict contact force constraints for floating-base humanoid robots
US9744620B2 (en) * 2015-04-06 2017-08-29 Mitsubishi Electric Research Laboratories, Inc. Control of processing machines with redundant actuators
CN105302062B (zh) * 2015-10-15 2017-10-03 东南大学 一种基于任务解耦的多机器人协作焊接路径的生成方法
BR112018071792A2 (pt) * 2016-04-29 2019-02-19 Softbank Robotics Europe robô móvel com capacidades de movimento equilibrado e de comportamento melhoradas

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69030592T2 (de) 1989-01-05 1997-09-18 Atr Auditory Visual Perception Generierungsverfahren für Bewegungstrajektoren in einem dynamischen System
DE19625637A1 (de) 1996-06-26 1998-01-02 Brink Carsten Dipl Ing Ten Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen
DE102004021389A1 (de) 2004-04-30 2005-11-24 Daimlerchrysler Ag Verfahren und Vorrichtung zum Verbinden von mindestens zwei Werkstücken
DE202005007654U1 (de) 2005-05-14 2005-10-27 Kuka Roboter Gmbh System zur Steuerung von Robotern
DE102008029657A1 (de) 2008-06-24 2009-12-31 Technische Universität Carolo-Wilhelmina Zu Braunschweig Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen
DE102015103451A1 (de) 2015-03-10 2016-09-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen, Computerprogrammprodukt und Vorrichtung zur Durchführung eines derartigen Verfahrens

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019102803A1 (de) * 2019-02-05 2020-08-06 Franka Emika Gmbh Ausrichten zweier Roboterarme zueinander
CN113316502A (zh) * 2019-02-05 2021-08-27 富兰卡爱米卡股份有限公司 两个机器人臂的彼此对准
CN113316502B (zh) * 2019-02-05 2024-05-28 富兰卡爱米卡股份有限公司 两个机器人臂的彼此对准
DE102019102803B4 (de) 2019-02-05 2022-02-17 Franka Emika Gmbh Ausrichten zweier Roboterarme zueinander
DE102019128583B4 (de) 2019-10-23 2022-03-10 Franka Emika Gmbh Optimierungsmodi für Steuerprogramme eines Robotermanipulators
DE102019128583A1 (de) * 2019-10-23 2021-04-29 Franka Emika Gmbh Optimierungsmodi für Steuerprogramme eines Robotermanipulators
DE102019129338B3 (de) * 2019-10-30 2021-02-18 Pilz Gmbh & Co. Kg Modellprädiktive Interaktionsregelung
EP3816736A1 (de) 2019-10-30 2021-05-05 Pilz GmbH & Co. KG Modellprädiktive interaktionsregelung
CN112975951A (zh) * 2019-12-13 2021-06-18 医达科技公司 用于具有障碍物规避的机器人路径规划的快速方法
US11919170B2 (en) 2019-12-13 2024-03-05 Edda Technology, Inc. Fast method for robot path planning with obstacle avoidance
JP2021175590A (ja) * 2020-04-03 2021-11-04 ファナック株式会社 ロボット最適化動作計画用の初期参照生成
JP7635055B2 (ja) 2020-04-03 2025-02-25 ファナック株式会社 ロボット最適化動作計画用の初期参照生成
CN111421552A (zh) * 2020-05-09 2020-07-17 云南电网有限责任公司电力科学研究院 一种巡检机器人双操作臂的协同控制方法
CN113478479B (zh) * 2021-06-17 2023-08-01 北京工业大学 一种基于工业机器人五次多项式轨迹规划中间点的加速度选取方法
CN113478479A (zh) * 2021-06-17 2021-10-08 北京工业大学 一种基于工业机器人五次多项式轨迹规划中间点的加速度选取方法
DE102022208769B3 (de) 2022-08-24 2023-11-09 Kuka Deutschland Gmbh Roboterbahnplanung und -steuerung

Also Published As

Publication number Publication date
JP2021506031A (ja) 2021-02-18
CN111629867B (zh) 2023-10-03
WO2019115471A1 (de) 2019-06-20
US20200376663A1 (en) 2020-12-03
US11642785B2 (en) 2023-05-09
EP3723945A1 (de) 2020-10-21
CN111629867A (zh) 2020-09-04
JP7030988B2 (ja) 2022-03-07
EP3723945B1 (de) 2025-04-02
EP3723945C0 (de) 2025-04-02

Similar Documents

Publication Publication Date Title
DE102017129665B3 (de) Kollisionsfreie Bewegungsplanung bei geschlossener Kinematik
EP3623116B1 (de) Verfahren und vorrichtung zur kollisionsfreien bewegungsplanung eines manipulators
EP2563553B1 (de) Verfahren und steuermittel zum steuern eines roboters
DE102022122663A1 (de) Verfahren zur dynamischen geschwindigkeitsändrung für ein robotiksystem
DE102013113165A1 (de) Kalibrierungsverfahren für Robotersystem
DE102015217891A1 (de) Bestimmen einer Soll-Trajektorie für ein Fahrzeug
DE112016004725T5 (de) Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung
EP3511126A1 (de) Verfahren zur rechnergestützten planung eines durch einen roboter ausführbaren arbeitsablaufs
DE102008029657A1 (de) Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen
DE102013017425A1 (de) Verfahren für die Erkennung von Gesten eines menschlichen Körpers
DE102022204724B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102016000754A1 (de) Verfahren und System zur Bahnplanung eines redundanten Roboters
DE102018218081A1 (de) Vorrichtung und Verfahren zur Ansteuerung eines Robotersystems
DE102019208264A1 (de) Verfahren und Vorrichtung zum Ermitteln einer Regelungsstrategie für ein technisches System
DE19800552C2 (de) Verfahren zur Kommandosteuerung eines Manipulators
DE102020200165A1 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102020211648B4 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102019208263A1 (de) Verfahren und Vorrichtung zum Ermitteln einer Regelungsstrategie für ein technisches System
AT401746B (de) Steuerungsverfahren für roboter, unter verwendung von geometrischen zwangsbedingungen und zufalls-suchverfahren
EP3752327A1 (de) Koordinierungsanlage, handhabungseinrichtung und verfahren
EP3313627B1 (de) Abfahren einer vorgegebenen bahn mit einem roboter
DE102012022190A1 (de) Inverse Kinematik
DE102020206913B4 (de) Verfahren und Vorrichtung zum Betreiben eines Roboters
EP3741518B1 (de) Verfahren und vorrichtung für eine automatisierte beeinflussung eines aktuators

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final