Hallo Werner,
Bei der Angabe des Ergebnisses wird ja auch c=0 ausgegeben (s.o.)!
Genau das ist es ja was mich irritiert. Warum steht unter c eine 0 wenn ich angebe das meine Zielbasis um 3° in c verdreht ist
Basis1 = x 0, y 0, z 0, a 0, b 0, c 0 (Bezugsbasis von Punkt1) Basis2 = x 0, y 0, z 0, a 1, b 2, c 3 (Zielbasis von Punkt1)
Mir ist aufgefallen das du im vergleich zu meiner Rechnung das δ der winkel a,b,c folgender maßen rechnest:
Basis2.a - Basis1.a => 1-0=1
So komme ich auch auf das richtige Ergebnis (x 105,159 y -98,18 .....) mit den ersten beiden Matrizen.
Transformationen1.pdf (28 kb)
Jetzt habe ich mal richtige realistische rotationen wie sie in den Robotern vorkommen (ohne translation) hergenommen.
Ich habe wieder zwei basen. Diese haben den gleichen Ursprung aber sind in allen drei Achsen verdreht.
Basis1 = x 0, y 0, z 0, a -179,828308, b 1,62193894, c 0,310080767 (Bezugsbasis von Punkt1)
Basis2 = x 0, y 0, z 0, a 0, b 0, c 0 (Zielbasis von Punkt1)
Punkt1 = x 3331,3999, y -139,589905, z -146,998001, a -90,994133 , b -1,280123, c 0,310080767 (a, b, c ist erst mal uninteressant da dies die Orientierung des Roboterflansches oder des Werkzeuges ist)
Sobald ich nun die Transformationsberechnung bestätige, erhalte ich jetzt folgende Infos:
Translation = 0
Rotation a 179,837, b 1,623, c 0,305
Das Ergebnis ist dann folgendes:
Punkt1‘ = x -3325,471, y 148,2645, z -242,026, a 88,87099, b -1,002585, c -7,899083
Mein Ergebnis mit den Matrizen ist:
Punkt1‘ = x -3325,47141, y 149,5721, z -241,22026