Blocage de cardan et quaternions

Réglez les trois angles. Le cardan pivote et les anneaux se déplacent. Le panneau affiche ensuite la part de liberté restante sur les trois axes. Il combine alors le lacet et le roulis, puis les oppose, pour vous montrer laquelle de ces deux actions n'a plus aucun effet.

Chargement de la simulation interactive...

Leçon

La théorie — Blocage de cardan et quaternions

Un cardan se compose de trois anneaux imbriqués, chacun libre de pivoter autour de son propre axe. Trois anneaux, trois angles, et toutes les orientations possibles. Jusqu'au moment où deux de ces anneaux s'alignent. Le blocage de cardan correspond à cet instant précis. Les anneaux extérieur et intérieur partagent un même plan et leurs deux angles remplissent la même fonction. Toute une direction de rotation devient alors inaccessible, quelle que soit la position des anneaux. Un quaternion constitue l'autre méthode pour noter une rotation. Il comporte quatre nombres au lieu de trois et ne possède aucun anneau susceptible de s'aligner.

Ce que signifie chaque symbole

ψ, θ, φ
le lacet, le tangage et le roulis. Ce sont les trois angles des anneaux, appliqués dans cet ordre autour de z, puis du nouveau y, puis du nouveau x
q
le quaternion (w, x, y, z). La valeur w = cos(α/2) représente une rotation unique de α. Le reste correspond à sin(α/2) multiplié par l'axe de cette rotation
|cos θ|
la liberté restante. C'est la taille du déterminant de la transformation liant les vitesses des anneaux à la rotation du corps. Il vaut 1 lorsque les anneaux sont orthogonaux et 0 lorsque deux d'entre eux sont parallèles

Comment lire ce que vous voyez

La page s'ouvre sur un lacet de 30°, un tangage de 60° et un roulis de 20°. La ligne du quaternion affiche 0,8463, 0,0178, 0,5145, 0,1369. La ligne du dessous traduit cela en ce que c'est réellement : une rotation unique de 64,4° autour d'un axe proche de y. La liberté indique 50,0 %, ce qui correspond exactement à cos 60°. Les deux lignes de test affichent 5,2° et 19,3°. Ces valeurs changent encore, mais plus de la même quantité. Tirez le tangage jusqu'à 90° et la première d'entre elles tombe à 0,0°.

Suppose
Que les trois rotations se produisent dans cet ordre et autour de ces axes. Adoptez la convention z-y-z et le repli se déplacera vers un angle central de 0° au lieu de 90°, sans pour autant disparaître. Chaque système à trois angles possède nécessairement une configuration bloquée. Il s'agit d'un théorème fondamental sur la rotation tridimensionnelle, et non du défaut d'une convention particulière.
Ne tient plus quand
Le système ne tombe pas en panne, c'est précisément le sujet. La plateforme de guidage d'Apollo comportait trois cardans au lieu de quatre. L'équipage devait contourner une zone d'attitudes au lieu de la traverser, et l'alternative consistait à utiliser un quatrième anneau plus lourd. L'idée fausse est de croire qu'une plus grande précision aide. À 90°, le troisième degré de liberté a disparu, il n'est pas simplement devenu restreint. Et aucun nombre de décimales pour le lacet ou le roulis ne le récupérera.

Le blocage de cardan est une pente, et tout le monde le décrit comme une falaise 🖖

Augmentez le tangage depuis l'horizontale et observez la ligne de liberté. Elle vaut |cos θ| : 86,6 % à 30°, 50,0 % à 60°, 17,4 % à 80° et 1,7 % à 89°. Rien de brusque n'arrive à ce nombre à 90°. Ce dernier degré ne coûte presque rien. Il ne restait déjà pratiquement plus rien à perdre. Une plateforme suivant un tangage de 80° n'obtient plus qu'un sixième de la rotation qu'elle avait à l'horizontale pour un même mouvement des anneaux. C'est précisément ce que le mot « blocage » dissimule. Cette valeur correspond au déterminant de la transformation liant les vitesses des anneaux à la rotation réelle du corps. Elle représente le volume de rotation par unité de mouvement des anneaux. Elle devient donc infime bien avant que ces derniers ne soient parallèles.

