Zadanie

Po veľkom úspechu KSP1 sa aj náš Fantastický Kozmický Superprogram chystá vypustiť na obežnú dráhu raketu. V dnešnej dobe to však nie je jednoduché – všetko sa musí najprv do úmoru testovať, simulovať a overovať. Po bujarých predčasných oslavách sa však zistilo, že rozpočet nám ledva vystačí na dva rozmery2.

Pre jednoduchosť našu raketu pokladáme za hmotný bod, ktorý však má definovanú orientáciu (čiže smer, ktorým motor chŕli plyny). Navyše sa dokáže otáčať a plynulo meniť ťah motora. Budeme od vás potrebovať splniť tri rôzne misie, každú s novým štartom:

  • Dosiahnite nízku orbitu, čiže uzavretú obežnú dráhu, ktorá nepretína povrch planéty.
  • Dosiahnite únikovú rýchlosť, teda dostatočnú, aby raketa uletela do nekonečna.
  • Jemne (teda bez výbuchu) pristaňte na povrchu mesiaca. Minimalizujte potrebný čas.

Palivo je však drahé, pokúste sa ho preto zakaždým minúť čo najmenej. Ku každej podúlohe napíšte, koľko paliva vám zostalo a detailne zdôvodnite svoj postup – teda slovne opíšte všetko, čo ste robili a prečo si myslíte, že to je dobré riešenie. Nemusíte používať odborné termíny, usilujte sa však, aby zdôvodnenie bolo zrozumiteľné. Screenshoty tomu môžu dosť pomôcť. Nebojte sa do nich aj kresliť :-)

Simuláciu nájdete tu.


  1. Výnimočne nie Korešpondenčný seminár z programovania, ale Kerbal Space Program

  2. a na grafika zjavne nezvýšilo vôbec nič

Povedal som si, že okrem počítacích úloh by ste sa mohli s gravitáciou nakoniec aj trochu pohrať. Grafika síce nebola nič moc a ani zápletku to veľmi nemalo, zato fyzikálne bola na tom simulácia podstatne lepšie, než som pôvodne plánoval a všetko fungovalo zhruba tak, ako malo.

Do budúcna by som ešte rád vyriešil posúvanie v čase – žiadna z úloh síce v ideálnom prípade nezabrala ani dve minúty, ale po prvé ste to nemuseli vedieť, a po druhé vám tiež zrejme nešlo všetko ideálne hneď na prvý pokus. Ostáva dúfať, že vás to aj napriek týmto nedostatkom aspoň trochu bavilo.

Takže sa pozrime na úlohy.

Obežná dráha

Prvá úloha sa dala vyriešiť všelijako. Ale ak ste aj dosiaľ žiadny podobný simulátor neskúšali, metódou pokusov a omylov by ste mali pár dôležitých zásad rýchlo objaviť aj sami. Napríklad, že

  • chceme plný ťah motorov od samého začiatku (ideálne teda stlačíme z);
  • raketu chceme začať otáčať do smeru plánovaného pohybu čo najskôr;
  • pri tom všetkom sa ale potrebujeme vzdialiť od povrchu planéty čo najmenej;
  • ale zase nie primálo, aby sme sa s povrchom nezrazili.

Prečo je ale toto riešenie najlepšie? Prvý bod by vám mal byť aj intuitívne jasný: motor musí prekonávať gravitačnú silu, ktorá raketu ťahá smerom do stredu planéty. Celkový impulz, ktorý rakete udelí gravitačná sila, však závisí od času. Na orbite nás to už trápiť nebude, pretože bude pôsobiť kolmo na smer nášho pohybu a teda nebude meniť energiu.

Pri štarte to ale dôležité je. Čím dlhšie nám potrvá dostať sa na orbitu, tým viac paliva budeme musieť spáliť. Čím vyšší ťah motor má, tým menej času musí pôsobiť proti gravitácii. Naopak, ak ťahá slabo, palivo veselo mizne, ale raketa sa ani nepohne, pretože sila motora nestačí ani len prekonať gravitáciu.

