PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kinematik Tripod



brainbreak
23.12.2007, 19:41
Hallo Leute,

ich habe eine Frage bezüglich der Berechnung eines Tripods. Ich sitze schon seit ca. einer Woche an dieser Kopfnuss. Ich habe diesen Roboter bei ABB gefunden http://www.abb.de/Product/seitp327/262ce7c337e2b552c12570c9003ff7e6.aspx?productLangu age=ge&country=DE. Die Grundlagen sind mir, wie man im Schemabild sieht, schon bekannt. Das einzige was mir jetzt noch fehlt ist eine "Formel" um von der Werkzeugkoordinate auf die Servowinkel schließen zu können. Ich habe bereits mit Trigonometrischen Funktionen "herumgespielt" aber noch keine funktionierende Lösung gefunden. Ich denke das Thema muss ich vektoriel angehen. Ich habe bereits Erfahrungen mit Vektorenrechnung, aber keinen vernünftigen Ansatz gefunden. Kann es sein das ich nur mit Kugelgoordinaten vorran komme? Ich habe auch schon versucht die Inverse Kinematik eines mehrachsigen Roboters darauf anzuwenden, nur blick ich da irgendwie nicht so ganz durch.
Hat einer von euch Erfahrungen mit diesem Thema?

user529
23.12.2007, 20:52
du kennst die werkzeugkoordinaten, damit die strecke zwischen wz und servoachse, die länge des servohebels und der verbindenden servohebel wz, damit ist das ein cosinussatz. damit ist einer berechnet. die anderen musst du genauso berechnen, allerdings musst du hier aufpassen, da die koordinatenebene zur hebelachse jetzt gekippt steht (sollte ein sein sein).

pass auf dass du dich beim durchfahren des nullpunktes oder ebi den übrigen berechnungen nicht mit den vorzeichen vertust.
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=9069&highlight=tripode
mfg clemens

brainbreak
23.12.2007, 22:31
Hallo Clemens,
danke für die Antwort. Auf die Idee mit dem Kosinussatz für jede Achse bin ich auch schon gekommen. Nur macht mir das "gekippte" Dreieck noch ein wenig Kopfzerbrechen. Durch das Wegkippen ist doch der Servowinkel nicht mehr derselbe, wie wenn die Werkzeugkoordinate in der "Servoflucht" steht, oder? Ich krieg von dem ganzen Rechnen und Formelumstellen langsam ein Brett vor dem Kopf. Hab ich da was übersehen? Eigentlich bin ich nicht so eine Mathepfeife, aber irgendwie scheint mir hier das "Transferwissen" zu fehlen.

P.S. Hab deinen Post bereits gefunden. Sehr nette Idee. Leider hast du "Linearantriebe" verwendet, somit konnt ichs nicht kopieren ;-)

user529
24.12.2007, 12:17
P.S. Hab deinen Post bereits gefunden. Sehr nette Idee. Leider hast du "Linearantriebe" verwendet, somit konnt ichs nicht kopieren ;-)

jemand der die sufu benutzt ist leider nicht die regel.

http://img143.imageshack.us/img143/7712/isometrischgw5.png

der obere kreis stellt den roboterkörper da, auf welchem die 3 servos sitzen. der untere die plattform auf der dein wz befestigt ist. die einzelnen linien jeweils den auslenkenden servoarm und die zwei an den enden das parallelogram mit denen das wz ausgelenkt wird. die einzelne linie zwischen körper und wzplattform soll ezigen wo sich das dreieck befindet.
von dieser linie kennst du anfangs und endpunkte, und somit auch länge und winkel. aus dem cosinsatz kannst du die inenwinkel des dreieckes berechnen. jetzt hast du ein dreieck auf irgend einer ebene im raum. diese zu transformieren ist zielführend und interessant, aber wenig praktikabel.

setze lieber für jeden haxen ein um 120° gedrehtes koordinatensystem an und projeziere alle streben auf eine senkrecht durch den servoarm laufende ebene (pythagoras). jetzt kannst du mit dem cossatz die innenwinkel bestmmen und hast sie schon auf der richtigen ebene.

mfg clemens

brainbreak
24.12.2007, 12:59
Hallo Clemens,

das Problem mit der Suchfunktion kenn ich ;-).
So ähnlich hab ich meine Berechnungen nun angestellt. Hab meine Tabellenkalkulation mal bemüht da was zu rechnen. Bis jetzt sieht's eigentlich recht vielversprechend aus. (Irgendwas sagt mir aber das da was noch nicht ganz passt).
Ich berechne mir über die Koordinate der Servoachse und der WZ-Koordinate die schiefe Strecke als "Hypotenuse". Der Rest ist Kosinussatz. Um den Winkel des Servoarms zu errechnen verwende ich eine "Lotsenkrechte" die nur in Z-Richtung zeigt. Damit kann ich dann per Skalarprodukt auf den Winkel zwischen der "Hypotenuse" und des "Lotvektors" schließen. Die Differenz der beiden Winkel sollte mein Achswinkel des Servos sein. (hoffe ich)
Beim ändern der Werte in der Tabelle kommen zumindest recht ansehnlich Werte raus.

user529
24.12.2007, 13:22
was soll da noch nicht passen?
http://img206.imageshack.us/img206/3554/vonseitemx6.jpg
das braune ist der servoarm, der muss in der senkrechten projektion nicht verkürzt werden, da er in dieser ebene liegt, der rote is eine hypotenuse aus den in der ebene liegenden wz koordinaten und die grüne strecke ist wurzel(strebenlänge²-"tiefe"²) und dann den cosinsatz für A+winkel aus den wzkoordinaten. oder habe ich hier etwas vergessen?

brainbreak
24.12.2007, 13:42
Und das ganze noch in 3D ;-)
Die Werkzeugkoordinate müsste für diese Rechnung eigentlich in der Achsenflucht liegen.

user529
24.12.2007, 13:52
Die Werkzeugkoordinate müsste für diese Rechnung eigentlich in der Achsenflucht liegen.

nicht, wenn du die das dreieck auspannenden auf die ansichtsebene projezierst, dann bekommst du die richtigen winkel.

brainbreak
24.12.2007, 14:11
Stimmt, nur wie Projezier ich das am besten?

mfg Flo

user529
24.12.2007, 15:29
braun: gar nicht, die liegt schon in der ebene
grün: da kennst du die echte länge und die erstreckung in die tiefe, damit kennst du die projezierte länge.
rot: da kennst du anfangs und endpunkt. koordinatendifferenz bilden und länge ausrechnen.

diese drei längen liegen in einer ebene, zu der senkrecht deine servoachse steht.

brainbreak
24.12.2007, 16:59
ok, danke
Hab mir schon so was ähnliches grad erarbeitet. Nur muss ich noch gedanklich die 3 Koordinaten auf 2 umrechnen/umdenken. Is im kopf ne recht verzwickte Angelegenheit. Werd demnächst mal meine "Musterlösung" präsentieren.