Čtvrtek 24. září 2020, svátek má Jaromír
  • schránka
  • Přihlásit Můj účet
  • Čtvrtek 24. září 2020 Jaromír

Nová americká vesmírná loď se ovládá přes webovou stránku

Software je často přehlíženou stránkou současných kosmických lodí. V poslední době však programátoři a inženýři společnosti SpaceX alespoň trochu dali nahlédnout do nitra systémů, které řídí jejich stroje, včetně například nové kosmické lodi pro lety s posádkou Crew Dragon.

Software a hardware nosiče Falcon 9 jsou mimo jiné schopny kompenzovat ztrátu motoru jako při misi Starlink v1-5 | foto: SpaceX

Počítače a software jsou nepochybně jednou z nejdůležitějších součástí raket a kosmických lodí. O počítačích řídících stroje SpaceX jsme se kvůli americkým regulacím ITAR a ochraně duševního vlastnictví SpaceX nedozvěděli mnoho konkrétních informací, v průběhu času se ale SpaceX přece jen o nějaké informace podělilo.

Naposledy například při AMA (Ask Me Anything – Zeptej se mě na cokoliv) na sociální síti Reddit po misi DM-2, kde softwaroví inženýři firmy odpovídali na otázky fanoušků. Pojďme si tedy projít, co víme o softwaru a počítačích v raketách a lodích SpaceX. Článek je zaměřen i na čtenáře, kteří nejsou kovanými počítačovými experty.

Když se řekne Crew Dragon, tak se řadě lidí vybaví jeho tři dotykové displeje a modré ovládací grafické rozhraní. Stále se vede mnoho diskuzí o vhodnosti ovládání kosmické lodi pomocí dotykových obrazovek namísto tlačítek, přepínačů a joysticků. SpaceX tuto variantu zvolilo proto, že jejich cílem bylo navrhnout loď tak, aby žádné ovládání nevyžadovala a zároveň aby posádka měla neustále dostupné co největší množství informací.

Loď je zcela autonomní a jediné ovládání ze strany astronautů by se mělo týkat maximálně vnitřních systémů kabiny, jako je například hlasitost audiosystému. Řízení letu lodi a jejích kritických systémů astronauty by mělo nastat jen v nouzové situaci a SpaceX se snažilo, za vydatné pomoci astronautů samotných, vyvinout co nejlepší grafické rozhraní pro tyto úkoly. Výsledné rozhraní pro ovládání letu lodi a dokování s ISS si můžete vyzkoušet v povedeném simulátoru. (Najdete oba skryté vtípky?)

Je ale potřeba připomenout, že klíčové funkce lodi se dají ovládat tlačítky umístěnými pod displeji. Pomocí nich má posádka možnost spustit hasicí systém, vystřelit padáky při návratu do atmosféry, přerušit let k ISS, spustit nouzovou deorbitaci, resetovat palubní počítače a vykonat další nouzové úkony. Páka pod prostředním displejem jim umožňuje spustit únikový systém.

Mají rovněž k dispozici tlačítka, která spouštějí a ruší příkazy zadané pomocí displejů. Pokud tedy astronaut spustí nějaký příkaz na displeji a ten se následně porouchá, tak má stále možnost daný příkaz zrušit stiskem tlačítka pod displejem. Přehlednost a ovladatelnost displejů byla také testována v prostředí vibrací a testovací týmy a astronauti provedli mnoho testů s rukavicemi a i v natlakovaných skafandrech. Ulises Siriczman vytvořil z dostupných snímků a videí model celé ovládací konzole a rovněž také interaktivní nástin grafického rozhraní.

Model ovládací konsole Crew Dragonu

Model ovládací konsole Crew Dragonu

Grafické uživatelské rozhraní Dragonu je vytvořené ve webových technologiích, konkrétně jazycích JavaScript, HTML a CSS. Na displeje v kabině je zobrazováno pomocí webového prohlížeče Chromium, otevřené varianty známého prohlížeče Google Chrome. Můžeme tedy říct, že Dragon s astronauty komunikuje pomocí webové stránky.

