65 Jahre bemannte Raumfahrt: Die Evolution der orbitalen Mechanik

TomS

Registriertes Mitglied
Wenn Du jetzt statt q "nur" ω normierst ändert das auch nicht viel am Problem. Das Problem ist folgendes:
  • Wenn ich Dir sage, ich habe das klassische Runge-Kutta-Verfahren 4. Ordnung (RK4) zusammen mit Eulerwinkeln benutzt, dann ist Dir im wesentlichen klar, was ich tue. Ich habe halt dynamische Gleichungen für die Eulerwinkel aufgestellt, und diese dann mittels RK4 integriert.
  • Wenn ich Dir aber sage, ich habe RK4 zusammen mit
    ddd222df7d0ab2de7b9da8293c19670bf668cb67
    benutzt, dann ist Dir noch nicht ganz klar, was ich wirklich tue. Vermutlich habe ich dynamische Gleichungen für θ und ω aufgestellt, diese mittels RK4 integriert, und mich dann "irgendwie" um die Norm von ω gekümmert.
Das Problem ist dieses "irgendwie", weil das halt mit der Steuerung des Systems interagieren kann, insbesondere wenn ich nicht so genau weiss, was ich wirklich tue.
Also ich habe zu effektive Feldtheorien mit nicht-linearen Sigma-Modellen gearbeitet, in denen exakt diese Ausdrücke auftreten – außer dass theta und omega Felder von x und t sind. Daher kann ich mir schon einigermaßen klar, um was es hier "irgendwie" geht.

Es gibt einen Trick, der aber je nach Anwendungsfall sinnvoll sein kann oder auch nicht. Man kann die Quaternionen – bzw. SU(2) Rotationen in der adjungierten Darstellung – auch darstellen mit nur drei Winkeln, die Problematik der Normierung eines Einheitsvektors entfällt damit.

Egal, du wirst dir das schon überlegt haben. Der eigtl. Vorteil bleibt: wenn man die Drehachse kennt, muss man nur noch einen Winkel betrachten. Die Euler-Darstellung ist nach meiner Erfahrung deutlich unhandlicher.
 

Jakito

Registriertes Mitglied
Also ich habe zu effektive Feldtheorien mit nicht-linearen Sigma-Modellen gearbeitet, in denen exakt diese Ausdrücke auftreten – außer dass theta und omega Felder von x und t sind. Daher kann ich mir schon einigermaßen klar, um was es hier "irgendwie" geht.
Du denkst viel zu kompliziert. Es ist ja nicht schwer, einen Vektor zu normieren. Ich könnte einfach q nach jedem RK4 Schritt durch seine Norm teilen. Oder ich könnte alternativ ω nach jedem RK4 Schritt durch seine Norm teilen. Oder ich könnte den Realteil von q so anpassen, dass q normiert bleibt, bzw. allgemeiner die betragsmäßig größte Koordinate von q anpassen. Oder ich könnte ... irgendwas anderes tun, z.B. irgendwas in der Art, was Du beschrieben hast. Diese Wahlfreiheit ist mit "irgendwie" gemeint.

Weil RK4 ein Einzelschritt-Verfahren ist, erscheint diese Wahlfreiheit zunächst harmlos. Allerdings will man sich eigentlich nicht ohne guten Grund die Möglichkeit nehmen, auch Multischritt-Verfahren benutzen zu können.

Es gibt einen Trick, der aber je nach Anwendungsfall sinnvoll sein kann oder auch nicht. Man kann die Quaternionen – bzw. SU(2) Rotationen in der adjungierten Darstellung – auch darstellen mit nur drei Winkeln, die Problematik der Normierung eines Einheitsvektors entfällt damit.
Ich glaube, wenn man dieses "auch darstellen mit nur drei Winkeln" benutzt, landet man wieder bei den gleichen Problemen wie mit den Euler-Winkeln.

