Gelenkstellung eines Roboters < Topologie+Geometrie < Hochschule < Mathe < Vorhilfe
|
Aufgabe | [Dateianhang nicht öffentlich]
[Dateianhang nicht öffentlich] |
Hallo, ich hoffe mal ich bin in diesem Unterforum richtig.
Folgende Aufgabe möchte ich gerne lösen: Ich habe die Werte von x,y und z, sowie l1 und l2 gegeben. Das z wird allerdings von der Hüfte aus gemessen (also in dem Punkt ganz unten ist z=-l1-l2 (x=y=0)). Gesucht ist eine Beschreibung der Drehwinkel q1, q2 und q3 in Abhängigkeit der bekannten Werte. q2 und q3 habe ich wohl schon korrekt bestimmt (jedenfalls stimmen meine ersten Tests). Wobei es ja eigentlich für jeden Punkt zwei Lösungen geben müsste (Oberschenkel nach oben und nach unten quasi). Eine Lösung reicht mir allerdings auch erst mal fröhlich.
Hier mal der Matlab-Teil von q2 und q3:
test = [mm] acos((1/(2*l1*l2))*(l1^2+l2^2-d^2));
[/mm]
q(3) = [mm] \pi [/mm] - test;
q(2) = [mm] \asin(y/(l1+l2*\cos(q(3))));
[/mm]
Dabei ist d der Abstand von Hüfte zum Fuß [mm] \sqrt(x^2+y^2+z^2). [/mm] Test wird bestimmt über den Kosinussatz. Bei q1 hatte ich zum Beispiel mal folgenden Ansatz (hatte mehrere, alle funktionieren nicht ^^):
[mm] \sin(q3) [/mm] = ges/l2 => ges = [mm] l2*\sin(q3) [/mm] (also der x-Anteil von q2 sozusagen)
=> q(1) = [mm] \asin((x-l2*sin(q(3))/l1)
[/mm]
Hat jemand eine Idee was der richtige Ansatz ist? Mein Ansatz funktioniert wohl nicht weil das Dreieck zwischen Hüfte, Fuß und Knie schräg im Raum liegt und der Anteil den ich da rausbekomme nicht wirklich x ist.
Im zweiten Bild habe ich auch die Vorwärtskinematik gegeben. Man kann das ganze also auch analytisch lösen aber ich glaube das ist dann noch aufwändiger.
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich] Anhang Nr. 2 (Typ: png) [nicht öffentlich]
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 01:29 So 20.11.2011 | Autor: | Blech |
Hi,
> Das z wird allerdings von der Hüfte aus gemessen (also in dem Punkt ganz unten ist z=-l1-l2 (x=y=0)).
???
Meinst Du damit, daß z nicht das Lot zum Boden ist (dann stimmt aber Dein d nicht)? Oder wirklich nur, daß z negativ statt positiv ist? (definiere: $z':=-z$)
[mm] $q_2=\arctan\left(\frac yz\right)$
[/mm]
Liegt z in der gleichen, um [mm] $q_2$ [/mm] geneigten, Ebene wie das Bein, dann ist es der [mm] $\arcsin$ [/mm] statt des [mm] $\arctan$.
[/mm]
Wenn Du jetzt eine Gerade vom Hüftpunkt (A) zum Fußpunkt (B) zeichnest, kriegst Du zusammen mit dem Kniepunkt (C) ein Dreieck, mit Winkeln [mm] $\alpha$, $\beta$, $\gamma$ [/mm] (wie üblich liegt [mm] $\alpha$ [/mm] bei A, etc.) und Seiten a, b, c (a ist die A gegenüberliegende Seite, etc.)
Wir kennen die 3 Seiten:
[mm] $a=l_2$, $b=l_1$, [/mm] $c=d$.
Also folgt mit dem Kosinussatz
[mm] $\cos(\alpha)=\frac{l_1^2-l_2^2 + d^2}{2l_1d}$
[/mm]
und
[mm] $\cos(\beta)=\frac{l_2^2-l_1^2 + d^2}{2l_2d}$
[/mm]
Jetzt gehen wir vom Hüftpunkt (war A) senktrecht runter zum Lotfußpunkt (L) (Länge z, nehm ich an, siehe oben), und dann die Strecke y nach außen zu, nennen wir ihn, Punkt M.
Die Strecke AM ist [mm] $\sqrt{z^2+y^2}$ [/mm] lang. Die Strecke von M nach B (Fußpunkt) ist x, also ist der Winkel zwischen der Geraden AB von oben und AM:
[mm] $\sin(\kappa)=\frac{x}{\sqrt{z^2+y^2}}$
[/mm]
Damit ist
[mm] $q_1=\kappa-\alpha$ [/mm] (wenn wie im Bild das Knie nach hinten genickt ist)
und
[mm] $q_3=\kappa+\beta [/mm] - [mm] q_1=\alpha+\beta$
[/mm]
ciao
Stefan
|
|
|
|
|
Hi,
ja z wird einfach nur negativ gemessen. Allerdings funktioniert deine Formel für q2 auch nicht und ich kann mir absolut nicht erklären warum. Was zu funktionieren scheint ist q2 = [mm] \asin(y/(l1+l2*cos(q3))), [/mm] also das was im linken Dreieck für die Länge des Beins eingezeichnet ist. Ich verstehe allerdings auch nicht warum der atan da nicht funktioniert. Der asin den du alternativ vorgeschlagen hast wenn sich die z-Achse mitdreht funktioniert allerdings auch nicht. Die z-Achse ist aber auf jedenfall fest, weil das Basiskoordinatensystem nicht mitgedreht wird.
Deine Formel für q1 stimmt allerdings auch nicht. Ich bekomme bei meinen Testwerten [mm] (q1=q2=q3=\bruch{\pi}{4}) [/mm] für q1 einen imaginären Wert. Irgendwie scheint die Rechnung immer fehlerhaft zu werden wenn man z oder x mit einbringt -.-. Der Wert für q3 stimmt allerdings für die Testwerte..
Zum Testen gebe ich Gelenkwinkel vor und berechne durch Einsetzen die Koordinaten x,y und z. Diese stecke ich dann in meine Gleichungen und schaue ob die gleichen Gelenkwinkel rauskommen. Da die mehrdeutig sind stecke ich das ganze dann noch mal in die Vorwärtskinematik und schaue ob ich wieder bei den gleichen Koordinaten lande. Das sollte eigentlich funktionieren oder?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 20:19 So 20.11.2011 | Autor: | Blech |
Hi,
> ja z wird einfach nur negativ gemessen. Allerdings funktioniert deine Formel für q2 auch nicht und ich kann mir absolut nicht erklären warum. Was zu funktionieren scheint ist q2 = $ [mm] \arcsin(y/(l1+l2\cdot{}cos(q3))), [/mm] $ also das was im linken Dreieck für die Länge des Beins eingezeichnet ist.
Dann ist aber das ganze Koordinatensystem Schwachsinn.
[mm] l1+l2\cdot{}cos(q3) [/mm] ist die Länge der Strecke AB.
Die Zeichnung impliziert, daß der Winkel [mm] $q_2$ [/mm] parallel zum Körper liegen soll. Aber kein Problem, könnte ja sein, daß in Wahrheit [mm] $q_2$ [/mm] der Winkel zwischen AB und AL sein soll.
Nur wäre dann die Gegenkathete nicht mehr y (sondern [mm] $\sqrt{y^2+x^2}$).
[/mm]
Damit Deine Formel stimmen kann, dürften x-y-z nicht orthogonal zueinander liegen. Nicht nur macht das uns das Leben unnötig kompliziert, wir wissen dann auch nicht, ob uns die anderen eingezeichneten Längen nicht ähnlich verarschen. (wenn y nicht in der Zeichenebene liegt, und x auch nicht, dann könnten x und y theoretisch die gleichen Längen meinen...)
> Ich bekomme bei meinen Testwerten $ [mm] (q1=q2=q3=\bruch{\pi}{4}) [/mm] $ für q1 einen imaginären Wert.
muß [mm] $\tan(\kappa)$ [/mm] statt [mm] $\sin(\kappa)$ [/mm] sein, oder alternativ
[mm] $\sin(\kappa)=\frac{x}{\sqrt{x^2+y^2+z^2}}$
[/mm]
ciao
Stefan
|
|
|
|
|
Na gut vielen Dank ich warte mal ab wie es in der Musterlösung gelöst wurde und versuche das nachzuvollziehen ^^
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:20 Di 22.11.2011 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|