Ovládat kosmickou loď webovou aplikací se může zdát zvláštní, v dnešní době jsou však webové aplikace zcela běžné nejen na internetových službách a chytrých telefonech, ale dobývají stále více různých zařízení. Jejich známou nevýhodou jsou vyšší nároky na výpočetní výkon ve srovnání s jinými technologiemi tvorby grafických rozhraní. Avšak displeje jsou vybavené vlastními počítači, takže výkon není problém.

Výhodou tvorby grafických uživatelských rozhraní ve webových technologiích je snadnost a rychlost vývoje. A ta byla ve vývojovém procesu SpaceX důležitá, protože jim umožňovala rychlé úpravy rozhraní podle připomínek astronautů. Doslova přes noc tak mohli zapracovat změny a hned další den je představit k testům. Díky tomu nejen rychle postupovali kupředu, ale také neplýtvali časem astronautů. Kteří to také oceňovali.

Dotykové displeje v Crew Dragonu pro misi DM-2

Dotykové displeje v Crew Dragonu pro misi DM-2

Vývoje se účastnila nejen posádka Dragonu Endeavour z mise DM-2, která skončila 2. srpna, ale také astronauti mise Crew-1, která by měla odstartovat v září. Právě velitel zářijového letu Michael Hopkins nakonec získal cenu za nalezení toho nejzajímavějšího bugu. Stalo se to během tzv. Hackathonu, týdenní akce v centrále SpaceX, kdy posádky obou misí intenzivně testovaly ovládání Dragonu při letových simulacích s cílem najít co nejvíce chyb a nedostatků a posunout vývoj softwaru co nejvíce kupředu. Bohužel jsme se nedozvěděli, v čem přesně chyba spočívala.

Zajímavé je, že tato forma uživatelského rozhraní původně vznikla pouze jako demonstrátor pro NASA. Když jej ale inženýři zkusili spustit na počítačích Dragonu, zjistili, že funguje výborně. Myšlenka vývoje ve webových technologiích se jim díky jednoduchosti a snadno dostupným talentům zalíbila a rozhodli se u ní zůstat.

Spolehlivost na prvním místě

Pravděpodobně nejpodstatnější vlastností řídicího systému rakety a lodi je samozřejmě spolehlivost. Ta je v případě strojů SpaceX zajištěna především redundancí systémů, tedy využitím více stejných komponent, které pak pracují společně a mohou se vzájemně zastoupit.

Falcon 9 má celkem tři oddělené letové počítače. Každý z těchto počítačů čte data ze senzorů a systémů rakety, provádí potřebné výpočty, činí rozhodnutí, jak pokračovat, a generuje povely pro vykonání oněch rozhodnutí. Všechny tři počítače jsou vzájemně propojené a posílají si své výsledky a vzájemně je porovnávají. Musí panovat tzv. shoda většiny, tedy dva ze tří počítačů se musí ve svých výsledcích shodovat. Pokud shoda panuje, počítač, který má momentálně vedoucí roli, výsledky a povely schválí a ty jsou následně všemi třemi počítači najednou odeslány zbytku rakety a pak se spustí nové kolo výpočtů.

Tento mechanismus zajišťuje, že pokud jeden ze tří počítačů selže, zbylé dva jsou stále schopny raketu spolehlivě řídit. Zároveň se mohou pokusit chybující počítač navrátit do funkčního stavu například restartem. Pokud selže vedoucí počítač, převezme vedení jeden z ostatních.

Falcon 9 s Crew Dragonem před misí DM-2

Falcon 9 s Crew Dragonem před misí DM-2

Všechny tři počítače mají dvoujádrové procesory architektury x86 (tedy dominantní architektury procesorů ve stolních počítačích). Obě jádra opět provádějí stejné výpočty a porovnávají je mezi sebou a kontrolují shodu. Takže zatímco hardwarová redundance je trojnásobná, softwarová/výpočetní redundance je šestinásobná.

