PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inverse Knematik Matlab



rmhm
29.11.2010, 21:14
Hallo,
ich versuche seit Wochen die inverse Kinematik eines KATANA- Roboters in Matlab zu programmieren, laut meine geometrische Herleitung müssen die richtigen Winkeln rauskommen, leider kommen aber die falschen raus. Es wäre super wenn sich jemanden mit Kenntnisse der Thematik mir weiterhelfen kann. Sobald ich in der ebene bin, kommen ungenaue und falsche Werte raus.
Gruß,
rmhm

HannoHupmann
30.11.2010, 11:34
Das wird vermutlich mit den Tangens und dessen Bereichen zu tun haben. Wäre so auf die schnelle meine erste Vermutung. Ansonsten sind die Informationen ein wenig dürftig. Wenn dann musst du schon dein Modell (mathematisch und am besten auch das Matlab Programm) posten.

rmhm
30.11.2010, 17:18
Hallo,
danke erstmal für deine schnelle Antwort.
Ich benutze die Funktion Tangent2 und somit ist der Bereich eindeutig definiert.
Es geht speziell um die Winkel 2,3 und 4. Phi1 ist mit der Tangentfunktion immer eindeutig. Dagegen sind die anderen Winkel nicht eindeutig:
1) Ich transformiere zuerst die Position in KS1, dadurch habe ich ein 3 Armroboter in der XY- Ebene. Wie folgt werden die WInkel berechnet:

pw_betrag = sqrt(pwx^2 + pwy^2);
alpha = atan2(pwy, pwx);
berta = acos(((l2^2+pw_betrag^2 - l3^2)/2*l2*pw_betrag));%atan2(l3*sin(phi3), l2+ l3*cos(phi3));%
gamma = acos(((l2^2+l3^2 - pw_betrag^2)/2*l2*l3));


phi3 = acos((pwx^2+pwy^2-l2^2-l3^2)/(2*l1*l2))- (49.8335)*pi/180;
phi2 = asin((pwy)/(sqrt(l2^2+l3^2+2*l2*l3*cos(phi3))))- atan2((l3*sin(phi3)),(l2+l3*cos(phi3)));%+(20.7979 )*pi/180;

Danke im Voraus,