Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR PLANNING A MOTION PATH OF A MANIPULATOR
Document Type and Number:
WIPO Patent Application WO/2018/001551
Kind Code:
A1
Abstract:
The invention relates to a method (100) for planning a motion path (30) of a manipulator (10), wherein the method (100) comprises a blending of at least two partial motion paths (40, 60, 80) and has at least the following steps: providing (110) at least first and second partial motion paths (40, 60); determining (120) a blending radius (b1, b2) for each of the partial motion paths (40, 60); producing (130) a blending path (50, 70), which connects the first and the second partial motion paths (40, 60) at the blending points (X1, X2) thereof to form the motion path (30); and calculating (140) a velocity profile for the motion path (30).

Inventors:
NASSAR MATHIEU (DE)
SPRUNK CHRISTOPH (DE)
Application Number:
PCT/EP2017/000730
Publication Date:
January 04, 2018
Filing Date:
June 23, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KUKA ROBOTER GMBH (DE)
International Classes:
G05B19/41; B25J9/16
Foreign References:
DE4213927A11993-11-04
EP0530401A11993-03-10
Other References:
ANDREAS DUBS ET AL: "Entwicklung einer industriellen Robotersteuerung mit Trajektorienplanung", 17 August 2011 (2011-08-17), pages 1 - 51, XP055413235, Retrieved from the Internet [retrieved on 20171006]
KLAUS WÜST: "Modul II 2004 im Studiengang BSc Ingenieur-Informatik Grundlagen der Robotik", 30 June 2014 (2014-06-30), pages 1 - 146, XP055413239, Retrieved from the Internet [retrieved on 20171006]
Attorney, Agent or Firm:
KUKA AG PATENTABTEILUNG CLD-IP (DE)
Download PDF:
Claims:
Ansprüche 1 bis 11

1. Verfahren (100) zum Planen einer Bewegungsbahn (30) eines Manipulators (10), wobei das Verfahren (100) ein Überschleifen von zumindest zwei

Teilbewegungsbahnen (40, 60, 80) umfasst und zumindest die folgenden Schritte aufweist:

- Bereitstellen (110) von zumindest einer ersten Teilbewegungsbahn (40) und einer zweiten Teilbewegungsbahn (60), wobei jede der Teilbewegungsbahnen (40, 60) einen Startpunkt (Si, S2) und einen Endpunkt (Ei, E2) umfasst;

Bestimmen (120) eines Überschleifradius (bi, b2) für jede der

Teilbewegungsbahnen (40, 60), wobei der Überschleifradius (bi) der ersten Teilbewegungsbahn (40) die Lage eines ersten Überschleifpunktes (Xi) auf der ersten Teilbewegungsbahn (40) bestimmt, und wobei der Überschleifradius (b2) der zweiten Teilbewegungsbahn (60) die Lage eines zweiten

Überschleifpunktes (X2) auf der zweiten Teilbewegungsbahn (60) bestimmt;

Erzeugen (130) einer Überschleifbahn (50, 70), welche die erste und die zweite Teilbewegungsbahn (40, 60) an ihren Überschleifpunkten (Xi, X2) zu der Bewegungsbahn (30) verbindet, wobei die Bewegungsbahn (30) den Startpunkt (Si) der ersten Teilbewegungsbahn (40) und vorzugsweise den Endpunkt (E2) der zweiten Teilbewegungsbahn (60) umfasst, und wobei die Überschleifbahn derart erzeugt wird, dass die erste und die zweite geometrische Ableitung der Bewegungsbahn (30) an den Überschleifpunkten (Xi, X2) kontinuierlich ist; und

Berechnen (140) eines Geschwindigkeitsprofils für die Bewegungsbahn (30).

2. Verfahren (100) nach Anspruch 1, wobei die Überschleifradien (bi, b2) als Bahnfortschrittsvariable definiert sind, und wobei

der erste Überschleifradius (bi) die Länge eines ersten Abschnitts (44) der ersten Teilbewegungsbahn (40) bestimmt, der sich vom Endpunkt (Ei) der ersten Teilbewegungsbahn (40) zum Überschleifpunkt (Xi) der ersten Teilbewegungsbahn (40) erstreckt, und wobei der zweite Überschleifradius (b2) die Länge eines ersten Abschnitts (64) der zweiten Teilbewegungsbahn (60) bestimmt, der sich vom Startpunkt (S2) der zweiten Teilbewegungsbahn (60) zum Überschleifpunkt (X2) der zweiten Teilbewegungsbahn (60) erstreckt. 3. Verfahren nach Anspruch 2, wobei die vom Überschleifradius (bi, b2) bestimmte Länge des ersten Abschnitts (44, 64) der entsprechenden

Teilbewegungsbahn (44, 64) kleiner ist als eine definiert Grenzlänge, wobei die Grenzlänge bevorzugt nicht länger ist als 50 % der Länge der entsprechenden

Teübewegungsbahn (44, 64), und wobei die Grenzlänge vorzugsweise nicht länger ist als 50 % der Länge der kürzesten Teilbewegungsbahn (44, 64) ist.

4. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei die

Überschleifbahn (50; 70) eine Bezierkurve umfasst und insbesondere eine Bezierkurve ist.

5. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei das Berechnen (140) eines Geschwindigkeitsprofils für die erzeugte Bewegungsbahn (30), ausgeführt wird, um eine minimale Taktzeit zu erzielen, vorzugsweise unter Beachtung eines oberen Geschwindigkeitsgrenzwertes und/ oder eines oberen

