Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

Teil 1 ist fast fertig, (diesen) Teil 2 formatiere ich jetzt!!!

............... Hier ist ein Multi-Achs-Controller zur interpolierenden Bahn-Steuerung von (z.Z.) bis zu 8-Achsen entstanden, ich habe ihn RoBo-mac genannt. Vom Roboternetz habe ich vieles gelernt, das in die Entwicklung eingeflossen ist; mit diesem Artikel möchte ich mich revanchieren.


Vorwort Teil 2

Kaum war RoBo-mac fertig (fertig wird so ein Programm nie!), kam die Frage nach Teach-In und Interpolationsverfahren zur Berechnung der Bahnkurve auf.

Der einfachste Weg ist die lineare Interpolation, sie führt in einen Polygonzug - letztendlich relativ ruckartige, abgehackte Bewegungen. Für reines Pick & Place, bei dem es nur auf die Reproduzierbarkeit der angefahrenen Punkte ankommt, ist die lineare Interpolation voll ausreichend. Ich habe mir bei der Entwicklung von RoBo-mac höhere Ziele gesetzt und mich intensiv mit der

  • Bezier, Hermite & Spline Interpolation

auseinandergesetzt. Hierzu mußte ich lernen "wie das geht": Nahezu alles was ich hier zu Papier gebracht habe, habe ich (viel zu lange) im Internet recherchiert aber nichts zusammenhängendes zum Thema, sondern nur Fragmente oder "professorale Ergüsse" gefunden. Hier habe ich versucht meine Erkenntnisse in einem Tutorial praxisorientiert und ohne höhere Mathematik darzustellen.

Link zu Teil 1

Der Artikel besteht aus 2 Teilen weil er sonst zu groß würde (meint ein freundlicher Lektor im Hintergrund) !!!


Es empfiehlt sich zuvor / begleitend Teil 1 dieses Tutorials durchzuarbeiten.


Hier, in Teil 2 finden Sie einige "Bedien-Hinweise" zur Studie - und die Auflösung der Bézier-Überraschung!

  • Diese Studie ist kein professionelles Programm; sie dient lediglich dazu, mathematische Zusammenhänge und deren Einfluß und Abhängigkeit in Hinblick auf "Roboter-Mathematik" sowie mathematische Ansätze zur Interpolation ei-ner Bahnkurve aus Stützstellen zu untersuchen. Es gibt eine Vielzahl von Möglichkeiten Kurven zu gestallten – nicht alle sind dokumentiert! Die Möglichkeit der freien Parameterwahl über Schieber und Werteingabe wird ergänzt durch mehrere Makrofamilien.
  • Im Sinne einer Studie sind die verwendeten Formeln nicht gegen Fehleinga-ben geschützt; verwenden Sie für Ihre Experimente eine Kopie. Die Studie ist getestet, wird aber ohne jegliche Gewährleistung für irgendwelche Fehler "so wie sie ist" veröffentlicht. Ansprüche jeglicher Art aus der Nutzung sind ausgeschlossen.
  • Die Experimental-Studie untersucht die Bézier- Nachbildung eines Kreisseg-mentes sowie jeweils einen Spline aus 3 Bézier- bzw. 3 Hermite Segmenten. Diese sind "koppelbar" oder auch nicht. Die eingestellten Schieberwerte wer-den nach Winkel und Betrag angezeigt.

Hier zunächst die Bézier Betrachtungen. Um die Bézier Mechanik zu untersuchen werden in einem Excel® Sheet Kurven so-wie ihre Ableitungen berechnet. Die Anfasser werden jedoch nicht mit der Maus ver-schoben, sondern deren Position per Schieber reproduzierbar eingestellt – nicht als xy-Koordinate, sondern ähnlich einer Polarkoordinate nach Betrag und Winkel. Die Schieberwerte werden nach Betrag und Winkel angezeigt, alternativ sind die Werte direkt eingebbar. Der Anfasser kann also um P0 bzw. P3 kreisen ohne seine Länge zu ändern oder seine Länge ändern ohne den Winkel zu ändern. Im xy-Koordinaten System wäre dies schwierig.

Die Studie macht deutlich: Der Winkel des Anfassers bestimmt den Winkel, mit dem die Bézier-Kurve den Punkt P0 bzw. P3 trifft, die Länge des Anfassers bestimmt die Krümmung. Je länger der Anfasser, je länger schmiegt sich die Kurve an ihn an, je bauchiger wird sie – und die Länge bietet noch eine Überraschung!

Bézier-Kreissegment

