S príchodom 5G sietí s nižšou sieťovou latenciou a autonómnych vozidiel sa otvárajú nové možnosti zberu dát a riadenia. Pri vývoji autonómnych vozidiel je treba veľa diagnostických informácií a preto je potrebné tieto informácie zbierať efektívnym spôsobom.

Ako 7-členný tím študentov sme v rámci tímového projektu pracovali na spoločnom projekte autonómnej formule fakúlt FIIT STU a SjF STU. Pracovali sme na platforme na zber dát v reálnom čase z univerzitného autonómneho vozidla a zároveň na jeho diaľkovom ovládaní.   Postupom času sa táto vízia zberu dát cez našu platformu rozšírila aj na využitie v bratislavskej a žilinskej MHD.

Projekt

Cieľom nášho projektu bola implementácia dátovo efektívneho zberu dát v reálnom čase, webového rozhrania a spoľahlivého ovládania vozidla na diaľku. Pri zbere dát sa sústreďujeme na dáta zo zberníc vozidla, kde každý údaj môže prúdiť s iným intervalom a je potrebná synchronizácia. Naše riešenie umožňuje aj tzv. virtuálne polia, teda také, ktoré nepochádzajú z reálnej zbernice, ale iného vstupu definovaného používateľom.

Neoddeliteľnou súčasťou telemetrie je tiež dátový tok, keďže pripojenie nie je vždy stabilné a v odľahlých oblastiach kde je slabý signál je často len EDGE pripojenie. Pre tieto účely sme vyvinuli vlastný synchronizačný protokol podporujúci ako spoľahlivý, tak aj nespoľahlivý prenos, detekciu výpadku spojenia, hand-over v prípade pripojenia na lepší uzol a reprezentáciu celého stavu vozidla v jednej synchronizácií. Priemerná šírka pásma, ktorú sme pri testovaní zaznamenali bola 27 kbps, teda 1 hodina jazdenia vyžaduje iba 11 MB dát.

Používateľovi naše rozhranie umožňuje sledovať stav vozidla v reálnom čase ako jazdí, alebo si spätne prehrať záznamy z minulosti a poprípade si k nim vyrobiť grafy. Taktiež má používateľ si celý záznam exportovať ako CSV a analyzovať ho v inom programe ako napr. Excel. Používateľ si môže definovať aj vlastné dátové transformácie ako jednoduché funkcie v prípade, že sledované pole zo zbernice nie je jedno z preddefinovaných.

Tech stack

Náš projekt je založený na platforme Node.js. Pričom ako hlavný programovací jazyk sme použili TypeScript, kvôli zjednodušeniu vývoja väčšieho projektu. Ako perzistentné úložisko dát sme využili TimeScaleDB a ako atomickú vyrovnávaciu pamäť sme použili Redis.

Na komunikáciu v reálnom čase medzi prehliadačom a serverom sme použili WebSockety a medzi serverom a vozidlom náš vlastný komunikačný protokol. Front-endová časť projektu je implementovaná v rámci Vue.js.

avPANEL

Architektúra systému z pohľadu balíkov

Projekt sme tiež vyvíjali s dôraz na škálovateľnosť s využitím kontajnerizácie a bezstavových komponentov v architektúre.

Tím

Sme tím Los Kimonos (神的孩子). Vedúcim nášho tímu a zároveň product ownerom je Ing. Marek Galinski PhD., ktorý pracuje na projekte autonómneho vozidla od jeho začiatku a intenzívne spolupracuje s SjF STU. Pri manažmente projektu sme sa riadili metodikou Scrum. Každý z nás aktívne pracoval na projekte ako programátor a bol zároveň zodpovedný za jednu z oblastí pri vývoji.

Projekt vyvíjame ako tím študentov Fakulty Informatiky a Informačných Technológií STU v zložení Bc. Sandro Rybárik, Bc. Adam Štuller, Bc. Kristián Balaj, Bc. Michal Šoška, Bc. Ondrej Jedinák, Bc. Juraj Mečír a Bc. Jakub Lackovič pod pedagogickým vedením Ing. Marek Galinski PhD.

Každoročná prestížna súťaž TP Cup je už tradičným vyvrcholením predmetu Tímový projekt. Dáva študentom inžinierskeho štúdia Fakulty informatiky a informačných technológií STU v Bratislave príležitosť preukázať svoje schopnosti pri tvorbe jedinečných riešení v rámci predmetu, v ktorom sa v tíme dva semestre vytvára riešenie problému spojeného s odborom, ktorý študenti študujú. TP Cup predstavuje výzvu pre budúcich IKT profesionálov, ktorí chcú zmerať svoje schopnosti s ostatnými, preukázať že „na to majú“ a súčasne vytvoriť a „predať“ použiteľné riešenia, ktoré neskončia zabudnuté v zásuvke.

Značky:

Máte pripomienku alebo otázku k článku? Napíšte nám na redakcia@touchit.sk alebo priamo autorovi článku. Ďakujeme.