Beschleunigungsgrenzwertes.

6. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei das Verfahren (100) ein Überschleifen von zumindest drei, bevorzugt von zumindest fünf, und am meisten bevorzugt von zumindest sieben Teilbewegungsbahnen (40, 60, 80) umfasst.

7. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei der Überschleifradius (bi) der ersten Teilbewegungsbahn (40) gleich dem

Überschleifradius (b2) der zweiten Teilbewegungsbahn (60) ist.

8. Verfahren (100) nach einem der vorhergehenden Ansprüche, wobei das Verfahren (100) weiterhin den folgenden Verfahrensschritt umfasst:

- Ansteuern (150) eines Manipulators (10), um die erzeugte Bewegungsbahn (30) mit dem berechneten Geschwindigkeitsprofil abzufahren. 9. Steuereinrichtung (20), welche zumindest einen Programmspeicher und einen Prozessor umfasst, und welche dazu eingerichtet ist zumindest einen Manipulator (10) gemäß dem Verfahren (100) des Anspruchs 8 zu steuern.

10. Computerlesbares Medium, auf welchem Programmbefehle gespeichert sind, die eine Steuereinrichtung (20) eines Manipulatorsystems (1) dazu veranlassen, einen Manipulator (10) gemäß dem Verfahren (100) des Anspruchs 8 zu steuern.

11. Manipulatorsystem (1), welches zumindest einen Manipulator (10) und eine Steuereinrichtung (20) nach Anspruch 9 umfasst, wobei der Manipulator (10) vorzugsweise ein mobiler Manipulator ist.

Description:
VERFAHREN ZUR PLANUNG EINER BEWEGUNGSBAHN EINES

MANIPULATORS Gebiet der Erfindung

Die Erfindung betrifft ein Verfahren zur Planung einer Bewegungsbahn eines

Manipulators, wobei der Manipulator entsprechend der geplanten Bewegungsbahn gesteuert werden kann. Weiterhin betrifft die Erfindung ein computerlesbares Medium, eine Steuereinrichtung und ein Manipulatorsystem, wobei die Steuereinrichtung und das Manipulatorsystem dazu eingerichtet sind einen Manipulator gemäß der geplanten Bewegungsbahn zu steuern.

Hintergrund der Erfindung

Manipulatoren sind Maschinen, welche mit ihrer Umgebung physikalisch interagieren können. Beispielsweise können Manipulatoren Gelenkarmroboter, wie beispielsweise Industrieroboter sein. Ebenso können Manipulatoren mobile Plattformen umfassen, wie beispielsweise (autonom) gelenkte Fahrzeuge. Manipulatoren kommen

typischerweise in der industriellen Fertigung zum Einsatz. Zunehmend werden sie auch im Consumer-Bereich eingesetzt. Beispielsweise sind Manipulatoren aus dem Bereich der automatisierten Rasenmäher und Staubsauger bekannt. Industrieroboter, die typischerweise in der industriellen Fertigung eingesetzt werden, sind freiprogrammierbare Handhabungsmaschinen, die ortsfest oder mobil eingesetzt werden und über mehrere freiprogrammierbare Bewegungsachsen verfugen.

Industrieroboter sind dazu eingerichtet einen Endeffektor, wie beispielsweise ein Werkzeug oder Werkstück, zu führen. Dem Endeffektor ist dabei typischerweise ein Tool-Center-Point (TCP) zugeordnet, mittels welchem die Position und Orientierung des Endeffektors im Raum beschrieben werden kann.

Um einen Manipulator bestimmungsgemäß einsetzen zu können, werden ihm

typischerweise abzufahrende Bewegungsbahnen vorgegeben. Im Falle von mobilen Manipulatoren, die beispielsweise ein Fahrgerät umfassen, kann die abzufahrende Bewegungsbahn eine Bewegungsbahn sein, welche das Fahrgerät abfahren soll, ohne von der vorgegebenen Bahn abzuweichen. Die Bewegungsbahn kann über Bahnpunkte definiert sein. Ein erster Bahnpunkt (Startpunkt) kann beispielsweise eine Position einer ersten Arbeitsstation in einer Montagehalle beschreiben. Ein zweiter Bahnpunkt

BESTÄTIGUNGSKOPIE (Endpunkt) kann beispielsweise eine Position einer zweiten Arbeitsstation in einer Montagehalle beschreiben. Weiterhin können Zwischenpunkte bestimmt sein, die das Aussehen der Bewegungsbahn bestimmen und von dem Manipulator abgefahren werden müssen. Bei Industrierobotern wird die Bewegungsbahn typischerweise mit dem Tool-Center- Point des Industrieroboters abgefahren.

Die Verbindung der einzelnen Bahnpunkte kann mittels Funktionen beschrieben werden. Typische Funktionen sind unteranderem die Geradeausfahrt (direkte

Verbindung der Bahnpunkte) und die Kreisfahrt. Die Bahnpunkte und die

entsprechenden Funktionen zum Verbinden der Bahnpunkte können mittels bekannter Programmiersprachen implementiert werden. Ebenso kann eine Bewegungsbahn manuell geteached werden, d.h. der Manipulator wird manuell verfahren und die dabei zurückgelegte Bewegungsbahn wird aufgezeichnet (Teach- Verfahren). Diese Verfahren können auch in Kombination angewandt werden. Insbesondere kann eine

