# Gimbal Lock

Gimbal Lock ist in der Mechanik ein kritischer Zustand einer kardanischen Lagerung (englisch Gimbal). In diesem Zustand liegen zwei der möglichen drei Drehachsen parallel zueinander und das System hat dadurch einen Freiheitsgrad weniger. Die Bezeichnung wird ebenfalls für ein mathematisches Problem in der dreidimensionalen Simulation benutzt, bei dem Drehungen bezüglich bestimmter Achsen nicht mehr mit Hilfe von Drehoperatoren für vorher festgelegte Achsen zu realisieren sind.

## Mechanische Blockade einer kardanischen Lagerung

Bei einer kardanischen Aufhängung wird der zu lagernde Gegenstand von drei unabhängig beweglichen Lagern gehalten, die jeweils eine Rotation um eine Achse ermöglichen. Die erste der Achsen ist raumfest, die zweite Achse ist senkrecht dazu angeordnet und kann frei um die erste Achse rotieren. Die dritte Achse ist senkrecht zur zweiten Achse angeordnet und kann frei um diese rotieren. Der zu lagernde Gegenstand kann frei um die dritte Achse rotieren.
Durch geeignete Rotation der dritten Achse um die zweite Achse lässt sich erreichen, dass die dritte und die erste Achse parallel zueinander stehen. Damit ist eine Rotation des Gegenstands um eine Achse, die senkrecht sowohl auf der ersten als auch auf der zweiten Achse steht, nicht mehr möglich. Drehungen um diese Achse sind somit blockiert.
Bei mechanischen Systemen, wie der kardanischen Lagerung, ist bereits bei der Annäherung an diesen Zustand eine Einschränkung der Bewegungsfreiheit zu beobachten, da schon kleine Drehungen um die blockierte Achse erheblich größere Drehungen um die freien Achsen erfordern. Des Weiteren kommt es vor, dass eine ungenaue Positionierung bezüglich einer der beiden nahezu parallelen Achsen irrtümlich durch eine Rotation bezüglich der anderen Achse korrigiert wird. Das führt zu Ungenauigkeiten bei der Positionierung.

## Eingeschränkte Freiheitsgrade in der Navigation

Bei einem Flugzeug definiert man die Lage des Flugzeugs im Raum durch die Roll-, Nick- und Gierwinkel, die Drehungen des Flugzeugs durch Rotationen um die Längs-, Quer- und Hochachse kennzeichnen. In jeder Lage des Flugzeugs sind theoretisch Rotationen um alle drei Achsen möglich, das Flugzeug hat also drei unabhängige Freiheitsgrade.
Nach der Festlegung einer Referenzposition, beispielsweise als „Längs und Querachse parallel zur Horizontebene, Längsachse in Richtung Norden“, lässt sich die Lage des Flugzeugs ebenfalls durch drei voneinander unabhängiger Winkel bezüglich dieser Referenzposition eindeutig angeben:
* die Flugrichtung als der Winkel zwischen der Projektion der Längsachse des Flugzeugs auf die Horizontebene und einer Referenzrichtung in dieser Ebene
* der Steigwinkel als der Winkel zwischen der Längsachse des Flugzeugs und ihrer Projektion auf die Horizontebene
* der Rollwinkel als der Winkel zwischen der Querachse des Flugzeugs und ihrer Projektion auf die Horizontebene
Ein Gimbal Lock tritt dann auf, wenn die Projektion der Längsachse auf die Horizontebene verschwindet: Beim Flug senkrecht nach oben oder unten (Steigwinkel 90°) kann die Flugrichtung nicht beeinflusst werden, der Rollwinkel verändert sich durch Gierbewegungen (Drehungen um die Hochachse). Rollbewegungen (Drehungen um die Längsachse) wirken sich nicht auf einen der drei genannten Winkel aus. Sie verändern zwar den Winkel zwischen der Querachse des Flugzeugs und einer Referenzrichtung in der Horizontebene, dieser ist aber keiner der genannten Winkel und aus diesen auch nicht ableitbar.

## Ursache

Die Ursache für einen Gimbal Lock liegt darin, dass die Lage einer Drehachse von den Drehungen bezüglich der anderen beiden Drehachsen abhängig ist.

### Mathematische Beschreibung

Eine Drehung in drei Dimensionen um die Kardanwinkel $(\alpha ,\beta ,\gamma )$ lässt sich durch die Drehmatrix $\mathbf {R}$ darstellen. Sie lässt sich durch das Matrixprodukt von drei Matrizen darstellen, die jeweils nur von einem der Winkel abhängen.
    ${\mathbf {R} }={\begin{bmatrix}1&0&0\\0&\cos \alpha &-\sin \alpha \\0&\sin \alpha &\cos \alpha \end{bmatrix}}{\begin{bmatrix}\cos \beta &0&\sin \beta \\0&1&0\\-\sin \beta &0&\cos \beta \end{bmatrix}}{\begin{bmatrix}\cos \gamma &-\sin \gamma &0\\\sin \gamma &\cos \gamma &0\\0&0&1\end{bmatrix}}$
