PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Visualisierung des DLR LWR3 in Matlab



Schewa
23.11.2013, 21:59
Hallo und schönen guten Abend.

In einer kleinen Projektarbeit möchte ich den DLR LWR3 Leichtbauroboter in Matlab umsetzen und die Vorwärtskinematik durchspielen.
Bei dem Roboter handelt es sich um einen sieben-Achs-Roboter.
Um dies zu schaffen, habe ich die Vorwärtskinematik des Roboters aufgestellt, nachdem ich die Koordinatensysteme eingetragen habe.
Leider ergibt sich hier ein Verständnisproblem, bei dem ich gern eine weitere Meinung einholen möchte.

Um das etwas genauer zu verstehen möchte ich den Roboter, um den es sich handelt anhand der Aufnahme zeigen (siehe "LWR_ARM.jpg")

Der Roboter besteht im Grunde nur aus Torsions und Rotationsgelenken.
Für diesen Roboter habe ich die Koordinatensysteme festgelegt, und die DH-Parameter bestimmt (siehe "Kinematische Kette DLR LWR 3.pdf").
Ich kann nicht verstehen, dass laut der Parameter zum Teil weder eine translatorische Verschiebung in d noch in a durchzuführen sind. Die Gelenke sind doch an unterschiedlichen Positionen, so dass es zu einer Verschiebung kommen muss.
Vielleicht liegt es auch an meiner Vorstellung bzw. meinem Verständnis, wie mit diesen Parametern zu arbeiten ist.

Kann jemand diese Kinematik und die DH-Parameter für mich bestätigen bzw. mich ggf. korrigieren?
Sollte es korrekt sein, dann verstehe ich nicht, wie ich innerhalb von Matlab eine Verschiebung der einzelnen Arme zueinander erreichen kann, wenn ich lt. Koordinatensysteme keine Verschiebung nach DH-Konvention durchführen kann.

Würde mich über eine Antwort freuen und bedanke mich im Voraus.

Bei Rückfragen oder Unklarheiten stehe ich selbstverständlich gerne zur Verfügung.

Eine kleine Anmerkung zum Abschluss:
In den von mir gefundenen Dokumenten bezüglich der Ausrichtung der Koordinatensysteme und Aufbau einer kinematischen Kette bin ich bei den rotatorischen Achsen nach folgender Regel vorgegangen:
" Grundstellung eines Drehgelenkes: Arm i zeigt in Richtung xi-1"

Auch hier bitte ich um mögliche Bestätigung bzw. Korrektur.

Mit freundlichen Grüßen
Schewa

Geistesblitz
23.11.2013, 22:18
Also mit den verschiedenen Parametern d (vielleicht mal allen einen Namen geben und in die Skizze einzeichnen) hast du doch deine Segmentlängen? a hast du nur bei Exzentrizitäten, die ja bei dem Roboter nicht auftreten, und d ist dann meistens die Segmentlänge selbst. Die wären dann im übertragenen Sinne die Längen von Schulter, Oberarm, Unterarm und Hand.

Schewa
23.11.2013, 22:34
Guten Abend, vielen Dank für die Antwort zu so später Stunde.
Die Arm bzw. Segmentlängen hätte ich. Aber es geht mir ja erstmal nur um das Verstehen.
Bei nachvollziehen meiner kinematischen Kette und dem herausarbeiten der DH-Parameter aus den Koordinatensystemen taucht ja weiterhin der Fall d=0 und a=0 auf.
Damit setze ich voraus, dass die Elemente an der absolut identischen Stelle sitzen, was ja nicht der Fall ist. Aber nach Einhalten der Konventionen beim Einzeichnen der Koordinatensysteme sehe ich keinen anderen Weg.
Ist das überhaupt möglich?

Mit freundlichen Grüßen
Schewa

