Ich versuche zu verstehen, wie man verwendet, was es erfordert, um die homogene Transformationsmatrix zu berechnen.

Ich kenne 2 Punkte aus 2 verschiedenen Frames und 2 Ursprünge aus den entsprechenden Frames.

Ich sehe aus, wie eine Transformationsmatrix aussieht, aber was mich verwirrt, ist, wie ich den (3×1) Positionsvektor berechnen soll, den die Matrix benötigt. Soweit ich weiß, ist dieser Vektor ein Ursprung des alten Rahmens im Vergleich zum neuen Rahmen. Aber wie man es berechnet, die offensichtliche Antwort (glaube ich) wäre, beide zu subtrahieren ($ O_ {new} – O_ {old} $), aber es fühlt sich nicht richtig an.

Ich weiß, dass es eine einfache Frage ist, aber mein Kopf kann dieses Problem nicht umgehen, und wie kann ich es mit den mir bekannten Informationen auf die richtige Weise beweisen?

Antwort

Eine homogene Transformationsmatrix $ H $ wird häufig als Matrix verwendet, um Transformationen von einem Frame zu einem anderen Frame durchzuführen, ausgedrückt im vorherigen Frame . Der Translationsvektor enthält somit [x, y (, z)] Koordinaten des letzteren Rahmens, ausgedrückt im ersteren. Vielleicht beantwortet dies bereits Ihre Frage, aber im Folgenden finden Sie eine ausführlichere Erklärung.

Die Transformationsmatrix enthält Informationen zu Rotation und Translation und gehört zur speziellen eukledianischen Gruppe $ SE (n) $ in $ n $ -D. Es besteht aus einer Rotationsmatrix $ R $ und einem Translationsvektor $ r $. Wenn wir keine Scherung zulassen, enthält die Rotationsmatrix nur Informationen über die Rotation und gehört zur orthonormalen Gruppe $ SO (n) $. Wir haben:

$$ H = \ begin {bmatrix} R & r \\ \ bar {0} & 1 \ end {bmatrix} $$

Definieren wir $ H ^ a_b $ die Transformationsmatrix, die den Koordinatenrahmen $ \ Phi_b $ in $ \ Phi_a $ ausdrückt, ausgedrückt in $ \ Phi_a $. $ \ Phi_a $ kann Ihr Ursprung sein, aber es kann auch ein anderer Frame sein.

Sie können die Transformationsmatrix verwenden, um einen Punkt $ p = [p_x \ p_y] ^ \ top $ (Vektoren) auszudrücken. in einem anderen Rahmen: $$ P_a = H ^ a_b \, P_b $$ $$ P_b = H ^ b_c \, P_c $$ mit $$ P = \ begin {bmatrix} p \\ 1 \ end {bmatrix} $$ The Das Beste daran ist, dass Sie sie wie folgt stapeln können: $$ P_a = H ^ a_b H ^ b_c \, P_c = H ^ a_c \, P_c $$ Hier ein kleines 2D-Beispiel. Betrachten Sie einen Frame $ \ Phi_b $ übersetzt $ [ 3 \ 2] ^ \ top $ und gedreht $ 90 ^ \ circ $ Grad in Bezug auf $ \ Phi_a $. $$ H ^ a_b = \ begin {bmatrix} \ cos (90 ^ \ circ) & – \ sin (90 ^ \ circ) & 3 \\ \ sin (90 ^ \ circ) & \ cos (90 ^ \ circ) & 2 \\ 0 & 0 & 1 \ end {bmatrix} = \ begin {bmatrix} 0 & -1 & 3 \\ 1 & 0 & 2 \\ 0 & 0 & 1 \ end {bmatrix} $$ Ein Punkt $ p_b = [3 \ 4] ^ \ top $, ausgedrückt in Frame $ \ Phi_b $, ist $$ \ begin {bmatrix} p_ {a, x} \\ p_ {a, y} \\ 1 \ end {bmatrix} = \ begin {bmatrix} 0 & -1 & 3 \\ 1 & 0 & 2 \\ 0 & 0 & 1 \ end {bmatrix} \ begin {bmatrix} 3 \\ 4 \\ 1 \ end {bmatrix} = \ begin {bmatrix} -1 \\ 5 \\ 1 \ end {bmatrix} \ to p_a = \ begin {bmatrix} -1 \\ 5 \ end {bmatrix} $$ Versuchen Sie, eine Zeichnung zu erstellen, um Ihr Verständnis zu verbessern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.