Ein Gimbal Lock tritt auf, wenn $\beta ={\tfrac {\pi }{2}}$ und somit $\cos \beta =0$ und $\sin \beta =1$ werden. Dann wird ${\mathbf {R} }$ zu:
    ${\begin{aligned}{\mathbf {R} }&={\begin{bmatrix}1&0&0\\0&\cos \alpha &-\sin \alpha \\0&\sin \alpha &\cos \alpha \end{bmatrix}}{\begin{bmatrix}0&0&1\\0&1&0\\-1&0&0\end{bmatrix}}{\begin{bmatrix}\cos \gamma &-\sin \gamma &0\\\sin \gamma &\cos \gamma &0\\0&0&1\end{bmatrix}}\\&={\begin{bmatrix}0&0&1\\\sin \alpha \cos \gamma +\cos \alpha \sin \gamma &-\sin \alpha \sin \gamma +\cos \alpha \cos \gamma &0\\-\cos \alpha \cos \gamma +\sin \alpha \sin \gamma &\cos \alpha \sin \gamma +\sin \alpha \cos \gamma &0\end{bmatrix}}\\&={\begin{bmatrix}0&0&1\\\sin(\alpha +\gamma )&\cos(\alpha +\gamma )&0\\-\cos(\alpha +\gamma )&\sin(\alpha +\gamma )&0\end{bmatrix}}\end{aligned}}$
In dieser Matrix taucht nur noch die Kombination $\alpha +\gamma$ auf. Das bedeutet, dass die zwei unabhängig gewählten Winkel $\alpha$ und $\gamma$ zu einer Transformation führen, die nur einen Parameter hat. Die Parameter sind nicht länger unabhängig voneinander. Dadurch ist einer der Freiheitsgrade verloren gegangen.

## Problemfelder

In der Praxis tritt ein Gimbal Lock bei der Navigation von Schiffen (besonders U-Booten und ROVs), der Luftfahrt und speziell der Raumfahrt auf, sowie in allen Anwendungen von kardanisch aufgehängten Kreiseln, hauptsächlich also bei Kreiselkompassen und Stabilisierungskreiseln (in Raumfahrzeugen).
Dabei ist es möglich, dass beide Achsen in der gleichen Orientierung folgen oder die Achsen in der Orientierung der jeweils anderen Achse weiterlaufen. Beide Fälle liefern eine falsch dargestellte Fluglage und einen falsch dargestellten Kurs, was zur Folge hat, dass die nachgeschalteten Steuerungen falsch reagieren und damit zu einer Verschlechterung der Lage führen. Dies schaukelt sich in der Raumfahrt zum unkontrollierten Taumeln auf. Beim Gemini-Programm wurde beispielsweise mit einem Kreiselkompass gearbeitet, der eine vierte Achse zum Gegensteuern hatte. Beim Kompass für Apollo-Raumschiffe wurde darauf verzichtet, im Space Shuttle ist die vierte Achse wieder eingebaut worden.
Der Apollo Guidance Computer, der gegenüber dem Gemini Guidance Computer wesentlich verbessert wurde, hatte im Anzeige- und Bedienteil eine Warnlampe für einen drohenden Gimbal Lock ab einer um 70° veränderten Achslage.

## Auflösung

* Bei mechanischen Lagerungen lässt sich das Problem durch Hinzufügen eines weiteren Lagers lösen. Im unkritischen Zustand ist die Bewegungsfreiheit bezüglich dieses Lagers redundant zu der bezüglich der drei bereits vorhandenen Lagerungen.
* Alternativ kann man das Problem abmildern, indem die Lage der Achsen bei Annäherung an den blockierten Zustand durch Stellmotoren verändert und somit die Blockade vermieden wird.
* Trägheitsnavigationssensoren verwenden drei voneinander unabhängige Lagesensoren (und drei Drehratensensoren), damit dieses Problem nicht auftritt. Die Daten werden dann elektronisch verrechnet.
* In Computermodellen, beispielsweise bei dreidimensionalen Simulationen oder einigen Computerspielen, lässt sich das Problem durch die Verwendung von Quaternionen umgehen. Eine weitere Lösung kann durch Umrechnung der globalen Orientierungen in lokale Koordinatensysteme erfolgen, gerade wenn Quaternionen nicht hilfreich sind.