Kada je u pitanju kreativni rad koji je vremenski "kompresovan", adrenalin raste, entuzijazam ne jenjava, a rezultati mogu biti fantastični. Da, pričamo o pojmu hackathon-a. Međutim, usled pandemije, ove godine smo ga u Levi9 organizovali malo drugačije.
Umesto našeg standardnog hackhaton događaja koji traje 24h i organizovan je na fizičkoj lokaciji, ove godine smo održali online događaj Hack9 koji je trajao punih devet dana. U fokusu se nalazilo mašinsko učenje i veštačka inteligencija, odnosno upotreba ovih tehnologija na AWS Deep Racer-u, 3D simulatoru za trkački automobil, baziranog u cloud-u.
U timovima koji su brojali između troje i šestoro ljudi, nalazili su se i sami klijenti Levi9 koji su oberučke prihvatili ovu vrstu izazova i zabave. Žurka za 160 učesnika!
A šta je zapravo AWS DeepRacer, kakav je bio koncept ovog Hack9 događaja i kako to da se uopšte odigrao online?
Ideja koja spaja virtuelnu i fizičku komponentu takmičenja
Počeli smo da razmišljamo o mogućoj temi za ovogodišnji Hack9 otprilike 15 minuta nakon završetka prethodnog događaja. Kao član pobedničke ekipe prošlog Hack9, odmah nakon proglašenja prišao sam Draganu Gajiću, koji je Thought Leader u Levi9, te izrazio želju da učestvujem u organizaciji sledećeg Hack9 događaja.
Bukvalno sam mu rekao: “Mogli bismo sledeće godine da, recimo, vozimo neke autiće preko Raspberry Pi-a”.
U međuvremenu se i mašinsko učenje iskristalisalo kao zanimljiva tema, pa je AWS DeepRacer izabran kao idealna kombinacija. AWS DeepRacer nam je omogućio da imamo i virtuelnu i fizičku komponentu takmičenja, da spojimo više različitih disciplina u jedan događaj.
A iza scene… dinamično
Pripreme su počele još oktobra prošle godine, u isto vreme kada je počeo i jedan od Covid19 pikova. Prvobitna ideja je bila da Hack9 bude održan kao i svake godine, u decembru. Međutim, kako se Covid19 situacija pogoršavala, naša želja da organizujemo nesvakidašnji događaj je rasla. Odlučili smo se da Hack9 odložimo za april 2021. godine, u želji da ne ugrozimo nivo kvaliteta događaja koji smo želeli da dostignemo.
Bili smo primorani da radimo u remote režimu. Tu je spadalo sve – od kreiranja budžeta, preko marketinga, nabavke opreme i nagrada, testiranja opreme, pa sve do finalnih proba. Rekao bih da je ključ uspeha u timu motivisanih i vrednih ljudi. Jednom takvom timu kakav je bio tim nadležan za organizaciju Hack9 2021, ni Covid19 nije mogao da stane na put.
Pored nebrojeno mnogo telefonskih poziva i razgovora putem najrazličitijih komunikacionih platformi sa raznim dobavljačima i partnerima u organizaciji, kao posebno interesantan momenat bih izdvojio testiranje kompletne ideje i sistema u podrumu naše novosadske kancelarije.
Valjalo je validirati da li kompletan koncept uopšte funkcioniše u praksi pre nego se pristupi nabavci prilično skupe opreme. Što bi se reklo, da se napravi POC.
Tim od pet ljudi (vakcinisanih i sa maskama, ne brinite) skupio se da napravi testnu stazu koristeći krep samolepljivu traku, plastične folije i flomastere. Jako je interesantno, lepo, ali i poučno bilo videti Principal i Lead Software arhitekte kako sa žarom u očima lepe traku po podu i farbaju fuge od pločica flomasterom. Šta ti je posvećenost!
AWS DeepRacer i tehnologije korišćene u sklopu Hack9
AWS DeepRacer ja platforma kreirana sa idejom da se popularizuje mašinsko učenje (machine learning) kroz spoj sa drugim disciplinama. AWS DeepRacer može potpunog laika da uvede u ML svet i nauči ga osnovnim konceptima, ali sa druge strane pruža neograničene mogućnosti za podešavanja, eksperimentisanje i dalje učenje.
AWS DeepRacer svet se sastoji iz dve komponente, virtuelne i fizičke. U virtuelnom svetu, AWS cloud-u, vi učite auto putem reinforcement learning pristupa da se na određeni način kreće po vrituelnim stazama i postiže određena vremena. Tako stečeno znanje onda prenosite na fizički model automobila koji onda vozi po fizičkoj stazi.
Taj fizički aspekt mu daje posebnu čar, a nama je omogućio da finalni događaj ovogodišnjeg Hack9 bude trka robotizovanih automobila. Pored samog AWS DeepRacer-a, korišćeni su i AWS cloud servisi kao i Raspberry Pi sa svojim setom senzora i Java, JavaScript i Python programski jezici.
Izgradnja Deep Racer platforme na Hack9 događaju
Izgradnja platforme koja bi podržala ovogodišnji Hack9 počela je još prošle godine. Odlučili smo se da platformu izradimo koristeći se tehnologijama koje će nam omogućiti brz razvoj i pružiti što više gotovih funkcionalnosti.
Izbor je, logično, pao na AWS cloud servise. Cela platforma je bazirana na serverless funkcijama pisanim u Java Quarkus framework-u i JavaScriptu. Komunikacija sa frontendom je izvedena kroz REST i Websocket API Gateway, a za smeštanje podataka smo izabrali Dynamo DB NoSQL bazu.
Unutar platforme kompletna komunikacija je izvedena razmenom poruka kroz SQS i SNS AWS service. Glavni cilj je bio omogućiti da se informacije o vremenima krugova i rezultatima sigurno snime, ali i što pre proslede na prikaz takmičarima.
Izgradnja Deep Racer vremenskog senzora na Hack9 godađaju
Senzor za merenje vremena za koje AWS DeepRacer vozilo završi pun krug na našoj fizičkoj stazi bila je ključna komponenta ovogodišnjeg Hack9 takmičenja. Morao je da bude što precizniji i tačniji.
Nakon razmatranja različitih mogućnosti implementacije, izbor je pao na Raspberry Pi na koji je zakačen svetlosni senzor u koji je uperen laserski zrak. Prilikom prolaska kroz laserski zrak, automobil prekida snop i na trenutak senzor prestaje da detektuje svetlost. Ovo je znak da merenje vremena kruga treba da počne ili da se završi.
Mali program napisan u Python programskom jeziku očitava signale sa senzora i trenutno vreme šalje na platformu. Ključno je bilo izbeći sve smetnje i lažne signale koje može da prouzrokuje prolazak automobila kroz laserski zrak različitom brzinom, pod različitim uglom ili različitim delom automobila. Ovo je zahtevalo dosta testiranja i ispitivanja podešavanja. Neki automobili recimo jako vole da u punoj brzini udare pravo u senzor (nije baš idealno, složićete se).
Atmosfera samog događaja, uprkos pandemiji, fantastična
Iskreno, strepeli smo kakva će atmosfera biti. Tradicionalno, svake godine se svi skupimo na jednoj fizičkoj lokaciji, stotinak ljudi u toku 24h na malom prostoru razmenjuju ideje, energiju i takmičarski duh. U remote režimu rada, kada je svako kod svoje kuće, iako znamo da svakodnevni posao na projektima funkcioniše odlično, ipak nam je bila nepoznanica kako će ljudi reagovati na novi format takmičenja koji traje devet dana i gde je svako sam u svojoj sobi za svojim računarom.
Da li smo uspeli da postignemo taj isti nivo energije i adrenalina?
Rezultati su bili iznad svih očekivanja. Od mnogih učesnika smo dobili feedback da su se dvoumili da li da se uopšte prijave – delili smo iste sumnje i strahove. Ali sada, nakon završetka, vide da im je upravo tako nešto nedostajalo, da su se ponovo bolje povezali sa kolegama, odlično zabavili i puno naučili.
Ako postoji razlog i motivacija, ljudi će naći način da se povežu. Putem live stream-a smo deo atmosfere uspeli da prenesemo i onim kolegama koji nisu učestvovali.
Kad se trud isplati
Sav trud se isplatio i atmosfera nakon ovog izuzetno uspešnog događaja je bila sjajna. Deset timova je imalo po 4 minuta na stazi da izveze što je više moguće krugova i postigne što bolje prolazno vreme. Svi timovi su bili odlični i prva tri mesta su bila neizvesna do samog kraja.
Još kada vam na kraju od kolega takmičara stigne poruka: “Ovaj hackaton je meni toliko radosti i uzbuđenja pružio da stvarno moram da ti kažem – svaka čast i hvala do neba”, ni vašoj sreći nema kraja. Mislim da ovaj citat najbolje opisuje kakva atmosfera je vladala tokom takmičenja.
Ljudi u velikoj kompaniji su obično upućeni na kolege sa kojima svakodnevno rade na istom projektu, tj. u istom timu. Kao i razni drugi događaji u Levi9, Hack9 takođe pruža priliku ljudima da bolje upoznaju i ostale kolege iz kompanije i sa njima razmene iskustva i znanja, da zapravo rade zajedno. Ovo je posebno bitno sada kada već više od godinu dana radimo od svojih kuća, fizički odvojeni od kolega. Svaki dodatni vid interakcije sa ljudima daje novu energiju.
Inovacije i eksperimentisanje su sastavni deo software development-a, a kultura koju gajimo u Levi9 je da inoviranje i eksperimentisanje = zabava. Hack9 je idealna prilika da se ovaj pristup iskoristi do maksimuma uz potpunu slobodu.
Želiš da podeliš svoje mišljenje o ovoj temi? Komentari su otvoreni na našoj Facebook i LinkedIn stranici!