Projektisuunnitelma
Projektin tavoitteet
AUTT-1 on Automaation tietotekniikan harjoitustöissä käytettävä pienikokoinen robotti, jota hyödynnetään esimerkiksi kurssilla AS-116.2120 Automaation tietotekniset järjestelmät. Kyseisen kurssin harjoitustyössä mallinnetaan Rhapsody-työkalulla pienimuotoinen ohjelmisto, jota ajetaan robotin QNX-pohjaisessa PC/104-tietokoneessa.
Tämän projektityön tavoitteena on jatkaa AUTT-1:n kehitystyötä syksyllä 2008 laaditun projektisuunnitelman mukaisesti. Kehitystyön painopistealueet tulevat olemaan reaaliaika-Linuxin tutkiminen ja asentaminen robottiin sekä autonomisen navigoinnin mahdollistava anturointi. Näiden ohella tullaan hankkimaan tehtäviä tukevia laitteita sekä toteuttamaan laitteistoon kehityssuunnitelman mukaisia pieniä parannuksia jotka helpottavat robotin kehittämistä ja käyttöä.
Onnistuessaan suunnitelmien mukaisesti projektin seurauksena AUTT-1:een on asennettu käyttöjärjestelmäksi reaaliaikavahvennettu Linux nykyisen PC/104-tietokoneen rinnalle ostettuun uuteen päätietokoneeseen. Lisäksi robotti kykenee navigoimaan autonomisesti ja törmäilemättä pitkin lattiaan merkittyä ajorataa.
Työn laajuuden tarkka arviointi on projektitöissä vaikeaa. Tavoitteenamme on suorittaa kurssi 6 opintopisteen laajuisena, mukauttaen tehtävien laajuutta projektin edetessä vastaamaan työmäärää.
Työn rakenne ja aikataulu
Työ jakaantuu rakenteellisesti kolmeen rinnakkaiseen osaprojektiin: yleiset pikkuparannukset, reaaliaika-Linux ja autonominen navigointi.
Yleiset pikkuparannukset
Osien hankinta
Tilataan robottiin uusi akkulaturi, 12 voltin ja 5 voltin hakkuriteholähteet ja törmäysten estoon tarkoitetut ultraäänianturit.
Asennus
Asennetaan osat robottiin.
Reaaliaika-Linux
RTAI eli RealTime Application Interface for Linux tuo Linuxin ytimeen reaaliaika-ominaisuudet. Tällöin tiukkojen aikarajojen asettaminen ohjelmien suoritukselle on mahdollista. Alla olevat työpaketit on listattu suurin piirteisessä työskentelyjärjestyksessä, kuitenkin siten että dokumentointi on jatkuva prosessi ja työpaketit voivat hieman limittyä keskenään.
Tietokoneen valinta
Tämä vaihe sisältää tutkimuksen erillaisista mahdollisuuksista pohjautuen siihen olettamukseen, että vanha PC-104 pohjainen järjestelmä jää moottorinohjauksien käyttöön ja uusi tietokone asennetaan sovellusohjelmistojen käyttöön. Tässä vaiheessa tulee erityisesti ottaa huomioon laitteen tulevaisuuden mahdollisuudet ja laajennettavuus.
RTAI:n mahdollisuuksien sekä rajoitteiden tutkinta
Toisessa osiossa tutkitaa RTAI:n ominaisuuksiin ja rajoitteisiin keskittyen erityisesti asennukseeen. RTAI on todennäköisesti riippuvainen ytimen versiosta ja käännösvaihtoehdoista. RTAI saattaa olla riippuvainen kääntäjästä ja asennettavasta Linux jakeluversiosta. Myös mahdolliset muut rajoitteet asennusta rajoittavat tekijät tulee mahdollisuuksien puitteissa ottaa selville.
Linuxin ja RTAI-laajennuksen asentaminen
suoritetaan Linux ja RTAI-ydinlaajennuksien asennus. Tämä tehdään uuteen laitteeseen. Asennus tehdään huomioimalla laboratorion ja kurssien tarpeet ohjelmistojen valinnassa. Asennus vaatinee lisäksi oman ytimen kääntämisen ja asentamisen. Samalla asennetaan RTAI:n Linux ydinlaajennukset.
RTAI:n ja RTAI-Labin ominaisuudet
RTAI-järjestelmään asennetaan RTAI-Lab lisämoduuli. Asennuksen jälkeen tutkitaan moduulin ominaisuuksia ja onko Matlabin Simulink yhteys toteutettavissa. Mikäli Simulink-toiminnallisuus saadaan toteutettua, asiasta tehdään yksityiskohtaiset ohjeet, jotta kurssit voivat käyttää tätä.
Oheislaitteiden ja ajurien asentaminen
Laitteistoon asennetaan tarvittavat oheislaitteet ja niille ajurit. Tämä tarkoittaa vähintään CAN-laitteiston asentamista kommunikaatiota varten. Tarvittaessa ajureita sovitetaan, mutta uudelleen kirjoitukseen turvaudutaan vain pakon edessä työkuorman vuoksi.
Dokumentointi
Dokumentointi on jatkuva prosessi. Jokaisesta työvaiheesta tulee kirjoittaa dokumentointi. Dokumentoinnissa keskitytään sekä siihen mitä osiossa on tehty ja eritoten siihen miten tämä näkyy käyttäjälle päin. Käyttäjäohjeistuksen tulee olla riittävän hyvä, sillä oletuksella että käyttäjä on kokenut.
Autonominen navigointi
AUTT-1:een on suunniteltu toteutettavaksi navigointi, joka perustuu lattiaan teipillä merkityn kulku-uran seuraamiseen. Teippiura voidaan tunnistaa esimerkiksi valaisemalla lattiaa ja mittaamalla LDR-valovastuksilla teippiviivan sijaintia. Mikäli viiva on jommassakummassa laidassa, suoritetaan ohjaustoimenpide tähän suuntaan.
Osien hankinta
Tilataan anturiin tarvittavat valovastukset sekä muut mahdollisesti tarvittavat osat.
Proof-of-concept -testaus
Tutkitaan erilaisia teippityyppejä, mahdollisia valaistustapoja, tapoja suorittaa mittaus sekä kytkeä anturi.
Anturin rakentaminen
Rakennetaan fyysinen laite jossa on sopiva määrä mittauselementtejä sopivassa muodossa.
Anturin liittäminen robottiin
Kiinnitetään anturi robottiin ja kaapeloidaan se robotin IO:hon. Tehdään ohjelma, jolla anturia voidaan lukea.
Yksinkertainen navigointiohjelmisto
Tehdään ohjelma, joka osaa ohjata moottoreita anturilta saatujen tietojen mukaan.
Monipuolisemmat navigointitavat
Navoigoinnin aiempien vaiheiden työmäärästä riippuen työtä voidaan laajentaa toteuttamalla esimerkiksi karttaohjelma, joka osaa ohjata alimman tason navigointia tarpeen mukaan. Karttaohjelman lisäksi voidaan toteuttaa pienimuotoinen verkossa toimiva etäohjelma, jolla navigointia voi kontrolloida.
Mikon aikataulu: Reaaliaika-Linux
Viikko
7 Projektisuunnitelma
8 Hankinnat
9-10 RTAI-tutustuminen, laitteiston odotus
11-12 Linuxin asennus
13-14 RTAI- ja RTAI-Lab ominaisuudet
15-16 Oheislaitteiden ajurit
17 Loppuraportti
Juhon aikataulu: Autonominen navigointi
Viikko
7 Projektisuunnitelma
8 Hankinnat
9-10 Proof-of-concept
11-12 Anturin rakentaminen
13-14 Yksinkertainen navigointiohjelma
15-16 Muita parannuksia, navigointiohjelman parannuksia
17 Loppuraportti
Riskien hallinta
Ajan riittämättömyys
Mikäli havaitaan, että työn jossain kohtaa on kulunut aikaa runsaasti tai kaikkia vaiheita ei muuten kyetä saattamaan loppuun saakka, osa työn viimeisistä vaiheista jätetään tekemättä. Tavoitteena pidetään, että ne työvaiheet mitkä on aloitettu, pyritään saada työstettyä loppuun saakka. Tilanteesta tulee myös keskustella ohjaajan kanssa.
Uutta tietokonetta ei saada
Mikäli uutta tietokone ei saada, siirrytään käyttämään jotain pöytä tietokonetta ja suorittamaan RTAI linux asennus siihen. Tämä työ dokumentoidaan huolella, jotta tulevissa tilanteissa dokumentteja käyttämällä on mahdollista asentaa RTAI AUTT-1 robottiin.
RTAI Linux ei yrityksistä huolimatta asennu tai ajureita ei saada toimimaan
Asiasta keskustellaan ohjaajan kanssa. Tutkitaan ongelman aiheuttajaa ja mahdollisia jatkotoimenpiteitä sekä sovitaan etenemistä.
Anturiosien pitkä toimitusaika
Mikäli navigointianturin osia ei saada hankittua nopeasti, toteutuksen aloittaminen voi viivästyä. Alkuun voi kuitenkin yrittää päästä laitokselta hyvällä onnella löytyvillä osilla tai käymällä ostamassa muutaman euron arvoiset kokeiluosat jostakin elektroniikkakaupasta.
Navigointianturin konseptin toimimattomuus tai AUTT-1:n mekaniikan soveltumattomuus kyseiseen navigointitapaan
On mahdollista, ettei halvoilla anturiosilla pystytä tunnistamaan teippiä TUAS-talon lattiasta. Tämä on kuitenkin epätodennäköistä, sillä TKK:lla on kursseja joilla on vastaavantyyppinen navigointiratkaisu käytössä. On myös mahdollista, että AUTT-1:n mekaniikka on liian kömpelö pystyäkseen seuraamaan teippirataa.
Mikäli navigointikonsepti todetaan toimimattomaksi, tutkitaan mahdollisuutta käyttää jotakin muuta navigointikonseptia. Mekaniikan osoittautuessa liian kömpelöksi mietitään mahdollisuuksia muuttaa sitä ketterämmäksi esimerkiksi keventämällä robottia tai etsimällä kustannustehokkaita vaihtoehtoisia harjoitustyöalustoja.
Elektroniikkaosaamisen riittämättömyys valoantureiden lukemiseen
Vastaavia elektroniikkakytkentöjä on julkaistu Internetissä runsaasti. Mikäli näitä ei onnistuta soveltamaan, etsitään apua TKK:n henkilöiltä, esimerkiksi sellaisten kurssien henkilökunnasta jotka käyttävät vastaavaa navigointikonseptia.