Hier bei Daniel Fischer wird es ganz gut erklärt.
(Etwas runterscrollen zu "Warum Schiaparelli abstürzte: Software-Mängel aufgedeckt".)
Die Sonde schaukelte bei der Fallschirmentfaltung "zu schnell",
was dazu führte, dass der Sensor für die Dreh
geschwindigkeit (nicht Position!)
in die Saturation ging (d.h. war "am Anschlag").
Nun wurde dummerweise dieser
und nur dieser Wert dazu benutzt,
die räumliche Orientierung der Sonde zu bestimmen,
und zwar durch Integration, also Aufsummieren der Messwerte.
Zwar bemerkte der Sensor selber dass er am Anschlag war,
aber die Hauptsoftware war für diesen Fall nicht programmiert und ignorierte ihn.
EDIT: Genau genommen war wohl der Fehler ein Flag des Sensors,
das diesen Fall anzeigte, aber offenbar nicht schnell genug wieder zurück gesetzt wurde.
Oder irgendwie so ähnlich...
Das Ergebnis war, dass die
berechnete Raumlage von der realen schliesslich um 165°(!!!) abwich,
d.h. für den Bordcomputer stand die Sonde quasi Kopf,
oder, mathematischer ausgedrückt, der Vektor in x-Richtung (die Vertikale)
hatte ein negatives Vorzeichen (positiv nach unten).
Auch dieser Fall war nicht vorgesehen (sprich: nicht von der Software als unplausibel erkannt),
und weil dieser Wert aber in der Höhenberechnung verwendet wurde,
hatte dann folglich auch die ein negatives Vorzeichen.
Auch das war nicht vorgesehen, der Wert war sozusagen einfach
"kleiner Sollwert an der Oberfläche", und folglich wurde die
"Gelandet-Sequenz" ausgeführt: "Alles aus!"
(Genau genommen war es hier etwas komplexer, siehe Text von Daniel Fischer.)
Und... plumps. :erschreck:
Ein bisschen erstaunlich ist dieses Szenario schon für mich,
ich dachte immer dass es zur Grundausbildung eines Programmierers gehört,
alle denkbaren Fälle für anfallende Daten in der Software irgendwie abzufangen.
Und sich abhängig machen von einem einzigen Sensor, der dazu auch noch integriert,
also alles
inklusive Fehler aufsummiert, erscheint mir schon etwas... :augenrubbel:
Sonnige Grüsse vom MittelMeerDobservatorio
Thorsten