Bewegungsbahn aus mehreren Teilbewegungsbahnen zusammengesetzt sein, um eine gesamte Bewegungsbahn zu erhalten.

Um eine optimierte (gesamte) Bewegungsbahn zu erzeugen, wird das Überschleifen von Teilbewegungsbahnen genutzt. Beim Überschleifen muss die vorgegebene

Bewegungsbahn nicht bahntreu angefahren werden. Die tatsächliche Position des TCP darf folglich von der vorgegebenen Position des TCP abweichen. Typischerweise wird hierzu ein Überschleifpunkt bestimmt. Der Überschleifpunkt bestimmt, ab wann (örtlich) der Manipulator die vorgegebene Bewegungsbahn verlassen darf, um einer optimierten Bewegungsbahn zu folgen. Entsprechend kann der Überschleifpunkt auch bestimmen, ab wann der Manipulator der vorgegebenen Bewegungsbahn erneut bahntreu folgen muss. Durch das Überschleifen kann der Verschleiß der Kinematik reduziert werden. Ebenso kann die Taktzeit zum Abfahren der Bewegungsbahn verringert werden.

Soll ein Manipulator beispielsweise nacheinander drei verschiedene Punkte anfahren (Startpunkt Pi, Zwischenpunkt P2, Endpunkt P3) ergibt sich eine gesamt

Bewegungsbahn von Pi nach P3, die sich aus zwei Teilbewegungsbahnen von Pi nach P2 und von P2 nach P3 zusammensetzt. Typischerweise sind den

Teilbewegungsbahnen spezifische Geschwindigkeitsprofile zugeordnet, mit denen der Manipulator die entsprechende Teilbewegungsbahn abfährt. Beispielsweise

beschleunigt der Manipulator ab Punkt Pi, erreicht eine Maximalgeschwindigkeit und bremst anschließend ab, um P2 zu erreichen (erstes Geschwindigkeitsprofil). Nach dem Durchfahren von Punkt P2 würde der Manipulator auf der zweiten Teilbewegungsbahn erneut beschleunigen und erneut abbremsen um P3 zu erreichen (zweites

Geschwindigkeitsprofil) .

Beim Überschleifen kann nun angegeben werden, dass Punkt P2 nicht exakt erreicht werden muss. Der Manipulator kann folglich die Teilbewegungsbahnen verlassen und einer optimierten Bewegungsbahn folgen. Dabei ist insbesondere nicht notwendig dass zum Erreichen des Punktes P2 abgebremst wird. Dadurch können optimierte

Taktzeiten erzielt werden.

Bekannte Überschleifverfahren berechnen eine optimierte Überschleifbahn basierend auf den Geometrien der Teilbewegungsbahnen und der entsprechenden

Geschwindigkeitsprofile. Ist beispielsweise eine sehr hohe Geschwindigkeit auf der ersten Teilbewegungsbahn vorgesehen, so kann der Manipulator die erste

Teilbewegungsbahn ab dem Überschleifpunkt verlassen und über Punkt P2

überschwingen, um der zweiten Teilbewegungsbahn spätestens ab dem

entsprechenden Überschleifpunkt wieder zu folgen. Ist hingegen eine langsamere

Geschwindigkeit vorgesehen, so kann die berechnete Überschleifbahn einen kleineren Radius aufweisen und die Bahn so entsprechend verkürzt werden. Diese

geschwindigkeitsabhängige Berechnung der Überschleifbahn führt jedoch oftmals nicht zu geometrisch optimierten Bahnen und somit nicht zu minimalen Taktzeiten. Die Aufgabe der vorliegenden Erfindung ist es die zuvor benannten Nachteile zumindest teilweise auszuräumen.

Ausführliche Beschreibung der Erfindung

Die Aufgabe wird durch ein Verfahren nach Anspruch 1, eine Steuereinrichtung nach Anspruch 9, ein computerlesbares Medium nach Anspruch 10 und/ oder ein

Manipulatorsystem nach Anspruch 11 gelöst.

Insbesondere wird die Aufgabe gelöst durch ein Verfahren zum Planen einer

Bewegungsbahn eines Manipulators, wobei das Verfahren ein Überschleifen von zumindest zwei Teilbewegungsbahnen umfasst und zumindest die folgenden Schritte aufweist: - Bereitstellen von zumindest einer ersten Teilbewegungsbahn und einer zweiten

Teilbewegungsbahn wobei jede der Teilbewegungsbahnen einen Startpunkt und einen Endpunkt umfasst; Bestimmen eines Überschleifradius für jede der Teilbewegungsbahnen, wobei der Überschleifradius der ersten Teilbewegungsbahn die Lage eines ersten Überschleifpunktes auf der ersten Teilbewegungsbahn bestimmt und wobei der Überschleifradius der zweiten Teilbewegungsbahn die Lage eines zweiten Überschleifpunktes auf der zweiten Teilbewegungsbahn bestimmt;

Erzeugen einer Überschleifbahn, welche die erste und zweite

Teilbewegungsbahn an ihren Überschleifpunkten zu der Bewegungsbahn verbindet, wobei die Bewegungsbahn den Startpunkt der ersten

Teilbewegungsbahn und vorzugsweise den Endpunkt der zweiten