Co se stane, pokud selže druhý počítač? Inženýři tuto možnost výslovně nespecifikovali, je ale možných několik strategií. Buď je možné se pokusit chybující počítače znovu zprovoznit, opět například restartem, a během tohoto pokusu o obnovu nechat raketu řídit posledním funkčním počítačem (ten, který v předchozím kole rozhodování poskytl správné výsledky), nebo rovnou spustit proces přerušení mise.

Existuje samozřejmě i možnost pokusit se dokončit misi i jen s jedním funkčním počítačem. Systém je toho schopen. Řízení převezme poslední funkční/správně počítající počítač a pokusí se dokončit misi. A protože procesory letových počítačů jsou dvoujádrové, kdy opět na obou jádrech běží stejný výpočet, tak jistá kontrolní redundance je stále zachována.

Zda je tato strategie využívána, závisí především na důvěře SpaceX a NASA ve schopnost stroje spolehlivě a bezpečně dokončit misi jen s jedním počítačem. Přistávající Falcon nebo Dragon samozřejmě využije všechny dostupné prostředky, tato otázka se týká pokračování v naplánované misi. Je ale nutno podotknout, že současné selhání dvou počítačů je málo pravděpodobné. Pokud k tomu dojde, je to pravděpodobně známka nějakého problému přesahujícího jen počítače.

V každém případě při problémech s počítači či jinými systémy závisí osud mise na rozhodnutí systému Autonomous Flight Safety System (AFSS) – Autonomní systém bezpečnosti letu. Jde o systém zcela nezávislý na letových počítačích, který běží na sadě několika mikrokontrolérů (malých počítačů), získává stejná data ze senzorů a výsledky výpočtů a povely z letových počítačů a kontroluje bezpečný průběh mise. Dohlíží nejen na funkci letových počítačů, ale také na parametry letu (jako je odchylka od trajektorie, rozdíly v zrychlení apod.) a kontroluje, zda nejsou mimo stanovené limity.

Tyto limity se obecně mohou u každého letu lišit, a pokud jsou překročeny, přeruší AFSS misi. Tedy u Falconu na rampě přeruší odpočet, u již letícího Falconu spustí sebedestrukci případně předcházenou aktivací záchranného systému Crew Dragonu, pokud jej raketa nese.

Výroba Crew Dragonu určeného pro misi Crew-1 se čtyřmi astronauty

Výroba Crew Dragonu určeného pro misi Crew-1 se čtyřmi astronauty

Aby měly všechny počítače vždy co nejspolehlivější data, je také většina senzorů redundantních, stejně jako počítače, které z nich data čtou a následně je posílají letovým počítačům. Stejně tak jsou redundantní i počítače řídící jednotlivé subsystémy rakety (motory, roštová kormidla, manévrovací trysky atd.) podle povelů letových počítačů.

Falcon 9 je tedy řízen celým stromem nejméně 30 počítačů. Na vrcholu stromu jsou letové počítače ovládající síť podřízených počítačů. Každý z nich má svůj vlastní komunikační kanál ke každému letovému počítači zvlášť.

Všechny povely mu tedy chodí třikrát. Všechny povely jsou před vykonáním opět porovnány, čímž dochází nejen k další kontrole výsledků letových počítačů, ale i ke kontrole přenosu dat. Ten je rovněž zabezpečen pomocí opravných kódů (způsob kódování dat využívající připojení dodatečných dat umožňujících detekovat a do jisté míry opravit případné chyby v datech vzniklé během přenosu). Pokud podřízený počítač detekuje neshodu, zvolí povel od toho počítače, který byl v předchozím kole rozhodování vyhodnocen jako funkční.

Kompilace všech startů Falconu 9 pro společnost Iridium, výjimku tvoří...

Kompilace všech startů Falconu 9 pro společnost Iridium, výjimku tvoří Iridium-7, kdy místo startu byla vidět jen oranžová mlha

Nezapomeňme také, že má raketa celých devět motorů a je schopná se vyrovnat se selháním jednoho z nich. V takovém případě raketa ztrátu kompenzuje pomocí ostatních motorů, jak jsme toho byli svědky při misi Starlink v1-5. SpaceX tedy hodně spoléhá na redundanci, což je ovšem nejvíce používaná praktika na zvýšení spolehlivosti různých systémů.