Egal, du wirst dir das schon überlegt haben.
Ich habe mir gar nichts überlegt. Wenn ich Maiwald et al. direkt gefunden hätte, hätte ich versucht, dort die historischen und technischen Details nachzulesen. Es bringt Dir doch nichts, wenn ich mir jetzt irgendwas Schönes ausdenke, es aber in der Praxis aktuell ganz anders gemacht wird.

Der eigtl. Vorteil bleibt: wenn man die Drehachse kennt,
Wieso sollte man die Drehachse "kennen"? Die Drehachse unterliegt selbst doch auch einer Dynamik.
 

albertus

Registriertes Mitglied
Hallo TomS, hallo Jakito,

vielleicht kann ich präzisieren, warum die Normung in der Praxis eben doch kein Selbstläufer ist.

An TomS: Das Problem ist nicht die Normierung an sich (eine Division durch die Länge ist trivial), sondern die Zeitdiskretisierung. Wenn wir ein System mit einem Verfahren wie RK4 (Runge-Kutta 4) integrieren, berechnen wir den nächsten Zustand basierend auf Ableitungen. Bei Quaternionen lautet die kinematische Gleichung:

svg.image


In der Theorie bleibt |q| dabei konstant bei 1. In der numerischen Realität führen Rundungsfehler und die Diskretisierung dazu, dass das Ergebnis nach dem Integrationsschritt eben nicht mehr exakt 1 ist, sondern vielleicht 1,0000002.

Das Problem: Wenn ich diesen Fehler nicht korrigiere, ‚bläht‘ sich das Quaternion über tausende Rechenschritte auf (oder schrumpft). Das repräsentiert dann keine reine Rotation mehr, sondern verzerrt die gesamte Geometrie der Simulation.

An Jakito: Genau dieses ‚irgendwie darum kümmern‘ ist der Punkt. Wenn man nach jedem RK4-Schritt einfach stumpf normiert
svg.image
, führt man eine nicht-lineare Operation in ein lineares Integrationsschema ein. Das kann bei hochpräzisen Steuerungen (wie dem Station-Keeping eines Satelliten) zu künstlichen Instabilitäten führen.

Im Vergleich zu den Euler-Winkeln vermeiden wir zwar den Gimbal Lock (das ist der massive Vorteil, den TomS meinte), tauschen ihn aber gegen die Notwendigkeit ein, die unit-norm-constraint numerisch sauber mitzuführen. In professionellen Simulatoren nutzt man daher oft spezielle Integratoren, die direkt auf der
svg.image
(der Sphäre der Quaternionen) arbeiten, statt einfach nur zu normieren.
 

albertus

Registriertes Mitglied
Vermutlich würde sich TomS jetzt doch über die historischen und technischen Details freuen.
Das Problem der Fluglageregelung war schon bei Apollo die größte Kopfschmerz-Garantie. Die NASA-Ingenieure mussten sich entscheiden: Nutzen wir die klassischen Euler-Winkel (die für die Piloten intuitiv sind, weil sie Rollen, Nicken und Gieren verstehen) oder die damals noch exotischen Quaternionen?

Man entschied sich für eine hybride Lösung, kämpfte aber prompt mit dem Gimbal Lock. Berühmt ist der Moment bei Apollo 11, als Mike Collins im Command Module fast in eine solche Blockade geriet.

Was war passiert? Die Kreiselplattform der Apollo (IMU) hatte drei Achsen. Wenn zwei dieser Achsen parallel stehen – was bei einer Drehung von 90° passieren kann –, verliert das System einen Freiheitsgrad. Der Kreisel ‚flippt‘ umher, und die Orientierung geht verloren. Collins wurde per Funk gewarnt: ’Keep your Gimbals rolling!’ Er antwortete trocken: ’How about sending me a fourth gimbal for Christmas?’ – ein Insider-Witz, denn eine vierte Achse hätte das Problem mechanisch gelöst.

Heute lösen wir das Problem nicht mit Hardware (vierten Achsen), sondern mit Software (Quaternionen). Dass wir uns heute ‚nur‘ noch über numerische Drifts beim RK4-Verfahren unterhalten, ist im Vergleich zum mechanischen Festfahren einer Kreiselplattform bei Apollo eigentlich ein purer Luxus der Rechenleistung.

