Beszámoló: it-tanfolyam.hu STEM nyári tábor 2023

A STEM mozaikszó eléggé közismert: a tudományos-technológiai tudományágakat (természettudomány, technológia, mérnöki tudomány és matematika) foglalja egybe, interdiszciplináris megközelítésben. A STEM területén való elmélyedés során a hangsúly nem a mit tanulunk/tanítunk, hanem inkább a hogyan tanulunk/tanítunk. Nem azonnal ad kézzel fogható válaszokat, de kitartó próbálkozással – saját élménnyel – elérhető az eredmény.

Az it-tanfolyam.hu oktatói csapata 2023-ban először hirdetett STEM nyári tábort. Erről számolunk be röviden ebben a blog bejegyzésben. Tervezzük, hogy a jövőben rendszeresen fogunk szervezni STEM nyári tábort.

A STEM nyári tábor koncepciója

2023. nyarán 4 turnusban hirdettünk programozás fókuszú STEM nyári tábort:

  • 1. turnus: július 3-7-ig,
  • 2. turnus: július 10-14-ig,
  • 3. turnus: július 17-21-ig,
  • 4. turnus: július 24-28-ig.

Előzetes tudás- és igényfelmérést végeztünk, így alakítottunk ki 3 db csoportot, ezek: Java kezdő, Python kezdő, Python haladó. A kiinduló célcsoportot tanfolyamaink karrierváltó hallgatóinak gyermekei jelentették, akik mellé toboroztunk még. A korosztály a 16-20 éves diákok voltak a 11-14. évfolyamról. A 11-12. évfolyamosok közül sokan informatika, digitális kultúra érettségi előkészítő fakultációra jelentkeztek, jártak, járnak és ebből érettségiznek/érettségiztek. A már korábban érettségizett 13-14. évfolyamosok körülbelül fele az OKJ utód szakmajegyzékhez tartozó szakképzésben tanult.

Mindegyik turnus azonos tematikával valósult meg. Turnusonként 3 db párhuzamos, 10-12 fős csoportokat indítottunk. Voltak közös elméleti programok, szakmai kirándulás, illetve külön-külön Java és Python nyelven megvalósuló gyakorlati programok, valamint projektbemutatóra is sor került. Igyekeztünk érinteni sokféle STEM területet: fizika, kémia, biológia, csillagászat, térinformatika, mesterséges intelligencia, szimuláció, játékprogramok, matematika, orvostudomány; mindegyiket a programozáshoz kapcsolva. Végeztünk tervezést, kódolást, tesztelést is. Belefért némi pályaorientáció is.

A STEM nyári tábor órarendje

Turnusonként 4 oktató kollégával és vendégelőadókkal hétfőtől-péntekig minden nap 8 és 18 óra között biztosítottuk a jelenlétet, felügyeletet. 40 órában szakmai programokat (elmélet+gyakorlat) kínáltunk. Reggelenként és késő délutánonként 1-1 órában offline, egyéni vagy csoportos játékok voltak kipróbálhatók. Ez mindösszesen 50 órát jelentett. Délelőttönként 20, 30 és 60 perces programokat terveztünk, délutánonként 120 és 240 perceseket. Szerdára szakmai kirándulást, gyárlátogatást ütemeztünk be. Íme az órarend áttekintő formában:

Íme az órarend naponként lapozható formában, benne a részletekkel:

Előzetes tapasztalataink

Előzetes tapasztalatainkat több forrásból merítettük, inspirálódtunk:

Köszönetnyilvánítás

Köszönjük résztvevő diákjainknak az aktivitást, a lelkesedést, a sok-sok elgondolkodtató kérdést, az offline kapott/szerzett élményeket, a pozitív visszajelzéseket.

Szeretnék köszönetet mondani együttműködő partnereinknek: LEGO Manufacturing Kft., REGIO Játékkereskedelmi Kft., Revolt Kereskedelmi Kft., Pannon Kincstár Humán Szakképző Központ.

Végül szeretnék köszönetet mondani minden oktató kollégámnak konstruktív részvételüként, kitartásukért a projekt teljes életciklusában. A tervezési, a szponzorszerző, a promóciós és a megvalósítási szakaszokban egyaránt 2023. április elejétől július végéig. Kiemelem korábbi és az aktuális projekthez kötődő tananyagfejlesztési tevékenységüket. A sikeresen lezárt projektünket augusztusban kipihenjük. 😉

Naprendszer szimuláció – megvalósítás Java nyelven

Naprendszer szimulációt terveztünk és valósítottunk meg Java nyelven, amit három részből álló blog bejegyzés sorozatban mutatunk be (ez a 3. rész):

A Naprendszer szimuláció megvalósítása Java nyelven

Fejlesztőeszközként a Java Swinges projekthez a JDK+JRE aktuális verziót támogató NetBeans IDE-t használtuk. Hibakeresés során, a modell adatainak ellenőrzését és a működés helyességének egyszerű tesztelését, debuggolást konzolra történő szöveges kiírással oldottuk meg. A megvalósítás során az előre megtervezett osztálydiagramok alapján készült el Java nyelven a forráskód. Az MVC modell szerint elkülönített programrészek külön csomagokba kerültek, ezzel is kiemelve a funkciók szerinti szétválasztást – eleget téve a terv követelményeinek.

Részlet a Java forráskódból

Megmutatjuk a Java forráskódnak azt a részét, ami megvalósítja az elméleti háttérnél ismertetett transzformációs mátrix alkalmazását X tengely körüli elforgatásra, a nézőponttól való távolság függvényében az égitest látható méretének kiszámítását, valamint a 3D→2D leképezést.

A teljes és megjegyzésekkel ellátott forráskód ILIAS e-learning tananyagban hozzáférhető, letölthető, tesztelhető tanfolyamaink résztvevői számára.

Az elkészült Java Swinges alkalmazás felhasználói felülete