Letové počítače Crew Dragonu jsou tři, každý z nich je tvořen dvěma samostatnými čtyřjádrovými procesory architektury x86. Jsou tedy výkonnější než ty ve Falconech a poskytují větší softwarovou redundanci. Díky tomu loď dokáže bezpečně tolerovat ztrátu rovnou dvou počítačů. Kromě toho dokáže spolehlivě a bezpečně pracovat při ztrátě libovolných dvou motorků Draco, libovolných dvou displejů a libovolných dvou akčních členů (zařízení vykonávající nějakou činnost v lodi, což jsou například ventilátory vzduchotechniky, radiátory tepla, ventily atd.).

Ovládací displeje mají vlastní počítače založené na procesorech Nvidia Tegra vybavených grafickým procesorem pro podporu vykreslování. Celkově Dragon nese nejméně 54 počítačů. Nebylo řečeno, o jaké konkrétní procesory se jedná, inženýři ale prozradili, že letové počítače se výkonem rovnají pět let starým chytrým telefonům.

Využívání redundantních počítačů zvyšuje nejen odolnost systému proti různým softwarovým a hardwarovým problémům, ale je to zároveň ochrana proti chybám způsobeným radiací. Ta je jedním z hlavních nebezpečí pro počítače vesmírných strojů.

Proč vlastně radiace škodí? Dnešní počítače jsou tvořeny množstvím polovodičových prvků (tranzistorů) spínajících elektrické proudy, čímž realizují binární logiku. Sluneční vítr a záření spolu s kosmickým zářením jsou tvořené jednak elektromagnetickým zářením o různých vlnových délkách (od rádiových vln až po záření gamma) a dále pak různými druhy částic.

Pokud nějaká taková částice zasáhne polovodičový prvek, tak pomocí různých mechanismů závislých na konkrétní částici dojde k přeměně její energie na elektrický náboj či proud – což může způsobit narušení dat. Pokud částice zasáhne paměťový bit, může změnit jeho hodnoty z 0 na 1 nebo obráceně, což potenciálně může mít velký dopad.

Může to způsobit chybu ve výpočtech nebo i pád aplikace. Tato porucha bitu může nastat jak v operační paměti RAM počítače, tak i v paměťovém úložišti, a poškodit tak data uložená k budoucímu použití. Může k tomu dojít i ve vyrovnávací paměti procesoru nebo v jeho registrech.

Crew Dragonu se mohou porouchat kterékoliv dva motorky Draco, aniž by to mělo...

Crew Dragonu se mohou porouchat kterékoliv dva motorky Draco, aniž by to mělo vliv na jeho manévrovací schopnosti.

Dopad částice tak může procesoru data změnit doslova pod rukama během výpočtu. Vliv takovýchto poruch je možné omezit využitím pamětí se zabudovanými opravnými kódy (ECC paměti). Není známo, jestli je SpaceX využívá, ale je to pravděpodobné.

Obecněji řečeno platí, že počítačové systémy vesmírných prostředků jsou proti účinkům radiace chráněny kombinací stínění, redundance a využití počítačů speciálně navržených pro zvýšenou odolnost proti radiaci. Tuto poslední možnost ovšem SpaceX vůbec nevyužívá.

Aby se zničitelné nezničilo

To je poměrně neobvyklý přístup, který má několik příčin. První je cena: například maličký radiačně odolný mikrokontrolér pro cubesaty stojí okolo tisíce dolarů, řídicí počítač pro marsovský rover Curiosity stál okolo dvou set tisíc dolarů. Naproti tomu obyčejný dvoujádrový x86 procesor (které SpaceX využívá) stojí pod sto dolarů.

Zároveň jsou radiačně odolné počítače většinou založené na starších technologiích. Mají tedy menší výkon a podporují menší množství programovacích jazyků a vývojových nástrojů. To dělá vývoj softwaru pro ně náročnějším a dražším. Využití běžně dostupných levných procesorů umožňuje SpaceX levně sestavit redundantní systémy a dále to díky mnohem širšímu ekosystému nástrojů usnadňuje a zrychluje vývoj. Navíc to umožňuje intenzivnější testování, protože je možné dělat testy ve velkém.

