« Aalto « ELEC « AS

AS-0.3200

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.