PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Trajektoriengenerator mit exakter Ruckbegrenzung - online berechnen



Cheeco
28.02.2019, 20:42
Hallo Roboternetz!

Seit langem arbeite ich an einem Trajektoriengenerator mit exakter Ruckbegrenzung. Auf meiner Webseite könnt ihr damit ruckbegrenzte Trajektorien erstellen und die Bahnkurven für Position, Geschwindigkeit und Beschleunigung als Excel oder CSV - Datei herunterladen:

https://www.trajectorygenerator.com/ojet-online/

Das Problem der ruckbegrenzten Trajektoriengenerierung tritt insbesondere in der Automatisierungstechnik und auch im Großmaschinenbau (beispielsweise bei der Bewegung von großen Teleskopen) besonders auf. Oft wird gefordert, dass sich ein Objekt von einer Position A zu einer Position B bewegen soll. Dabei werden üblicherweise Begrenzungen für die Position (End-Stops), die Geschwindigkeit (oft aus Sicherheitsaspekten), die Beschleunigung (Antriebsleistung) und dem Ruck (Anstieg der Beschleunigung, Komfort/Sanftheit) gefordert. Es mag sich zunächst als recht triviales Problem anhören mag, ist mathematisch verzwickt und schwer zu lösen. In der industriellen Praxis wird sich oft damit beholfen, dass die Ruckbegrenzung lediglich approximiert wird. Je nach Wahl der Parameter funktioniert das mal gut, aber auch mal weniger gut.

Die Lösung die ich über die Jahre entwickelt habe ist die optimale, exakte Lösung des Problems für beliebige Parameter. Es werden auch beliebige Start- und Zielgeschwindigkeiten und -Beschleunigungen untersützt. Da die Entwicklung der Software jahrelange Arbeit war, werde ich das eigentliche Programm und den Code nicht zum Download bereitstellen.

Ich hoffe dass die Online-Berechnungsfunktion für ruckbegrenzte Trajektorien für euch von Nutzen ist - speziell zur schnellen Auslegung von Systemen ist das Online-tool praktisch!


Viel Spaß beim Ausprobieren!

shedepe
01.03.2019, 12:41
Hallo. das klingt interessant. Jedoch kann ich da keinen Unterschied sehen zu Anwendungen z.B. bei Roboterarmen wo solche Trajektorienplanung ja schon seit mindestens 20 bis 30 Jahren unter Berücksichtung der dynamischen Constraints durchgeführt wird. (Mit der Aussage will ich definitiv nicht deine Arbeit geringer erscheinen lassen, nur die gegebene Information ist echt spärlich).
Für mich klingt das nur nach einem klassischen Optimierungsproblem, dass du eben in eine analytisch lösbare Form überführen konntest, was defintiv auch eine Leistung für sich ist!
Gibt es eine Veröffentlichung dazu, die das genauer erklärt was du da machst? Vorallem wie kannst du eine exakte Ruckbegrenzung ohne bekanntes Systemmodell durchführen? Im online Tool fließt ja nicht mal das Gewicht des Objekts mit ein.

Cheeco
02.03.2019, 13:22
Hallo shepede,

du hast Recht, das Thema Trajektoriengenerierung ist sehr weit und wird in verschiedenen Kontexten gebraucht. Der Anwendungsfall für die präsentierte Lösung ist auch nicht primär die Robotik, sondern allgemeiner die Automatisierungstechnik. Im Gegensatz zu einer Trajektorienplanung, die oft statisch berechnet wird, kann die Software an beliebige Bewegungszustände anknüpfen. Stelle dir vor, auf einer vorberechneten Bahn tritt ein unvorhergesehenes Ereignis auf, beispielsweise ein Hindernis / Sensorkontakt. Dann kann die Software das System aus diesem Bewegungszustand in einen beliebigen anderen Bewegungszustand überführen, ohne das Diskontinuitäten (Positions- / Geschwindigkeits- /Beschleunigungssprünge) auftreten. Die Software ist auf Geschwindigkeit und Effizienz optimiert. Auf normaler PC-Hardware können ca. 100000 Trajektorien pro Sekunde berechnet werden.

Der Trajektoriengenerator ist ein reiner Sollgrößengenerator, das heißt er generiert den Sollwert für einen Reglereingang. Wie Du schon richtig bemerkt hast, wird dabei das eigentliche Systemverhalten nicht berücksichtigt, das wird dem Regler überlassen. Das heißt, dass der Trajektoriengenerator sich nicht die Einhaltung des Istwerts garantiert. Ein schöner Vorteil ist allerdings, dass die Software zu jedem Zeitpunkt absolut konsistente Werte für Position, Geschwindigkeit und Beschleunigung garantiert, was insbesondere für kompliziertere Regler im Zustandsraum und mit Vorsteuerungen hilfreich sein kann.
Was der Trajektoriengenerator genau macht, kann alles in dem Onlinetool ausprobiert und die Daten heruntergeladen werden.

Ein Feature was ich noch nicht erwähnt habe (weil man es leider nicht online ausprobieren kann) ist die Trajektorienoptimierung im Frequenzbereich. Auf der Hauptseite www.trajectorygenerator.com kann man sich das schön ansehen. Da habe ich ein Pendel mit einer Eigenfrequenz von 3,5Hz auf eine (ungeregelte!) Linearachse mit Schrittmotor gesetzt. Der Schrittmotor wird rein Open-loop von dem Trajektoriengenerator angesteuert. Im Frequenzmodus der Software kann man sich nicht nur die eigentliche Bewegungstrajektorie im Zeitbereich, sondern auch noch im Frequenzbereich ansehen. Es stellt sich heraus, dass das Anregungsspektrum keinesfalls gleichverteilt über die Frequenzen ist, sondern Anregungsbäuche und -Löcher hat. Mit ein wenig Übung kann man die Parameter der Trajektorie nun so anpassen, dass ein Anregungsloch mit der Eigenfrequenz zusammenfällt. So kann man flexible Strukturen extrem schnell bewegen, ohne dass man Schwingungen anregt - und das alles völlig ohne Regelung!

shedepe
03.03.2019, 10:55
Hallo,
es wäre wirklich interessant, wenn es dazu ein Paper o.ä. geben würde. Dann könnte man eine exaktere Einschätzung der Nutzbarkeit für verschiedene Einsatzfälle durchführen.

Dein letzter Absatz lässt mich außerdem etwas stutzen: Du sagst du machst keine Regelung: Wenn du aber schnell genug deine Trajektorien neugeneriert würde ich dabei definitiv von einer Art von Regelung sprechen. Deine Fehlerrückführung sorgt halt dafür, dass eine neue angepasste Trajektorie erzeugt wird. Was passiert bei deinem Ansatz wenn du ein System mit großer Totzeit oder ein sehr schnell reagierendes System (z.B. ein sehr kleines Objekt zu transportieren) bewegen willst. Ich wage zu behaupten, dass du dann in die gleichen Probleme wie ein Regler läufst.