Logiciels, filtres et technique
Logiciel, filtres et aspects techniques

Le filtre TrueFuse

PDF

Fusion de capteurs

TrueFuse

Le baromètre dit la vérité sur l'altitude, sauf pendant les quelques instants de chaque vol où il ne le fait pas. TrueFuse détecte ces moments au moment où ils se produisent, les comble avec des données inertielles, et reprend le contrôle immédiatement. Il peut refuser de faire confiance au baromètre. Il ne peut jamais inventer une altitude que le baromètre n'a pas soutenue.

Exécution
En direct et à l'enregistrement
Entrées
Baro, accel, gyro
Prédiction
Aucune
Mode défaillance
Refus du brut

Ce qui ne va pas avec un baromètre

Un altimètre barométrique mesure la pression statique et la convertit en hauteur. Pour la majeure partie d'un vol, c'est la source d'altitude la plus fiable à bord : elle ne dérive pas, elle n'a besoin d'aucune condition initiale, et elle est imperméable aux erreurs qui s'accumulent dans un accéléromètre intégré.

Pendant quelques secondes de ce même vol, c'est terriblement faux. Trois événements dominent :

  • Éjection. La charge augmente la pression du fuselage et le port voit un saut de pression qui n'a rien à voir avec l'altitude. Sur le graphique, il apparaît comme un creux ou une pointe pointus, de dizaines de mètres de profondeur, durant quelques centaines de millisecondes.
  • Lancement. Le panache du moteur et le flux d'air soudain sur les trous de ventilation perturbent le port avant que la fusée ait quitté le rail, et l'altitude enregistrée peut augmenter, hésiter ou avoir une bosse tandis que l'altitude réelle est encore près de zéro.
  • Évents mal dimensionnés ou bouchés. Le volume interne est en retard ou en arrière sur la pression externe, de sorte que la trace acquiert une forme d'escalier sous un vol régulier.

Un accéléromètre n'est affecté par aucun des trois, mais l'intégrer deux fois transforme un petit biais en une grande erreur d'altitude en quelques secondes. Aucun capteur n'est assez bon seul. TrueFuse utilise le baromètre comme référence et l'accéléromètre uniquement pour transporter l'altitude à travers une fenêtre où le baromètre s'est avéré être non fiable.

MISE EN QUARANTAINE fenêtre ouvre rejoindre creux d'éjection, 40 m en 0,3 s pression brute TrueFuse altitude

Fig. 1Un événement d'éjection réel. Le port de pression signale une descente de 40 m et une récupération en un tiers de seconde tandis que le fuselage est toujours en vol balistique. TrueFuse ouvre une fenêtre au début, transporte l'altitude à travers elle par inertie, et rejoint le baromètre une fois qu'il s'accorde à nouveau. L'apogée, qui se produit après la fermeture de la fenêtre, est mesurée à partir du baromètre comme d'habitude.

Chaîne de signal

Chaque étape ci-dessous s'exécute sur l'ordinateur de vol. Rien n'est reconstruit au sol, et rien dans le canal en direct n'utilise d'échantillon qui n'avait pas encore été prélevé.

baromètre BMP581 / BMP390 accéléromètre 3 axes gyroscope 3 axes CONDITIONNEMENT alignement temporel calibration d'échelle verticale mondiale drapeaux saturation GRAMMAIRE DE FENÊTRE machine d'état le baromètre est-il fiable en ce moment ? portage inertiel rejoindre et fusionner canal en direct en vol, causal canal post à l'enregistrement, ancré refus : sortie = baromètre brut, vol entier

Fig. 2Le conditionnement se produit avant toute décision de fusion : les canaux sont alignés dans le temps, l'échelle de l'accéléromètre est mesurée sur le tapis, le gyroscope établit quelle direction est vers le haut, et les échantillons saturés sont marqués. La grammaire décide alors, échantillon par échantillon, si le baromètre est fiable. Le chemin rouge est le chemin de refus, emprunté quand le vol lui-même échoue un test de validité.

Grammaire de fenêtre

TrueFuse maintient l'un de quatre états. Les noms d'état apparaissent dans les diagnostiques et décrivent exactement ce que le filtre faisait à ce moment du vol.