Vielleicht ist das der Grund, warum wir heute so leidenschaftlich über Rundungsfehler diskutieren – es ist der Preis dafür, dass uns kein Gimbal Lock mehr den Flugtag verdirbt.
 

TomS

Registriertes Mitglied
Hallo TomS, hallo Jakito,

vielleicht kann ich präzisieren, warum die Normung in der Praxis eben doch kein Selbstläufer ist.

An TomS: Das Problem ist nicht die Normierung an sich (eine Division durch die Länge ist trivial), sondern die Zeitdiskretisierung. Wenn wir ein System mit einem Verfahren wie RK4 (Runge-Kutta 4) integrieren, berechnen wir den nächsten Zustand basierend auf Ableitungen. Bei Quaternionen lautet die kinematische Gleichung:

svg.image


In der Theorie bleibt |q| dabei konstant bei 1. In der numerischen Realität führen Rundungsfehler und die Diskretisierung dazu, dass das Ergebnis nach dem Integrationsschritt eben nicht mehr exakt 1 ist, sondern vielleicht 1,0000002 …

In professionellen Simulatoren nutzt man daher oft spezielle Integratoren, die direkt auf der
svg.image
(der Sphäre der Quaternionen) arbeiten, statt einfach nur zu normieren.
Genau letzteres meinte ich mit
… die Quaternionen – bzw. SU(2) Rotationen in der adjungierten Darstellung – auch darstellen mit nur drei Winkeln

png.image


… die Problematik der Normierung eines Einheitsvektors entfällt damit.

Wieso sollte man die Drehachse "kennen"? Die Drehachse unterliegt selbst doch auch einer Dynamik.
Wenn man die DGLs für die Drehachse löst kennt man sie zu jedem Zeitpunkt. Wenn sie extern vorgegeben ist, stellt sich das Problem nicht.

Es wäre hilfreich, mal die DGLs zu sehen, die zu lösen sind.
 
Zuletzt bearbeitet:

albertus

Registriertes Mitglied
Hallo TomS,

da du die DGLs ansprichst: In der Praxis arbeiten wir meist mit der kinematischen Gleichung der Quaternionen, die die zeitliche Ableitung
svg.image
mit der Winkelgeschwindigkeit
svg.image
verknüpft:

svg.image


Hier sieht man das Dilemma: Die Sensoren (Gyroskope) liefern uns
svg.image
als physikalischen Messwert in drei Achsen. Wenn wir, wie von dir vorgeschlagen, auf eine Darstellung mit nur drei Winkeln umsteigen, um die Normierung zu umgehen, erkaufen wir uns an den Singularitäten (den 'Polen' der Drehung) eine massive numerische Instabilität. Die Ableitungen der Euler-Winkel gehen dort gegen Unendlich.

In der Satellitentechnik ist man daher pragmatisch: Man akzeptiert die vierte Komponente der Quaternionen und die damit verbundene Redundanz. Der 'Preis' der gelegentlichen Re-Normierung ist verschwindend gering gegenüber dem Risiko, in eine mathematische Singularität zu laufen.

Letztlich ist es ein Zusammenspiel: Der Sternensensor liefert uns in festen Intervallen die absolute Orientierung (den 'Reset' für unsere Quaternionen), während die Reaktionsräder die Stellbefehle ausführen, die wir aus diesen DGLs ableiten. Die Mathematik ist hier nur der Diener der Hardware, um den Satelliten stabil auf Kurs zu halten.
 

TomS

Registriertes Mitglied
Wenn wir, wie von dir vorgeschlagen, auf eine Darstellung mit nur drei Winkeln umsteigen, um die Normierung zu umgehen, erkaufen wir uns an den Singularitäten (den 'Polen' der Drehung) eine massive numerische Instabilität. Die Ableitungen der Euler-Winkel gehen dort gegen Unendlich.
Die Eulerwinkel bezeichnen Drehwinkel bzgl. externer, fester Achsen. Diese Eulerwinkel kommen aber in der Darstellung mittels Quaternionen nicht vor; die drei von mir genannten Winkel sind nicht die Eulerwinkel.

