K testování řídicích algoritmů projektu SPHERES bylo využito vývojové prostředí MATLAB a Simulink firmy MathWorks.
Manévrování s kosmickou lodí vyžaduje pokročilé řídicí algoritmy, ať už se jedná o let ve formaci, vzájemné spojení či autonomní setkání. Systém satelitů SPHERES (Synchronized Position Hold, Engage, Reorient, Experimental Satellites) je testovací platforma, která umožňuje prověření řídicích algoritmů v realistických podmínkách mezinárodní kosmické stanice ISS. Satelity o velikosti kuželníkové koule jsou vybaveny pohonným systémem, senzory, komunikačními systémy a výpočetními prostředky.
Hlavním úkolem projektu SPHERES je testování posloupností instrukcí pro kosmické lodě provádějící autonomní spojovací a přistávací manévry. Další využití zahrnuje výzkum údržby umělých družic a montáží v kosmickém prostoru nebo testování algoritmů pro udržování a změny formací skupin satelitů.
Čas vymezený pro testovaní algoritmů na vesmírné stanici je však velmi omezený. Proto je potřeba testované algoritmy pečlivě odladit ještě na zemi před jejich nasazením na platformu SPHERES. K tomu je využíván softwarový simulátor navržený v prostředí MATLAB a Simulink.
Simulace a vizualizace
Čas je na palubě mezinárodní vesmírné stanice drahocenným artiklem a posádka musí vyvážit výzkumnou činnost s nezbytnou údržbou a provozními úkony. Experimenty s testovací platformou SPHERES jsou obvykle plánovány v čtyřhodinových blocích. První a poslední hodinu zabírají přípravné a závěrečné procedury, k dispozici jsou tedy jen dvě hodiny věnované výzkumu a testovaní připravených algoritmů. Aby bylo možné vytěžit z experimentů maximum, nelze v jejich průběhu ztrácet čas laděním kódu algoritmů a odstraňováním chyb. Spolehlivé odladění funkčnosti algoritmů musí proběhnout ještě na Zemi. A v takovém případě je nejlepší možností vytvořit softwarovou simulaci dané soustavy, která je pružná, spolehlivá a hlavně trvale dostupná celému vědeckému týmu. Prvním úkolem tedy bylo navrhnout softwarový simulátor reprezentující chování satelitů SPHERES.
Neméně důležitá je i vizualizace experimentů prováděných v prostorách ISS. Do nedávné doby byly pozorovatelé na Zemi odkázání na video s nízkým rozlišením přenášené živě z vesmírné stanice. Video však poskytovalo pouze jeden pohled na prováděný experiment, takže sledování a zhodnocení pohybu satelitů v trojrozměrném prostoru nebylo snadné. Pro přesné určení polohy satelitů je sice možné použít data z telemetrie, ta však nejsou dostupná v reálném čase. Vědci na Zemi i astronauti na ISS potřebovali nový vizualizační systém, který by poskytoval náhled na pohyb satelitů z několika pohledů, a umožnil v reálném čase snadné sledování jejich vzájemné polohy.
Vývoj simulátoru
Softwarový simulátor systému SPHERES byl vyvinut na pracovištích Massachusetts Institute of Technology (MIT) v prostředí MATLAB a Simulink. Simulink je nadstavba programu MATLAB, grafický nástroj založený na symbolice blokových schémat, určený k modelování a simulaci dynamických systémů, vývoji algoritmů pro řízení či zpracování signálu.
Jádrem simulátoru jsou dynamické modely satelitů SPHERES popisující jejich pohyb v prostředí mikrogravitace. Kromě toho jsou zde submodely pro senzory, pohon satelitů a polohovací systém, který využívá infračervené a ultrazvukové technologie k určení polohy satelitu v rámci testovací místnosti na palubě ISS.
K efektivnímu využití simulátoru vytvořili vývojáři modul Guest Scientist Program (GSP). Jedná se o implementaci řídicích algoritmů v C/C++, kterou lze bez úpravy využít jak v prostředí simulátoru, tak přímo v procesorech satelitů SPHERES. Simulátor přistupuje k algoritmům v C/C++ pomocí rozhraní MEX, které MATLAB pro tyto účely poskytuje.
Vědečtí pracovníci mohou psát vlastní GSP moduly přímo v jazyce C/C++ nebo je vyvinout v grafickém prostředí MATLAB/Simulink a dále využít nadstavbu Embedded Coder pro automatické generování kódu v jazyce C z programů MATLABu nebo modelů Simulinku.
Využití simulátoru
Nové myšlenky a algoritmy vědců NASA jsou nejprve zevrubně testovány simulací na Zemi. Model v simulátoru zachycuje všechny důležité charakteristiky satelitů a jejich prostředí, takže pokud kód algoritmu funguje správně při simulaci, je možné jej bez problému spustit na platformě SPHERES v prostorách ISS.
Testované funkce v současné době zahrnují řízení relativní výšky letu a vzájemné polohy mezi satelity, přeskupování a zaujímání nových pozic, algoritmy pro předcházení kolizím či vyvážení spotřeby paliva celé soustavy satelitů.
Vizualizace experimentů
Vizualizace experimentu SPHERES byla vytvořena v prostředí MATLAB doplněném o nadstavbu Simulink 3D Animation. Ta umožňuje propojení výpočetního prostředí s vizuálním světem virtuální reality. Živá data z experimentů a simulací jsou přenášena do připravené virtuální scény, na kterou je možné pohlížet z různých úhlů nebo jí během vizualizace volně procházet.
MATLAB na Zemi i ve vesmíru
Prostředí MATLAB a Simulink bylo nainstalováno i na notebooky využívané astronauty na mezinárodní vesmírné stanici (přičemž prošlo podrobným prověřením bezpečnosti, výkonu a spolehlivosti tohoto systému). Notebook přijímá telemetrická data ze satelitů SPHERES a výsledkem je 3-D animace živého experimentu v prostředí virtuální reality. Posádka ISS i vědci na Zemi mohou animaci ovládat, nastavovat různé pohledy a měnit další parametry k dosažení co nejlepšího zobrazení pohybů satelitů v průběhu testu.
Distributor produktů společnosti MathWorks v České republice a na Slovensku:
HUMUSOFT s. r. o.
http://www.humusoft.cz