TAPIS BON ZONE RECUP BON repos baromètre de confiance baromètre mis en quarantaine fusion en arrière baromètre de confiance Entrée et sortie ZONE s'ouvre quand le taux de pression s'écarte de ce que l'accéléromètre dit être possible, soutenu au-delà d'un étage de bruit. RECUP la ferme quand les deux s'accordent à nouveau, avec un mélange en courbe S pour que la sortie n'ait pas de marche à la jonction.

Fig. 3Les quatre états dans l'ordre du vol. Un vol peut ouvrir plusieurs fenêtres, le lancement et l'éjection étant la paire commune, et le compte est signalé dans l'en-tête du journal comme fenêtres TrueFuse.

À l'intérieur d'une fenêtre

Pendant qu'une fenêtre est ouverte, l'altitude est transportée à partir de l'accéléromètre, projetée sur la verticale mondiale suivie, avec une continuation balistique sous forme fermée utilisée lorsque le moteur s'est arrêté et que le véhicule est en vol balistique. Le transport est ancré à l'altitude et à la vitesse qui étaient valides au moment où la fenêtre s'est ouverte, donc l'erreur à l'intérieur d'une fenêtre ne croît que avec la durée de cette fenêtre, généralement quelques centaines de millisecondes.

Les fenêtres ont une durée de vie limitée. Si le baromètre n'est pas redevenu fiable dans le délai imparti, le filtre arrête le transport et revient au baromètre quelle qu'en soit la raison, car un transport qui s'exécute longtemps n'a aucun moyen de prouver qu'il a raison.

Contrat de conception

Le baromètre est la référence. L'accéléromètre ne définit jamais l'altitude, il ne fait que la transporter entre deux ancres baromètriques.

Pas de prédiction dans le canal en direct. Chaque décision utilise des échantillons déjà prélevés. Une fenêtre s'ouvre sur les preuves disponibles au moment, non sur la connaissance de la fin de la trace.

Le refus est toujours disponible. Chaque garde dans ce document se résout à la même action sûre : arrêter la fusion et sortir le baromètre.

Synchronisation des capteurs

Fusionner deux capteurs nécessite de savoir quel instant chaque échantillon décrit. Un échantillon de baromètre est ancien au moment où le processeur le voit : l'ADC fait la moyenne de la pression sur une conversion, le résultat attend d'être lu, et le propre filtre du capteur retarde davantage la rampe. Un échantillon d'accéléromètre est comparativement frais. Les comparer sans corriger cela fait qu'un baromètre parfaitement bon semble être en désaccord avec un accéléromètre parfaitement bon.

Le retard n'est pas mesuré à partir des données de vol. C'est une propriété de la configuration et se calcule à partir de celle-ci :

sync = tconv/2  +  Todr/2  +  ciir × Todr  +  tkalman  −  timu
  • t_conv/2 l'ADC s'intègre sur la conversion, donc la valeur décrit le milieu de cet intervalle.
  • T_odr/2 l'âge moyen de la conversion la plus récente terminée quand le processeur la lit.
  • c_iir × T_odr le filtre IIR interne du capteur retarde une rampe exactement par son coefficient en échantillons de capteur, non en échantillons de boucle.
  • t_kalman le décalage de rampe du propre filtre de lissage d'altitude, le seul terme qui varie avec la vitesse, et le plus petit.
  • t_imu le petit retard de conversion et de filtre propre de l'accéléromètre, soustrait car il s'applique de l'autre côté.

Retard du baromètre calculé, millisecondes, à la référence 50 m/s

Capteur Configuration Partie fixe Lissage désactivé Léger Moyen Lourd
BMP581 80 Hz, os×16, iir 7 99,4 95,8 106,2 111,2 118,4
BMP390 50 Hz, os×8, iir 7 159,5 155,9 171,7 179,0 189,3

La correction est appliquée en retardant le canal inertiel jusqu'à ce qu'il soit aussi ancien que celui barométrique. Les deux canaux décrivent alors le même instant, ce qui est ce que la fusion exige. Une conséquence à savoir quand on lit un journal : chaque timestamp dans celui-ci traîne l'événement physique du retard de chaîne du baromètre, uniformément, donc les intervalles et les taux sont corrects même si les instants absolus sont en retard.

ÉVÉNEMENT instant vrai ACCEL quelques millisecondes, signalées presque immédiatement BARO conversion lire capteur IIR lisser total 111 ms ALIGNÉ canal inertiel retardé pour correspondre les deux canaux décrivent maintenant le même instant