In der Satellitentechnik ist man daher pragmatisch: Man akzeptiert die vierte Komponente der Quaternionen und die damit verbundene Redundanz.
Welche Redundanz? Es gibt die momentane Richtung der Rotationsachse und einen Rotationswinkel um dieselbe.

Ich sehe bzw. verstehe das Problem immer noch nicht.

Vermutlich steckt es darin:
Letztlich ist es ein Zusammenspiel: Der Sternensensor liefert uns in festen Intervallen die absolute Orientierung (den 'Reset' für unsere Quaternionen), während die Reaktionsräder die Stellbefehle ausführen, die wir aus diesen DGLs ableiten.
Daher wäre die gesamte DGL interessant, nicht nur ein Teil.
 
Zuletzt bearbeitet:

albertus

Registriertes Mitglied
wieso gibt es da eine Redundanz ?
Hallo Ralf, das ist eine berechtigte Frage! Die Redundanz ergibt sich aus der rein mathematischen Struktur. Um eine Drehung im dreidimensionalen Raum eindeutig zu beschreiben, reichen theoretisch drei Werte aus (denk an die klassischen Euler-Winkel: Rollen, Nicken, Gieren).
Ein Quaternion benutzt aber vier Komponenten: q = (w, x, y, z).

Die Redundanz liegt in der Bedingung der Einheitslänge:

Damit ein Quaternion eine gültige Drehung darstellt, muss seine Norm (seine 'Länge') immer exakt 1 sein:

svg.image


Das bedeutet: Die vier Zahlen sind nicht völlig unabhängig voneinander. Wenn ich drei Werte kenne, ist der vierte durch diese Gleichung (bis auf das Vorzeichen) bereits festgelegt. Man hat also 'eine Zahl zu viel' im Gepäck.

Warum macht man das trotzdem?

In der Satellitentechnik nehmen wir diese Redundanz dankend an, weil sie uns von den fiesen Singularitäten der 3-Winkel-Systeme befreit (kein Gimbal Lock!). Es ist ein bisschen wie ein Reserverad im Auto: Es braucht Platz und wiegt etwas (Redundanz), aber wenn es hart auf hart kommt, sorgt es dafür, dass man nicht liegen bleibt.

Diese 'überflüssige' Information nutzen wir im Bordcomputer sogar zur Fehlerdiagnose: Weicht die Norm des Quaternions durch Rechenungenauigkeiten von 1 ab, wissen wir sofort, dass unser numerisches Modell 'driftet' und nachjustiert werden muss – oft durch einen Abgleich mit dem Sternensensor."
 

albertus

Registriertes Mitglied
Die Eulerwinkel bezeichnen Drehwinkel bzgl. externer, fester Achsen. Diese Eulerwinkel kommen aber in der Darstellung mittels Quaternionen nicht vor; die drei von mir genannten Winkel sind nicht die Eulerwinkel.

Welche Redundanz? Es gibt die momentane Richtung der Rotationsachse und einen Rotationswinkel um dieselbe.

Ich sehe bzw. verstehe das Problem immer noch nicht.

Vermutlich steckt es darin:

Daher wäre die gesamte DGL interessant, nicht nur ein Teil.
Hallo TomS, hallo Ralf, ich glaube, wir kommen zum Kern der Sache. Wenn du, TomS, von drei Winkeln sprichst, meinst du vermutlich den Rotationsvektor, bei dem die Richtung die Achse und der Betrag den Winkel angibt. Das ist mathematisch elegant, aber in der numerischen Integration (RK4) am Bordcomputer tückisch.

Zur Redundanz (für Ralf):

Ein Einheitsquaternion hat 4 Komponenten (q_0, q_1, q_2, q_3), beschreibt aber nur 3 Freiheitsgrade. Die 'Redundanz' ist die Zwangsbedingung
svg.image
. Wir schleppen also eine vierte Variable mit, die durch diese Gleichung starr an die anderen gebunden ist. Warum? Weil die Kinematik in Quaternionen linear ist. Nutze ich nur drei Parameter, werden die Gleichungen bei großen Drehungen nichtlinear und enthalten oft trigonometrische Funktionen oder Divisionen durch Null (Singularitäten) – genau das, was man im Orbit nicht gebrauchen kann.

