Gromada (statek kosmiczny) - Cluster (spacecraft)
Typ misji | Magnetosferyczne |
---|---|
Operator | ESA |
ID COSPAR | 2000-045A |
SATCAT nr. | 26463 |
Właściwości statku kosmicznego | |
Rozpocznij masę | 1200 kilogramów (2600 funtów) |
Początek misji | |
Data uruchomienia | 12:34:06, 4 czerwca 1996 (UTC) |
Rakieta | Ariane 5G |
Uruchom witrynę | Kourou ELA-3 |
Koniec misji | |
Sprzedaż | niepowodzenie uruchomienia |
Zniszczony | 4 czerwca 1996 |
Czterostronne insygnia misji ESA dla klastra |
Cluster był konstelacją czterech statków kosmicznych Europejskiej Agencji Kosmicznej, które zostały wystrzelone podczas dziewiczego lotu rakiety Ariane 5 , Lot 501, a następnie utracone, gdy rakieta nie osiągnęła orbity. Uruchomienie, które miało miejsce we wtorek 4 czerwca 1996 roku zakończyło się niepowodzeniem z powodu wielu błędów w projekcie oprogramowania: Martwy kod (działający, ale celowo tylko dla Ariane 4 ) z nieodpowiednim zabezpieczeniem przed przepełnieniem liczb całkowitych doprowadził do niewłaściwie obsłużonego wyjątku — zatrzymanie całego systemu nawigacji bezwładnościowej, który w innym przypadku byłby nienaruszony. Spowodowało to, że rakieta zboczyła z toru lotu 37 sekund po wystrzeleniu, zaczęła rozpadać się pod wpływem dużych sił aerodynamicznych, a w końcu uległa samozniszczeniu przez zautomatyzowany system zakończenia lotu . Awaria stała się znana jako jeden z najbardziej niesławnych i kosztownych błędów oprogramowania w historii. Awaria spowodowała stratę ponad 370 mln USD.
Statek kosmiczny
Gromada składała się z czterech 1200 kilogramów (2600 funtów) cylindrycznych statków kosmicznych o stabilizowanej rotacji, zasilanych 224 watowymi ogniwami słonecznymi. Statek kosmiczny miał lecieć w formacji czworościennej i miał prowadzić badania magnetosfery Ziemi . Satelity zostałyby umieszczone na bardzo eliptycznych orbitach; 17200 przez 120600 kilometrów (10700 przez 74900 mil), nachylony pod kątem 90 stopni do równika.
Niepowodzenie uruchomienia
Ariane 5 ponownie wykorzystała inercyjną platformę referencyjną z Ariane 4 , ale tor lotu Ariane 5 znacznie różnił się od poprzednich modeli.
Im większe przyspieszenie poziome spowodowało przekształcenie danych pochodzących z 64-bitowym zmiennoprzecinkową ilości do 16-bitowej podpisanej całkowitej wartości dla nadmiaru i powoduje wyjątek sprzętu . Rozważania dotyczące wydajności pominęły sprawdzanie zakresu dla tej konkretnej zmiennej, chociaż konwersje innych zmiennych w kodzie były chronione. Wyjątek zatrzymał platformy referencyjne, co spowodowało zniszczenie lotu.
Chociaż błąd oprogramowania został zidentyfikowany jako bezpośrednia przyczyna, uznano, że jest to możliwe dzięki błędom projektu systemu i problemom z zarządzaniem:
- Na podstawie tych obliczeń główny komputer nakazał dyszom dopalacza, a nieco później także dyszy silnika głównego, aby dokonać dużej poprawki na odchyłkę położenia, która nie wystąpiła.
- Nastąpiła gwałtowna zmiana nastawienia , która spowodowała rozpad wyrzutni w 39 sekund po H0 z powodu sił aerodynamicznych.
- Inercyjny system odniesienia Ariane 5 jest zasadniczo taki sam, jak system używany przez Ariane 4. Część oprogramowania, która spowodowała przerwę w inercyjnych komputerach systemu, jest używana przed uruchomieniem do wyrównania bezwładnościowego systemu odniesienia, a w Ariane 4 również do umożliwienia szybkie wyrównanie systemu w przypadku spóźnionego wstrzymania odliczania. Ta funkcja wyrównania, która nie służy żadnemu celowi w Ariane 5, została jednak zachowana ze względu na podobieństwa i pozwoliła, tak jak w Ariane 4, działać przez około 40 sekund od startu.
- Podczas projektowania oprogramowania inercyjnego układu odniesienia zastosowanego dla Ariane 4 i Ariane 5 podjęto decyzję, że nie jest konieczne zabezpieczenie komputera układu inercyjnego przed unieruchomieniem przez nadmierną wartość zmiennej związanej z prędkością poziomą, ochrona zapewniona dla kilku innych zmiennych oprogramowania do osiowania. Podejmując tę decyzję projektową, nie przeanalizowano ani w pełni nie zrozumiano, jakie wartości może przyjąć ta konkretna zmienna, gdy zezwolono na działanie oprogramowania do osiowania po wzniesieniu.
- W lotach Ariane 4 z wykorzystaniem tego samego typu bezwładnościowego układu odniesienia nie było takiej awarii, ponieważ trajektoria lotu podczas pierwszych 40 sekund lotu jest taka, że określona zmienna związana z prędkością poziomą nie może osiągnąć, z odpowiednim marginesem operacyjnym, wartości przekraczającej limit obecny w oprogramowaniu.
- Ariane 5 ma duże początkowe przyspieszenie i trajektorię, co prowadzi do pięciokrotnie szybszego narastania prędkości poziomej niż w przypadku Ariane 4. Większa prędkość pozioma Ariane 5 generowała w ciągu 40 sekund nadmierną wartość, która powodowała inercyjne komputery systemu, aby zaprzestały działania.
- Celem procesu przeglądu, w który zaangażowani są wszyscy główni partnerzy programu Ariane 5, jest walidacja decyzji projektowych i uzyskanie kwalifikacji lotniczej. W tym procesie ograniczenia oprogramowania do osiowania nie zostały w pełni przeanalizowane i nie zdano sobie sprawy z możliwych konsekwencji jego dalszego funkcjonowania podczas lotu.
- Specyfikacja bezwładnościowego układu odniesienia oraz testy przeprowadzone na poziomie sprzętu nie obejmowały konkretnie danych trajektorii Ariane 5. W konsekwencji funkcja wyrównania nie została przetestowana w symulowanych warunkach lotu Ariane 5, a błąd projektowy nie został wykryty.
- Byłoby technicznie wykonalne uwzględnienie prawie całego bezwładnościowego układu odniesienia w przeprowadzonych symulacjach całego układu. Z wielu powodów zdecydowano się na wykorzystanie symulowanego wyjścia bezwładnościowego układu odniesienia, a nie rzeczywistego układu lub jego szczegółowej symulacji. Gdyby system został uwzględniony, awaria mogłaby zostać wykryta.
- Symulacje polotowe przeprowadzono na komputerze z oprogramowaniem bezwładnościowego układu odniesienia oraz w symulowanym środowisku z uwzględnieniem rzeczywistych danych trajektorii lotu Ariane 501. Symulacje te wiernie odtworzyły ciąg zdarzeń prowadzących do awarii bezwładnościowych systemów odniesienia.
Następstwa
Po awarii zbudowano cztery zastępcze satelity Cluster II . Zostały one wystrzelone parami na pokładzie rakiet Sojuz-U / Fregat w 2000 roku.
Niepowodzenie uruchomienia zwróciło uwagę opinii publicznej, polityków i kadry kierowniczej na wysokie ryzyko związane ze złożonymi systemami obliczeniowymi , co zaowocowało zwiększonym wsparciem dla badań nad zapewnieniem niezawodności systemów krytycznych dla bezpieczeństwa . Późniejsza automatyczna analiza kodu Ariane (napisana w Adzie ) była pierwszym przykładem wielkoskalowej statycznej analizy kodu poprzez abstrakcyjną interpretację .
Awaria zaszkodziła również doskonałemu rekordowi sukcesu rodziny rakiet Europejskiej Agencji Kosmicznej, ustanowionemu przez wysoki wskaźnik sukcesu modelu Ariane 4. Dopiero w 2007 roku premiery Ariane 5 zostały uznane za tak samo niezawodne jak poprzednie modele.
Zobacz też
- Oprogramowanie Mars Climate Orbiter , które zostało zaadaptowane z wcześniejszego Mars Climate Orbiter, nie zostało odpowiednio przetestowane przed startem
- Komputer naprowadzania Apollo - problem PGNCS , kolejny przypadek, w którym komputer naprowadzania statku kosmicznego cierpiał z powodu nieprawidłowego pozostawienia podsystemu
- Lista błędów oprogramowania
Bibliografia
Dalsza lektura
- Thomas, LD (2007) Wybrane niedobory procesów inżynierii systemów i ich konsekwencje. Acta Astronautica, 61, 406-415.
Linki zewnętrzne
- Jacques-Louis Lions i in., raport Ariane 501 Inquiry Board ()
- Teraz lot kosmiczny – Cluster II – Ariane 501 eksploduje w Wayback Machine (archiwum 25 marca 2015), bezpośredni link do pliku wideo — Nagranie z ostatnich sekund lotu rakiety.
- Wired – Najgorsze błędy oprogramowania w historii — Artykuł o 10 najczęstszych błędach oprogramowania. Usterka oprogramowania Ariane 5 Flight 501 jest wymieniona jako jeden z tych błędów.
- (w języku niemieckim) Ariane 5 – 501 (1–3) — Dobry artykuł (w języku niemieckim), w którym podany jest właściwy kod.