Tapasztalatok

  • A Java nyelv erősen típusos, így a kötelező és sok lebegőpontos/egész átalakítás miatt észrevehető, hogy a legkisebb égitest (Hold) kissé ugrál.
  • Az OO szempontból szép Java megvalósítás könnyen módosítható és bővíthető, a funkciók jól csoportosítottak, a felelősségi kör egyértelműen meghatározott.
  • A projekt megtervezéséhez és elkészítéséhez magasabb szintű absztrakciós készség szükséges.
  • A példaprogram alkalmas a különböző szakterületek, témakörök (matematika – lineáris algebra, fizika, számítógépes grafika, virtuális valóság modellezése) közötti kapcsolatok felismertetésére, megerősítésére, a (legalább részben) egymásra épülések felderítésére.
  • A ter­v átgondolásával, implementálásával gyors, látványos eredmény érhető el, a sikerélmény hamar jelentkezik.

Továbbfejlesztési lehetőségek

  • Célszerű ötlet a hardveres gyorsítás és 3D megjelenítés megvalósítása.
  • Felkínálható lenne a felhasználó számára több paraméter módosítása.
  • Az égitestek lehetnének textúrázhatók is.
  • Az égitestek pozíciója kiinduló helyzetben lehetne valós.
  • A szimuláció szükség esetén lehetne elindítható, leállítható, újraindítható, gyorsítható, lassítható.
  • A terv könnyen implementálható lehet Java3D techno­lógia alkalmazásával, illetve DirectX és/vagy OpenGL támogatással is.
  • Az égitestek pozíciója és mozgása demonstrálhatna/modellezhetne nevezetes együttállást is, külön esettanulmányként.
  • A program paraméterezhető lehetne konfigurációs fájlból (amelynek formátuma tetszőleges: INI, XML).
  • Fejlettebb matematikai modell is alkalmazható lenne.

Forrás

  • Friedel, A.; Kaczur, S. (előadó: Friedel, A.): Naprendszer szimuláció a Virtuális valóság modellezése tantárgyban, Informatika Korszerű Technikái Konferencia, Dunaújváros, Dunaújvárosi Főiskola, 2012. november 16-17. (előadás hazai konferencián)
  • Friedel, A.; Kaczur, S.: Naprendszer szimuláció a Virtuális valóság modellezése tantárgyban, Cserny, L.; Hadaricsné Dudás, N.; Nagy, B. (szerk): Dunakavics Könyvek 2. – Az Informatika Korszerű Technikái, Dunaújvárosi Főiskola, Új Mandátum Könyvkiadó, 2014, ISBN 978 963 287 069 4, ISSN 2064-3837, p. 72-84 (magyar nyelvű szakcikk)

Naprendszer szimuláció – objektumorientált tervezés

Naprendszer szimulációt terveztünk és valósítottunk meg Java nyelven, amit három részből álló blog bejegyzés sorozatban mutatunk be (ez a 2. rész):

A Naprendszer szimuláció objektumorientált tervezése

A Naprendszer égitestjeinek ábrázolása a valódi világban előforduló méretük és távolságuk szerint történik azért, hogy a szimuláció stabil legyen. A példában a Nap és a három belső bolygó szerepel, valamint a Hold. Utóbbi igazolja, hogy nem csak Nap középpontú égitestekre működőképes a modell. A szimuláció diszkrét lépések véges sorozataként valósul meg, az egyes lépések között az égitestek a virtuális térben egyenes vonalú egyenletes mozgást végeznek. Olyan lépésközt kell választani, amely rövid idő alatt kellően nagy változást képes bemutatni, ilyen például az 1 számítási ciklus / 1 nap érték. 10 képkocka / másodperces megjelenítést feltételezve – melyet egy időzítő biztosít – egy virtuális év kb. 37 másodperc alatt telik el, vagyis a Föld ennyi idő alatt tesz meg egy teljes fordulatot a Nap körül. Az égitestek kezdő pozíciója fiktív, nem függ konkrét dátumtól, együttállástól, méretük a jobb láthatóság érdekében torzított.

A program indításakor a szimuláció automatikusan indul, és nincs lehetőség a leállításra. Az alkalmazás felületének tetején foglalnak helyet a kezelő nyomógombok, a többi részt a megjelenítés/transzformált modelltér tölti ki. Futás közben – egyszerű ese­mény­ke­zelést megvalósítva – lehet változtatni a méretarányt és a nézőpontot, így az ekliptika síkját felülről és elbillentve is ábrázolhatjuk.

Kivételkezelés nem szükséges a programhoz, mert ez egy önálló demonstrációs eszköz, nem épül rá több elem, nem érhetőek el a szolgáltatásai külső programok számára.

Meghatározott cél és a szempontok: a Java projektben a csomagokat az MVC szerint hozzuk létre, a funkciókat logikusan osszuk szét, csoportosítsuk, tartsuk be az objektumorientált szemléletmód elveit, használjunk interfészt, biztosítsuk az egység­bezárást, legyen öröklődés, alkalmazzuk a polimorfizmust, legyen szép és elegáns megoldás, legyen a jelölésrendszer UML osztálydiagram. Mindez grafikus asztali Java alkalmazásként valósuljon meg.

A modell csomag (M – Model)

A modellhez 1 interfész és 5 osztály tartozik:


Az AdatInterfesz tárolja a modell számításhoz és megjelenítéshez tartozó konstansait (ezek a szimuláció paraméterei), és metódusfejet nem tartalmaz. A Pont2D osztály egy kétdimenziós pont sémája, valós x és y koordinátapárral, eltol() és túlterhelt tavolsag() metódusokkal. Ennek leszármazottja a Pont3D osztály, amely mindezt három dimenzióban biztosítja, valamint pozícióként és sebességvektorként is használható. Az Egitest osztályból létrehozott objektumnak van mérete, pozíciója, sebessége, színe és tömege. Az interfészt implementálja az Adattar osztály, amelynek egitestLista nevű generikus listája elérhetővé és egységesen kezel­hetővé teszi a tervben felsorolt 5 égitestet. A ZIndex osztályú objektumok az égitestek kirajzolásakor szükséges mélységpufferbeli adatot képesek kezelni.

A nézet csomag (V – View)