Zu der DGL (für TomS):

Du wolltest das Gesamtbild sehen. Hier ist die Kopplung von Kinematik und Dynamik, wie sie ein Satellit berechnet:
  1. Kinematik:
    svg.image
    (Die Änderung der Lage durch die aktuelle Drehung).
  2. Dynamik (Euler-Gleichung):
    svg.image
    • J ist der Trägheitstensor.
    • svg.image
      sind Störmomente (z.B. Restatmosphäre).
    • svg.image
      ist das Drehmoment unserer Reaktionsräder.
Der springende Punkt:

Der Bordcomputer muss diese Gleichungen permanent lösen. Wenn nun der Sternensensor eine Abweichung zur berechneten Lage q meldet, wissen wir, dass unsere Integration gedriftet ist. Wir nutzen dann das Fehlersignal, um die Drehzahlen der Reaktionsräder anzupassen.

Die Quaternionen sind dabei nur das 'Schmiermittel', damit der Rechner stabil bleibt, egal wie wild der Satellit trudelt. Ohne die vierte Komponente würde uns der Algorithmus bei bestimmten Orientierungen einfach 'einfrieren' oder gegen Unendlich laufen.
 

ralfkannenberg

Registriertes Mitglied
Ein Quaternion benutzt aber vier Komponenten: q = (w, x, y, z).

Die Redundanz liegt in der Bedingung der Einheitslänge:

Damit ein Quaternion eine gültige Drehung darstellt, muss seine Norm (seine 'Länge') immer exakt 1 sein:

svg.image
Hallo Astrofreund,

besten Dank. Noch eine Frage: ich hatte gedacht, dass diese Normierung daher kommt, dass Drehungen längen-invarint sind.


Freundliche Grüsse, Ralf
 

albertus

Registriertes Mitglied
Hallo Rolf, da hast du absolut recht und einen sehr wichtigen Punkt getroffen!

Genau das ist der physikalische Kern: Drehungen sind isometrische Abbildungen. Das bedeutet, sie verändern weder die Abstände zwischen Punkten noch die Länge von Vektoren. Wenn du ein Objekt im Raum drehst, bleibt es ja (idealerweise) starr und verformt sich nicht.

Vom physikalischen Prinzip zur mathematischen Normierung:
  • Längeninvarianz: Da die Drehung die Geometrie nicht verändern darf, muss der 'Operator', der diese Drehung beschreibt (in unserem Fall das Quaternion), selbst die 'Länge 1' haben. Wäre die Norm des Quaternions größer als 1, würde das Objekt bei jeder berechneten Drehung wachsen; wäre sie kleiner, würde es schrumpfen.
  • Die numerische Realität: In der reinen Theorie bleibt diese Länge (Norm) bei jeder Multiplikation von Einheitsquaternionen exakt 1. Aber wie ich schon erwähnte: In der Praxis des Bordcomputers führen Rundungsfehler dazu, dass aus der 1 irgendwann eine 0,999999 oder 1,000001 wird.
  • Die Korrektur: Weil wir aber wissen, dass Drehungen längeninvariant sein müssen, nutzen wir diese physikalische Vorgabe, um das Quaternion künstlich wieder auf 1 zu stutzen (zu normieren).
Man nutzt also die physikalische Invarianz als 'Anker', um die Rechenfehler der Software wieder einzufangen. Ohne diese Normierung würde das virtuelle Raumschiff in der Simulation nach ein paar tausend Rechenschritten entweder riesig groß werden oder im mathematischen Nichts verschwinden.

Du siehst: Deine theoretische Überlegung ist genau der Grund, warum wir in der Praxis diesen Rechenschritt überhaupt machen müssen!
 

TomS