Geistesblitz
24.11.2013, 00:25
Nunja, die Koordinatensysteme liegen nicht immer an intuitiven Stellen. Mal so zum Verständnis, ist KOS 0 das Basiskoordinatensystem und KOS 1 dann das vom ersten Glied? Nur, um sicher zu gehen. Eigentlich wird die Transformation auf Wikipedia schon ganz gut erklärt, die x-Achse eines KOS ist demnach immer das Kreuzprodukt der vorhergehenden z-Achse und der aktuellen z-Achse, die z-Achsen liegen in der jeweiligen Drehachse des Gelenks. Wichtig ist es jedenfalls, verstanden zu haben, dass das KOS immer so liegt, dass es am jeweiligen Körper hängt, aber in Achsrichtung für den nächsten Körper ausgerichtet ist. Demnach gibt die z-Achse des Basis-KOS die erste Drehachse vor, während die z-Achse des Endeffektor-KOS keinem Gelenk mehr zugeordnet ist (und daher auch frei wählbar, je nachdem, wie es für den Endeffektor praktisch ist). Jedenfalls wäre es auch praktisch, für jeden variablen Parameter (in deinem Fall wären das ja nur theta) auch die Variable in der aktuellen Stellung anzugeben anstelle eines festen Wertes, find ich jedenfalls übersichtlicher.

Edit:
Achja, wenn Koordinatensysteme ineinanderliegen (also a und d 0 sind), brauchst du dir keine Sorgen zu machen, da diese Werte in dem Fall keine Rolle Spielen. Siehe zB. bei G3, dort ist es egal, wo genau das KOS auf der Achse liegt, der Effekt bleibt derselbe, lediglich die Parameter verändern sich ein wenig. DH-Parameter liefern auch bei den meisten Anordnungen mehrere Ergebnisse, die alle richtig sein können, man hat also auch noch ein paar gewisse Freiheitsgrade. Und da macht es dann Sinn, den Freiheitsgrad so zu wählen, dass man möglichst viele Nullen erhält, damit sich der Rechenaufwand verringert.

Schewa
24.11.2013, 20:12
Nunja, die Koordinatensysteme liegen nicht immer an intuitiven Stellen. Mal so zum Verständnis, ist KOS 0 das Basiskoordinatensystem und KOS 1 dann das vom ersten Glied? Nur, um sicher zu gehen. Eigentlich wird die Transformation auf Wikipedia schon ganz gut erklärt, die x-Achse eines KOS ist demnach immer das Kreuzprodukt der vorhergehenden z-Achse und der aktuellen z-Achse, die z-Achsen liegen in der jeweiligen Drehachse des Gelenks. Wichtig ist es jedenfalls, verstanden zu haben, dass das KOS immer so liegt, dass es am jeweiligen Körper hängt, aber in Achsrichtung für den nächsten Körper ausgerichtet ist. Demnach gibt die z-Achse des Basis-KOS die erste Drehachse vor, während die z-Achse des Endeffektor-KOS keinem Gelenk mehr zugeordnet ist (und daher auch frei wählbar, je nachdem, wie es für den Endeffektor praktisch ist). Jedenfalls wäre es auch praktisch, für jeden variablen Parameter (in deinem Fall wären das ja nur theta) auch die Variable in der aktuellen Stellung anzugeben anstelle eines festen Wertes, find ich jedenfalls übersichtlicher.

Edit:
Achja, wenn Koordinatensysteme ineinanderliegen (also a und d 0 sind), brauchst du dir keine Sorgen zu machen, da diese Werte in dem Fall keine Rolle Spielen. Siehe zB. bei G3, dort ist es egal, wo genau das KOS auf der Achse liegt, der Effekt bleibt derselbe, lediglich die Parameter verändern sich ein wenig. DH-Parameter liefern auch bei den meisten Anordnungen mehrere Ergebnisse, die alle richtig sein können, man hat also auch noch ein paar gewisse Freiheitsgrade. Und da macht es dann Sinn, den Freiheitsgrad so zu wählen, dass man möglichst viele Nullen erhält, damit sich der Rechenaufwand verringert.

Ich überarbeite das mal und melde mich dann zurück.
Musste mich heute um ein anderes Projekt kümmern. Danke für die Antwort - sobald ich die Änderungen eingetragen habe, poste ich es hier.
Schönen Abend noch und beste Grüße
Schewa