TD ARIANE 5 - U F R sciencestech

Download Report

Transcript TD ARIANE 5 - U F R sciencestech

TD ARIANNE 5
Analyse d'une situation ayant conduit
à une catastrophe
Il est rare en matière de génie logiciel qu'on ait des rapports détaillés sur les bugs
ayant conduit à des catastrophes. En général ces rapports restent en interne et sont
soigneusement cachés.
Il est pourtant intéressant d'analyser une situation où un enchaînement de
circonstances a conduit à un bug qui a provoqué une catastrophe : c'est le cas du bug
de la fusée Ariane 501.
Lors du premier tir de cette nouvelle série (Ariane V), un dysfonctionnement a
provoqué I' explosion de la fusée peu après son départ. Le CNES a nommé une
commission d'enquête externe et a diligenté une enquête.
Nous avons la chance d'avoir le rapport de cette commission qui a conclu à un bug
logiciel.
Analysez ce rapport et voyez s'il n'était pas possible de déceler et de corriger I' erreur.
Ce travail se fera ensemble après que chacun ait lu entièrement le rapport
transporter une masse donnée
(charge utile : 1 tonne ) à une
altitude donnée (orbite 500 km) à
une vitesse donnée (28 000 km/h en
général).
Ariane 5 développe au décollage
une puissance de 1 400 tonnes
2 modes de propulsion: avec les
carburants liquides ou les
carburants solides, communément
appelés poudre.
Source : ESA
Centrale Inertielle
Source :
Merci à Olivier SITAL
4
1. Introduction:
V ème siècle
1852
1938
1969
1980
Terre
5
Position de la démarche :
Nécessité de mettre au point des systèmes de navigation.
Que demande-t-on à un navigateur classique?
•
•
connaître la trajectoire, la position, la vitesse, l'accélération
connaître l'attitude ( orientation spatiale) du véhicule et les vitesses angulaires
instantanées autour d'axes liés au véhicule.
• De toute évidence il n'a pas fallu attendre le XXème siècle pour y parvenir, la
preuve en est apportée par toutes les expéditions maritimes ou terrestres de
nos plus grands aventuriers ou explorateurs.
• Est-ce un problème de précision?
Non, essentiellement une question de sécurité pour les applications civiles et de
discrétion pour les militaires.
6
Que demande-t-on à un navigateur moderne?
•
Essentiellement de fournir les informations précédentes sans références
externes ou du moins le minimum possible.
En effet :
• Une capsule spatiale peut très bien se trouver derrière la lune et ne plus
voir la terre ou se trouver en alignement avec la Terre et le Soleil et donc
être dans l'impossibilité de communiquer avec la terre.
• Un avion doit pouvoir voler sans visibilité.
• Un avion militaire doit pouvoir pénétrer en territoire ennemi sans se faire
repérer et donc sans émettre ou recevoir quoi que ce soit.
• Un sous marin est censé rester sous l'eau jusqu'à un mois, sans refaire
surface et sans se faire repérer. Etc...
• Un navigateur moderne doit donc pouvoir travailler en autonomie complète,
sans références extérieures. Ceci n'exclut nullement la présence de
systèmes annexes utilisant des références externes, pour des recalages,
des confirmations et une sécurité redondante.
7
2. La centrale inertielle
Constituants d’une centrale inertielle
C
A
L
C
U
L
A
T
E
U
R
PLATE-FORME
STABILISEE
GYROSCOPES
ACCELEROMETRES
CENTRALE INERTIELLE
8
2.1
La toupie
Nutation
Y
Précession
VECTEUR
ROTATION
TOUPIE
X
AXE TOUPIE
Toupie
θ
Y’
O
X’
AXE TOUPIE
MOUVEMENT
RESULTANT
FORCE APPLIQUEE
9
2.2
Le gyroscope
TOUPIE
MOTEUR
COUPLE
AXE TOUPIE
DETECTEUR
SUSPENSION
ELASTIQUE
MOTEUR
TOUPIE
PALIER
SUPPORT FIXE
10
2.3
L’accéléromètre
Y
X
DETECTEUR
AMPLI
X
SERVOMOTEUR
F
AVION
11
Accéléromètre à cordes vibrantes
12
Accéléromètre à quartz
13
2.4
La plate-forme stabilisée « Rafale » SAGEM
AZIMUT
MOTEUR COUPLE
ROULIS
INTERIEUR
TANGAGE
Az
DETECTEUR
D’ANGLE PLAT
CARDAN ROULIS
INTERIEUR
MOTEUR COUPLE
ROULIS
EXTERIEUR
Gz
Ay
Ax
Gx, Gy
ROULIS
AZIMUT
TANGAGE
COMMANDE MOTEUR COUPLE AXE Z
COMMANDE MOTEUR COUPLE AXE X & Y
MOTEUR COUPLE
TANGUAGE
MOTEUR COUPLE
AZIMUT
RESOLVER DE
CHANGEMENT DE
COORDONNEES
ACCELERATION Z
ACCELERATION Y
ACCELERATION X
14
Formation Ingénieur 2007-2008
centre de Bordeaux
15
Formation Ingénieur 2007-2008
centre de Bordeaux
16
LE BOUCLAGE DE SCHÜLER
ω=V/R
A
Détect.
x 1/R
Mot. C
Vitesse
GYRO
Accél.
+
+
Vitesse
Initiale
Mot. C
CARDAN
PLATE-FORME
CALCULATEUR
=
17
2.5
La centrale inertielle
• Combinaison d’une plate-forme stabilisée (gyroscopes,
accéléromètres) et d’un calculateur.
• Erreurs dues à la rotation terrestre : ω=15°/h; α=cap
– ωt.cos(Lat).cos(α) sur Gx
– ωt.cos(Lat).sin(α) sur Gy
– ωt.sin(Lat) sur Gz
• Erreurs dues au déplacement avion terre :
– Vy/R sur Gx
– Vx/R sur Gy
18
2.6
Les alignements
• L’alignement normal
• L’alignement rapide
• L’alignement sur cap mémorisé
• Les séquences élémentaires :
– L’initialisation ou le pré alignement
– Une recherche de verticale
– Une recherche de nord
– Une estimation de dérive
19
2.7
La navigation
• Maintient de la plateforme horizontale par rapport a la terre quels
que soient les mouvements de l'avion.
• Calcul des paramètres de navigation en temps réel: Longitude,
latitude, altitude, vitesses, accélérations, roulis, tangage, cap…
• Transmission sous forme digitales (DIGIBUS, ARINC) ou
analogique (synchro. attitudes)
20
2.8
Les erreurs inertielles
• Les erreurs bornées dans le temps:
– Erreur initiale de position
– Erreur initiale de vitesse
– Erreur de verticale et de biais accéléromètrique
– Erreur de facteur d’échelle d’accéléromètre
• Les erreurs augmentant avec le temps:
– Erreur de dérive gyroscopique
– Erreur de facteur d’échelle gyroscopique
21
CLASSE D'UN NAVIGATEUR INERTIEL:
• La grandeur de la dérive limite la durée
d'utilisation sans recalage. On distingue
alors la qualité technologique par le niveau
de cette dérive :
• Classe engins : 0.1 à 0.01°/h
• Classe aéronautique : 0.01 à 0.001°/h
• Classe Sous-Marins : 0.001 à 0.0001°/h
22
23
3. La centrale inertielle à gyrolaser
24
25
3.1
Le gyrolaser
MIROIR
AXE
SENSIBLE
LASER
MIROIR
INTERFEROMETRE
26
3.2
Principe de fonctionnement
Interféromètre
Miroir M2
Miroir M1
LASER
27
3.3
Affichage des données
28
CONCLUSION
• Centrale inertielle à plateforme stabilisée (gyroscope accordé)
• Centrale inertielle à gyro laser
• Hybridation GPS 
accroissement de précision par recalage:
– Vols longs courriers (distance franchissable > 8000 Nm)
– Armements (missiles de croisière, bombe guidées)
29
Centrale à inertie
Inertial Navigation System
•
La centrale à inertie (en anglais Inertial Navigation System, INS) est
composée de 3 gyroscopes à 3 degrés de liberté et d'un trièdre
d'accéléromètres. Après une phase de stabilisation, tous les mouvements de
l'avion autour de la position de référence sont connus. Elle remplace donc
l'horizon artificiel et le gyro directionnel. Par intégration des signaux des
accéléromètres, les vitesses de l'avion selon les trois axes sont calculées dans
le référentiel terrestre. La position de l'avion est ainsi calculée toujours dans le
référentiel terrestre, faisant ainsi abstraction des mouvements dus aux
courants aériens. La dérive de position est de l'ordre du mile marin à l'heure.
Ce système est donc insuffisant pour déterminer l'altitude avec une précision
suffisante. Pour corriger les défauts, il existe plusieurs méthodes dont le
couplage barométrique ou encore le couplage avec un GPS. Les avions de
ligne devant franchir les océans en empruntant les espaces MNPS sont
équipés de trois centrales de ce type. On trouve deux types de centrale, celles
qui sont équipées de gyroscopes mécaniques ou les plus modernes qui sont
équipées de gyrolasers.
30
Gyrolaser
• Un gyrolaser est composé d'un circuit de lumière parcourant un triangle
équilatéral. La source de lumière est appliquée au milieu de la base du
triangle, ou elle est séparée en deux faisceaux vers les deux angles
inférieurs du triangle où sont placés deux miroirs qui redirigent les deux
faisceaux de lumière vers le troisième sommet. Si le triangle est animé
d'un mouvement de rotation dans son plan, les vitesses de propagation
des deux branches de lumière ne sont plus identiques. Une
interférence est alors observable au sommet du triangle. Un détecteur
peut alors compter les raies de cette interférence dont la fréquence est
proportionnelle à la vitesse de rotation du triangle sur lui-même. En
montant trois dispositifs de ce type selon un trièdre, et en traitant les
signaux, il devient possible de déterminer tous les mouvements d'un
avion selon ses trois axes comme avec un gyroscope mécanique. En
ajoutant les accéléromètres et le traitement de leurs signaux, une
centrale à inertie a été reconstituée.
31
Équipementiers
•
•
•
•
•
•
•
http://www.bendixking.com/
http://www.garmin.com/aviation/
http://www.thalesgroup.com/aerospace/home/
http://www.rockwellcollins.com/
http://www.avidyne.com/
http://www.smiths-aerospace.com/
http://www.nsd.es.northropgrumman.com/
32
Le problème
● L'attitude et la trajectoire de la fusée sont mesurées par
un ordinateur à base de référence inertielle système. Il
transmet les commandes pour les moteurs à maintenir
l'attitude et la direction.
● Le logiciel a échoué , ce système et la sauvegarde du
système ont également échoué.
● L’interprétation des commandes ont été interprétées
comme des données réelles et transmises
● Les moteurs ont été orienté pour une position extrême
imprévue sur la fusée.
échec logiciels
● Une erreur de Software s'est produite lors de
l'échec d'une tentative de convertir un 64-bit à
virgule flottante vers nombre 16-bit signé a
provoqué un overflow cad un débordement.
● Il n'y a pas de gestionnaire d'exception
associés à une erreur de conversion de sorte
que le logiciel a planté
● Le logiciel de sauvegarde redondant est une
copie et se comporte exactement de la même
manière.
échec évitable?
● Les logiciels ont été réutilisés à partir de la version du
Lanceur Ariane 4. Le calcul qui a entraîné de
dépassement n’était pas utile à Ariane 5.
● les décisions qui avait été prises
- Ne pas supprimer l'installation de ce soft, car cela
pourrait introduire de nouvelles erreurs.
- Pas de test des exceptions de débordement parce que
le processeur était lourdement chargé. Pour des raisons
de fiabilité, il a été jugé souhaitable de laisser une
certaine capacité au processeur de rechange.
Pourquoi pas Ariane 4?
● Les caractéristiques physiques d'Ariane 4
(plus petit lanceur) sont telles qu'il a une
accélération et une vitesse horizontale plus
faible que Ariane 5.
● La valeur de la variable sur Ariane 4 ne peut
jamais atteindre un niveau de dépassement
qui a provoqué un dépassement au cours de
la période de lancement.
Échec de la validation
● Comme l'installation qui a échoué ne devait pas se faire
sur Ariane 5, il n'y avait aucune exigences associées.
● Comme il n'y avait pas d’exigences associés, il y avait
pas de tests prévus de cette partie du logiciel et donc
pas de possibilité de découvrir le problème.
● Au cours de l'essai du système, les simulateurs de
système inertiel de référence ont été utilisés. Ils n’ont
pas généré des signaux mettant un avant une
défaillance possible puisque aucunes spécifications
n’étaient associées!
Revue de l'échec
● La conception et le code de tous les logiciels devraient
être revus pour prévenir les erreurs pendant le
processus de développement
• Le logiciel du système inertiel de référence n'a pas été
examiné parce qu'il a été utilisé dans une version
précédente;
• Les revues n’ont pas mises en avant de problème, ou, la
définition des tests n’a pas révélé le problème;
• Les revues n'ont pas appréciées les conséquences d’un
d'arrêt du système lors d'un lancement.
Leçons apprises
● Ne pas faire exécuter des codes logiciels dans les
systèmes critiques, sauf si c’est vraiment nécessaire.
● Outre des essais de ce que le système doit faire avec
les bonnes entrées, on doit également tester ce que le
système ne devrait pas faire si on n’a pas les bonnes
entrées !
● Pas de réponse à un défaut d'exception autre qu’un
arrêt des systèmes qui n'ont pas d'état de sécurité en
cas de panne.
Leçons apprises
● Dans des calculs critiques, toujours mieux
revenir à des valeurs, même si les valeurs
absolument correctes ne peuvent pas être
calculé.
● Dans la mesure du possible, l'utilisation d
équipements réels et pas de simulations.
● Améliorer le processus d'examen externe afin
d'inclure tous les participants et l'examen des
hypothèses formulées dans le code.
Échec évitable
Les développeurs d'Ariane-5 a fait une erreur
critique et élémentaire.
● Ils ont conçu un système où une seul panne de
composant peut causer l'échec de l'ensemble du
système
● En règle générale, les systèmes critiques
doivent toujours être conçues de manière à
éviter un point de défaillance unique.