Registriertes Mitglied
Wenn du, TomS, von drei Winkeln sprichst, meinst du vermutlich den Rotationsvektor, bei dem die Richtung die Achse und der Betrag den Winkel angibt.
Im wesentlichen ja. Das ist zumindest das übliche Verständnis der Darstellung der Rotation mittels Quanternionen bzw. SU(2)-Matrizen.

Das ist mathematisch elegant, aber in der numerischen Integration (RK4) am Bordcomputer tückisch.
Ich nehme das mal so hin, ich würde aber gerne auch den Grund verstehen. Bei der Darstellung mittels Eulerwinkeln ist mir das Problem klar.

Zur Redundanz (für Ralf):

Ein Einheitsquaternion hat 4 Komponenten (q_0, q_1, q_2, q_3), beschreibt aber nur 3 Freiheitsgrade. Die 'Redundanz' ist die Zwangsbedingung
svg.image
. Wir schleppen also eine vierte Variable mit, die durch diese Gleichung starr an die anderen gebunden ist.
Nur, wenn man das mittels vier Variablen modelliert. Die SU(2)-Darstellung von Einheitsquaternionen kommt aber mit drei Freiheitsgraden = Winkeln aus, und die Darstellung garantiert trivialerweise die Unitarität.

Warum? Weil die Kinematik in Quaternionen linear ist. Nutze ich nur drei Parameter, werden die Gleichungen bei großen Drehungen nichtlinear und enthalten oft trigonometrische Funktionen oder Divisionen durch Null (Singularitäten) – genau das, was man im Orbit nicht gebrauchen kann.
Die Gleichungen sind immer nichtlinear.

Ob du sie künstlich linearisierst indem du einen unphysikalischen Freiheitsgrad einführst, den du letztlich über eine Zwangsbedingung wieder eliminierst und dadurch die Nichtlinearität zurückerhältst, oder ob du direkt mit einer nichtlinearen Gleichung arbeitest, das System ist sicher nichtlinear.

Zu der DGL (für TomS):

Du wolltest das Gesamtbild sehen. Hier ist die Kopplung von Kinematik und Dynamik, wie sie ein Satellit berechnet:
  1. Kinematik:
    svg.image
    (Die Änderung der Lage durch die aktuelle Drehung).
  2. Dynamik (Euler-Gleichung):
    svg.image
    • J ist der Trägheitstensor.
    • svg.image
      sind Störmomente (z.B. Restatmosphäre).
    • svg.image
      ist das Drehmoment unserer Reaktionsräder.
Danke!

Und welche Größen würdest du nun wie mittels Quaternionen darstellen? In deiner zweiten Gleichung kommt überhaupt kein q vor.

Für mein Verständnis fehlt da noch was.

Ohne die vierte Komponente würde uns der Algorithmus bei bestimmten Orientierungen einfach 'einfrieren' oder gegen Unendlich laufen.
Warum sollte das so sein? Das mag für die Darstellung mittels Eulerwinkeln so sein, aber welche Größe friert bei Quaternionen ein? Oder welche kann unendlich werden?

Du musst nicht alles hier reinschreiben, man kann das doch sicher irgendwo nachlesen.
 
Zuletzt bearbeitet:

albertus

Registriertes Mitglied
Hallo TomS, natürlich kann man das nachlesen – aber der Teufel steckt in der numerischen Implementierung. Wenn du eine exakte Quelle für die mathematische Tiefe suchst: Die Standardreferenz, in der die Überlegenheit der Quaternionen-Kinematik gegenüber 3-Parameter-Darstellungen (wie Euler-Winkeln oder Rodrigues-Parametern) hergeleitet wird, ist:

James R. Wertz (Hrsg.): 'Spacecraft Attitude Determination and Control', Erstausgabe 1978 (erschienen bei Kluwer/Springer), z. B. ISBN-13: 978-9027709592.

Dort wird detailliert gezeigt, warum die 4-Komponenten-Darstellung für die Lageregelung das Maß der Dinge ist.