Rovnaký argument zdôvodní aj našu druhú zásadu. V prvom momente je zrýchlenie rakety \(\SI{300}{\metre\per\second\squared}\), pričom gravitačné zrýchlenie na povrchu je \(\SI{200}{\metre\per\second\squared}\). Ak teda motor rakety smeruje priamo do stredu planéty, dve tretiny jeho ťahu sa spotrebujú iba na prekonanie gravitačnej sily a len zvyšná tretina raketu urýchľuje.

Teraz nakloňme raketu pod vhodným uhlom – teda tak, aby radiálna zložka sily akurát vyrovnávala gravitačnú silu. V našom prípade to bude \[\alpha_0 = \arcsin{\frac{2}{3}} \doteq \ang{41}\text{.}\]

Zložka sily pôsobiaca v transverzálnom smere potom bude mať veľkosť \[\cos{\left(\arcsin{\frac{2}{3}}\right)} = \frac{\sqrt{5}}{3} \doteq \SI{74.5}{\percent}\]

ťahu motora. Ako raketa získava výšku, gravitačné zrýchlenie klesá a teda sa môžeme otočiť ešte viac. Okrem toho raketa naberá rýchlosť v priečnom smere a povrch planéty sa pod ňou začína zakrivovať, takže musíme zatáčať ešte viac. O chvíľku dosiahneme apogeum, kde bude radiálna rýchlosť nulová. Tam už raketu môžeme otočiť v smere dotyčnice, teda rovnobežne s povrchom pod ňou a použiť na zrýchľovanie celý ťah motora.

Tretí a štvrtý bod vysvetľovať nemusíme. Planéta nemá atmosféru, takže môžeme letieť ľubovoľne blízko k jej povrchu. Ak celý manéver prebehne dobre a neprestrelíme to s výškou, po dosiahnutí nízkej obežnej dráhy nám môže ostať prinajmenšom \(\SI{13180}{\kilo\gram}\) paliva1.

Pre porovnanie, kebyže je ťah rakety ľubovoľne veľký (a teda zmení svoju rýchlosť za zanedbateľne krátky čas, ako výstrel z kanóna), potrebné palivo vieme spočítať z Ciolkovského rovnice.2 V takom prípade by nám ostalo približne \(\SI{15421}{\kilo\gram}\) paliva.

Úniková rýchlosť

Do nekonečna sa dá dostať aj úplne primitívne – zapneme motory na plný výkon a čakáme. Takto dosiahneme maximálnu rýchlosť približne \(\SI{4350}{\metre\per\second}\), prípadne ak motory vypneme v okamihu, keď sa dráha zmení na hyperbolickú, ostane nám približne \(\SI{1100}{\kilo\gram}\) paliva.

Keď už však vieme, čo dokáže spraviť gravitačný odpor, hneď by sme si mali uvedomiť, že to veru vieme spraviť aj múdrejšie. Najprv dosiahneme nízku obežnú dráhu, rovnako ako v predchádzajúcom prípade. Pravdepodobne sa nám nepodarí dokonale kruhová dráha, to ale ničomu neprekáža. Vypneme motory a počkáme, kým sa raketa dostane do perigea, teda miesta, kde sa najviac priblíži k stredu planéty (a teda aj povrchu). Tam je potenciálna energia rakety najnižšia, takže kinetická musí byť maximálna.

Raketa sa teraz nachádza na takzvanej parkovacej orbite. Pre samotný štart totiž nie je dôležité, kedy nastane, stojí nás vždy rovnako. Preto môžeme vyštartovať napríklad vtedy, keď je pekné počasie, párkrát obletíme zem v malej výške a potom v správny okamih začneme opäť zrýchľovať. V tomto prípade nás zatiaľ časovanie samozrejme trápiť nemusí.

Následne sa znovu otočíme prográdne, teda v smere pohybu, a znovu zapneme motory na plný výkon. Manéver však nie je okamžitý, takže počas neho budeme potrebovať raketu ešte trochu natáčať, aby sme stále mierili do smeru pohybu.

Tento manéver sa nazýva powered fly-by3. Ide o to, že raketa dokáže z paliva využiť nielen chemickú energiu uloženú vo väzbách medzi atómami, ale aj jeho kinetickú energiu4. Pri spálení určitého množstva paliva sa ale zakaždým vyvinie rovnaký celkový impulz a teda aj zmena rýchlosti \(\Delta v\).

