30.09.2025
Tickingbotin ohjelmistokehittäjä Juho Kokkosen kotona on parhaillaan käynnissä mielenkiintoinen harrasteprojekti, nimittäin oman ajosimulaattorin rakentaminen. Kysyimme Juholta, mitä ajosimulaattorin rakentaminen vaatii ja mistä ajatus lähti liikenteeseen.
Ohjelmointi on ollut osa Juhon elämää jo 12-vuotiaasta lähtien, jolloin hän aloitti ohjelmoinnin harrastamisen. Silti hänen polkunsa ohjelmistokehittäjäksi ei ollut se perinteinen. Tie vei lopulta tietotekniikan opintoihin yliopistoon saakka, mutta opintojen aikaan Juho päätti kokeilla jotain aivan muuta. Uusi suunta löytyi kellosepän opinnoista ja pian hän työskenteli jo luksuskellojen parissa Saksassa. Sittemmin työura vei Iso-Britanniaan luottotarkistusjärjestelmien kehittämisen pariin, ja lopulta takaisin Suomeen teknisen konsultoinnin äärelle. Tickingbotilla Juho on työskennellyt jo lähes kuuden vuoden ajan erilaisissa sulautettujen laitteiden ohjelmistokehitysprojekteissa.
Mielenkiintoisen uran myötä Juho tuokin projekteihin aivan erityistä laaja-alaisuutta. Aito mielenkiinto ratkaisuja kohtaan näkyy Juhon kohdalla niin työ- kuin harrasteprojekteissa.
Kipinä ajosimulaattorilla pelaamiseen syntyi Juhon lasten innostuttua autoista. Juho osti kokeiluun pelin, ratin ja polkimet, mutta nopeasti hän halusi peliltä enemmän. Hän vertaili muiden harrastajien sekä kaupallisia että itse rakennettuja simulaattoreita. Oman ajosimulaattorin kehittäminen kiehtoi Juhoa ja hän päätti tarttua haasteeseen.
Komponentteja Juho hankki käytettynä Tori.fi:stä, ja niiden ohjaamiseen hän yhdisti avoimen lähdekoodin ratkaisuja, kuten OpenFFBoard ja ODrive. Ajosimulaattorin sydämenä toimii teollinen servomoottori, jolla ratin liike ja ajotuntuma syntyvät. Jarrupolkimeen on lisätty voima-anturi, jolloin poljin toimii painamiskovuuteen perustuen. Kehitystyöllä Juho tavoittelee ajosimulaattorin pelaajalle aitoa ajotuntumaa.
Projektin alkuun pääsyä haastoi moottorin enkooderin suljettu EnDat-protokolla. Avoimen lähdekoodin projektit eivät sitä suoraan tukeneet ja protokollan yksityiskohdista vapaasti saatavilla olevaa tietoa oli niukasti. Sinnikäs selvitystyö tuotti kuitenkin tulosta niin, että Juho sai moottorin toimimaan yhdessä ODrive-moottoriohjaimen kanssa. Käytännössä tämä vaati sekä rauta- että softa-tason muutoksia. Moottoriohjaimen ja enkooderin väliin tuli itse piirretty adapteri-pcb mahdollistamaan protokollan vaatiman RS-485 kommunikaation. Ohjaimen firmware puolestaan sai tarvittavan tuen EnDat-protokollalle. Erityisen mielenkiintoiseksi hän kokee juuri elektroniikan yhdistämisen.
“Projektissa oli myös sellaisia osa-alueita, joita työssä ei ole vielä tullut vastaan. Esimerkiksi eri protokollien selvittäminen ja elektroniikan puoli toivat paljon uutta osaamista”, Juho kertoo.
Rakennusprosessi on sisältänyt runsaasti tutkimusta, suunnittelua ja elektroniikan parissa pähkäilyä. Työkalupakkiin kertyy harrastuksen myötä jatkuvasti uusia teknologioita.
Juhon ajosimulaattoriprojekti jatkuu yhä uusien kehitysideoiden syntyessä. Suunnitelmistaan Juho mainitsee käsijarrun ja vaihdekepin lisäämisen sekä pelin tilanteisiin reagoivan turvavöiden kiristystoiminnon kehittämisen. Vauhdin hurmaan lisäefektiä hän haaveilee lisäävänsä tuulisimulaattorilla, joka puhaltaisi ilmavirtaa pelaajan kasvoille pelin käänteiden mukaisesti. Loppusilauksen ajosimulaattori saa VR-laseilla. Kehitettävää löytyy Juhon mukaan jatkuvasti, mutta se onkin harrastuksen suola.
Juho haluaa samalla rohkaista muitakin tarttumaan vastaavanlaisiin projekteihin: “Ei muuta kuin rohkeasti mukaan. Netistä löytyy valtavasti tietoa ja yhteisöjä, joissa harrastajat auttavat toisiaan. Ei haittaa, vaikka ei olisi valmiiksi softakehittäjä. Ratkaisut voi sovittaa omaan osaamiseen. Pääasia on kiinnostus ja halua oppia.”
Tickingbotilla olemme ylpeitä asiantuntijoidemme halusta viedä osaamistaan eteenpäin myös vapaa-ajalla. Juhon ajosimulaattoriprojekti on hieno esimerkki siitä, kuinka uteliaisuus, rohkeus kokeilla uutta ja aito tekemisen ilo saavat aikaan jotain konkreettista.