Um deine fachlichen Punkte aufzugreifen:
  1. Singularitäten: Jedes System mit nur 3 Parametern
    svg.image
    hat topologisch bedingt irgendwo eine Singularität – oft bei
    svg.image
    oder
    svg.image
    . In der theoretischen Mathematik ist das elegant, im Bordcomputer führt das zu Divisionen durch Null. Ein Integrator wie der RK4 'explodiert' dort schlichtweg. Quaternionen sind eine globale Parametrisierung ohne diese Löcher.
  2. Die Linearität der Kinematik: Du hast recht, das Gesamtsystem ist nichtlinear. Aber die kinematische Differentialgleichung der Quaternionen
    svg.image
    ist bilinear. Bei bekannter Drehrate
    svg.image
    ist sie für q absolut linear. Das ist der heilige Gral für die numerische Stabilität und Rechengeschwindigkeit im Echtzeit-Betrieb.
  3. Die Kopplung: Das q taucht in der Euler-Gleichung (Dynamik) deshalb nicht auf, weil wir dort im satellitenfesten System rechnen. Aber die Störmomente (wie das magnetische Restmoment oder der Strahlungsdruck) hängen massiv von der aktuellen Orientierung q gegenüber der Erde oder Sonne ab. Ohne q keine korrekte Dynamik.
Kurz gesagt: Wir nutzen die vierte Variable nicht aus mathematischer Spielerei, sondern als Überlebensstrategie für den Bordcomputer, um die Singularitäten der 3-Parameter-Welt zu umgehen. Die Zwangsbedingung
svg.image
ist ein kleiner Preis für die globale Stabilität im All.
 

ralfkannenberg

Registriertes Mitglied
Die Zwangsbedingung
svg.image
ist ein kleiner Preis für die globale Stabilität im All.
Hallo Astrofreund,

irgendwie kann ich mir das Ganze immer noch nicht so richtig vorstellen: zum einen führt so ein zusätzlicher Freiheitsgrad zu unendlich vielen Lösungen. Zum anderen: betrachten wir so einen Einheitsvektor - auch der wird von einem endlichen Speicherraum ausgehend nicht exakt berechnet, obgleich er die Länge 1 aufweist. Der zeigt dann einfach ein bisschen in eine andere Richtung.

Wiegt man sich mit der Normierung nicht einfach nur in einer trügerischen Sicherheit ? - Die Erfahrung zeigt, dass dem nicht so ist, aber was genau sorgt für die Stabilität bzw. für das robuste Ergebnis ?


Freundliche Grüsse, Ralf
 

TomS

Registriertes Mitglied
@albertus
  1. Ich würde dir das gerne mit der Singularität glauben, aber erstens sehe ich hier nirgendwo eine, und zweitens ist die SO(3) eine überall glatte Mannigfaltigkeit. Was problematisch sein kann, ist das Koordinatensystem auf der SO(3). U.a. für Eulerwinkel ist das bekannt, aber die o.g. Darstellung mittels SU(2) ist regulär.
  2. Ok. Also das heißt, man nimmt die Redundanz in den Freiheitsgraden bewusst in Kauf.
  3. Ok. Ich tue mir nur schwer, eure Argumente nachzu vollziehe.
 

Jakito

Registriertes Mitglied
1. Ich würde dir das gerne mit der Singularität glauben, aber erstens sehe ich hier nirgendwo eine, und zweitens ist die SO(3) eine überall glatte Mannigfaltigkeit. Was problematisch sein kann, ist das Koordinatensystem auf der SO(3). U.a. für Eulerwinkel ist das bekannt, aber die o.g. Darstellung mittels SU(2) ist regulär.
Die Singularität Deiner Darstellung befindet sich an der Identität. Damit meine ich, Deine "Überlagerung" ist in der Umgebung der Identität nicht "trivial".
Das "Problem" ist, wenn Du Dich um 360 Grad um eine gegebene Achse im Raum drehst, dann landest Du wieder bei der Identität. Aber es ist egal, um welche Achse Du Dich um 360 Grad gedreht hast. Deshalb enthält das Urbild der Identität eine 2-dimensionale Teilmenge des 3-dimensionalen Raumes, wohingegen die Urbilder aller Rotationen in der Umgebung der Identität "nur" diskret sind.
 