Teilbewegungsbahn umfasst und wobei die Überschleifbahn derart erzeugt wird, dass die erste und zweite geometrische Ableitung der Bewegungsbahn an den Überschleifpunkten kontinuierlich ist; und

Berechnen eines Geschwindigkeitsprofils für die Bewegungsbahn.

Das Planen einer Bewegungsbahn eines Manipulators geht typischerweise dem Steuern des Manipulators gemäß der Bewegungsbahn voraus. Die Planung der Bewegungsbahn kann sowohl online, d. h. mittels einer Steuereinrichtung, die zum Steuern des

Manipulators eingerichtet ist, vorzugsweise unmittelbar vor der Steuerung des

Manipulators erfolgen, als auch offline erfolgen. Bei der Offline-Planung wird die Bewegungsbahn vorab basierend auf z. B. virtuellen Modellen erzeugt und danach in eine Steuereinrichtung geladen.

Entsprechend können offline und/oder online erstellte Teilbewegungsbahnen verfahrensgemäß bereitgestellt werden. Die Teilbewegungsbahnen sind typischerweise bestimmte Bahnen, die von einem Bediener oder Programmierer vorgegeben sind. Sie können in einer Programmiersprache definiert sein und/oder durch sogenannte Teach- Verfahren aufgenommen worden sein. Insbesondere können die erste und zweite Teilbewegungsbahn an ihren End- und/ oder Startpunkten verbunden sein um eine zusammenhängende Bewegungsbahn zu bilden, oder sie können als unabhängige Teilbewegungsbahnen definiert sein. In diesem Fall sind End- und Startpunkte der Teilbewegungsbahnen nicht kongruent.

Der Überschleifradius kann in unterschiedlicher Weise mathematisch definiert sein. Oftmals wird er auch als Überschleifdistanz bezeichnet und gibt den Punkt auf der Teilbewegungsbahn vor, bei dem das Überschleifen frühestens beginnt, bzw. spätestens endet (Überschleifpunkt). Der Überschleifpunkt der ersten Teilbewegungsbahn gibt an bis zu welchem Punkt der Bahn der Manipulator der vorgegebenen ersten

Teilbewegungsbahn bahntreu folgen muss. Entsprechend gilt für die zweite

Teilbewegungsbahn, dass der Überschleifpunkt angibt, ab welchem Punkt der zweiten Teilbewegungsbahn der Manipulator der zweiten Teilbewegungsbahn wieder bahntreu folgen muss.

Der Überschleifradius kann beispielsweise mathematisch so definiert sein, dass er eine Kugel beschreibt, deren Radius gleich dem Überschleifradius ist und deren Mittelpunkt am Endpunkt der ersten Teilbewegungsbahn bzw. am Startpunkt der zweiten

Teilbewegungsbahn festgelegt ist. Der entsprechende Überschleifpunkt berechnet sich nach dieser Definition aus einem Schnittpunkt der Kugelfläche und der

Teilbewegungsbahn. Ebenso kann der Überschleifradius mathematisch als

Bahnfortschrittsvariable definiert sein, wie später erläutert wird.

Das Erzeugen der Überschleifbahn erfolgt derart, dass die erste und zweite

geometrische Ableitung der Bewegungsbahn an den Überschleifpunkten kontinuierlich ist. Hierzu werden vorzugsweise die korrespondierenden Werte der beiden

ursprünglichen Teilbewegungsbahnen berücksichtig und mit den ersten und zweiten Ableitungen der beiden Teilbewegungsbahnen wird an den Überschleifpunkten somit eine Überschleifbahn (Verbindungsbahn) erstellt. Folglich ist die sich ergebende Bewegungsbahn, die sich aus einem ersten Abschnitt der ersten Teilbewegungsbahn, der Überschleifbahn und einem zweiten Abschnitt der zweiten Teilbewegungsbahn zusammensetzt, zweifach stetig differenzierbar. Danach wird für die sich ergebende Bewegungsbahn ein neues Geschwindigkeitsprofil berechnet. Vorhergehende

Geschwindigkeitsprofile der ersten und/oder zweiten Teilbahn werden nicht weiter zur Steuerung des Manipulators herangezogen. Dies ermöglicht die Optimierung der Taktzeit.

Da die Überschleifbahn basierend auf geometrischen Parametern, wie der ersten und zweiten Ableitung, bestimmt wird, kann eine optimale geometrische Bahn bestimmt werden. Durch das nachgeschaltete Berechnen eines Geschwindigkeitsprofils für die gesamte Bewegungsbahn kann für die bereits optimierte geometrische Bahn ein optimiertes Geschwindigkeitsprofil erzeugt werden. Insbesondere wenn für das

Bewegen des Manipulators Geschwindigkeitsgrenzen oder Beschleunigungsgrenzen einzuhalten sind, können höhere Taktzeiten erzielt werden, da die Neuberechnung des Geschwindigkeitsprofils die Geometrie der Bewegungsbahn berücksichtigt, nicht jedoch zuvor geltende Geschwindigkeitsprofile der jeweiligen Teilbahnen. Ist beispielsweise die erste Teilbewegungsbahn in einem Endbereich stark gekrümmt und daher das vorgegebene Geschwindigkeitsprofil der ersten Teilbewegungsbahn so gestaltet, dass der Manipulator vor dem Erreichen dieses stark gekrümmten

