Błąd w oprogramowaniu przyczyną porażki lądownika HAKUTO-R

0 komentarzy
Wizualizacja lądownika HAKUTO-R (ispace)
Wizualizacja lądownika HAKUTO-R (ispace)

Podróże kosmiczne są trudne. Są tysiące rzeczy, które mogą pójść nie tak i jest tylko jedna ścieżka, która doprowadza do sukcesu. A nie zawsze jest czas, by naprawić to, co nie działa! Tak też było w przypadku HAKUTO-R, który podczas lądowania na Księżycu był skazany na samego siebie. Niestety, zarówno oprogramowanie, jak i instrumenty pokładowe zawiodły sondę, doprowadzając do jej rozbicia o powierzchnię Srebrnego Globu. W tym artykule analizujemy, dlaczego tak się stało.

Japońska firma ispace opublikowała w ostatnim czasie raport na temat przyczyn porażki Mission 1, w trakcie której lądownik HAKUTO-R miał wylądować na Księżycu. Na pokładzie sondy znajdowały instrumenty badawcze oraz dwa łaziki. Gdyby misja się powiodła, to Japonia dołączyłaby by do elitarnego grona krajów, którym udało się miękko wylądować na jedynym naturalnym satelicie Ziemi. Byłoby to ekscytujące wydarzenie dla wszystkich fanów eksploracji kosmosu, bo nareszcie udałoby się złamać amerykańsko-rosyjsko-chiński monopol na podbijanie księżyca. Co więc zawiodło?

Okazuje się, że bezpośrednio przyczyną awarii było zabezpieczenie w oprogramowaniu, które zadziałało na wyrost. Tak jak w każdej innej sondzie, rakiecie czy w łaziku, tak w oprogramowaniu HAKUTO-R znajdowały się reguły, które miały za zadanie wykrywać, gdy któreś z urządzeń pokładowych przestają działać prawidłowo i przełączać system na zapasowe podzespoły. Tak było też z wysokościomierzem lądownika, który informował komputer pokładowy, jak wysoko nad powierzchnią Księżyca znajduje się urządzenie. Przez sporą część procedury lądowania ten tandem działał prawidłowo i lądownik bezpiecznie opadał, korzystając z silników i informacji o swoim położeniu. Problemy zaczęły się, dopiero gdy HAKUTOR-R przelatywał nad księżycowym kraterem, a mówiąc dokładniej nad znajdującym się tam pionowym klifem wysokim na około 3 kilometry.

Przelot nad krawędzią urwiska spowodował, że radar wysokości wykrył nagłą zmianę w odległości od powierzchni Księżyca. W krótkiej chwili wartość ta podskoczyła o 3 kilometry, co dla komputera pokładowego wydawało się niemożliwe. Sztywne reguły w oprogramowaniu kazały mu odczytać tę drastyczną zmianę w pomiarach jako awarię wysokościomierza i całkowicie odciąć podzespół od wyznaczania trajektorii dalszego lądowania. Mimo że radar lądownika był cały czas sprawny, to małe niedopatrzenie w kodzie spowodowało, że resztę lądowania HAKUTO-R przeprowadzał „na pamięć”.

Wizualizacja lotu z radarem i bez niego

Nie mając danych o aktualnym pułapie nad powierzchnią Księżyca, lądownik od teraz mógł polegać tylko na swoim ostatnim znanym położeniu (przed przelotem nad krawędzią klifu), na wiedzy o topografii Księżyca i oczekiwaniach jak działanie silników wpływa na zmianę wysokości. Te przewidywania nie były jednak korygowane żadnymi rzeczywistymi pomiarami, więc wszelkie odstępstwo od oczekiwanej trajektorii nie mogło być ani poprawiane, ani też uwzględniane w dalszej części lotu. Miało to poważne konsekwencje dla HAKUTO-R, który kontynuował opadanie na powierzchnię Księżyca.