A nézet 2 osztályból áll:


Az Ablak osztály egy javax.swing.JFrame le­szár­mazott, az alkalmazás teljes grafikus felületét biztosítja, valamint előkészíti az eseménykezelést. Tartalompanelje négy vezérlő nyomógombot tartalmaz és rajta található a rajzpanel objektum, a vaszon. A RajzPanel osztály egy javax.swing.JPanel leszármazott, amely kapcsolatban áll az adattárral, és kezeli a mélységpuffert. Ez felel a szimulált 3D térben lévő objektumok 2D-beli leképezéséért, figyelembe véve a nézőpont elmozdulását is. A rajzolást a felüldefiniált (öröklődés) paintComponent() metódus végzi el.

Az Ablak osztályú objektum elsődleges szerepet tölt be a megjelenítésben, keretbe foglalva a látható komponenseket, vagyis a kezelő nyomógombokat és a modellteret. Az objektum megvalósít egy ActionListener eseménykezelőt, így a program reagálni tud a felhasználó által kiváltott eseményekre. Az ablakobjektum nagyítás és forgatás üzenetek küldésével saját vásznát – és csak azt – frissíti.

A vezérlő csomag (C – Controller)

A vezérlőt 2 osztály valósítja meg:

A Main osztály összefogja a projektet, ez a végrehajtás belépési pontja. Szükség szerint átadja az MVC szerinti objektumok referenciáit egymásnak, ezzel biztosítva a kommunikációt közöttük, valamint el is indítja a szimulációt. A Logika osztály képes az égitestek gyorsulásának és vonzásának kiszámítására, az égitestek mozgatására, továbbá a megjelenítésért felelős komponenst megfelelő időközönként értesíti a képernyő frissítésének szükségességéről, ami az alapbeállítás szerint 30 frissítés másod­percenként.

Naprendszer szimuláció – elméleti háttér

Naprendszer szimulációt terveztünk és valósítottunk meg Java nyelven, amit három részből álló blog bejegyzés sorozatban mutatunk be (ez az 1. rész):

A Naprendszer szimuláció elméleti háttere

A Naprendszer szimulációhoz elengedhetetlen, hogy ismerjük a homogén koordinátákat, az elemi műveletek egységes megvalósításához szükséges transzformációs mátrixokat, a tömegvonzás elvét és az implementációhoz szükséges MVC modellt.

Homogén koordináták

Számítógépes algoritmusokkal egyszerű a térbeli transzformáció megvalósítása, ha homogén koordinátákat használunk. Segítségükkel az affin transzformációk egységesen kezelhetők. A cél egy egységes matematikai formalizmus alkalmazása. A pontok az égitestek középpontjait fogják jelölni. Legyen a P pont 3D-beli koordinátái: P=(x, y, z). Szükséges egy konstans érték. Ha w≠0, akkor a P pont koordinátái: P=(w·x, w·y, w·z, w). Ha w=1, akkor a P pont normalizált homogén koordinátái: P=(x, y, z, 1). A pontnégyes kijelölése kölcsönösen egyértelmű.

Transzformációk

Koordináta transzformáció során az ábrázolandó grafikus objektum pontjaihoz (tárgypontokhoz) új koordináta-rendszert rendelünk hozzá. Az objektum nem változik (nem torzul, nem változtatja meg az alakját), csupán a nézőpont változik meg. Például: a koordináta-rendszer eltolása, elforgatása, a koordinátatengelyek felcserélése, tükrözése, és a léptékváltás (nagyítás, kicsinyítés, összenyomás, széthúzás), elforgatjuk az ekliptika síkját a szimulált Naprendszerben.

Pont transzformáció esetén a tárgypontokhoz hozzárendeljük azok egy adott szempont szerinti hasonmását. Például: 3D-s tárgyak leképezése 2D-s képre, objektumok eltolása, forgatása, mozgatása, égitestek mozgatása tömegvonzás alapján. Affin transzformációk (egybevágósági és hasonlósági transzformációk) alkalmazása esetén pont képe pont, szakasz képe szakasz, felület képe felület, valamint metsző térelemek eredeti metszésvonala megegyezik azok leképezett metszésvonalával.

A számítógépes grafika területén az affin transzformációk általános alakja (mátrixosan):

A pont a B=(bx, by, bz) vektorral eltolható. A pont – a T=(t11, t12, …, t33) mátrixot használva – adott szöggel elforgatható, skálázható, tükrözhető. A számítógépes grafikában ezt a transzformációs mátrixot a homogén koordinátákkal alkalmazva, az összes geometriai transzformáció hatékonyan megvalósítható, visszavezethető mátrixok szorzására. Mindezt saját magunk is implementálhatjuk, de része a DirectX és OpenGL rendering pipeline-jának is.

Más módon is lehetne: egyenes és ehhez tartozó szög párossal is dolgozhatnánk.

A tömegvonzás elve

A tömegvonzás bármely két égitest között meghatározott, függ a gravitációs állandótól és az égitestek tömegétől egyenes arányban, az égitestek (tömeg)középpontjainak távolságától fordított arányban. Ez a Newton szerinti értelmezés, amelynek képlete:

A hatás-ellenhatás törvénye miatt a vonzás – egymás felé való gyorsulás – kölcsönös, a gyorsulás az égitestek tömegével fordítottan arányos, sosem nulla. A Naprendszerben a bolygók a Nap körül keringenek, és a bolygóknak lehetnek holdjaik. Egységesen kezelve: égitestek.

A tömegvonzásnak más elméleti megközelítései is vannak: Einstein gödör-modellje, Kepler törvényei, illetve differenciál-egyenletrendszer, integrálszámítás is használható a közelítő képlet helyett (csak ideális modell esetén pontszerű az égitest és gömbszimmetrikus azok tömegeloszlása), illetve ismeretes többféle értelmezés a rendszer/modell stabilitására: Lagrange pontok, Lyapunov stabilitás.

Az MVC modell