Fig. 4D'où vient le retard du baromètre. Le filtre IIR interne du capteur domine : à un coefficient de 7, il contribue seul à 87,5 ms sur un BMP581 tournant à 80 Hz et 140 ms sur un BMP390 à 50 Hz. Réduire le paramètre IIR raccourcit le retard et augmente le bruit, ce qui est le compromis que le paramètre existe pour faire.

Calibration d'échelle

Un accéléromètre au repos mesure exactement une gravité. Sa magnitude signalée au repos est donc une mesure directe de sa propre erreur d'échelle, et TrueFuse utilise cela plutôt que de supposer que l'échelle nominale est correcte.

Sur le tapis, tout échantillon avec une magnitude de repos plausible et un baromètre calme amorce une estimation en cours. Les échantillons ultérieurs rejoignent l'estimation s'ils se situent à 6 pour cent de celle-ci, ou 60 mG, selon le plus grand. Le facteur de calibration est alors le rapport entre la vraie gravité et la magnitude de repos mesurée.

L'alternative, une bande d'acceptation fixe autour de 1000 mG, échoue silencieusement sur une unité dont l'échelle est décalée : elle n'admet aucun échantillon, le facteur reste à un, et le filtre intègre un accéléromètre qui signale le mauvais nombre. Un vol dans l'ensemble de référence a reposé à 2050 mG pour exactement cette raison, et son altitude a été fabriquée, non mesurée, jusqu'à ce que la calibration soit une mesure.

Ce que cela signifie en pratique. Rien à configurer. Laissez l'altimètre immobile quelques secondes avant le lancement, ce que la détection du tapis exige de toute façon, et la calibration se fait d'elle-même. La magnitude de repos mesurée est signalée dans les diagnostiques afin qu'un capteur hors spécification soit visible plutôt que caché.

Verticale mondiale

Un accéléromètre mesure la force selon ses propres axes, qui sont fixes au fuselage. Pour contribuer à une altitude, cette force doit être projetée dans la direction qui est réellement vers le haut, et le fuselage tourne pendant le vol.

TrueFuse établit la verticale à partir de la gravité tandis que le véhicule est au repos, puis fait pivoter ce vecteur avec le gyroscope pour le reste du vol. La poussée est projetée sur la verticale suivie, ainsi une fusée volant à un angle ne contribue que sa composante verticale, ce qui est le comportement physiquement correct.

verticale tapis 0 deg 16 deg 41 deg passé 100 deg garde basculement fusion arrête La poussée est projetée sur la verticale suivie, ainsi un vol incliné ne contribue que sa composante verticale.

Fig. 5La verticale suivie suit le fuselage. Si elle passe 100 degrés de la verticale du tapis avant l'extinction du moteur, le véhicule s'est renversé sous la poussée, ce qu'aucune fusée montante ne fait, et le filtre est désactivé pour tout le vol. Une verticale qui meurt après l'extinction du moteur est un tumbling de récupération ordinaire et est traité comme une garde, pas un verdict.

Gardes

Quatre conditions peuvent arrêter TrueFuse de faire confiance à l'accéléromètre. Chacune se résout au baromètre, c'est pourquoi aucune d'elles ne peut produire une altitude gonflée.

Garde Test Action
Basculement verticale suivie passée 100 deg avant l'extinction du moteur Refuser pour tout le vol
Tumbling rotation soutenue environ un axe perpendiculaire Refuser à partir de ce moment
Saturation tout axe à l'échelle complète, 5 échantillons d'affilée Suspendre le portage inertiel
Timeout de fenêtre baromètre pas de retour à la fiabilité à temps Retour au baromètre

Saturation, et pourquoi quelques échantillons sont tolérés

Un accéléromètre écrêté signale son rail, non la vrai force, donc la lecture est un plancher. Utiliser un plancher brièvement sous-estime l'accélération et tire l'altitude fusionnée vers le baromètre, ce qui est la direction inoffensive. Les moteurs durs touchent l'échelle complète pendant quelques millisecondes à l'ignition, et traiter cela comme une faute suspendrait le transport au moment exact où il est le plus nécessaire. TrueFuse ignore donc la saturation plus courte que cinq échantillons consécutifs, et traite tout ce qui est plus long comme une véritable combustion hors limites où l'intégration serait malhonnête.

Le seuil d'écrêtage est dérivé de la plage de mesure configurée plutôt que supposé, car la plage est un paramètre.

Canaux en direct et post