TomS

Registriertes Mitglied
ii
Die Standardreferenz, in der die Überlegenheit der Quaternionen-Kinematik gegenüber 3-Parameter-Darstellungen (wie Euler-Winkeln oder Rodrigues-Parametern) hergeleitet wird, ist:

James R. Wertz (Hrsg.): 'Spacecraft Attitude Determination and Control', Erstausgabe 1978 (erschienen bei Kluwer/Springer), z. B. ISBN-13: 978-9027709592.
Ich muss suchen, ob ich da irgendwie Zugriff erhalten kann. Ich denken aber, hier
… die Überlegenheit der Quaternionen-Kinematik gegenüber 3-Parameter-Darstellungen wie Euler-Winkeln oder Rodrigues-Parametern …
liegt evtl. ein Missverständnis zugrunde.

Das war mir von Beginn an klar. Deswegen schrieb ich oben auch
… die Quaternionen – bzw. SU(2) Rotationen in der adjungierten Darstellung – auch darstellen mit nur drei Winkel
png.image

… die Problematik der Normierung eines Einheitsvektors entfällt damit.

Dann hat mich das hier
Jedes System mit nur 3 Parametern
svg.image
hat topologisch bedingt irgendwo eine Singularität …Ein Integrator wie der RK4 'explodiert' dort schlichtweg. Quaternionen sind eine globale Parametrisierung ohne diese Löcher.
stutzig gemacht.

Darin stecken mehrere Probleme: Nein, die SO(3) hat nirgendwo eine Singularität, wenn, dann sind es die Koordinaten auf der SO(3). Ja, die Quaternionen sind eine mögliche Lösung. Aber, wenn "RK4 explodiert", dann doch wiederum deswegen, weil eine Singularität künstlich eingeführt wurde, und weil möglicherweise zusätzlich der Lösungsansatz die zugrundeliegende Symmetrie verletzt – er führt von der Einheitskugel weg, d.h. er ist liefert keine reine Rotation.

Der triviale Integrationsansatz

png.image


ist also ebenfalls problematisch, und zwar unabhängig von den Koordinaten auf SO(3). Man nutzt stattdessen

png.image


was die Norm exakt erhält (gegen Rundungsfehler ist man nie gefeit, das muss man natürlich separat betrachte, hat insbs. nichts mit den speziellen Problemen der SO(3) zu tun.

Ich gehe davon aus, dass dieser nur theoretisch möglich ist, man praktisch aber RK4 verwenden möchte. Also betrachtet man wie

png.image

png.image

png.image


wobei die Terme für kleine Zeitschritte sehr schnell konvergieren und die Kommutatoren algebraisch unkritisch sein sollten.

Daraus erhält man dann "Runge-Kutta auf Lie-Gruppen" bzw. Runge-Kutta-Munth-Kaas. Das erlaubt analoge Methoden zu RK4, erhält automatisch die Norm, verzichtet auf einen künstlichen vierten Freiheitsgrad, erfordert keine speziellen Koordinaten der SO(3) (Euler, Rodrigues-Parametern) sondern arbeitet allgemein mit der Algebra so(3) …
 

TomS

Registriertes Mitglied
Die Singularität Deiner Darstellung befindet sich an der Identität. Damit meine ich, Deine "Überlagerung" ist in der Umgebung der Identität nicht "trivial".
Wenn du das in Formeln fassen könntest wäre mir sehr geholfen. Was bitte ist denn an dieser Darstellung einer Lie-Gruppe mittels der Lie-Algebra singulär? Eine Lie-Gruppe ist überall glatt, insbs. an der Eins, wo die Algebra definiert wird. Was du meinst ist evtl. die Tatsache, dass die SO(3) im Gegensatz zur SU(2) nicht einfach zusammenhängend ist. Das spielt aber für lokale Berechnungen keine Rolle.

Siehe auch mein letzter Beitrag; evtl. benötigt man überhaupt keine problematischen Koordinaten.
 
Zuletzt bearbeitet:
Oben