A klasszikus megközelítés szerint a szoftveres alkalmazások három, egymástól jól elkülöníthető szereppel rendelkező egységből állnak: modell (model), nézet (view), vezérlő (controller). A Java nyelv Swing komponensei az MVC architektúra szerint működnek.

A vezérlő reagál az érkező eseményre, hozzáfér a modell adatszerkezeteihez, azaz igénybe veszi a modell szolgáltatásait, valamint frissítheti a nézetet. A nézet a vezérlő frissítési kérésére a közvetlenül megkapott adatok alapján, vagy a modelltől elkért adatok alapján frissíti saját magát. A vezérlő határozza meg az alkalmazás, komponens, program működését. Egy modellt több nézet is használhat. A modell közvetlenül is üzenheti a nézetnek, hogy megváltozott. A nézet adja a látványt, amelyet angolul skin vagy „look and feel”-nek neveznek.

Kommunikáció a Mars és a Föld között

Mentőexpedíció

MentőexpedícióBevezető, avagy a szomszéd messze van

Képzeljünk el egy helyzetet, amikor egyik barátunkat, családtagunkat felhívjuk telefonon, és videótelefonálást folytatunk vele, mobiltelefon segítségével egy látványos helyről. A mai technológia segítségével ennek a lehetősége már bárki számára hozzáférhető áron rendelkezésre áll. Ráadásul a kommunikáció szinte tökéletes, láthatóan késleltetés nélküli. Ám tételezzük fel, ha ezt a kommunikációs tevékenységet a Föld két távolabbi pontja között végezzük, mondjuk Magyarországról folytatunk videótelefonálást a 18000 km-re fekvő Új-Zélandra. A helyzet minimális szinten megváltozik, hiszen a nagy távolság következtében a fizikai törvényei itt már emberi léptékben is érzékelhető korlátot szabnak a kommunikáció sebességének. Persze nyugodtan mondhatnánk azt, hogy na és? Joggal, hiszen az átlagember számára fel sem tűnik, hogy az általa halott beszéd, és az általa látott kép a valóságban kevesebb, mint egy másodperc késéssel érkezik meg a küldőtől a fogadóhoz.

Ha ezt elképzeltük, és megvan a 18000 km-nyi távolság és a közel 1 mp-es késleltetés, ugorjunk egy nagyobb léptékre, melynek apropójaként hívjuk fel barátainkat telefonon a Marson. Most csak egy egyszerű példa kedvéért, eltekintve a légköri jelenségektől, a műholdak aktuális helyzetén át, a napszél tevékenységig minden más további hatástól, a Mars-Föld távolság átlagos értékével számolva. Legyünk türelmesek, hiszen a bolygók közti aktuális távolság függvényében, a fénysebesség korlátainak figyelembevételével a késleltetés meglehetősen nagy lesz. Fel fogják venni a telefont. Ne, még ne tegyük le! Igen, tudom, hogy már eltelt tíz perc, de várjunk még! Biztosan fel fogják venni a telefont. És ez a 12. percben meg is történik. A vonal végéről nem hallunk semmit? Nem csoda. Hiszen a mi jelentkezésünk 12 perc alatt ért a Marsra, és újabb 12 percet kell várni arra, hogy meghalljuk barátaink reagálását. Ugye, hogy nem is olyan egyszerű ez a bolygóközi kommunikáció?

Egy kis matematika az előzőekhez:

A Föld-Nap átlagos távolság 8,3 fényperc, ami 149,6 millió km-es távolságot jelent. Ezt alapul véve, és mivel tudjuk, hogy a Föld-Mars átlagos távolság 225 millió km, könnyen kiszámolható, hogy a két bolygó között a fény fotonjai 12,48 perc alatt teszik meg az utat. Tehát jelen technológiákkal (a két bolygó átlagos távolsága esetében) 12,48 perc alatt lehet adatot továbbítani a két égitest között. Érdekesség, hogy 2003-ban a Mars mindössze 56,3 millió km-re volt a Földtől. Gyors számtan: a távolság 3,12 fényperc. (Legközelebb 2287-ben lesz ilyen alkalom.) Azonban 2005-ben a vörös és kék bolygó mértani távolsága elérte a 402,3 millió km távolságot, azaz a 22 fénypercet. További gondolatébresztőként megemlítendő, hogy minden évben van egy két hetes időablak, amikor a Mars a Nap mögé bújik, ezáltal a kommunikáció teljesen megszakad vörös szomszédunkkal. Ebből aztán kiderül, hogy adott dátumtól függően, a Mars és a Föld között általában 7 és 44 perc között zajlik le egy „kérdés+válasz” jellegű kommunikáció.

A Mentőexpedíció című film