NASA na tuto strategii přistoupila, SpaceX ale muselo vypracovat studii o vlivu radiace na zvolený hardware. A byť neznáme detaily, tak zřejmě dospěla k závěru, že v prostředí, kde se stroje SpaceX pohybují, poskytuje vícenásobná redundance systémů dostatečnou ochranu proti vlivu radiace.

V důsledku působení radiace vzniklé chyby jsou zřejmě s dostatečně velkou pravděpodobností detekovány právě porovnáváním výpočtů počítačů. Následně mohou být vyřešeny restartem chybujícího počítače, při kterém dojde k přepsání chybných dat v paměti počítače korektními daty z pamětí ostatních počítačů.

Přílet vesmírné lodi Dragon k ISS během mise CRS-20

Přílet Dragonu k ISS během mise CRS-20

Právě proto jsou do systému zabudované mechanismy pro automatické restarty počítačů. Hodilo se to například při předposlední misi k ISS (CRS-20), kdy radiace dočasně vyřadila z provozu jeden z letových počítačů Dragonu. V Crew Dragonu mají astronauti možnost provést restart i pomocí tlačítek pod displeji a během výcviku tyto úkony trénovali.

Ne všechny chyby následky radiace lze ovšem takto snadno napravit. Některé částice záření totiž dokážou narušit atomovou mřížku polovodiče a tím zhoršit jeho vlastnosti a způsobovat postupnou degradaci počítače. Navíc, pokud polovodičový prvek zasáhne částice s velmi vysokou energií, nebo zasáhne citlivé místo, přenesená energie jej může trvale poškodit. Ztráta jednoho tranzistoru nutně počítač nezničí, polovodičové obvody mají zabudovanou jistou toleranci.

Radiačně odolné počítače roveru Curiosity

Radiačně odolné počítače roveru Curiosity

Samozřejmě dostatečně velká dávka může celý počítač zničit okamžitě. Ale i jedna porucha na kritickém místě obvodu může počítač ochromit. Své o tom ví rover Curiosity, který měl poruchu na jednom ze svých dvou počítačů. Pravděpodobně v důsledku radiace došlo k trvalému poškození kritické části jeho paměťového úložiště. To následně zablokovalo přístup do velké části úložného prostoru což pak uvedlo řídicí software do chybného stavu. Obsluha roveru pak musela předat řízení druhému počítači a poškozenou část úložiště izolovat.

Zajímavou otázkou je, zda se přístup i SpaceX nakonec nezmění. Vývoj integrovaných obvodů totiž v důsledku spěje k čím dál vyšší zranitelnosti komponent vůči působení radiace. Neustálé zlepšování výrobních technologií vede k neustálému zmenšování tranzistorů a jejich integraci do obvodů v čím dál větších počtech. To zvyšuje výkon a zároveň snižuje spotřebu, ovšem čím menší je tranzistor, s čím menším napětím pracuje, tím méně energie je potřeba k vyvolání chyby. Rozšiřuje se tak spektrum částic kosmického záření, jejichž dopad má na elektroniku nežádoucí vliv.

Druhý díl

Společnost SpaceX má z pohledu NASA poněkud neortodoxní pohled na vývoj softwaru. Jak ukázalo několik letů v posledních době, ten má ovšem i své výhody.

V druhé části tohoto článku se podíváme, jaký operační systém a programovací jazyky SpaceX používá, jak přistupuje k testování softwaru, a také se dozvíte pár technických zajímavostí o satelitech Starlink.

Článek byl převzat z webu ElonX.cz, před vydáním byl redakčně upraven. Originál najdete zde. 

Autor:
  • Nejčtenější

Vyzkoušeli jsme eRoušku 2. Podívejte se, jak může pomoci i vám

Největší nadějí na zpomalení šíření covidu-19, která navíc nikomu nezkomplikuje život, je malá aplikace pro chytré...