Faites un tour complet et le quaternion vous dira le contraire 🖖

Un quaternion inclut cos(α/2) pour une rotation de α. Il compte ainsi les demi-tours. Effectuez une rotation de 360° autour de z et il affichera −1, 0, 0, 0, et non le 1, 0, 0, 0 de départ. Il faut atteindre 720° pour qu'il revienne à son état initial. Ces deux valeurs décrivent la même orientation, puisque q et −q désignent le même corps. Le quaternion conserve donc la trace d'un événement que l'objet lui-même a oublié. Il ne s'agit pas d'un simple hasard de notation. L'interpolation doit en tenir compte. La règle de l'arc le plus court inverse le signe lorsque deux quaternions sont opposés. Sans cette précaution, une rotation d'une demi-seconde emprunterait le chemin le plus long.

Le chemin le plus long est parfaitement fluide 🖖

On reproche souvent à l'interpolation des angles d'Euler de faire vaciller les animations. C'est pourtant rarement le cas. Mesurées depuis un lacet de 79,9°, un tangage de 85,5° et un roulis de 153,5° jusqu'à un lacet de 155,5°, un tangage de 75,0° et un roulis de −139,8°, les deux orientations sont distantes de 16,7°. Parcourir les trois angles linéairement exige pourtant un trajet de 368,1° pour y parvenir. C'est vingt-deux fois trop loin, à une vitesse qui ne varie que d'un demi pour cent du début à la fin. Visuellement, rien ne semble anormal pendant le mouvement. Sur 4 000 paires aléatoires, la trajectoire d'Euler n'a pas été une seule fois plus courte que la rotation directe. Elle mesurait en moyenne 1,7 fois sa longueur.

Problème entièrement résolu

  1. Ce qu'il reste à contrôler à 90° de tangage 6 étapes

    Réglez le tangage sur 90° et le lacet sur 20°, avec le roulis à 0°. Montrez qu'ajouter 10° au lacet et 10° au roulis laisse le corps exactement où il était, et précisez de quoi l'orientation dépend encore.

    Ouvrez ce problème dans l'outil

    1. La rotation est une suite de trois mouvements : un lacet autour de z, puis un tangage autour du nouveau y, et enfin un roulis autour du nouveau x. Formellement, R = R_z(ψ)·R_y(θ)·R_x(φ).

    2. Posez θ = 90°. La rotation intermédiaire amène l'axe x sur −z et l'axe z sur x. La première et la dernière rotation s'appliquent alors autour de la même ligne dans l'espace. Tout ce que ψ fait, φ peut l'annuler.

    3. Le produit se réduit donc à une rotation unique qui dépend de φ − ψ et de rien d'autre. Deux paires différentes présentant la même différence donnent la même orientation, et pas seulement une orientation similaire.

    4. Vérifiez par vous-même. En partant de ψ = 20°, φ = 0°, la différence est de −20°. Passez à ψ = 30°, φ = 10° et la différence reste de −20°.

    5. Ces deux ensembles d'angles ne sont donc pas simplement proches. Ils désignent la même orientation. L'écart qui les sépare est nul, la ligne des angles ne bougeant absolument pas.

    6. Maintenant, décomposez plutôt cette différence. ψ = 30°, φ = −10° donne −40°, et le corps pivote des 20,0000° entiers.

    Réponse

    Ajouter 10° aux deux laisse le corps exactement là où il se trouvait. Les deux orientations diffèrent de 0,0000°. Toutes deux correspondent à une seule et même rotation de 91,728° autour de (−0,1711, 0,9703, 0,1711). L'ajouter à l'un et le soustraire à l'autre le déplace des 20,0000° complets. Ce qui survit à θ = +90° est φ − ψ. Un seul nombre subsiste là où il y en avait deux. À l'inverse, à θ = −90°, il s'agit de φ + ψ. Ce troisième degré de liberté a purement et simplement cessé d'exister au lieu de devenir difficile à atteindre. Aucune précision supplémentaire sur ψ ou φ ne pourra le faire revenir.