A fenti bevezetőből kiindulva, vegyük górcső alá az Andy Weir 2011-es A marsi című regénye alapján készült 2015-ös Mentőexpedíció című filmet. Aki nem ismerné, annak röviden annyit érdemes tudnia, hogy egy kutatócsoport heves időjárási tevékenység miatt menekülni kényszerül a Marsról. A csapat egy ember híján sikeresen eljut a felszállásra kész űrhajóig, amellyel feljutnak a űrben keringő Hermes anyahajóra. Később a Marson hagyott űrhajósról kiderül, hogy a viharos erejű szelet túlélte, bár ő maga, és űrruhája is megsérült. A következő jelenetekben Mark Watney űrhajós számára realizálódik, hogy egyedül maradt a bolygón, a következő küldetés pedig négy év múlva érkezik. Tehát három fő feladata van:

  • Egy ember számára lakhatatlan bolygón, a rendelkezésre álló eszközökből biztosítania kell az életben maradásához szükséges feltételeket, mint amilyen az élelem, a víz, és az oxigén. Ez megoldhatónak tűnik, hiszen főhősünk botanikus. Növénytermesztéssel létrehozható egy alacsonyszintű ökológiai körforgás.
    Megjegyzés:
    Fontos megemlíteni, hogy a marsi talaj a nagy hőingadozások miatt rendkívül porózus, továbbá olyan anyagokat tartalmaz (például földpátok, piroxének, olivinek), amik a vízzel vegyülve az emberi szervezet számára méregként hatnak. Például a marsi por belélegzése során, a tüdőben található nedvességgel érintkezve gáz formájában, vagy a véráramba jutva halált kiváltó vegyületek jöhetnek létre. Ehhez képest Mark, ránézésre több száz kg-nyi marsi talajt a lakrészbe talicskáz, és vizzel öntöz. Az ehhez szükséges vizet, az egyik űreszközben található hidrogén elégetésével nyeri, a marsi talajt pedig emberi végtermékkel trágyázza, miközben a növények oxigént termelnek. Ez filmben jól néz ki, de fent már kifejtettem, hogy a marsi talaj az emberi szervezet számára veszélyes lehet. További kérdést vet fel, hogy az emberi végtermék vajon megfelelő tápanyagokat rejt-e, a burgonya növekedéséhez. Ezen kívül az is kérdés, hogy az a szobányi növény termel-e elegendő oxigént. Mindenesetre főszereplőnk ezen feladatát megoldotta.
    Természetes, hogy ha minden kihívást figyelembe vettek volna a filmkészítők, akkor vagy nem készül el a film, vagy megválaszolják a NASA, valamint más űr- és bolygókutató vállalatok kérdéseit.
  • Második feladataként meg kell oldania, hogy a marsjáró roverrel eljusson a 3200 km-es távolságban fekvő Schiaparelli-kráterhez, ahová négy évvel később érkezik a következő küldetés legénysége.
    Probléma:
    Ez számos problémát vet fel, főleg mert a marsjáró egy feltöltéssel elérhető hatótávolsága csak 35 km, ráadásul a járgány fűtése rögtön elviszi a rendelkezésre álló energia felét. Ezen hátrányok meglehetősen érdekesek annak tükrében, hogy a mai járművek akár 350 km-es távolságot is könnyűszerrel megtesznek, a marsjáró légmentes kialakítása és megfelelő szigetelő anyagok használata révén pedig a fűtésre fordított energia jelentősen csökkenthető. Főleg ha elképzeljük milyen fejlesztések zajlanak le a 2030-as évekig. Tény persze, hogy a laza marsi talajon, egy teherautó méretű, nyolckerekű járművel közlekedni több energiát igényel, mint egy kisebb négy kerekű járművel haladni az aszfaltozott úton, azonban arról se feledkezzünk el, hogy a Mars felszíni tömegvonzása harmada a Föld felszíni tömegvonzásának. Mindenesetre a filmbeli főhősünk a fűtés problematikáját a radioizotópos termoelektromos generátor segítségével oldotta meg, a marsjáró hatótávját pedig egy másik, amúgy megsérült marsjáró akkumulátorainak felhasználásával duplázta meg. Így a mozi szerint 70 km távolságra tud eljutni egyetlen feltöltéssel. Ekkor kipakolja a napelem cellákat, és újratölti az akkumulátorokat.
  • Továbbá fel kell vennie a kapcsolatot a Földdel. Ez utóbbinak nem lenne akadálya, azonban a vihar tönkretette a kommunikációs berendezéseket, valamint az antennát is. A filmtől elvonatkoztatva egy ilyen eset vélhetően nem történhetne meg, ugyanis a tartalék rendszer rendelkezésre állna (dobozokban földbe ásva, dobozokban bent a lakrészben, vagy bármi más módon, amit a szakemberek alkalmasnak találnak erre a célra). A kommunikáció a Földdel gyakorlatilag életfeltétel. Máskülönben az is igaz, hogy a tartalékrendszerek Marsra szállítása extra költségekkel járna.

A film tartalma, valamint a kialakult problémák ismertetése után merüljünk bele a részletekbe, valamint az érdekes, ismert és még ismeretlen fogalmakba!

A sol fogalma

A történet teljes egésze alatt többször elhangzik egy csillagászati fogalom, ez pedig a sol. A sol tulajdonképpen a szoláris nap rövidítése, azonban használata némi bonyodalmat okoz, hiszen a sol-t, mint mértékegységet a NASA 1976-ban az első Viking űrszonda landolásakor, a marsi napok múlásának mérésére vezette be házi használatra. Jelenleg a sol egy hivatalosan nem elfogadott időegység, azonban általánosan elfogadható, hogy 1 sol esetében 1 szoláris marsi nap hosszáról beszélhetünk.

Kiegészítés:

Noha logikus lenne olyan egyértelműsítő fogalmakat bevezetni, hogy 1 földi sol, vagy 1 marsi sol, ennek ellenére az egyébként sem hivatalos időegységet ne bonyolítsuk tovább! Összehasonlításképpen 1 földi szoláris nap ~24 óra 3,5 percnek, 1 (marsi) sol pedig ~24 óra 39,5 percnek felel meg. Ez azt jelenti, hogy a Marson egy általános értelemben vett nap hossza több, mint fél órával tovább tart. További gondolatébresztő érdekesség, hogy a Földön a szoláris nap ritkán használatos. A Földön a csillagnapot szoktuk használni, ez pedig közel azonos – 0,008 s az eltérés – a Föld tengely körüli megfordulásának idejével, ami ~23 óra 56 perc. A csillagnap során azt figyeljük meg, hogy – a Földről nézve – az égbolton a távoli csillagok, mennyi idő alatt tesznek meg egy teljes fordulatot. A Föld csillagokhoz mért óriási távolsága miatt a Föld Nap körüli pályán történő mozgása egy nap alatt szinte elhanyagolható tényező. A szoláris nap esetében viszont ezzel a tényezővel is számolni kell, hiszen a Föld-Nap távolság rendkívül kicsi. Mialatt a Föld megfordul a saját tengelye körül, a Nap körüli pályán egy másik pozícióba kerül, ez utóbbi pedig már jelentősen befolyásolja a szoláris nap hosszát.

Részecske szinten a Marsig tartó út hossza

