-
-
Synchronisierung der Bewegung von zwei CNC-Systemen
Hallo,
ich hoffe mein Anliegen ist nicht zu sehr off-topic da es sich nicht primär um ein Roboter-Problem handelt sondern viel mehr um ein Regelungstechnisches.
Ich habe hier einen Tricept-6-Achs-Roboter und eine 3-Achs Portalbearbeitungsmaschine. Jetzt habe ich zu jeder dieser Maschinen eine Verbindung über RS232 und kann mir so im 50ms takt die Position bzw. Geschwindigkeit der jeweiligen Maschine holen. Ich habe jetzt eine Werkzeugbewegung generiert und in Form von Punkt zu Punkt Bewegungen an die Maschinen geschickt. Jetzt soll es so sein, dass die Portalbearbeitungsanslage immer den Roboter folgt und zwar sehr genau (<1mm). Da der Roboter aber mal schneller und mal langsamer fährt, muss ich da irgendwie die Geschwindigkeit variabel regeln.
Jetzt ist bei mir leider hinsichtlich Regelungstechnik nicht mehr allzu viel Wissen vorhanden. Ich habe mir im Wiki mal den Artikel dazu durchgelesen und habe auf Basis von dem bereits einen Software PID implementiert. Leider habe ich überhaupt keinen Plan wie ich jetzt sauber die Parameter bestimmen kann (über Bode Diagramm oder Simulink oder sonstwas).
Könnt ihr mir da ein wenig Unterstützung anbieten?
Vielen Dank schon vorab,
Joachim
-
Hallo Joachim,
da hast Du aber wirklich eine schoene Aufgabe -- ehrlich!
Nach Deiner Beschreibung ist allerdings eine Antwort schwer. Ich nehme mal an, dass Du beide Maschinen üeber die RS232 steuern kannst. Ohne mit einem Regler zu arbeiten würde ich für beide Maschinen die Bahnen vorberechnen und diese damit dann füettern. Es ist allerdings darauf zu achten, daßs nicht nur die Bahnpositionen identisch sind, sondern auch die Bahnbeschleunigungen und die Bahngeschwindigkeit. Das Ganze ist im Grunde eine Umrechnung von Matrixen.
Wenn Du allerdings wirklich mit einem PID Regler arbeiten mußst (wüerde ich vermeiden), nimm zuerst die Geschwindigkeitsverläeufe in einer Achse auf und stelle diese dann mit den Beschleunigungen so ein, daß beide Maschinen in den Einzelachsen identisches Verhalten zeigen. Dann köennte eine Nachpositionierung der einen Maschinen auf die andere mit einem Lageregler (nur P Anteil funktionieren). Der unterlagerte Geschwindigkeitsregler sollte bei beiden gleich reagieren, da Du vorab die Geschwindigkeitsprofile der Einzelachsen abgeglichen hast. Ziel ist somit die beiden Anlagen unterhalb vom Lageregler Reglungstechnisch gleich aussehen zu lassen. Dies wird aber nicht einfach, aber sehr interessant. Stimme also beide Maschinen erst mal in einer Achse ab, dann die zweite usw.
Ich priorisiere allerdings die erste Löesung, beide Maschinen direkt sagen was sie machen sollen, ist zwar ein wenig Rechenaufwand, aber danach wird es stabil laufen, weil es einfach zwei unabhäengige Systeme sind.
Gruss
Volly
-
Mir scheint ein 50ms Takt ungeeignet. Rechne mal die Fahrgeschwindigkeit * 50ms. Wenn da eine Strecke vergleichtbar mit deiner Positioniergenauigkeit <1mm herauskommt, kann es m.E. nichts werden.
Grüße von Jens
-
Hallo und zunächst mal danke für euer Antworten.
Zunächst muss ich mich vielleicht ein wenig präziser ausdrücken.
Der Roboter läßt keinerlei Eingriff in Beschleunigungs bzw. Geschwindigkeitsverläufe zu! Dementsprechend ist meine einzige Möglichkeit die, dass ich über einen Regler versuche die andere Maschine mit möglichst hoher Genauigkeit "hinterherzuziehen". Auch die Idee, jede Achse für sich sauber einzustellen geht so nicht, da der Roboter je nach Position ein anderes Geschwindigkeitsverhalten und Beschleunigungsverhalten aufweist (Parallelkinematik und Überschleifgenauigkeit sind hier der Hemmschuh). Ich brauche also etwas, was sehr schnell auf die ständig wechselnden Randbedingungen des Roboters eingehen kann und dementsprechend die andere Maschine beschleunigt oder abbremst um so ein möglichst homogenes und genaues gemeinsames verfahren zu ermöglichen.
Viele Grüße,
Joachim
-
Hallo Joachim,
erst bleibt schwierig - nicht die Aufgabe - sondern zu verstehen, was Du überhaupt machen willst.
Also so weit ich dies verstanden habe, hast Du eine bescheidene Robotersteuerung. Die nur von einer Positionen zu anderen fahren kann, ohne eine Beschleunigungs- und Geschwindigkeitsvorgabe. Ich habe keine Ahnung wie dies vernünftig funktionieren soll.
Auch ist mir nicht klar wie die Position vom Roboter übermittelt werden soll, soll dies alles über die RS232 laufen? Position Roboter wird Sollwert für die andere Maschine???
Ein anderes Thema für die Regelung: Wenn Du dies mit Simulink oder anderen Programmen simulieren willst, musst Du die komplette Strecke abbilden, dass bedeutet die Parallelkinematik und die Störeinflusse müssen alle ins Modell. Wenn Du dies alles gemacht hast, kannst Du den Regler auslegen! Jedoch bin ich immer noch davon überzeugt, daßs es ohne eine Vorberechnung nicht funktionieren wird. Als Lösung konnte eine Regelung im Zustandsraum funktionieren, wobei die Störgroßsen mit einem unterlagerten PID Regler ausgeglichen werden kann. Aber das ist alles nicht easy.
Kannst Du uns nicht mehr Informationen liefern, z.B. Bilder oder mathematische Modell, mit den Informationen bisher wird Dir keiner helfen können. Die andere Frage ist wie gross sind Deine Mittel, denn als erstes würde ich mal einen vernunftigen Roboterregler einsetzen.
Gruss
Volly
-
Hallo,
ich habe mal ein wenig gegoogelt, die Problematik Deiner Aufgabenstellung wird nun klarer. In der Dissertation wird die Schwierigkeit der "schlechten Positionierung" von Roboter erklärt und gelöst:
http://www.hsu-hh.de/download-1.4.1....ahSlSoZLXHipqC
Das einfache Modell ist ab Seite 90 beschrieben. Aber regelungstechnisch ist dies aufwendig. Der Roboter hat eine Fehlpositionierung und die sollst Du in Echtzeit erfassen und dies mit einer lahmen Steuerung (50ms) und einer sehr hohen Güete (<1mm).
Wenn Du diese Aufgabe löest, hast Du sicherlich viele Stellenangebote!!!
Gruss
Volly
-
@volly
Vielen Dank für den Link. Das ist in der Tat genau das was ich brauche. Meine Robotersteuerung hat sicherlich intern verschiedene Beschleunigungs und Bremsprofile hinterlegt, jedoch habe ich keine Möglichkeit von aussen an diese zu kommen und diese zu ändern. Ich kann ihm wirklich nur sagen, fahre von A nach B. Wie er das macht kann ich nur bedingt beeinflussen (indem ich beispielsweise die Genauigkeit angeben kann).
Und ja, ich bekomme alle 40ms von der steuerung die aktuelle position des Roboters über die RS232.
Naja, ich sag mal, 5000€ hätte ich, aber damit kannst du keine neue Robotersteuerung aufbauen, zumindest nicht für einen Industrieroboter
Gruß,
JOachim
-
Eine interessante Seite für die Simulation von Roboterbewegungen ist sicherlich:
http://rtss.sourceforge.net/
Es handelt sich hierbei um ein Scilab Paket, alles Open Source. Mit Scilab hatte ich bisher nur positive Erfahrungen, die rtss habe ich noch nicht ausprobiert.
Gruss
Volly
-
Schone Einführung, auch wenn sie ein wenig älter ist:
http://books.google.com/books?id=UzZ...V05JxU#PPP3,M1
-
Hi Volly,
wow .... vielen Dank für die Links. Insbesondere das Scilab Paket schaut sehr interessant aus. Es muss ja wirklich nicht unbedingt die Matlab/Simulink Schiene sein und wenn damit hoffentlich auch alles funktioniert, wieso nicht
Damit habe ich vorläufig mal genug Futter und arbeite mich mal tiefer ein.
Viele Grüße und einen schönen Abend,
Joachim
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen