Skip to content
🇺🇦 Auta ukrainalaisia tekemällä lahjoitus UNICEFin tai Suomen Punaisen Ristin kautta. 🇺🇦

Ohjausjärjestelmän ensitestaus vietiin kaivoskoneesta simulaattoriin – nyt simulaattori halutaan irti raudasta ja aidosti pilveen

AtoZ Oy:n ohjelmistotestauksen asiantuntijat ovat olleet pitkään tekemisissä erilaisten suurten koneiden ohjausjärjestelmien testauksen kanssa. Kohdejärjestelminä ovat esimerkiksi Sandvikin valmistamat kaivoskoneet tai Ponssen metsäkoneet. Ohjausjärjestelmä on softakokonaisuus, jota ilman koneet eivät toimi.

Nykyisin AtoZin Lead QA -tehtävässä toimiva Tommi Puonti aloitti perehtymisen isojen koneiden softan testaamiseen yli 15 vuotta sitten. Hän sai tehtäväkseen konsultoida testausprosessin toimivuutta ja kehitystä yrityksessä, josta tuli myöhemmin AtoZin merkittävä asiakas ja yhteistyökumppani.

Tuohon aikaan yrityksen tuotteiden testaus lähti siitä, että koneen prototyyppi tuotiin pihalle, ja softankehittäjä toi muistitikulla softan, joka asennettiin koneeseen. Tämän jälkeen saattoi mennä kuukausikin selvitellessä, missä on vika, kun konetta ei saada liikkeelle.

– Koneessa saattoi olla ongelmia sähköissä, hydrauliikassa tai ohjelmistossa. Softan tilannetta ei tiedetty, koska sille ei tehty järjestelmällistä testausta ennen koneeseen asennusta.

Asiakas halusi parantaa koko ohjelmistopuolen kehitys- ja testausprosessiaan. Puonti suunnitteli testausprosessin ja jäi tätä myötä pysyvämminkin taloon. Tästä prosessikehitys projektista toiminta liikkuvien koneiden ympärillä on kasvanut niin että tällä hetkellä AtoZ Oy:n liikkuvien koneiden testaustiimiin kuuluu yhteensä 15 henkilöä.

Testiautomaatiota ja simulaattorikehitystä

Testausvalmiuksien rakentelussa ensimmäinen tehtävä on löytää alusta, jossa koneen ohjausjärjestelmää voi testata heti projektin alusta lähtien. Tähän ei kannata käyttää oikeaa konetta, koska siinä testaaminen on liian hidasta ja kallista. Yksi vaihtoehto on valjastaa tähän tehtävään koulutussimulaattori, jos tuotekehitykselle ei ole omia simulaattoreita olemassa.

Simulaattori sisältää ohjausjärjestelmän tärkeimmät komponentit sekä tarvittavat rajapinnat, jotta ympäröivän maailman simulointi oli mahdollista.

Simulaattorit ovat kehittyneet hurjasti 15 vuoden aikana, ja työkalut ovat parantuneet. Mukaan on tullut enemmän koneen toimintojen mallinnusta sekä testiautomaatiota – softaa voidaan tutkia ulkopuolelta käsin automaatiotyökaluilla.

– Tällä hetkellä ajamme ohjausjärjestelmän ohjelmistoa simulaattorilla jo ensimmäisestä koodiversiosta lähtien. Edelleen vain tahtoo olla niin, että koodia osoitellaan herkästi ensimmäisenä syylliseksi ongelmiin, vaikka se on toiminut simulaattorissa, ja vika on jossain muualla, Puonti harmittelee.

Ohjausjärjestelmästä valmistuu nykyisellään uusi käännösversio joka päivä ja uusia toiminnallisuuksia päästään testaamaan heti niiden valmistuttua. Automatisoitu regressiotestaus suoritetaan jokaiselle versiolle ja testausautomaatiota kehitetään ja täydennetään jatkuvasti.

Simulointi aidosti pilveen

Käsillä on seuraava vaihe, simulaattorin virtualisointi. Joitakin avainkomponentteja on aidosti rautana edelleen mukana. Päämääränä on päästä ajamaan ensimmäinen savutestaus pilvessä täysin virtuaalisesti heti, kun käännösversio on valmis.

Ensimmäiset simulaattorit ovat olleet toteutukseltaan tyyppiä hardware in a loop. Tämä tarkoittaa, että kaikki koneet ovat yksittäisiä simulaattoreita. Laitteiden välillä kulkee melkoinen määrä johtoja.

Tästä ensimmäinen helpottava kehitysaskel oli softan arkkitehtuurimuutos, jossa virtualisoitiin I/O-rajapinta. Nyt simulaattoriin tuli vain yksi johto ja samalla yksi putki, jonka päässä on mahdollista simuloida I/O-rajapintaa.

Konfigurointi pystyttiin tekemään kokonaan skripteillä. Samaan simulaattoriin tuli mahdolliseksi määritellä eri konemalleja. Tästä tehtiin ensimmäiset protoversiot jo kymmenkunta vuotta sitten.

Sittemmin ohjausjärjestelmään on toteutettu rajapintoja testiautomaatiota varten. Kun testattavana on lukuisia konemalleja, on välttämätöntä pystyä tekemään regressiotestaus pääosin automaattisesti.

– Nyt pyrimme nostamaan simulaattorin kokonaan pilveen, jolloin kaikki toimii virtuaalisesti ilman rautaa. Tällöin voimme virittää vaikka sata simulaattoria vierekkäin.

Eräässä asiakasprojektissa testausautomatisointi kattaa nykyisellään noin 85 prosenttia asiakkaan regressiotestauksesta. Tämä alkaa olla jo likimain riittävä kattavuustaso.

– Tiettyjä asioita on parempi testata käsin. Kun suurin osa testauksesta on automatisoitu, voimme keskittyä paremmin haasteellisimpiin asioihin ja kaivautua bittitasolle asti varmistamaan, että järjestelmä toimii oikein.

Lopullinen ohjelmiston validointi tehdään jokaiselle tuotannosta tulevalle koneelle aidosti koneen kanssa.

Simuloinnissa on rajansa

Suuren koneen ohjelmisto voi olla yllättävän laaja kokonaisuus. Esimerkiksi kauhalla varustettu pyörökuormaaja on monimutkainen laite, vaikka ulospäin näyttää että siinä on liikkuvina osina vain puomi ja kauha, jotka liikkuvat ylös–alas-suunnassa. Erilaisilla koneoptioilla löytyy kuitenkin kymmeniä vaihtoehtoja minkälaisia toimintoja koneesta löytyy.

Nykyisellään koneet nähdään lähinnä rautamötiköinä. Tulevaisuudessa ne ovat yhä enemmän softankantoalustoja, joissa rauta on softalle alisteista. Samalla softan määrä kasvaa. Platform-ajattelun ansiosta uusi koneen ohjelmisto syntyy helpommin, kun yksi toteutus on tehty. Kehityssykli nopeutuu.

Eräs uusi lähiajan ulottuvuus on se, että koneiden kriittiset toiminnot muuttuvat hydraulisista tai sähköisesti toimivasta ohjelmistolla toteutetuksi. Tämä tuo ohjausjärjestelmälle uusia merkittäviä vaatimuksia, esimerkiksi tiukan turvallisuusauditoinnin. Toimintavarmuus on oleellinen asia, kun joidenkin isojen koneiden ajonopeus nousee aina 50 km/h asti.

Merkittävimmät koneen testattavat toiminnot vaativat dynamiikkaa. Esimerkiksi luistonesto ja voimansiirto tarvitsevat tarkkaa kontrollia. Näiden testauksessa on ymmärrettävä simulaattorin vajavaisuudet, koska simulointitestauksessa tulee aina jokin raja vastaan. Koneen toimintojen mallinnus maksaa sitä enemmän, mitä tarkemmalle tasolle se viedään.

Tärkeä tavoite on jalostaa simulaattoria ja simulointimalleja toimimaan tarkemmin oikean koneen tapaan.

Kohti autonomisia koneita

Useimmiten ihmiset ohjaavat vielä koneita, mutta tulevaisuudessa ne voivat olla itsenäisempiä. Hytittömiä konseptilaitteita on jo olemassa miehittämättömän toiminnan toteutukseen ja testaukseen.

Nykyiset automatisoidut laitteet voivat toimia vain sellaisissa paikoissa ja reiteillä, jotka on suljettu ihmisiltä. Jatkossa mukaan tulee automaailmasta tuttu hahmontunnistus, jolloin koneet pystyvät ottamaan huomioon esimerkiksi ihmiset ja erilaiset esteet.

AtoZ on mukana myös tässä seuraavan sukupolven kehitystyössä.

-------------------

Tämän asiantuntija-artikkelin kuvineen toteutti Juha Jäntti