Endbereichs abgebremst werden müsste um diesen bahntreu abzufahren, so würde mit herkömmlichen Überschleif- Verfahren der Manipulator auf dem ersten Teilstück unnötig abgebremst, obwohl der Endbereich aufgrund des gewählten Überschleifradius nicht mehr bahntreu abgefahren werden müsste. Da herkömmliche Überschleif - Verfahren das Geschwindigkeitsprofil nur für die Überschleifbahn neu berechnen, kann mittels der herkömmlichen Überschleif -Verfahren die optimale Taktzeit nicht erzielt werden. Durch das Überschleifen des stark gekrümmten Endbereichs und durch die Neuberechnung des Geschwindigkeitsprofils der gesamten Bewegungsbahn, können gemäß dem oben beschriebenen Verfahren daher höhere Taktzeiten erzielt werden.

Insbesondere können die Überschleifradien mathematisch als Bahnfortschrittsvariable definiert sein, wobei der erste Überschleifradius die Länge eines ersten Abschnitts der ersten Teilbewegungsbahn bestimmt, der sich vom Endpunkt der ersten

Teilbewegungsbahn zum Überschleifpunkt der ersten Teilbewegungsbahn erstreckt. Der zweite Überschleifradius bestimmt die Länge eines ersten Abschnitts der zweiten Teilbewegungsbahn, der sich vom Startpunkt der zweiten Teilbewegungsbahn zum Überschleifpunkt der zweiten Teilbewegungsbahn erstreckt.

Insbesondere ermöglicht die Definition des Überschleifradius als

Bahnfortschrittsvariable eine vereinfachte Berechnung der Lage der Überschleifpunkte auf den Bahnen. So sind zwei- oder mehrdeutige Bestimmungen von

Überschleifpunkten ausgeschlossen, da die Bahnfortschrittsvariable eine eindeutige Variable ist. Sie gibt die Lage eines zu bestimmenden Punktes mittels der Länge eines Abschnitts der (Teil-) Bewegungsbahn von einem definierten Punkt (typischerweise Start- oder Endpunkt) der (Teil-)Bewegungsbahn zu dem zu bestimmenden Punkt an, wobei die Länge entlang der (Teil-) Bewegungsbahn gemessen wird.

Mittels der Kugeldefinition des Überschleifradius kann der Überschleifpunkt gegebenenfalls nicht eindeutig bestimmt (berechnet) werden, da die

Teilbewegungsbahn die Kugelfläche mehrfach schneiden kann. Die mathematische Definition des Überschleifradius als Bahnfortschrittsvariable ermöglicht auch bei komplexen, stark gekrümmten Bewegungsbahnen eine eindeutige Bestimmung der Überschleifpunkte/ des Überschleifpunktes. Insbesondere kann die vom Überschleifradius bestimmte Länge des ersten Abschnitts der entsprechenden Teilbewegungsbahn kleiner sein als eine definierte Grenzlänge, wobei die Grenzlänge bevorzugt nicht länger ist als 50% der Länge der entsprechenden Teilbewegungsbahn und wobei die Grenzlänge vorzugsweise nicht länger ist als 50% der Länge der kürzesten Teilbewegungsbahn.

Durch die Definition einer Grenzlänge kann sichergestellt werden, dass ein definierter Teil der Bewegungsbahn bahntreu abgefahren wird. Beispielsweise kann eine erste Bewegungsbahn einer ersten Aufgabe des Manipulators zugeordnet sein. Die erste Aufgabe kann beispielsweise das Greifen eines Bauteils umfassen. Dies muss bahntreu erfolgen, um das Bauteil korrekt zu greifen. Ist das Bauteil gegriffen kann in einer beliebigen Bewegung zu einer Ablageposition verfahren werden, an der das Bauteil abgelegt werden soll. Auch hier ist ein bahntreues Fahren des Manipulators

erforderlich. Nach dem Greifen des Bauteils und vor dem Beginn des Ablegens kann die vordefinierte Bewegungsbahn jedoch überschliffen werden.

Insbesondere kann für jede Teilbewegungsbahn eine unterschiedliche Grenzlänge definiert werden. Ist die Grenzlänge so festgelegt dass sie nicht länger ist als 50% der Länge der entsprechenden Teilbewegungsbahn, so ist sichergestellt, dass bei einem mehrfachen Überschleifen zumindest ein Punkt der Teilbewegungsbahn bahntreu abgefahren wird. Wird beispielsweise das Verfahren mit einer ersten und zweiten Teilbewegungsbahn wie vorangehend beschrieben ausgeführt (Schritt:

Überschleifen 1), so ist die zweite Teilbewegungsbahn entsprechend der definierten Grenzlänge zumindest noch zur Hälfe, d.h. zu 50 %, in der resultierenden

Bewegungsbahn enthalten. Wird diese resultierende Bewegungsbahn nun mit einer dritten Teilbewegungsbahn überschliffen (Schritt: Überschleifen 2) und bildet die resultierenden Bewegungsbahn aus dem Schritt„Überschleifen 1" die erste

Teilbewegungsbahn des Schritts„Überschleifen 2", so ist sichergestellt dass die vormals zweite Teilbewegungsbahn aus Schritt„Überschleifen 1" nicht vollständig überschliffen wird. Zumindest der Mittelpunkt der zweiten Teilbewegungsbahn aus Schritt „Überschleifen 1" bleibt in der gesamt Bewegungsbahn aus Schritt„Überschleifen 2" erhalten. Der Manipulator fährt folglich zumindest den Mittelpunkt der zweiten Teilbewegungsbahn aus Schritt„Überschleifen 1" exakt an.

