Yleisesittely

Tampereen TKK:n Ohjelmistotekniikan laitos ja TKK:n Tietojenkäsittelyopin laboratorio ovat yhteistyössä kehittämässä sulautettujen järjestelmien opetustaan. TTKK:n osuus on suunnitella ja toteuttaa harjoitustöissä käytettävä laitteisto: Kauko-ohjattavasta autosta poistetaan radiovarustus ja tilalle laitetaan pieni mikrokontrolleri, jolla auton nopeutta ja etupyöriä voidaan säätää. Tämä on siis mikro-ohjattava auto (micro-Controlled Car, uCC). Autossa on anturit, joilla voidaan havaita lattiaan kiinnitetty heijastava teippi. Ohjauksen tehtävänä on ajaa mahdollisimman nopeasti teipillä tasaiseen lattiaan merkittyä rataa pitkin.

Mikrokontrollerina käytetään Motorolan 68HC11A-prosessoria, joka on 8-bittinen ja jonka väylätaajuus on 2 MHz. Prosessorikortilla on 256 tavun RAM ja timer sekä AD-muunnin. Prosessoriin on lisätty EEPROM ja ulkoinen RAM-muisti.

Tässä kuvattu ohjelmisto toteuttaa kyseiselle laitteistolle simulointijärjestelmän. Simulaattorin on tarkoitus auttaa autolle tehdyn ohjausohjelman testauksessa siten, että ohjelma voidaan ajaa läpi kerralla ja seurata auton liikettä radalla tai suorittaa ohjelma haluttuun pisteeseen ja seurata rekisterien arvoja ja muistin sisältöä, jotta saadaan selvitettyä ohjausohjelman algoritmiset tai koodausvirheet. Ohjelman pitää simuloida todellisen fyysisen auton toimintaa eikä jotakin teoreettista esim. välittömästi ohjaussignaaleihin reagoivaa autoa. Simulaattoriin tehdään samat osajärjestelmät kuin fyysisessä Tampereella tehtävässä laitteessa on. Nämä osat ovat mikrokontrolleri, uBoard-piirikortti, anturit, toimilaitteet, johdotus, auto ja rata. Lisäksi tehdään käyttöliittymä mikrokontrollerin ohjaamista ja auton lliikkeen seuraamista varten. Käyttöliittymään tulee useita ikkunoita, joissa näkyvät auton paikka radalla, auton nopeus ym. tiedot, toimilaitteiden ja antureiden tilat ja prosessorin tila.

Ongelmaa ja ratkaisuja rajoittavat tekijät

Auton fysiikkamallissa on aiheen kompleksisuuden vuoksi tehtävä kompromisseja. Ohjelmiston nopeus tullee käytännössä riippumaan nopeaa sykliä pyörivien mikrokontrolleriosan ja toimilaiteosan nopeudesta.