Tark püsikiirusehoidja ja omaenda ilmajaam: tarkvara tiimil on käed-jalad tööd täis

Eelmiste blogipostitustega olete teada saanud, kes hoolitsevad päikeseauto kere, mootori ja päikesepaneelide ja paljugi muu eest. Sel korral selgitame, millega tegeleb tarmukas tarkvara tiim. Etteruttavalt: nemad tagavad, et pedaalile vajutades auto ka päriselt sõitma hakkaks.

Kui teistes inseneeria valdkondades on ka paras ports eelmise aasta solaridereid, kellel juba ühe päikeseauto ehitamise kogemus käes, siis tarkvara tiimis on lood sootuks teisiti. Eelmisest hooajast on taas appi tulnud Kristjan Kleimann ja Siim Ilves, 2 andekat solariderit, kes võtsid tiimi juhtimise sel hooajal enda peale. Tarkvara tiim koosneb kahest alamtiimist: software ja firmware. Kui esiti kulus kogu tiimil aega, et end päikeseautode hingeelu ja üldiselt auto toimimisega kurssi viia, siis nüüdseks on juba käik kenasti sisse saadud.

Targemast targem püsikiirusehoidja

Software tiimi kuuluvad Tartu Ülikooli bakalaureuse astme füüsika eriala 2. kursuse tudeng Allar Liivlaid, Tallinna Tehnikaülikooli informaatika eriala 3. kursuse tudeng Kauri Riivik ja Johan Hollak, kes õpib samuti Tartu Ülikoolis 2. kursusel informaatikat. Mentorina toetab hea nõuga tiimi ka Taavi Tänavsuu, kes aitab hoolitseda selle eest, et koodi arhitektuur oleks korralikult struktureeritud ja hästi hallatav. Kaasa on löönud mentorina ka Robert Aare, kellega vaadati üle OSC struktuuri.

Software tiimi üheks olulisimaks ülesandeks on disainida ja ehitada OSC (optimal speed controller) ehk tark püsikiirusehoidja, mis arvutab optimaalse kiiruse, millega auto peab sõitma, et kulutada võimalikult vähe energiat ja jõuda õigeks ajaks sihtpunkti võttes seejuures arvesse sõidutee kuju, ilmastikuolud ja auto hetkeseisu.

Inseneeria tööpäevak, fotol vasakul Johan ja paremal Kauri.

Foto: Simm Paap

OSC kogub endasse tohutul hulgal erinevat informatsiooni, sh ka teeolustiku. Enne Austraalia päikeseautode võistlust kaardistatakse automaatselt tarkvara abil kogu võistlusmarsruut. Selle tegemiseks tehakse kogu marsruut lõikudeks ja selgitatakse iga teelõigu maksimaalne kiirus. Sealhulgas vaadatakse ka, kas teepeal on kurve, tõuse või langusi ning kas teele jääb asulaid, kus tuleb kiirust maha võtta. Lisaks saab OSC-sse ka sisestada soovitud kohale jõudmise aja, mispeale annab masin sõitjale soovitusliku kiiruse, et “õigeks” ajaks sihtkohta saabuda.

Kuna Eesti teeolud ja paljudki muud tingimused erinevad väga palju Austraalia omadest, siis ei ole meie tiimil võimalik praktiliselt autoga sõitmise põhjal OSC tööks vajalikku statistilist mudelit luua. Seetõttu põhineb Solaride tiimi mudel valemite peal. Ühtlasi on analüütilised mudelid üldiselt oluliselt täpsemad kui statistilised. See tähendab, et väga suur osa OSC väljatöötamisel on auto toimimise simuleerimisel. Selleks kasutab software tiim tarkvara Simulink, kus simuleeritakse kogu auto toimimist, sh näiteks mootori tööd, kui see liigub mäest ülesse ja alla või hoopiski kurvides.

Tee peale saab asetada näiteks laadimispunkte, kohustuslike peatusi, sõitjate vahetusi, auto remonti jm.

Omaenda mobiilne ilmajaam?!

Selleks, et OSC teaks, millised on eesootavad ilmastikuolud, disainivad ja ehitavad solariderid ka omaenda ilmajaama, mis liigub päikeseratsuga kaasa saateautos. Lisaks ilmajaamale võetakse arvesse ka ilmateadet, mis saadakse tomorrow.io kaudu. Ilmajaama disainimine pole aga niisama lihtne ja selle jaoks kasutatakse Altium designer’it, mis on mõeldud elektroonikaplaatide disainimiseks.

Ilmajaam on üldjuhul kõrgemal masti otsas, sest auto lükkab õhust läbi sõites selle ülespoole. Põhjuseks on tõik, et auto kohal on tuule liikumine kiirem, kui näiteks 1 meeter autost kõrgemal.