Insbesondere kann die Überschleifbahn eine Bezierkurve umfassen oder eine

Bezierkurve sein. Bezierkurven sind parametrisch modellierte Kurven und einfach zu berechnen. Andere Verfahren zur Bestimmung der Überschleifbahn sind ebenso zulässig, solange sichergestellt ist, dass die erste und zweite geometrische Ableitung der Überschleifbahn an den Überschleifpunkten kontinuierlich ist.

Weiterhin kann das Berechnen eines Geschwindigkeitsprofils für die erzeugte

Bewegungsbahn ausgeführt werden, um eine minimale Taktzeit zu erzielen, wobei vorzugsweise ein oberer Geschwindigkeitsgrenzwert und/oder ein oberer

Beschleunigungsgrenzwert beachtet werden. Die Erzielung einer minimalen Taktzeit ist insbesondere in industriellen Anwendungen erforderlich, da die Taktzeit die

Produktivität einer Produktionsanlage maßgeblich bestimmt. Es kann jedoch notwendig sein Geschwindigkeitsgrenzwerte und/oder Beschleunigungsgrenzwerte festzulegen, um die Kinematik des Manipulators zu schonen oder um

Sicherheitsvorgaben einzuhalten. Insbesondere im Feld der Mensch-Manipulator- Kollaboration (MRK), bei welcher Manipulatoren in unmittelbarer Näher zu Menschen eingesetzt werden, ohne die Manipulatoren durch Schutzzäune oder ähnliche

Vorrichtungen vom Menschen zu trennen, müssen entsprechende

Geschwindigkeitsgrenzwerte und/oder Beschleunigungsgrenzwerte zwingend eingehalten werden, um eine übermäßige Gefährdung des Menschen ausschließen zu können. Weiterhin ist es im Feld der mobilen Manipulatoren, d. h. Fahrgeräte die beispielsweise mit einem Gelenkarm- oder Industrieroboter versehen sind, oftmals notwendig Geschwindigkeitsgrenzwerte und/oder Beschleunigungsgrenzwerte einzuhalten, um eine hohe Sicherheit gewährleisten zu können.

Insbesondere kann das Verfahren ein Überschleifen von zumindest drei, bevorzugt zumindest fünf und am meisten bevorzugt von zumindest sieben Teilbewegungsbahnen umfassen. Hierzu wird beispielsweise zunächst eine erste Teilbewegungsbahn mit einer zweiten Teilbewegungsbahn, wie vorangehend beschrieben, überschliffen (Schritt: Überschleifen 1). Diese überschliffene Bewegungsbahn aus Schritt„Überschleifen 1" bildet dann eine erste Teilbewegungsbahn für einen zweiten Überschleifvorgang (Schritt: Überschleifen 2) mit einer dritten Teilbewegungsbahn. Sollen mehrere Teilbewegungsbahnen überschliffen werden, kann das beschriebene Vorgehen sequentiell beliebig fortgesetzt werden, bis alle Teilbewegungsbahnen überschliffen und zu einer Bewegungsbahn verbunden sind. Somit kann erreicht werden, dass beliebig viele Teilbewegungsbahnen überschliffen werden.

Ebenso ist es auch möglich zunächst eine geometrische Bewegungsbahn zu erzeugen, in dem für alle zu überschleifenden Teilbewegungsbahnen jeweils Überschleifbahnen erzeugt werden, die die entsprechenden Überschleifpunkte in vorhergenannter Weise verbinden. Anschließend kann ein Geschwindigkeitsprofil für die gesamte zuvor bestimmte Bewegungsbahn berechnet werden. Hierdurch kann Rechenzeit eingespart werden, wodurch das Verfahren effizienter und schneller wird.

Weiterhin kann der Überschleifradius der ersten Teilbewegungsbahn gleich dem Überschleifradius der zweiten Teilbewegungsbahn sein. Hierdurch wird der

Rechenaufwand minimiert, da nur eine Variable, d. h. ein Überschleifradius berechnet werden muss. Dies ist insbesondere vorteilhaft, wenn der Endpunkt der ersten

Teilbewegungsbahn dem Startpunkt der zweiten Teilbewegungsbahn entspricht.

Weiterhin kann das Verfahren den Verfahrensschritt umfassen, wonach ein

Manipulator angesteuert wird um die erzeugte Bewegungsbahn mit dem berechneten Geschwindigkeitsprofil abzufahren. Hierdurch kann der Manipulator mit optimalen Taktzeiten bewegt werden.

Die Aufgabe wird weiterhin gelöst durch eine Steuereinrichtung, welche zumindest einen Programmspeicher und einen Prozessor umfasst, und welche dazu eingerichtet ist zumindest einen Manipulator wie vorangehend beschrieben zu steuern. Die

Steuereinrichtung kann dabei sowohl Hardware- als auch Softwarekomponenten umfassen. Insbesondere kann die Steuereinrichtung dazu eingerichtet sein mehrere Manipulatoren zu steuern.

Weiterhin wird die Aufgabe gelöst durch ein computerlesbares Medium, auf welchem Programmbefehle gespeichert sind, die eine Steuereinrichtung, wie vorangehend beschrieben, dazu veranlassen einen Manipulator gemäß dem vorangehend