A filmben többször is elhangzanak változó utazási adatok arról, hogy mennyi idő alatt lehetséges eljutni a Földről a Marsra, illetve vissza. A jelenlegi technológiákkal ez jellemzően 5 és 10 hónap között változhat, attól függően, hogy éppen milyen a bolygók egymáshoz viszonyított aktuális állása. Az sem mindegy, hogy mekkora energiabefektetéssel szeretnénk elérni a vörös bolygót. Erre a megfelelő indítási ablak 26 havonta alakul ki, ami azt jelenti, ekkor áll rendelkezésre néhány olyan nap, amikor hatékonyan el lehet érni a Marsot. 2018-ban az InSight űrszonda nagyjából 5,5 hónap alatt jutott el a szomszédos égitestre, a kilövéstől a leszállásig számolva.

Részletek:

Itt fontos megemlíteni a Hohmann-pályát, mint pályamódosító görbét. Ennek lényege nagyjából úgy néz ki, hogy a Marsra történő utazás során, a Föld körüli pályát a rakétahajtóművek megfelelő ideig történő begyújtásával elhagyjuk. Ezzel a kör alakú pályát egy elliptikus pályára cseréljük le. A gyorsításnak olyan mértékűnek kell lennie, hogy a Nap körüli marsi pályát elérjük. Amikor ez megtörténik, a rakétahajtóműveket ismét be kell gyújtani annak érdekében, hogy az ellipszis alakú pályáról rá álljunk a Mars keringési pályájára. És itt jön képbe a megfelelő indítási ablak, ugyanis a Földről akkor kell elindulni, amikor az ellipszis pálya csúcspontjára érkezve, a Mars még éppen nem érkezett meg. Fontos tudni, hogy a Mars majdnem kétszer annyi idő alatt kerüli meg a Napot, mint a Föld. Tehát a Mars a külső pályán lassabban halad. Ez azt jelenti, hogy ha kicsúszunk az indítási ablakból, akkor a Mars pályáját elérve, a vörös bolygó már mögöttünk lesz. Így gyakorlatilag hónapokig keringhetünk a Nap körül, miközben nem kevés energiát ölünk bele a lassításba, és számos pályakorrekcióba, hogy a Mars utolérjen minket. Korábbi indulás esetén pedig pont azért kell a több energia, hogy hamarabb elérjük a Marsot, majd a nagy sebesség miatt, a találkozóhoz le is kell lassítani.

Kapcsolatfelvétel a Földdel: a hardver környezet kialakítása

Miután főhősünk realizálta, hogy egyedül maradt a Mars felszínén, és a következő küldetés csak négy évvel később érkezik, elkezd azon töprengeni, hogyan biztosítsa maga számára az életben maradáshoz szükséges feltételeket. Ezeket a fentiekben már ismertettem. Már csak kapcsolatba kellene lépnie a Földdel. Ekkor születik meg Mark fejében az ötlet, hogy felkutassa a Pathfindert, mely a marsjáróval immáron elérhető távolságba került. A Pathfinder űrszonda megtalálása kommunikációs csatornát nyit a NASA felé. Csupán annyit kell tennie, hogy kiássa, és a vélhetően elhasználódott, tönkrement akkumulátor kazettát kicserélje. A Pathfinder űrszonda a Discovery program második küldetésében vett részt 1997-ben. Feladata a légkör elemzése volt, továbbá magával vitte a kis Sojourner rovert is, mely a kövek vizsgálatát végezte. Felmerül a kérdés, hogy a főhős honnan ért ilyen sok mindenhez, hiszen botanikus. Az igazság az, hogy egy Marsra juttatott embernek nagyon sok mindenhez kell értenie. Kicsiben például egy weblap készítő szakembernek nem árt ha a kódolás mellett vannak grafikai ismeretei is. Egy katonai repülőgép pilótájának sem csak a gépet kell tudnia vezetni, de ahhoz is kell értenie, hogyan éljen túl egy ellenséges területre történő lezuhanást. Lényeg, hogy ha az ember egy adott szakterületen dolgozik, akkor a rá váró kihívásokra gyorsan tudjon reagálni. Feltételezhető, hogy a Marsra utazó személyek egy nagyjából 15-25 éves korban lévő, nagy létszámú, de már erősen megszűrt halmazból kerülnek ki, akiknek a kiválasztásuk után még akár 15-20 évnyi tanuláson és fejlődésen kell átesniük, hogy alkalmassá váljanak egy marsi kutató misszióban betölthető szerepre. A NASA jelenleg már futtat ilyen programot.

Magyar vonatkozás a filmben:

A film 48. percének 18. másodpercében, a háttérben lévő polcon egy Rubik-kocka látható.

Kapcsolatfelvétel a Földdel: a megvalósítás

Szóval megvan a Pathfinder, és sikerül működésre bírni. Eközben a NASA a műholdak segítségével felfedezte, hogy az űrhajós életben van, és mozgását folyamatosan követte. Mivel ennek művelete prioritásba került, ezért a NASA a Mars körül keringő műholdak pályáját úgy módosította, hogy az eredeti 41 óránként lezajló 17 perces szünet helyett legfeljebb 4 percig tartson egy szünet. Miután a Földön kiderült, hogy Mark a Pathfinder segítségével szeretné felvenni a kapcsolatot a Földdel, a NASA egyből a JPL-t hívta segítségül. A JPL a Jet Propulsion Laboratory, amit Kármán Tódor alapított, és ő volt az első igazgatója is. Rakétafejlesztő központnak indult, ám napjainkban fő területe a bolygókutató eszközök fejlesztése, és üzemeltetése, így a feljuttatott űreszközök kapcsolati csatornájának végpontján is ők vannak. Az ő termékük többek között a Pathfinder is. A Pathfinder orbitális egység nélkül, közvetlenül kommunikál a Földdel. Ez látható is a filmben akkor, amikor Mark az irányított antennát a Föld felé fordítja. Időközben a Földön a JPL kihozza a raktárból a Pathfinder másolatát, majd a két eszközt szinkronizálja egymással. A marsi szonda üzembe helyezése lehetővé teszi Mark számára, hogy elküldje magáról az első fotót, maga elé tartva egy táblára írt kérdéssel:

„Veszitek az adást?”