W sytuacjach jak ta błędy lubią się kumulować, więc nawet mała różnica w wydajności silników będzie po czasie skutkować sporym odchyleniem między położeniem wyliczonym a realnym. W ostateczności, dla lądownika firmy ispace błąd ten wyniósł aż 5 kilometrów. Dokładnie na tej wysokości znajdował się HAKUTO-R, gdy pozbawiony wysokościomierza, „ślepy” komputer pokładowy stwierdził, że właśnie powinno nastąpić przyziemienie. Czujniki nie wykrywały jednak, by lądownik stał na własnych nogach, więc sonda kontynuowała schodzenie z prędkością 1 metra na sekundę, licząc, że w końcu „dosięgnie” regolitu. Niestety, będąc na wysokości 5 tysięcy metrów, HAKUTO-R nie miał wystarczającej ilości paliwa, by móc z taką prędkością bezpiecznie wylądować.

Po chwili silniki lądownika przestały działać. Nie wszystkie jednak naraz. Wyłączały się one niesymetrycznie, przez co sonda najpierw przewróciła się na bok i w efekcie spadała wirując wokół własnej osi. W taki sposób HAKUTO-R runął z wysokości 5 kilometrów i rozbił się o powierzchnię Księżyca. Prędkość sondy była zbyt mała by utworzony został krater, ale na zdjęciach satelitarnych z miejsca katastrofy da się zobaczyć 4 części, na które roztrzaskał się japoński lądownik.

Przed i po upadku lądownika HAKUTO-R (ispace)

Wiemy już zatem, że bezpośrednią przyczyną porażki Mission 1 było niedostosowanie reguł oprogramowania lądownika do topografii Księżyca. Nie uwzględniono, że uskoki o wysokości 3 kilometrów mogą występować naturalnie i nie są błędem wysokościomierza. Czemu jednak tak się stało? Czy ispace nie testowała swojego oprogramowania? Przecież kształt terenu Księżyca jest znany — mógłby ktoś pomyśleć. Otóż japońska firma testowała kod odpowiedzialny za lądowanie wielokrotnie i to dla wszystkich potencjalnych miejsc lądowań sondy HAKUTO-R. Niestety, ostateczne miejsce lądowania zostało zmienione już po wykonaniu wszystkich testów oprogramowania i zamknięciu procesu jego tworzenia w lutym 2021 roku. Później wykonano ponowne testy dla nowych współrzędnych lądowiska, ale symulacja nie oddawała poprawnie nowej ścieżki podejścia, co doprowadziło do przeoczenia felernego uskoku.

Czy winne było więc tylko oprogramowanie? Technicznie tak, ale problem był znacznie większy. Kod działał prawidłowo dla zadanej topografii Księżyca, ale nie wykryto, że przekazywane mu dane testowe są błędne i symulacja odbiega od rzeczywistych warunków na Srebrnym Globie. Nie ma o tym mowy w oficjalnym raporcie, ale możemy też się domyślić, że późna zmiana miejsca lądowania i związany z tym pośpiech w działaniu mógł mieć wpływ na nieodpowiednie przetestowanie kodu i porażkę całej misji. Będzie to zdecydowanie lekcją dla wszystkich zespołów, które obecnie pracują lub będą pracować w przyszłości nad kolejnymi małymi księżycowymi lądownikami. My zaś weźmy sobie do serca tę nauczkę, że liczy się nie tylko czy coś sprawdzamy, ale też, w jaki sposób to robimy. Źle wykonany test pokaże nam to, co chcemy, a nie to, jaka jest prawda.

Firma ispace zapowiedziała, że wdroży odpowiednie poprawki do oprogramowania swoich lądowników, by taka pomyłka nie nastąpiła w przyszłości. W raporcie zauważyli też, że być może HAKUTO-R nie wylądował na Księżycu, ale i tak osiągnął wiele. Wszystkie manewry orbitalne odbyły się bez problemu, a układy zasilania, komunikacji i wymiany cieplnej spisały się powyżej oczekiwań, co daje dobre perspektywy na kolejne misje. Obecnie Mission 2 i Mission 3 są planowane na odpowiednio 2024 i 2025 rok.

Czy jednak kolejna misja się uda? Swoje przemyślenia napiszcie w komentarzu.

Dyskusja (0 komentarzy)
  • Napisz komentarz jako pierwszy!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *


The reCAPTCHA verification period has expired. Please reload the page.

Formularz ochrania reCAPTCHA i Polityka Prywatności oraz Warunki Korzystania Google'a mają zastosowanie.