Zur Theorie s. Teil 1 dieses Tutorials. Mit dem Makro "Winkel_tang…" wird für beispielhaft hinterlegte Winkel iterativ eine Kappa-Näherung errechnet. Im rechten Bildschirmbereich befindet sich eine "Kappa-Tabelle" für weitere Tangenten-Winkel in feinerer Auflösung, Bézier-cascadiert ver-wendet diese Tabelle.

Bézier-cascadiert

Sie können aus 2 Makro-Familen kombinieren oder rein manuell untersuchen.

Makro "Copy_..."

Beispielhaft sind Koordinaten mehrerer unterschiedlicher Punkt-Konstellationen (Quadrat/Trapez/Winkel) für die 3 cascadierbaren Bezier-Kurven hinterlegt. Das Makro kopiert deren Koordinaten in den aktiven Bereich.

Makro "Auto_Spline_..."

Parallel hierzu läuft im Hintergrund ein Algorithmus, der für 4 unterschiedliche "An-fasser-Philosophien" mögliche Schieberwerte errechnet. Die Anfasser-Werte dieser 4 Philosophien werden unter den aktiven Schieberwerten angezeigt und per Makro "Auto_Spline_..." aktiviert.

  • Tangenten-Ellipse & Tangenten-Oval

die beiden äußeren Bézier-Kurven bilden jeweils eine Gerade – bestimmt durch deren Punkte P0/P3; die mittlere Bézier Kurve formt sich "kreisähnlich" und läuft in die Geraden tangential ein:

Beträgt der Öffnungswinkel 90 Grad und liegen die beiden Tangenten-Endpunkte gleichweit vom theoretischen Schnittpunkt entfernt, so bildet sich bei beiden Varianten ein deckungsgleiches, nahezu exaktes Kreisbogensegment.

Liegen die Geraden unsymmetrisch, so wird an Stelle des Kreisbogens eine Ellip-se bzw. ein Oval gebildet; das Ergebnis wird durch die Länge der Anfasser be-stimmt (vgl. Bézier und der Kreisbogen). Bei der Ellipse wird der Radius aus dem Schnittpunkt der beiden Tangentenlote im Knotenpunkt, beim Oval aus den beiden Schnittpunkten mit dem Mittelpunktslot der Sehne errechnet.

  • Kurve1

Die Punkte P0 und P3 jedes Anfassers bilden mit ihren beiden Nachbarpunkten je ein Dreieck, das in einen äußeren Kreis eingeschlossen ist. Der Winkel des Anfassers steht senkrecht auf der Geraden, die "seinen" Punkt mit dem Mittelpunkt "seines" Kreises verbindet. Im Diagramm sind diese Mittelpunkte markiert. Die Länge der Anfasser errechnet sich aus dem Öffnungswinkel der Kreissegmente.

  • Kurve2

Für jeden Punkt P0/P3 werden die beiden Nachbarpunkte jeweils mit einer Sehne verbunden. Der Winkel des Anfassers entspricht dem der Sehne im Koordinaten-system, er liegt also der Sehne parallel. Die Länge errechnet sich (recht komplex) aus einem Netzwerk der gewichteten Sehnen.

  • Für die Kurven 1&2 ist im Bereich der "Anfasser-Berechnung" ein "Bauch-Faktor" wählbar, der per Makro "Auto_Spline_...." aktiviert wird.

Das Makro "Auto_Spline_...." überträgt lediglich die errechneten Schieberwerte in den "Parameter"-Bereich; ggf. werden Schlingen & Schleifen durch 180 Grad Kompensation der Anfasser entwirrt. Es wird so möglich, die errechneten Werte per MausClick mit den Schiebern manuell zu modifizieren.

Übung:

  • Wählen Sie für die Anfasser der Start- und Endpunkte (Kurven 1&2) manuell die Flucht- und Einlaufwinkel, mit denen der Punkt getroffen werden soll.
  • Kopieren Sie "Quadrat" und rufen Sie nacheinander "TangenteOval / Kurve1" auf. Verstellen Sie den Richtungssschieber A1.1 auf 90, den Schieber A3.2 auf 360 Grad. Ein ¾ Kreis erscheint.


Bézier Ableitungen

Die im Hauptdiagramm gezeigte Kurvenform wird in CNC- und Robotersystemen letztendlich aus mehreren Achsen, im einfachsten Fall der x- und y-Achse erzeugt. Die Studie zeigt zur weiteren Analyse daher das Weg-Zeit Diagramm nach x- und y Achse, die beiden anderen Diagramme die jeweilige Achsengeschwindigkeit und de-ren Beschleunigung/Verzögerung – also die erste und zweite Ableitung.