A fentiekben már említettem, hogy a Föld-Mars távolság miatt az adatok továbbítása sok időt vesz igénybe, azonban nagyobb probléma, hogy a kamera segítségével Mark ugyan tud hosszú szöveges üzeneteket, kérdéseket fotózott formában továbbítani a Földre, azonban a Pathfinder nem képes arra, hogy a Földről érkezett válaszokat bármilyen formában is megjelenítse. Viszont a JPL képes arra, hogy távolról irányítsa az űrszonda kameráját. Ezt használja ki Mark azzal, hogy első üzenetében egy eldöntendő kérdést tesz fel. Egymástól távol, egy IGEN és egy NEM táblát cövekel le a talajba, ő pedig beállt közéjük, egy harmadik táblával a kezében, amin a kérdés szerepel. A JPL pedig válaszként a kamera fejét a megfelelő tábla irányába fordítja.

Mentőexpedíció

A filmből sajnos nem derül ki, hogy a fotót a Pathfinder mi alapján készítette el pont abban a szögben. A fotó valószínűleg automatikusan készült. Ez azt is feltételezi, hogy a Pathfinder folyamatosan készítette a fotókat, és küldte azokat a JPL részére. Ami viszont biztos, hogy az űrszonda rövid idő alatt több fotót is készít, ezeket küldi el a megfelelő paraméterekkel a JPL-nek, a földi vevőegység pedig a képeket panorámaképként összeillesztve jeleníti meg.

Kapcsolatfelvétel a Földdel: „hexadeci segít a bajban”

A kapcsolatfelvétel sikeressége után a kommunikáció fejlesztése a cél.  Ezen nyilván mind a két oldalon dolgoznak, ám első körben főhősünk ötlete lendít egyet az ügyön. Az eldöntendő kérdésekkel a JPL nem tud megfelelő válaszokat adni, hiszen korlátot szab, hogy csak a kamera fejének mozgatásával tudnak üzenetet küldeni. Mark kitalálja, hogy a JPL-nek hexadecimális ASCII kódrendszerben kell válaszolnia a kérdésekre. Ez azt jelenti, hogy a Pathfindert az angol ábécé 26 betűjét, illetve további 10 számjegyet, esetleg írásjeleket tartalmazó táblák helyett csupán 16 táblával kell körbe rakni. Tíz tábla a számjegyeknek, további hat tábla pedig a betűknek A-tól F-ig. Ezzel, valamint az ASCII kódtábla segítségével két hexadecimális helyiértéken 256-féle szimbólum jeleníthető meg, úgy mint az angol ábécé kis- és nagybetűi, számok, írásjelek, illetve jelen esetben kevésbé fontos vezérlőkódok. Így minimális mennyiségű tábla kihelyezésével megfelelő kommunikáció érhető el, hiszen ha túl sok tábla kerülne kihelyezésre, úgy nehezebben lehetne észrevenni, hogy az űrszonda forgatható kamerája melyik tábla irányába néz.

Mentőexpedíció

A film ugyan nem mutatja, de feltételezhető, hogy a Pathfinder valamilyen időközönként, talán egy változáskövető/szinkronizáló algoritmus segítségével folyamatosan fotókat küld a JPL részére. Az ottani mérnökök a képek alapján így hamar rájönnek, hogy Mark milyen módszerrel szeretné fejleszteni a kommunikációt. Ennek révén a JPL csapata is ugyanazokkal a táblákkal bástyázza körbe az űrszonda másolatát, majd ennek elkészülte után azonnal el is küldik az első üzenetüket.

Mentőexpedíció

Filmbeli baki?

A film 52. percének 12. másodpercében, amikor Mark az első Földről érkezett ASCII üzenetet dekódolja papíron, az ASCII kódok második sorának végén egy kérdőjel látható. A valóságban ott nem kérdőjelnek kellene lennie, hanem 3F-nek. A kérdőjelnek pedig a 3F alatt kellene lennie, ugyanis a „?” ASCII kódja 3F. Az megint egy másik kérdés, hogy amikor a Pathfindert körbe rakja táblákkal, akkor az egyik táblán van egy kérdőjel, illetve a JPL központjában a pizzás dobozra felvázolt terv is számol egy kérdőjel karakterrel. Persze innen nézve nincsen szó bakiról, ám kérdés, hogy vajon miért kellett azt a plusz kérdőjel táblát elhelyezni.

Mentőexpedíció

Kapcsolatfelvétel a Földdel: chateljünk a Föld és a Mars között

A kommunikáció újabb szintre emelésének egyik momentuma, amikor a NASA által megadott módon, a marsjáró operációs rendszerét úgy frissítik, hogy az kommunikálni tudjon a Pathfinderrel. Ennek egyik érdekessége, hogy a marsjárót a NASA fejlesztette, a Pathfindert viszont a JPL. Ebből is látható, hogy a szabványok használata mennyire megkönnyíti a rendszerek közti átjárhatóságot, hiszen főhősünknek csupán egy rövid kóddal kell módosítania a marsjáró operációs rendszerét, így az használni tudja az űrszonda rádiófrekvenciáját. (Más kérdés, hogy egy ilyen minialkalmazás miért nincs eleve beépítve a marsjáróba?) Továbbá a rendszer valószínűleg egy egyedi fejlesztésű Linux alapú operációs rendszer, mely úgy került megírásra, hogy az operációs rendszer a marsjáróból is módosítható legyen. További érdekesség, hogy a szoftver módosítása a film 54. percében mutatott képek szerint hexadecimális gépi kóddal történik. Tulajdonképpen a módszer lehetséges, azonban a NASA-nak – a JPL-en át – a hagyományos ASCII kódtáblázat segítségével kell ezt lekommunikálnia, ami egy meglehetősen hosszadalmas folyamat lehet.

Mentőexpedíció

Érdekesség még az is, hogy miközben Mark módosítja az operációs rendszert, az életben maradásához szükséges levegőt nem a marsjáróból vételezi, hanem a szkafanderéből. Űrhajós sisakja végig a fején van. Feltételezhető, hogy az operációs rendszer módosítása után egy önellenőrző tesztet is futtatni kell. A rendszer újraindítása a jövőben már nem biztos, hogy feltétel lenne.