Pre únik z gravitačnej jamy nás však nezaujíma priamo rýchlosť, ale celková energia rakety. Ak vieme zmeniť rýchlosť o nejakú konštantu, určite to chceme spraviť pri väčšej rýchlosti, než pri menšej – zmena energie tak bude podstatne väčšia a to hrá v náš prospech. Preto sa oplatí zapnúť motory vtedy, keď je kinetická energia veľká, teda čo najnižšie v potenciálovej jame.

Ak vám to ešte nie je jasné, skúsime to ešte inak. Raketa si svoje palivo vždy nesie so sebou. Čiže ak chce meniť svoju rýchlosť v mieste, kde je potenciál vyšší, musí si tam palivo najprv doniesť – čiže dodať mu potenciálnu energiu. No a na to musí takisto páliť palivo. Takže je vždy výhodnejšie palivo páliť čo najhlbšie v potenciálovej jame, čiže čo najbližšie pri povrchu.

Vráťme sa k našej úlohe. Obežná rýchlosť na ideálnej nízkej kruhovej dráhe je \(\SI[parse-numbers = false]{\sqrt{10}}{\kilo\metre\per\second}\), zatiaľ čo na únik potrebujeme dosiahnuť \(\SI[parse-numbers = false]{\sqrt{20}}{\kilo\metre\per\second}\), čiže musíme zrýchliť o približne \(\SI{1.31}{\kilo\metre\per\second}\). S trochou šikovnosti nám môže ostať vyše \(\SI{6739}{\kilo\gram}\) paliva.5

Pri okamžitom impulze by nám teoreticky mohlo ostať až približne \(\SI{8474}{\kilo\gram}\) paliva.

Pristátie na mesiaci

Hlavným predpokladom úspechu je tu vyštartovať prográdne, teda v rovnakom smere, v akom mesiac planétku obieha. S mesiacom sa síce dokážeme ľahko zraziť aj pri protismernom lete, na mäkké pristátie by sme však potrebovali trochu viac paliva, ako máme6. Preto budeme postupovať takto:

  • Opäť dosiahneme nízku parkovaciu orbitu v prográdnom, teda kladnom smere. Letíme podstatne väčšou uhlovou rýchlosťou, ako mesiac.
  • Tu si počkáme, kým bude mesiac približne \(\ang{75}\) pred raketou.
  • Zapneme motory a zrýchlime tak, aby naše apocentrum, teda najvzdialenejší bod dráhy od stredu planéty, ležalo približne vo vzdialenosti mesiaca.
  • Znovu počkáme, kým sa k mesiacu dostatočne priblížime. Môžeme zazoomovať tak, aby sme planétu nevideli. Kamera je vždy zameraná na raketu – mesiac vyzerá, ako keby sa pomaly približoval k stredu obrazovky.
  • Otočíme sa smerom od mesiaca a pomaly brzdíme. Kvôli gravitačnému odporu a Oberthovmu efektu je opäť lepšie brzdiť čo najnižšie. Samozrejme, nemôžeme to prehnať, inak sa rozdrúzgame.
  • Ak sme nič nepokazili, raketka spokojne dosadne na mesiac.

Ak máte dostatok trpezlivosti a budete to skúšať dostatočne dlho, mohli by ste si všimnúť, že medzi dobou letu a množstvom spáleného paliva vieme robiť kompromisy. Môžeme dokonca zrýchliť ešte viac a zdvihnúť apocentrum nad dráhu mesiaca, ale za tú cenu, že pri mesiaci budeme musieť viac brzdiť. A ak to preženieme, už sa nám zabrzdiť nepodarí, lebo nebudeme mať dosť paliva.

Toto je okrem iného dôvod, prečo dnes nedokážeme pristáť na Plute, aj keď sonda New Horizons už bez ťažkostí preletela okolo. Ak poletíme veľkou rýchlosťou, ako bol jej prípad, môžeme pri Plute byť za približne 10 rokov, ale minieme ho rýchlosťou zhruba \(\SI{15}{\kilo\metre\per\second}\). Ak by sme sonde udelili iba takú rýchlosť, aby tam doletela čo najúspornejšie, brzdenie o zhruba \(\SI{4}{\kilo\metre\per\second}\) by sa teoreticky dalo zvládnuť, let by však trval vyše 50 rokov.

