Ai-je vraiment besoin d'un gyroscope pour un système de stabilisation de vol d'un avion?

9

Je travaille sur un système de stabilisation de vol d'avion de base, en tant que précurseur d'un système de pilote automatique complet. J'utilise une Wii Motion Plus et un Nunchuk récupérés pour créer une IMU 6DOF. Le premier objectif est de garder les ailes à niveau, puis de mélanger les commandes des utilisateurs. Ai-je raison de dire que cela ne nécessiterait pas un gyroscope, juste un accéléromètre à 3 (2?) Axes, pour détecter le tangage et le roulis, puis ajuster les ailerons et la gouverne de profondeur pour compenser?

Deuxièmement, si nous étendons mon objectif de conception de "maintenir les ailes à niveau" à "voler en ligne droite" (évidemment deux choses différentes, compte tenu du vent et des turbulences), le gyroscope devient-il nécessaire, dans la mesure où cela peut être accompli sans guidage GPS ?

J'ai essayé d'intégrer les valeurs du gyroscope pour obtenir le roulis, le tangage et le lacet à partir de cela, cependant (comme en témoigne cette question), je suis à un niveau dans mes connaissances sur le sujet où je préférerais des mathématiques plus simples dans mon code . Merci pour toute aide!

Chris
la source
Envisagez-vous d'utiliser l'accéléromètre pour mesurer l'orientation par rapport à la gravité ou en intégrant pour obtenir la vitesse?
Joe Baker
1
@JoeBaker Orientation relative à la gravité. Essentiellement, l'avion devrait voler de lui-même au niveau du sol et être résistant aux changements de roulis causés par le vent.
Chris

Réponses:

5

Ai-je raison de dire que cela ne nécessiterait pas un gyroscope, juste un accéléromètre à 3 (2?) Axes, pour détecter le tangage et le roulis, puis ajuster les ailerons et la gouverne de profondeur pour compenser?

Non. L'inverse est vrai. L'accéléromètre sera presque inutile pour détecter les rotations sur une plateforme qui connaît des accélérations inconnues. Votre avion sera soumis à deux vecteurs de force: gravité et portance + traînée. Lift + drag variera énormément en fonction de la hauteur de l'avion.

Mais voici une manière plus générale de savoir que cela est impossible, et vous pouvez utiliser cette méthode dans de nombreux autres cas que les IMU. Un capteur ou un ensemble de capteurs vous donne N valeurs. Vous ne pouvez pas interpréter cela dans un espace de plus de N dimensions.

Un exemple trivial: vous voulez qu'un capteur mesure la position de quelqu'un dans une pièce. Un télémètre à ultrasons unique serait-il suffisant? Non. Une position dans une pièce nécessite deux valeurs, les coordonnées (X, Y). Mais un capteur à ultrasons ne vous donne qu'une seule valeur, une longueur. Il n'y a aucun moyen de configurer ce capteur pour résoudre votre problème. Mais si vous aviez deux capteurs, cela pourrait être possible.

Regardons maintenant l'avion. Un avion non accélérateur est soumis à une seule force, la gravité. La direction de la gravité par rapport à l'avion est un vecteur 3D, mais heureusement (si vous êtes sur Terre) vous connaissez son ampleur. C'est 1 valeur, laissant 2 inconnues, vous pouvez donc théoriquement vous en sortir avec un accéléromètre à 2 axes pour compenser ces 2 inconnues et calculer le vecteur de gravité.


Et un avion en vol. La gravité et la portance + traînée sont deux vecteurs 3D, vous donnant 6 nombres. OK, vous connaissez l'ampleur de la gravité, donc 5 chiffres. Vous aurez besoin d'une sorte de capteur qui vous donne au moins 5 valeurs. Un accéléromètre à 3 axes ne peut donc pas suffire.

Alors que ni un gyroscope à 3 axes ni un accéléromètre à 3 axes ne suffiront à eux seuls, le gyroscope serait beaucoup plus utile. C'est parce qu'il mesure directement les rotations, c'est exactement ce que vous essayez de contrôler.

De même, l'accéléromètre sera plus utile pour détecter et corriger les écarts de déplacement en ligne droite.

Rocketmagnet
la source
5

Comme l'indique le nom de l'accéléromètre, vous mesurez l'accélération sur votre système en excluant celle de la force gravitationnelle. Lorsque votre capteur est au repos, vous mesurez l'accélération de la force que vous utilisez pour contrer la force gravitationnelle. C'est ainsi que vous pouvez fixer votre orientation par rapport au vecteur de gravité. Lorsque le capteur est accéléré, comme ce serait le cas lorsque d'autres forces externes (comme par exemple le vent) sont appliquées, il se mélange avec les forces contrecarrant la gravité, et vous ne pouvez plus identifier de manière unique le vecteur de gravité. Lorsqu'ils sont moyennés dans le temps, vous pouvez lisser les composants d'accélération dynamique, et c'est par exemple ce qui est utilisé dans un AHRS pour compenser la dérive du gyroscope.

En effet, vous ne pouvez pas faire la différence entre un engin de niveau accéléré par une rafale de vent et un engin incliné, mais sinon non accéléré.

Jakob
la source
Merci, je vais y jeter un œil! J'ai trouvé un filtre complémentaire sur les forums Arduino que j'ai inséré car je n'ai pas les calculs pour le coder moi-même, nous verrons comment cela se passe. Je pense que je peux tester en vol demain ...
Chris