Středa 22. září 2021, svátek má Darina
  • schránka
  • Přihlásit Můj účet
  • Středa 22. září 2021 Darina

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ší

Podívejte se, jak do Česka dorazil poprvé bojový letoun 5. generace

Návštěvníci letošních Dnů NATO v Ostravě budou moci vidět na vlastní oči zatím jediný komerčně dostupný bojový letoun...

Sedm signálů, že se vám do počítače naboural hacker

Máte nepříjemný pocit, že ve vašem počítači či v zařízení, které je připojené k internetu, není něco v pořádku?...

ZX Spectrum, kapesní kalkulačka. Zemřel vynálezce Sinclair, bylo mu 81 let

Ve věku 81 let zemřel Clive Sinclair, který stál u zrodu kapesní kalkulačky. Přispěl rovněž k rozšíření osobních...

Windows 11 se blíží, ale vy si je možná nebudete moci nainstalovat

Premium Už za čtrnáct dní bude na trh oficiálně uvedena nová verze operačního systému Windows, která má nahradit Windows 10....

{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...}

Čtyři rady, jak pečovat o baterii notebooku, aby vydržela co nejdéle

Uživatelé notebooků se obvykle o baterii příliš nestarají. Pravdou je, že všechny baterie se časem opotřebovávají, ale...

Talent funguje, když se nastartuje v mozku. Odemkněte ho, radí Jan Mühlfeit

Premium Dvaadvacet let pracoval ve firmě Microsoft po boku Billa Gatese. V byznysu se dostal na vrchol, ale také zažil strmý...

„Očkovat sa nechcu, je v tom sajrajt.“ Reportáž z obce, kde odmítají vakcínu

Premium Vyškovec je obec, kde se nejméně lidí z celé země nechalo očkovat proti koronaviru – jen necelých sedmnáct procent. V...

Když dva jsou málo. 5 pravd o sexu ve třech, které vám zatím nikdo neřekl

Premium Sex ve třech. Někdy o něm snil kdekdo z nás. Pojďme ovšem pohlédnout pravdě do očí. Pokud do své ložnice přizvete další...

  • Další z rubriky

Mrazivé noci a piloti na kyslíku. Závod balonů je jako moderní verneovka

Legendární závod vodíkových balonů Pohár Gordona Bennetta opět dokazuje, že právem nese označení nejnáročnější letecký...

První turbočmelák létal výborně, ale nepráškoval

Evoluce legendárních práškovacích čmeláků vedla k typu s turbovrtulovým motorem. I když výroba turbočmeláků nakonec...

I tři dny ve vzduchu počasí navzdory. Startuje Pohár Gordona Bennetta

O víkendu se mezi zvýšený letecký provoz v souvislosti s evakuací z Kábulu přimísí ještě jedna složka letectví –...

Před 40 lety začala největší stávka letových dispečerů, která změnila USA

V ranních hodinách v pondělí třetího srpna vstoupilo čtrnáct tisíc řídících letového provozu napříč Spojeným státy do...

Akční letáky
Akční letáky

Všechny akční letáky na jednom místě!

Probudila mě bolest nehtů. Od té doby nemohu chodit, říká Alfred Strejček

Už téměř čtyři roky je Alfred Strejček (79) zcela odkázaný na péči druhých. Herci, recitátorovi, moderátorovi a...

Zaměstnanci i OSVČ s více dětmi dostanou od státu daňovou vratku

Díky daňové novele se během letošního roku zvyšuje daňové zvýhodnění na druhé a další děti. Vyšší daňové zvýhodnění se...

Zhubla téměř 50 kilo, teď se zpěvačka Adele pochlubila novou láskou

Během posledních tří let se zpěvačce Adele (33) podařilo zhubnout téměř padesát kilogramů. Britka prožila od rozvodu s...

Legíny nejsou kalhoty. Jak je vybírat a nosit, abyste si neuřízla ostudu

Snad v každém dámském šatníku nalezneme alespoň jedny legíny. Kousek tkaniny se totiž stal miláčkem žen. Některé...

Když dva jsou málo. 5 pravd o sexu ve třech, které vám zatím nikdo neřekl

Premium Sex ve třech. Někdy o něm snil kdekdo z nás. Pojďme ovšem pohlédnout pravdě do očí. Pokud do své ložnice přizvete další...