Denavit-Hartenberg-Transformation
-
Ich habe da einmal eine Frage:
Was genau bringt die Denavit-Hartenberg-Transformation?
In Vorlesungsbeispielen bzw. Internetbeispielen geht immer alles wunderbar einfach, weil eine Achse auf der anderen liegt bzw. durch sie verläuft, zumeist nur rotative Freiheitsgrade genommen werden, etc..
Aber sobald man verdrehte und versetzte Linearachsen mit rotativen abwechselt, fängt das große Kotzen an, dass man sich die Koordinatensysteme unpassend legen muss, Dreiecksberechnungen machen muss, die Koordinatensysteme von Glied zu Glied umklappen und verdrehen muss.
Also was ich meine: Sobald man kein Trivialbeispiel bearbeitet, muss man doch auch bei der DHT sehr kreativ werden, ganz genau aufpassen mit den Achsen und dem Rotationssinn, das ganze unter der Einschränkung, dass man eben nur 4 festgelegte Transformationen in festgelegter Reihenfolge hat.Was bringt das? Für die komplizierteren Beispiele fällt es zumindest mir 1000x leichter, aus dem reicheren Schatz der Transformationen zu schöpfen und damit die Vorwärtstransformation aufzustellen.
Hat jemand Erfahrung auf dem Gebiet?
-
Man muß die DH-Matrizen vor dem Hintergrund sehen, dass sie in den 50er Jahren entwickelt wurden, als Rechenverfahren für Kinematiken. Die Rechenleistung von Computern war damals nicht soweit diese Probleme numerisch lösen zu können.
Aber davon unabhängig stellen sie ein Mittel dar, um eine Kinematik in einfacher Weise beschreiben und berechnen zu können, vor allem wenn es an die inverse Kinematik geht.
Die 4 Transformationen (Rx,Dx,Rz,Dz) sind vollkommen ausreichend um jede Transformation eines Gelenks (i-1) in ein neues Gelenk (i) abzubilden. Im Gegenteil zeigt sich, dass man zwar komplexere Strukturen vorwärts noch berechnen kann, aber die inverse Transformation geht dann evt. nicht mehr - und es macht auch im Sinne des Maschinenbau keinen Sinn jede beliebige Kinematik zu bauen.
-
Hallo,
ist ja schon länger her, aber danke für die Rückmeldung!
Ich wollte keinesfalls etwa vorschlagen stattdessen numerische Simulationen zu verwenden oder ähnliches. Es ist nur so, dass man doch ein intuitives Verständnis davon hat, wie man die Koordinatensysteme der Kinematikelemente legen möchte. Aufgrund des "normalisierenden" Charakters der DHT kann man diese Intuition allerdings nicht anwenden, weil hier das eine Koordinatensystem aus dem vorhergehenden durch eine feste Vorschrift hervorgeht, man verliert einfach die Flexibilität. Für die 50er Jahre kann ich auch nachvollziehen, dass es wahrscheinlich schneller ging, eine komplizierte Kinematik für DHT auf dem "abstrakten" Weg "anzupassen", eben weil das Schreiben eines Programmes, das eine für den Problemfall günstigere Transformationsweise unterstützt, sehr sehr lange gedauert hätte und wahrscheinlich auch etwas langsamer gearbeitet hätte, weil Fallunterscheidungen hinzukämen und das Programm allgemein größer würde (branch prediction gab es vermutlich noch nicht und Speicherplatz war schließlich äußerst begrenzt).
Ich finde es auch aus dem theoretischem Gesichtspunkt eine tolle Leistung, zu zeigen, dass genau diese Transformationen in Vorgegebener Reihenfolge genügen, um alle Fälle abdecken zu können.Was ich aber nicht verstand/verstehe ist, warum diese Technik auch heute scheinbar so noch breite Anwendung findet (so habe ich das zumindest meiner Vorlesung entnommen und dort wurde das dann auch handschriftlich für viele Beispiele durchexerziert). Schließlich wäre man mit einer freieren Kombination von Transformationsmatrizen (Die in meinem Ansinnen auch einzeln trivial invertierbar wären, es ergeben sich somit keine oder die selben Probleme wie mit der DHT bei der Nichteindeutigkeit) wesentlich schneller am Ziel. Während ich mich mit der DHT beschäftigt habe, fiel mir zu diesem Punkt eigentlich nur noch ein, dass ich am besten einmal ein Programm schreiben sollte, bei dem man beliebige Transformationsmatrizen und Koordinatensysteme verwendet und dieses Programm rechnet das für die scheinbar immernoch verbreitete DHT in deren Parameter und einer anschließenden Transformation des sich durch DHT ergebenden Effektor-KSs um, um für die Zukunft ein einfaches Leben zu haben und kompatibel mit der Welt zu sein. Das wäre doch viel interessanter gewesen, als die sich bei der DHT ergebenden Umrechnungsprobleme wieder und wieder zu lösen. Mein Posting entstand sozusagen aus Übungsfrust vor einer Klausur
Viele Grüße
-
Wir setzen die DHT in unserem Projekt schon seit Jahren ein. Ich stimme zu, dass man durch die festen Regeln, von einer Transformation zur nächsten zu kommen, in der Wahl der Koordinatensysteme eingeschränkt ist - und ja, dass ist zum Teil durchaus ein Problem.
Wir lösen dies dadurch indem wir einzelne statische Transformation dazwischen setzen, die dann dafür sorgen, dass an bestimmten Positionen, z.B. Z-Achsen wieder nach oben zeigen. Was für den Anwender einfacher zu handeln ist.Ich persönlich halte die DHT-Methode nach wie vor für das Mittel der Wahl. Schlicht und einfach schon deshalb, weil mir keine Alternative bekannt ist, die 'einfacher' oder intuitiver wäre. Sobald es darum geht, im 3-dimensionalen Raum - womöglich jenseits der rechten Winkel - irgendwas zu modellieren, steigen sowieso die meisten menschlichen Gehirne aus. Meine Meinung dazu: mit DHT ist es schon schwierig, ohne noch schwieriger!
TransformationsKritiker schrieb:
Schließlich wäre man mit einer freieren Kombination von Transformationsmatrizen (Die in meinem Ansinnen auch einzeln trivial invertierbar wären, es ergeben sich somit keine oder die selben Probleme wie mit der DHT bei der Nichteindeutigkeit) wesentlich schneller am Ziel.
.. das glaube ich schlicht nicht. Das kann ich mir maximal für einige wenige konstruierte Spezialfälle vorstellen. Vielleicht postest Du mal ein Beispiel.
Ein Vorteil, den ich noch bei der DHT sehe, ist die Tatsache, dass alle beweglichen Achsen stets in Z-Richtung (linear) laufen bzw. um Z drehen (rotieren). Damit kann man alle Achsen 'gleich' halten. Das vereinfacht nicht nur eine eventuelle Codierung, sondern auch die Nachvollziehbarkeit dessen, was da passiert.
Gruß
Werner