Komentár k riešeniam

Viacerí ste mi písali už počas série a chceli vedieť, aká je hmotnosť planéty. Táto informácia vám nemala byť na nič, ale predpokladám, že ste chceli spočítať prvú a druhú kozmickú rýchlosť. Zo zdrojových kódov sa ľahko dalo zistiť, že hmotnosť planéty je 500, nikto vám však nepovedal, čoho. Simulácia samozrejme beží bezrozmerne, môžeme sa však riadiť jednotkami vo výpise v pravom dolnom rohu, kde sú za jednotky dĺžky považované kilometre, za jednotky času sekundy a za jednotky hmotnosti kilogramy. Zrýchlenie bude teda takisto v jednotkách 1000-krát väčších, ako SI.

Keďže v simulácii je aj gravitačná konštanta \(G = 1\), hmotnosť planéty v SI jednotkách potom musí byť \[\frac{\SI{500}{\kilo\gram}}{\num{6.67e-11}} \cdot \num{1000}^3 \approx \SI{7.5e21}{\kilo\gram}\text{.}\]

Spätným dosadením potom ľahko zistíme, že gravitačné zrýchlenie na povrchu je \(\SI{200}{\metre\per\second\squared}\), čo by malo sedieť s pozorovaním :-)

Dával som po tri body ku každej úlohe, väčšinou dva za správny postup a tretí za to, ak sa vám aj naozaj podarilo ušetriť rozumné množstvo paliva. Drobné rozdiely môžu byť ešte spôsobené vašimi nepresnými formuláciami, prípadne občas zjavne nepravdivými tvrdeniami (aj keď zvyšok podúlohy bol dobre).

Táto úloha si okrem korektného riešenia aj pýta voľáke celkové umiestnenie. Takže tu ho máte:

Prvá úloha: nízka obežná dráha

Minimálne prvých desať najlepších riešení išlo presne podľa vzorového postupu, takže výsledná hodnota zrejme odráža skôr zručnosť s klávesnicou a množstvo pokusov, ktoré ste boli ochotní spraviť :-)

Miesto Autor Ušetrené palivo
1. Matúš Kopunec \(\SI{13180}{\kilo\gram}\)
2. Ivan Čermák \(\SI{12992}{\kilo\gram}\)
3. Tomáš Švihorík \(\SI{12778}{\kilo\gram}\)

Druhá úloha: úniková rýchlosť

Opäť, všetky riešenia sú robené optimálnym spôsobom.

Miesto Autor Ušetrené palivo
1. Matúš Kopunec \(\SI{6739}{\kilo\gram}\)
2. Tomáš Švihorík \(\SI{6550}{\kilo\gram}\)
3. Ivan Čermák \(\SI{6463}{\kilo\gram}\)

Tretia úloha: mäkké pristátie

Tu som nakoniec vyhodnotil čas, a nie množstvo paliva. V reálnom prípade by sme na návrat potrebovali ešte asi \(\mathop{\Delta v} \approx \SI{1}{\kilo\metre\per\second}\).

Miesto Autor Čas
1. Jonáš Dujava \(\SI{67.04}{\second}\)
2. Marek Jankola \(\SI{69}{\second}\)
3. Ivan Čermák \(\SI{75.48}{\second}\)

  1. Rekord od Matúša Kopunca. Za úplne ideálnych okolností to mohlo byť zhruba \(\SI{13300}{\kilo\gram}\).

  2. Tu s tým nebudem zaberať miesto, ale ak vás to zaujíma, skúste si spočítať, ako som na to prišiel.

  3. Slovenský preklad, žiaľ, nepoznám… možno „poháňaný oblet“? :-)

  4. Možno si spomínate na úlohu Záhadné rakety z 3. kola letnej časti 30. ročníka. Ak aj nie, oplatí sa prečítať si vzorák.

  5. Znovu Matúšov rekord.

  6. Na asi pätnásty pokus sa mi podarilo pristáť aj z retrográdnej orbity. Ale je to o nervy.

Diskusia

Tu môžte voľne diskutovať o riešení, deliť sa o svoje kusy kódu a podobne.

Pre pridávanie komentárov sa musíš prihlásiť.