Foto: https://github.com/majianjia/QingStation 

Niisiis disainitakse ilmajaama jaoks plaat, millel on palju sensoreid, mis mõõdavad kõiksugu asju. Näiteks õhuniiskust, temperatuuri, õhurõhku, päikesekiirgust, tuule kiirust ja suunda ning jälgivad asukohta. Tuule kiirust ja liikumise suunda mõõdetakse sensorite abil, mis saadavad ultrahelisignaale kolmes erinevas suunas, mõõtes heli liikumise kiirust saadaksegi tulemus kätte. Ehkki tarkvara tiimi on teisel hooajal asunud mentorina toetama Martin Ploom ja Tõnis Tokman, kes on varem kaasa teinud tudengivormeli ehitusel, nendivad tiimiliikmed, et ilmajaama ehitamine toimub paljuski ka katse-eksituse meetodil.

Proovimine ja katsetamine on see, mida tiimiliikmed Solaride projektis väga hindavad. “Mulle meeldib, kui vabad käed meil Solaride’s on. Ühel päeval teen telemeetria lahendust, teisel päeval disainin dashboard’i, kolmandal aga ilmajaama. Mitmekesised ülesanded aitavad avastada, mida mulle päriselt teha meeldib ja milles ma ka hea olen ning ühtlasi leida ka uusi võimalusi, millega tegeleda,” sõnas tarkvara tiimiliige Artur Salumäe.

Inseneeria tööpäevak, fotol vasakul mehaanikatiimist Joosep Ress ja tarkvara tiimiliige Artur Salumäe

Foto: Simm Paap

Lisaks ilmajaamale luuakse saateautosse ka lahendus, kus kuvatakse kõiki samu parameetreid, mida päikeseautos sõitjatele. Põhjuseks on ikka inimfaktori tähtsus. Ehkki OSC on tark ja oskab meile nõu anda, jääb lõplik otsus kiiruse valikul siiski tiimiliikmetest koosnevale strateegiatiimile, kes asuvad saateautos. “Meie ülesanne on anda strateegiatiimile kogu vajalik informatsioon - mis toimub autoga, ilmaga, kus me asume kaardi peal, millised tähtsad punktid meid ees ootavad,” kirjeldas Artur Salumäe.

Vajuta pedaali ja auto liigub

Firmware tiim kuuluvad aga Tartu Ülikoolis bakalaureuse astmes 2. kursusel arvutitehnikat õppiv Artur Salumäe ja Eesti Lennuakadeemia 2. kursusel lennundustehnika side- ja navigatsioonisüsteemide tehnikuks õppiv Nikita Razguljajev ning nende ülesanne on lisaks ilmajaama ehitusele tegeleda elektroonika programmeerimisega.  Arurit ja Nikitat on tulnud mentordama Mihkel Heidelberg. Lihtsalt öeldes on Arturi ja Nikita ülesanne kogu elektroonikute poolt loodud elektroonika päriselt tööd tegema panna. Seejuures kasutatakse näiteks Seggeri embOS platvormi, mis on operatsioonisüsteem, mis on mõeldud lihtsamatele protsessoritele ning mida kasutatakse igal pool elektroonika juhtimises. Kirjutades lahti kogu auto kontroll loogika, saavutame näiteks selle, et gaasipedaali vajutades hakkab auto liikuma ja nuppu vajutades lähevad auto tuled põlema. Ühtlasi tegeletakse ka telemeetria mooduliga, mis tagab eelkirjeldatud suhtluse saateauto ja päikeseauto vahel. “Telemeetria moodul on sisuliselt väike plaat, mille ühendame auto ajuga, mis tagab raadioside kahe auto vahel läbi raadioantenni ,” sõnas Salumäe.

Lisaks sellele on alustatud juba tööd ka juhi dashboard’i ehk armatuurlaua disainimisega. Tavapärasele lisaks, kuvatakse sõitja ekraanile ka OSC näidik, et juht oleks pidevalt kursis optimaalse kiiruse soovitusega, akuprotsentide ja muuga. Salumäe sõnul proovitakse ekraan teha võimalikult minimalistlikuks, et juht saaks võimalikult hästi sõitmisele keskenduda.

Auto juures on oluline ka andmelogimislahendus, mis loeb ja salvestab kõik “sõnumid”, mis autos erinevate seadmete vahel liiguvad. Tänu sellele on hiljem võimalik neid kiirelt kasvõi võistluse ajal vaadata ja analüüsida ning vajadusel selle abil ka probleeme kiirelt lahendada.

Suur planeerimistöö on tehtud ning sügisel liigutakse täie hooga projektide arenduseni!