Die Ableitungen werden nicht als Differentialquotient, sondern als Differenzenquo-tient ermittelt. Dieser vereinfachte Ansatz wird möglich, da die Kurve über die Polynome parametriert für t = 0 bis t = 1 errechnet wird; diese t-Parameter können als Zeitraster aufgefaßt werden. Das Zeitraster ist konstant, es muß daher nicht einmal dividiert werden: Die Differenz der Nachbarn ergibt bereits die Ableitung nach Delta t! Für t = 1 ist die Differenzbildung etwas "tricky", um senkrechte Sprünge im Diagram besser darzustellen.

Weg-Zeit Diagramm der xy-Achsen

Betrachten wir den soeben erstellten ¾ Kreis: Klassisch wäre er auf die Überlagerung von Sinus und Cosinus zurückzuführen. Die Ableitung des sin bringt cos, die Ableitung des cos bringt sin. Nicht aber hier!

Das Weg-Zeit Diagramm ist zwar sin/cos-ähnlich; die erste Ableitung zeigt jedoch bereits, daß die Geschwindigkeit alles andere als sinus-förmig zu- bzw. abnimmt, die zweite Ableitung offenbart die ganze Wahrheit: Die Ableitung einer Parabel führt letztendlich in eine Gerade!

Während bei einer kontinuierlich durchfahrenen Kreisbahn die Winkelgeschwindigkeit konstant ist, verändert sich die Bahn-Geschwindigkeit zwischen P0/P3. Sie liegt bei einer Standardabweichung von knapp 2% in Start- und End-Punkt der 90 Grad Seg-mente etwa 7% über der Geschwindigkeit im mittleren Kurvenbereich.


Die Bézier Überraschung

•Die Länge der Anfasser beeinflußt also nicht nur die Form der Kurve, sondern unter CNC und Roboter Gesichtspunkten auch die Bahn-Geschwindigkeit, mit der die Kurve durchfahren wird!

Werden beide Anfasser eines Knotenpunktes gleich lang, so werden die Ge-schwindigkeiten mit der der Knotenpunkt erreicht und wieder verlassen wird ebenfalls gleich, die Änderung der Beschleunigung / Verzögerung, der "Ruck" wird minimiert.

Auffällig ist ebenfalls, daß als Bezier Kurve erzeugte Geraden im Weg-Zeit Dia-gramm nicht unbedingt als Gerade erscheinen. Verändern Sie die Länge der Anfasser für die Geraden: Die Gerade selbst verändert sich hierbei nicht, wohl aber Ihre Weg-Zeit -Funktion, sie verläuft bogenförmig, manchmal als S-Bogen – also mit unterschiedlicher Geschwindigkeit. Dieser Bogen formt sich zur Geraden, wenn die Längenwerte beider Anfasser zu exakt 1/3 des Abstandes von P0/P3 werden. Die Bahn-Geschwindigkeit ist dann kontinuierlich.

Werden die Anfasser zu 0, so werden P0/P3 mit 10 % der max-Geschwindigkeit des mittleren Kurvenbereiches angefahren, liegen die Anfasser auf den Gegenpunkten so fällt die Geschwindigkeit in der Mitte der Geraden auf nahezu 0, die Geschwindigkeit im Start und Endpunkt steigt zum Ausgleich extrem.


Bezier und Hermite

Aufbau und Bedienung der Hermite-Studie ähneln der beschriebenen Bézier Studie

  • In der Studie kann zum Kurvenvergleich zwischen beiden Algorithmen umge-schaltet werden; lediglich die Anfasser unterscheiden sich!

Der Vollständigkeit halber besteht die Möglichkeit eine "echte" Bézier-Kurve aus denselben Kontrollpunkten zu bilden. In allen 3 Analysen bleiben die Schieberwerte konstant, die Grafik zeigt die transformierten Anfasser entsprechend ihrer Wirkung.


Hinweis

Die Schieber können Werte erzeugen, deren Koordinaten außerhalb des Diagramms liegen. Ein Excel®-Diagramm paßt sich standardmäßig den max-Koordinaten an. Diese Funktion ist abgeschaltet, da eine permanente Maßstab Veränderung ausge-sprochen störend ist. Mit den Buttons "AutoScala/AutoScala linear" wird der Maßstab gezielt aktualisiert.



Weblinks

All dies muß getestet werden, ich habe hierzu OKTAVIAX, den Acht-Achser entwickelt; unter

 http://www.youtube.com/watch?v=TT344LsOnuY 

macht er ein Tänzchen (Bitte Lautsprecher einschalten).


Dieser Artikel ist ein (produkt-neutraler) Auszug aus dem Manual CNC & RoBo-mac, einem Multi-Achs-Controller für (z.Z.) bis zu 8 Achsen. Mehr dazu unter


NLB


LiFePO4 Speicher Test