Filmbeli baki?

A történetben az hangzik el, hogy az operációs rendszer módosítása után a NASA ráállíthatja a marsjárót a Pathfinder rádiófrekcenciájára. Ez nyilván nem lehetséges, hiszen ahhoz, hogy Mark kommunikálni tudjon a marsjáró segítségével a Földdel, előbb szükség van az űrszonda – mint adattovábbító eszköz – közbeiktatására. Vagyis a NASA nem tud kommunikálni közvetlenül a marsjáróval, így közvetlenül nem is tud segíteni az űrszondával történő összeköttetés létrehozásában. Ellenkező esetben a kapcsolat már korábban élt volna, valamint nem a JPL folytatna kommunikációt az űrhajóssal, hanem a NASA.

A kapcsolat létrejötte után, immáron egy chat felületen zajlik a beszélgetés a JPL és Mark között. Feltételezhető, hogy a marsjáró már eleve rendelkezett valami szöveges üzenetek fogadására és küldésére alkalmas programmal. Innentől már sokkal könnyebb a kommunikáció, bár még mindig nem annyira, mint ahogyan az a filmben látszik. Ahogy nézzük az eseményeket, úgy érezzük, mintha csak a Földön chatelnének egymással. Azonban a valóság még mindig az, hogy egy kérdés-válasz kör 32 percig tart. Tehát, amikor Vincent megkérdezi a JPL-t, hogy a társai hogyan fogadták a hírt életben maradásáról, az üzenet elküldése után legalább 32 percet vár a válaszra. Mivel válasz nem érkezett, ezért egy újabb üzenetet küld el korábbi érdeklődését illetően, melynek a válaszára ismét legalább 32 percet vár. Gondoljunk csak bele, hogy ez mennyire idegtépő lehet, továbbá arról se feledkezzünk meg, hogy még itt a Földön zajló kommunikáció esetében is mennyire egyszerű egymás „szavába” vágni, hát még ilyen késleltetéssel rendelkező üzenetváltás esetén.

Az ellátmány-küldetés

Az első beszélgetések során Mark megtudja, hogy a NASA egy ellátmány-küldetést állít neki össze. Ez annyit jelent, hogy a JPL rohamtempóban megtervez és megépít egy teherszállításra alkalmas űrszondát, melyet eljuttatnak a Marsra. Érdekesség, hogy ekkor a bolygók rossz állása miatt az utazás megtételére kilenc hónap áll rendelkezésre.

Érthetetlen?

Bár az ellátmány-küldetés elkészítését az ideális hat hónap helyett a NASA csupán három hónapra rövidítette, mégsem készült egy probléma esetén azonnal indítható tartalékpéldány. Abban az esetben, amikor egy űrhajós egy idegen bolygó felszínén ragad, és ellátmány-küldetést kell számára eljuttatni, erősen kétséges, hogy a valóságban is csak egyetlen hajóval számolnának. Sokkal valószínűbb, hogy más űrügynökségek segítségét is igénybe vennék, és szükség esetére építenének még egy, vagy kettő redundáns példányt. Annál is inkább mert hasonló eset nem egyszer már a valóságban is megtörtént. Amikor a Nemzetközi Űrállomásra (ISS) indult ellátmány-küldetés, az néhány esetben kudarcba fulladt (2014: Orb-3, 2015: Progressz M–27M,  SpaceX CRS-7). Ez azonban nem jelentett veszélyt az űrben tartózkodók életére, mert minden esetben rendelkeznek annyi tartalék élelmiszerrel és más szükséges erőforrásokkal, hogy egy ilyen balul elsült küldetés ne okozzon közvetlen életveszélyt.

A jövő: kvantumkommunikáció

A kommunikáció sebességének felgyorsításán talán épp a modern fizika segíthet a jövőben. A részecskék kvantum-összefonódásának jelensége meglehetősen biztató eredményekkel kecsegtet.

További részletek:

2017 nyarán kínai kutatóknak sikerült adatot továbbítani 1200 km-es távolságba késleltetési idő nélkül. Ez gyakorlatilag a sci-fi történetekben fellelhető teleportálásnak feleltethető meg. Amennyiben ez a mindennapi gyakorlatban is megvalósulna, az szinte olyan lenne az emberiség számára, mint a tűz birtokba vétele, a fémeszközök használatának kezdete, a kerék feltalálása vagy a csavart kötél alkalmazása. Az információ késleltetés nélküli átvitelénél gyorsabb megoldás gyakorlatilag nem létezhet (leszámítva az időben visszaküldött információt, de ez már sokkal mélyebben az elméleti fizika asztala).

A kvantumkommunikáció a kvantum-összefonódás alapjain nyugszik. Ez annyit jelent, hogy egy részecskepár – például foton vagy neutron – két részecskéje között olyan jellegű kapcsolat van, hogy az egyik állapotának megváltozása akkor is hatással van a párjára, amennyiben közöttük több millió fényévnyi távolság van. Tehát ha a részecskepárokat szétválasztjuk egymástól, és két különböző helyre visszük őket, a közöttük fennálló kapcsolat ebben az esetben sem szakad meg. Amennyiben az egyik részecskében változást idézünk elő, arra a másik részecske – függetlenül a távolságtól – azonnal reagál, így az információ átadás azonnali, szám szerint 0 ms.

2019 szeptemberében a Google és a NASA kutatóinak sikerült egy olyan kvantumszámítógépet megépíteni, amely a betáplált feladatot 3 és fél perc alatt végezte el, szemben a mai hagyományos számítógépek tízezer évig tartó számítási idejével. Sajnos a hírt érdemes fenntartással kezelni, mert a NASA webhelyén közzétett cikket végül törölték.

A blog bejegyzés írása közben a hangulatról az AMAZING SPACE TRAVELING ~ Ambient Music ~ Background Music gondoskodott.

A blog bejegyzés képei az említett Mentőexpedíció (2015) című filmből származnak.