« Aalto « ELEC « AS

Työ 5b: Liikkuvan robotin odometria

Työssä käytettävän robotin ongelmat on ainakin toistaiseksi ratkaistu ja työn suorittaminen jatkuu normaalisti.

Sisältö

Laboratoriotyössä ohjataan liikkuvaa robottia. Tehtävissä tutustutaan liikkuvan robotin paikannukseen ja suoritetaan mittauksia odometrian (matkalaskennan) kalibroimiseksi. Lisäksi pohditaan keinoja odometrian parantamiseksi sekä mahdollisuuksien mukaan toteutetaan niitä.

Huom! Työn sisältöön on tullut muutos. Työssä tullaan mahdollisuuksien mukaan toteuttamaan parannuksia odometrialaskennan toteutukseen. Käytännössä tämä tarkoittaa tutustumista robotin C-kieliseen ohjelmakoodiin ja parannusten toteuttamista ja testaamista laboratoriotyön aikana. Parannuksilla pyritään kompensoimaan laskennassa havaittuja virheitä.

Aika

Syksyllä 2007 työ järjestetään arviolta viikoilla 47-50. Työn kalenteri on avattu. Varauksissa pyritään siihen, että perjantaisin lyödään lukkoon seuraavan viikon aikataulu. Varatkaa siis ajoissa. Toisin kuin muissa töissä, esikuulusteluja voi varata myös aikoina, jolloin joku muu ryhmä on suorittamassa työtä. Tällaisina ajankohtina kannattaa kuitenkin varautua pieniin viivästyksiin.

Paikka

Huone: AS 2547, Automaatiotekniikan laboratorio, TUAS-talo

Materiaali

Työssä tutkitaan odometrian tarkkuutta. Sitä varten kannattaa tutustua kirjaan Where am I? - Systems and Methods for Mobile Robot Positioning. Lukekaa ainakin johdanto ja tutustukaa lukuun 5. laboratoriotyössä käytetään kappaleessa 5.2.1.2 (The Bidirectional Square-Path Experiment) esiteltyä menetelmää.

Esitehtävät

Esitehtävät jakaantuvat kolmeen osaan:

  1. vastaukset kysymyksiin
  2. koejärjestelyiden valmisteluun
  3. odometrialaskennan toteutukseen tutustumiseen ja parannusten valmisteluun

Liittäkää esiselostukseen kansilehti doc

Kysymykset

Esiselostuksena ryhmällä tulee olla omasanaiset (ei copy-paste) kirjalliset vastaukset seuraaviin kysymyksiin:

Mitä on odometrian systemaattinen virhe? Entä eäsystemaattinen? Anna esimerkkejä, mistä lähteistä näitä virheitä voi tulla.

Miksi "Unidirectional Square-Path Test" on huono menetelmä odometrian tarkkuuden mittaamiseksi?

Miksi "Bidirectional Square-Path Experiment" sisältää ajamista eri suuntiin? Miksi useita kertoja?

Muut esitehtävät

Ryhmällä tulee em. vastausten lisäksi olla valmisteltuna taulukkolaskentadokumentti sekä suunnitelma korjausparametrien lisäämisestä ohjelmakoodiin. Tehtävät selviävät jäljempänä tästä dokumentista.

Koejärjestelyt

Vastausten lisäksi ryhmän tulee valmistella mittausjärjestelyt laboratoriotyötä varten. Työssä käytetään Rolloottori-robottia. Työssä robotin "pose" eli paikka ja orientaatio (suunta) tulee mitata suhteessa ulkoiseen, lattiaan merkittyyn, koordinaatistoon. Toistaiseksi helpoin keksitty tapa (muitakin tapoja saa käyttää) on mitata kummankin pyörän x- ja y-koordinaatit ja laskea robotille paikka ja suunta niiden avulla. Ryhmällä tulee olla valmiina menetelmä, jonka avulla mittaustuloksista (x- ja y-koordinaatit kummallekin pyörälle) saadaan helposti laskettua robotin keskipisteen (pyörien välisen janan puolivälissä) paikka sekä robotin suunta. Suositeltava menetelmä on esimerkiksi Excel-lomake tai Matlab m-file. Menetelmää käytetään laboratoriotyössä, mutta sen tulee olla valmiina esikuulustelussa, jotta siitä voidaan keskustella. Jokaista mittaustulosta vastaa myös robotin odometrian antama paikka. Robotilla ajetaan muutamia kertoja myötä- ja vastapäivään "Bidirectional Square-Path Experiment" -koejärjestelyn mukaan. Ryhmän valmisteleman menetelmän avulla tulee pystyä laskemaan koejärjestelyssä mainitut parametrit

  • measure of odometric accuracy for systematic errors (Where Am I, page 135, eq. 5.6)
  • ratio between the two wheel diameters (Where Am I, page 141, eq. 5.12)
  • wheelbase error (Where Am I, page 142, eq. 5.15)

Huom: Robotin koordinaatisto on määritelty kuten kirjassa. Robotin origo on sen keskellä, renkaiden puolivälissä. X-akseli osoittaa eteenpäin ja Y-akseli vasemmalle. Suunta nolla on eteenpäin ja suunta kasvaa vastapäivään. (voi siis ajatella robotin olevan matemaattisessa koordinaatistossa, nokka x-akselin suuntaan).

Edellä kuvattua menetelmää käyttäen, laskekaa pyydetyt parametrit seuraaville mittaustuloksille: (tekstinä tai Excel-tiedostona xls)

Arvioikaa mittausjärjestelyn virhelähteitä ja niiden merkittävyyttä.

Odometrian toiminta

Robotti ohjaa mikrokontrolleri, jonka tiedonkäsittelykapasiteetti on varsin rajallinen. Robotin koodi on laajempi kokonaisuus, josta on tähän otettu esille vain odometriaan liittyvä osa. Kolmas esitehtävä edellyttää tutustumista odometrian toteutukseen niin, että koodiin voidaan kokeilla tahdä muutoksia saatujen mittaustulosten ja muiden havaintojen perusteella. Huomattavaa on, että odometrialaskennan parantamiseksi joudutaan käyttämään muitakin keinoja kuin edellä käsiteltyjen korjausparametrien lisääminen. Esikuulustelussa ryhmällä tulee olla käsitys siitä, miten miten odometria on toteutettu, sekä suunnitelma siitä, miten edellä lasketut korjausparametrit voidaan implementoida ohjelmakoodiin.

Otsikkotiedosto odometry.h

Ohjelmakoodi odometry.c

Esikuulustelussa on mahdollista esittää kysymyksiä ja keskustella odometrian implementoinnista assistentin kanssa, mutta toteutukseen on syytä tutustua etukäteen. Koko ohjelmakoodia ei ole esikuulusteluajan puitteissa mahdollista käydä läpi.

Assistentti

Jere Knuuttila