Jak zaprogramowano sondę Curiosity

Czym różni się system operacyjny VxWorks sondy Curiosity od systemów pracujących w dzisiejszych komputerach i tabletach?

Po pierwsze jest to Embeded Real-Time Operating System. Są to nie tylko - jak wskazuje nazwa - systemy wbudowane, stosowane w wielu urządzeniach codziennego użytku, ale dodatkowo gwarantują, że każda z operacji zakończy się w założonym czasie. Korzystając z komputerów wszyscy wiemy, że często otwierając jakąś aplikację czekamy kilka sekund lub nawet minut, aby coś się zadziało nie wiedząc nawet, czy program w ogóle się "uruchamia". Podczas misji sond nie można sobie na to pozwolić. W trakcie lądowania kilka sekund opóźnienia może zakończyć się katastrofą i rozbiciem sondy o powierzchnię planety. Tego typu systemy pozwalają nam również na znacznie lepszą kontrolę nad współpracą oprogramowania ze sprzętem, w który zostało wbudowane, w tym np. wyłączyć całkowicie funkcjonowanie pewnych elementów.

Zobacz również:

  • Chcą zainstalować sieć światłowodową na Księżycu. "W imię nauki"

Na jakich platformach działa Państwa oprogramowanie? Kiedyś mówiło się, że NASA jest bardzo konserwatywne i jeszcze do niedawna korzystało z układów Intela x86. Teraz to - jak słyszałem - także niezbyt szybki procesor Power PC 133 MHz…

System zarządzający Curiosity został podzielony aż na 154 moduły! Każdy tworzył inny zespół, który przygotowane wcześniej wymagania przekłada na konkretne elementy systemu - strukturę danych, procedury. To najbardziej skomplikowany projekt zrealizowany w Jet Propulsion Laboratory. Systemy sterujące pracą sond stają się bowiem coraz bardziej skomplikowane. Dotyczy to np. rozwiązań do przechowywania plików.

To prawda. Znacznie ogranicza nas dostępność platform, na które możemy tworzyć oprogramowanie. Jednak to nie tyle konserwatyzm NASA, co fakt, że rynek kosmiczny jest bardzo mały. To zaś powoduje, że nie inwestuje się zbyt wielkich kwot w innowacje. Jednocześnie zaś stosowane rozwiązania muszą spełnić wiele dodatkowych wymogów, w tym np. być odporne na promieniowanie. Powstające zaś nowe rozwiązania długo czekają na akceptację NASA, które nie chce ryzykować misji wartych miliardy dolarów. To powoduje, że ograniczony jest dostęp do odpowiednich technologii. Stosowane przez NASA komputery nie mają nawet pamięci typu L2Cache. Z roku na rok rynek kosmiczny coraz bardziej odstaje od technologii rozwijanej na Ziemi.

Jak trafił Pan do Jet Propulsion Laboratory?

Na California State University studiowałem matematykę i informatykę. Jeszcze przed zakończeniem szkoły ściągnięto mnie do pracy w NASA. Poszukiwano administratora jednego z systemów. Do pracy przychodziłem wówczas zaledwie na kilka godzin w tygodniu. Zarządzany przeze mnie komputer był większy niż samochód typu van, a miał moc obliczeniową zaledwie 1 MIPSA. Po szkole otrzymałem propozycję stałej pracy. Później zacząłem programować. Curiosity to czwarty projekt, w którym biorę udział, choć dopiero drugi - po Cassini - dotyczący misji kosmicznej.

Dużo Polaków pracuje w NASA?

Jest ich bardzo wielu. W Jet Propulsion Laboratory osobiście znam około pięciu. A znacznie więcej jest osób z polskimi nazwiskami. Nie mogę jednak znać wszystkich, bo w samym JPL pracuje 5000 osób, a to tylko jeden z kilkunastu ośrodków NASA.

Nad jakim nowym projektem będzie Pan teraz pracował?

Mam stworzyć architekturę nowej generacji systemów na potrzeby nowych projektów. Zastanawiamy się jak powinny działać, także w kontekście kolejnych misji na Marsa. Co prawda jeszcze nie tych załogowych, ale już myśli się o misji, która przyniosłaby pozyskane próbki na Ziemię.


TOP 200