beschriebenen Verfahren zu steuern.

Überdies wird die Aufgabe zumindest teilweise gelöst durch ein Manipulatorsystem, welches zumindest einen Manipulator und eine Steuereinrichtung wie vorhergehend beschrieben umfasst, wobei der Manipulator vorzugsweise ein mobiler Manipulator ist. Mobile Manipulatoren sind nicht ortsfest angeordnet und können sich im Raum bewegen. Sie umfassen typischerweise eine mobile Plattform (Fahrgerät) und einen daran angeordneten Manipulator, wie beispielsweise einen Gelenkarm- oder

Industrieroboter. Ausführliche Beschreibung der Figuren

Im Folgenden wird die Erfindung unter Bezugnahme auf die angefügten Figuren näher beschreiben, dabei zeigt: Fig. l ein schematisches Ablaufdiagramm eines erfindungsgemäßen Verfahrens;

Fig. 2 eine schematische Darstellung einer Bewegungsbahn, umfassend zwei

Teilbewegungsbahnen ;

Fig. 3 eine schematische Darstellung eines mobilen Manipulators, und

Fig. 4 eine schematische Darstellung einer Bewegungsbahn, umfassend drei

Teilbewegungsbahnen.

Insbesondere zeigt Fig. l ein schematisches Ablauf diagramm eines Verfahrens 100 das die Verfahrensschritte lio bis 150 umfasst. In einem ersten Verfahrensschritt 110 werden zumindest zwei Teilbewegungsbahnen, d. h. eine erste Teilbewegungsbahn und eine zweite Teilbewegungsbahn bereitgestellt. In einem zweiten Verfahrensschritt 120 wird ein Überschleifradius bi, b2 für jede der Teilbewegungsbahnen bestimmt, wobei der Überschleifradius bi der ersten Teilbewegungsbahn die Lage eines ersten

Überschleifpunktes auf der ersten Teilbewegungsbahn bestimmt und wobei der Überschleifradius b2 der zweiten Teilbewegungsbahn die Lage eines zweiten

Überschleifpunktes auf der zweiten Teilbewegungsbahn bestimmt. Die

Überschleif radien können für jede der Teilbewegungsbahnen identisch oder unterschiedlich sein und ebenso unterschiedlich definiert sein. Beispielsweise kann der Überschleifradius eine Kugel definieren oder mittels einer Bahnfortschrittvariablen definiert sein.

In einem dritten Verfahrensschritt 130 wird eine Überschleifbahn erzeugt, wobei die Überschleifbahn die erste und zweite Teilbewegungsbahn an ihren Überschleifpunkten zu der Bewegungsbahn verbindet. Die Überschleifbahn ist dabei derart erzeugt, dass die erste und zweite geometrische Ableitung der Bewegungsbahn an den

Überschleifpunkten kontinuierlich ist. In einem vierten Schritt 140 wird das

Geschwindigkeitsprofil der Bewegungsbahn berechnet. In einem fünften, optionalen Verfahrensschritt 150 wird schließlich ein Manipulator entsprechend der erzeugten Bewegungsbahn und entsprechenden dem berechneten Geschwindigkeitsprofil gesteuert.

Fig. 2 zeigt eine schematische Darstellung einer Bewegungsbahn 30, die eine

Überschleifbahn 50 umfasst. Die Überschleifbahn 50 ist die Überschleifbahn einer ersten Teilbewegungsbahn 40 und einer zweiten Teilbewegungsbahn 60, wobei die erste und die zweite Teilbewegungsbahn 40, 60 unabhängig sind; d. h. deren End- und Startpunkte sind nicht denkungsgleich.

Die erste Teilbewegungsbahn 40 umfasst den Startpunkt Si und den Endpunkt El. Die zweite Teilbewegungsbahn 60 umfasst den Startpunkt S2 und den Endpunkt E2. Für jede der Teilbewegungsbahnen 40, 60 ist ein Überschleifradius bi, b2 bestimmt. Der Überschleifradius bi, b2 kann als Bahnfortschrittsvariable definiert sein, wie durch die parallel zu der Teilbewegungsbahn verlaufenden Pfeile angedeutet ist. Ebenso kann der Überschleifradius eine Kugel definieren (s. gestrichelte Kreise), deren Mittelpunkt der Endpunkt Ei bzw. der Startpunkt S2 ist. Insbesondere bestimmt der Überschleifradius die Lage eines Überschleifpunktes Xi, X2 auf der entsprechenden Teilbewegungsbahn 40, 60.

Im Falle der Definition per Bahnfortschrittsvariable bestimmt der erste

Überschleifradius bi die Länge eines ersten Abschnitts 44 der ersten

Teilbewegungsbahn 40, der sich vom Endpunkt El der ersten Teilbewegungsbahn 40 zum Überschleifpunkt Xi der ersten Teilbewegungsbahn 40 erstreckt. Der zweite Überschleifradius b2 bestimmt die Länge eines ersten Abschnitts 64 der zweiten Teilbewegungsbahn 60, der sich vom Startpunkt S2 der zweiten Teilbewegungsbahn 60 zum Überschleifpunkt X2 der zweiten Teilbewegungsbahn 60 erstreckt. Damit ist die Position der Uberschleifpunkte auf den entsprechenden Bahnen mathematisch festgelegt.

Die Uberschleifpunkte Xi, X2 geben an, welcher Teil der entsprechenden

