Frage zur 3-D Helmert-Transformation (Geodäsie/Vermessung)

Der Wiener, Saturday, 24.08.2013, 00:46 (vor 4110 Tagen)

Ich habe ein Programm in Matlab geschrieben das iterativ die 7 Parameter einer Helmerttransformation berechnet. Die Rotationsmatrix habe ich mit Cayley-Parametern Parametrisiert. Alle drei Parameter zusammen werden auch als Gibs-vektor bezeichnet
Quelle z.B.: Rotationsparameter - Grundlagen für die Praxis; Von Ernst Heinrich Knickmeyer und Martin Nitschke, Neubrandenburg ZfV 9/1994
Die Parametrisierung hat den Nachteil dass man mit ihr keine Drehungen von 180 Grad beschreiben kann, ist so eine Art Singularität. Das heißt man kann eine absolut symmetrische Rotationsmatrix nicht in Cayley-Parameter ausdrücken.
Mein Problem ist es das das Programm (wurde mehrfach geprüft) nur dann sehr gut konvergiert (konvergiert bei nahezu jeden Startwert zur Lösung) wenn die gesuchte Rotationsmatrix für diese Parametrisierung näherungweise Singulär ist. Ist die gesuchte Rotationsmatrix asymmetrisch findet das Verfahren fast keine Lösung. Den Grund dafür kann ich einfach nicht finden. Das Internet (Google) findet zu diesem Problem nichts, zumindest habe ich nichts gefunden.
Ist jemanden schon mal was ähnliches unter die Augen gekommen / irgendwie bekannt?
Die Datensätze für die Beispiele wurden künstlich erzeugt, sind also bis auf ein Nachkommastellenrauschen Fehlerfrei und gut konfiguriert (Punkte spannen einen Würfel auf).

Mit freundlichen Grüßen

Daniel

Avatar

Frage zur 3-D Helmert-Transformation

MichaeL ⌂, Bad Vilbel, Saturday, 24.08.2013, 10:33 (vor 4109 Tagen) @ Der Wiener

Hallo Der Wiener,

Die Parametrisierung hat den Nachteil dass man mit ihr keine Drehungen von 180 Grad beschreiben kann, ist so eine Art Singularität.

Warum nutzt Du sie dann, wenn derartige Nachteile existieren? In der von Dir genannten Veröffentlichung finden sich Alternativen, die diese Probleme nicht aufweisen.

Das heißt man kann eine absolut symmetrische Rotationsmatrix nicht in Cayley-Parameter ausdrücken.

Eine Drehung um den Winkel 0 (Null) geht also schon mal nicht?

Ist die gesuchte Rotationsmatrix asymmetrisch...

Was bedeutet asymmetrisch? Wie sieht die aus? Kannst Du die mal zeigen? Wenn Du Deine Punkte mit einem anderen Verfahren prozessierst, wie sieht es dann aus?

Schöne Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Frage zur 3-D Helmert-Transformation

Wallraff, Saturday, 24.08.2013, 12:06 (vor 4109 Tagen) @ MichaeL

Hallo,

keine Ahnung, worum's geht, aber etwas zur Cayley-Transformation
hier im Anhang

Irgendwie war früher doch alles besser - und einfacher ...

Roland

Frage zur 3-D Helmert-Transformation

Der Wiener, Saturday, 24.08.2013, 15:56 (vor 4109 Tagen) @ Wallraff

Ich untersuche verschiedene Parametrisierungen auf Konvergenz. Quaternionen sind auch dabei, aber bei denen besteht dieses Problem nicht. Kardanwinkel werden auch verwendet obwohl sie Singularitäten aufweisen (die sich allerdings anders ausdrücken). Außerdem scheint diese Singularität der Cayley-Parameter nicht so schlimm zu sein, weil sie näherungsweise erricht werden kann, wenn auch nicht bis auf die letzte Kommastelle genau, was bei der heutigen Rechenschärfe fast keine rolle mehr spielt.

Eine Drehung um Null ist möglich, nur Drehungen um 180 Grad sind nicht möglich (die Einheitsmatrix stellt einen Sonderfall dar) so wie es auch in der Referenz von Walraff steht (Seite 9 die letzten Zeilen und folgende)
@ michael
Die von dir verlinke Rotationsmatrix nennt man glaube ich schiefsymmetrisch.
Mit asymmetrisch meine ich folgendes.

[ 0 0 1
0.866 0.5 0
0.5 0.866 0]

Diese Rotationsmatrix lässt sich problemlos mit Cayley-Parametern darstellen. Wenn die gesuchte Rotationsmatrix so ausschaut Konvergiert das Verfahren einfach nicht dabei ist es fast egal von welchen Startwert während es bei Symmetrischen Rotationsmatrizen von fast jedem Startwert zur Zielmatrix konvergiert.

MFG

Avatar

Frage zur 3-D Helmert-Transformation

MichaeL ⌂, Bad Vilbel, Saturday, 24.08.2013, 16:04 (vor 4109 Tagen) @ Der Wiener

Hallo,

Mit asymmetrisch meine ich folgendes.

[ 0 0 1
0.866 0.5 0
0.5 0.866 0]

Das ist keine Rotationsmatrix. Die Determinate ist nicht 1; R'*R liefert keine Einheitsmatrix usw.

Schöne Grüße
Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Frage zur 3-D Helmert-Transformation

Der Wiener, Saturday, 24.08.2013, 21:16 (vor 4109 Tagen) @ MichaeL

Hatte da ein Minus vergessen.

0 0 1
0.5 -0.86603 0
0.86603 0.5 0

Jetzt dürfte es näherungsweise 1 sein (Determinante)

Avatar

Frage zur 3-D Helmert-Transformation

MichaeL ⌂, Bad Vilbel, Sunday, 25.08.2013, 11:20 (vor 4108 Tagen) @ Der Wiener

Hi,

Hatte da ein Minus vergessen.
Jetzt dürfte es näherungsweise 1 sein (Determinante)

Ja, passt. Und wenn ich in dem Transformationsskript diese Punkte einsetze

     0     0     0         0         0         0
     0     1     0         0   -0.8660    0.5000
     1     0     2    2.0000    0.5000    0.8660
     2     2     5    5.0000   -0.7321    2.7321
     5     2     1    1.0000    0.7679    5.3301

erhalte ich auch Deine Matrix (im Rahmen der Rechenschärfe) zurück. Ich würde daher einen Fehler in Deiner Implementierung vermuten.

Gruß Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

RSS-Feed dieser Diskussion