Počet úmrtí bude stoupat. Podívejte se, jaké měla křivka zpoždění jinde

Počet úmrtí s nemocí covid-19 u nás poroste. Byť ještě není jasné o kolik. Příklady z jiných zemí jasně ukazují, že...

Nová data ukázala alarmující poměr pozitivních testů. Už je nad 20 %

Epidemie koronaviru se v Česku vymyká kontrole. Napovídá tomu ukazatel, který měří poměr pozitivních testů oproti všem...

Jak hraje 45 let stará a jak úplně nově vyrobená kazeta? Poslechněte si

Jedné je pětačtyřicet let, byla mnohokrát nahrána i přehrána, továrna, kde vznikla, dávno neexistuje. Druhá je nově...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

KVÍZ: Zjistěte, jak se vyznáte v tancích, a vyhrajte unikátní encyklopedii

Soutěž Ať vás tyto válečné stroje zajímaly již od malička, nebo jste se k tankům dostali až později, asi víte, že jejich...

Nebezpečná místa Česka: brněnský Cejl. Místo, kde vidíte policii jen projíždět

Premium Reportéři MF DNES mapují místa, která podle statistik nejsou výjimečně nebezpečná. Ve skutečnosti jde o no-go zóny,...

Němci kritizují Česko a vzkazují: Podívejte se na naše opatření. Fungují

Premium Koronavirová propast mezi Českem a Německem se nadále prohlubuje. Z premianta třídy se stal problémový žák, popisují...

Když ne jeho, tak aspoň jeho dítě! Psycholog Šmolka nejen o zoufalých milenkách

Premium Ve třiceti už se neprovdáš. Věta, kterou kdysi běžně slýchaly dívky nad třicet let, považované už za staré panny. Dnes...

  • Další z rubriky

OBRAZEM: Starý, žravý, ale spolehlivý. AČR se loučí s tahounem Jak-40

Jedinou vyloženě slabou stránkou sovětského Jaku-40 je vysoká spotřeba paliva. Potom už následují jen samá pozitiva:...

Kapitán si zpíval. A 300 lidí na palubě letounu zcela zbytečně zemřelo

Dne 19. srpna 1980 odstartoval z Rijádu let saúdských aerolinií do Džiddy. Brzy po startu vypukl v kabině cestujících...

Navigace EU měla velký výpadek, hodnocení měla „za jedna“. Co se stalo?

Evropská navigace Galileo zažila loni v červenci téměř týden trvající výpadek. Podrobností bylo zveřejněno málo,...

Pilotům nestačí smysly lovců mamutů, ukazuje havárie letadla Amazonu

V únoru 2019 se v Houstonu zřítil nákladní letoun se třemi lidmi na palubě. V červenci 2020 vyšla závěrečná vyšetřující...

Volali ji k večeři, ale nepřišla. Zemřela s ohořelým mobilem v ruce

Patrně neoriginální příslušenství si vybralo další z mnoha obětí. Stala se jí šestnáctiletá thajská školačka. Poté, co...

Vyzkoušeli jsme eRoušku 2. Podívejte se, jak může pomoci i vám

Největší nadějí na zpomalení šíření covidu-19, která navíc nikomu nezkomplikuje život, je malá aplikace pro chytré...

Blíží se katastrofa, jež zastíní pandemii covidu-19, říká princ Charles

Britský princ Charles (71) vyzval v pondělí ke zlepšení boje proti klimatickým změnám, jejichž dopad podle něj zastíní...

Počet úmrtí bude stoupat. Podívejte se, jaké měla křivka zpoždění jinde

Počet úmrtí s nemocí covid-19 u nás poroste. Byť ještě není jasné o kolik. Příklady z jiných zemí jasně ukazují, že...

Nový šéf pojmenoval hlavní cíle Škody: Hyundai, Kia, Ford, Opel a Francouzi

„Značka je na tom velmi dobře a má skvělou pověst. Tu si vypracoval tým, který může být náležitě hrdý,“ prohlásil...