Teilbewegungsbahn 40, 60 bahntreu abgefahren werden muss. Dabei muss bei der ersten Teilbewegungsbahn 40 der Abschnitt 42 bahntreu abgefahren werden, der sich zwischen dem Startpunkt Si und dem Überschleifpunkt Xi erstreckt. Abschnitt 44 hingegen muss vom Manipulator nicht bahntreu abgefahren werden, d. h. er darf überschliffen werden. Entsprechend ergibt sich für die zweite Teilbewegungsbahn 60, dass der Abschnitt 64, der sich vom Startpunkt S2 bis zum Überschleifpunkt X2 erstreckt, nicht bahntreu abgefahren werden muss, wohingegen der Abschnitt 62 der sich vom Überschleifpunkt bis zum Endpunkt E2 erstreckt bahntreu abgefahren werden muss. Die Überschleifbahn 50 ist so erzeugt, dass sie die Uberschleifpunkte Xi, X2 verbindet, wobei die Bewegungsbahn 30 und insbesondere deren erste und zweite geometrische Ableitung kontinuierlich fortgesetzt werden.

Fig. 3 zeigt einen mobilen Manipulator 10, welcher einen Manipulatorarm 12 und eine mobile Plattform 14 umfasst. Der mobile Manipulator 10 wird mittels einer Steuereinrichtung 20 gesteuert, welche dazu eingerichtet ist, das vorangehend beschriebene Verfahren auszuführen. Weiterhin ist schematisch dargestellt, dass der mobile Manipulator die unter Bezugnahme auf Fig. 2 beschriebene Bewegungsbahn 30 mittels seines Tool-Center-Points abfährt. In der gezeigten Darstellung befindet sich der Tool-Center-Point am Startpunkt Si der ersten Teilbewegungsbahn 40. Der Tool- Center-Point definiert dabei Position und Orientierung des Endeffektors 16 des Manipulatorarms 12.

Fig. 4 zeigt eine schematische Darstellung einer Bewegungsbahn 30'. Die

Bewegungsbahn 30' umfasst drei Teilbewegungsbahnen 40, 60, 80, welche

überschliffen werden sollen. Dabei erstreckt sich die zuvor unter Bezugnahme auf

Fig. 2 beschriebene Bewegungsbahn 30 mit den entsprechenden Bezugszeichen vom Startpunkt Si bis zum Endpunkt E2. Diese Bewegungsbahn 30 soll mit der

Teilbewegungsbahn 80 überschliffen werden, die sich vom Startpunkt S3 bis zum Endpunkt E3 erstreckt. Entsprechend dem vorhergehend beschriebenen Verfahren wird für die zweite

Teilbewegungsbahn 60 der Bewegungsbahn 30 ein zweiter Übersehleifradius b2' definiert, der die Lage des zweiten Überschleifpunktes X2' der zweiten

Teilbewegungsbahn 60 bestimmt. Der Abschnitt 64' der zweiten Teilbewegungsbahn 60 muss nicht bahntreu vom Manipulator abgefahren werden. Für die dritte Teilbewegungsbahn 80 definiert der Übersehleifradius b3 die Lage des

Überschleifpunktes X3. Der Abschnitt 84 der dritten Teilbewegungsbahn 80 muss vom Manipulator nicht bahntreu abgefahren werden. Die Überschleifbahn 70 verbindet die Überschleifpunkte X2' und X3 in vorher beschriebener Weise, so dass der Abschnitt 82 der dritten Teilbewegungsbahn 80 bis zum Endpunkt E3 bahntreu abgefahren wird. Die Bewegungsbahn 30' kann sequenziell erzeugt werden. In diesem Fall würde zunächst die erste Teilbewegungsbahn 40 mit der zweiten Teilbewegungsbahn 60 überschliffen und ein entsprechendes Geschwindigkeitsprofil berechnet. Anschließend würde die sich so ergebende Bewegungsbahn 30 mit der dritten Teilbewegungsbahn 80 überschliffen und ein entsprechendes Geschwindigkeitsprofil für die sich ergebende Bewegungsbahn 30' berechnet.

Ebenso kann das Verfahren für drei Teilbewegungsbahnen 40, 60, 80 parallel ausgeführt werden. Dazu wird zunächst die Lage der Überschleifpunkte Xi, X2, X2', X3 anhand der Überschleifradien bi, b2, b2' und b3 bestimmt. Anschließend werden die Überschleifbahnen 50, 70 berechnet. In einem abschließenden Schritt wird dann ein Geschwindigkeitsprofil für die sich ergebende Bewegungsbahn 30' berechnet.

Bezugszeichenliste

10 Mobiler Manipulator

12 Manipulatorarm

14 Mobile Plattform

16 Endeffektor (Greifer)

20 Steuereinrichtung

30 Bewegungsbahn

40, 60 , 80 Teilbewegungsbahn

42, 62, 82 zweiter Abschnitt der Teilbewegungsbahn

44, 64, 64', 84 erster Abschnitt der Teilbewegungsbahn

50, 70 Überschleifbahn

100 Verfahren

HO, 120, 130, 140, 150 Verfahrensschritt

Si, S2, S3 Startpunkt der Teilbewegungsbahn

Ei, E2, E3 Endpunkt der Teilbewegungsbahn

Xl, X2, X2', X3 Überschleifpunkt

bi, b2, b2', b3 Überschleifradius