582326 Robottiohjelmoinnin harjoitustyö (4 op), kevät 2010
Kurssin etusivulleKurssin suorittamisesta
- kurssista annetaan suoritusmerkintä hyväksytty/hylätty
- haastatteluihin osallistuminen on vaatimuksena suorituksen hyväksymiselle
- arviointi perustuu oppimispäiväkirjaan tai vastaavaan selvitykseen, robotin rakenteen ja koodin sekä näiden dokumentoinnin laatuun ja yleiseen toimivuuteen
- työn laajuutta suunniteltaessa voi katsoa mallia edellisen kurssin töistä, kysellä ohjaajalta ja käyttää omaa harkintakykyä
Yhden suuren työn sijaan voi tehdä myös useita hieman pienempiä, mutta nämä eivät saa olla pelkkiä variaatioita samasta aiheesta tai muuten triviaaleja. Kaikki työt pitää dokumentoida. Suositeltavaa on panostaa kuitenkin yhteen työhön, jotta työn laajuudesta tulee mieluinen ja luultavasti toteutuksestakin mielenkiintoisempi. Kaikenlaiset kokeilut otetaan huomioon ja niiden odotetaan käyvän ilmi oppimispäiväkirjasta.
Demotilaisuudessa päästään esittelemään robotteja toisille ja kertomaan työstä. Roboteista taltioidaan videoita tilaisuudessa.
Haastattelut
Pakollisena osana suoritusta on sekä alku- että loppuhaastatteluihin osallistuminen. Alkuhaastattelut pidetään viikolla 5 (helmikuun alussa) ja loppuhaastattelut viikolla 9 (maaliskuun alussa). Tarkemmasta aikataulusta tiedotetaan sähköpostitse.
Oppimispäiväkirja
Oppimispäiväkirjan tarkoitus on antaa näkemys siitä, miten robottiurakka on sujunut: mitä on milloinkin alettu puuhailemaan, millaisia asioita on koitettu ja mitä niistä havaittiin tai tuliko toteutuksessa ongelmia, jotka sittemmin kierrettiin, ja niin edelleen. Selvityksessä ei kannata säästellä sanoja. Tarkoituksena ei ole laskea työtunteja eri vaiheissa, vaan kertoa omista kokemuksistaan robotin kanssa. Pituudella ei ole rajoitusta, ilmaisutapa on vapaa ja kaikki kiinnostaa. Tämä on tärkeä!
Katkelmia kuvitteellisesta päiväkirjasta:
Viikko 5: Tämän viikon perjantaina näin rautakaupassa käydessäni kukkaruukun, jonka reuna oli sopivan paksuinen ja oikeassa kulmassa NXT:n kiinnittämistä varten. Tuli mieleeni, että voisin tehdä automatisoidun kasvinhoitojärjestelmän, mutta hylkäsin idean kun arvelin haluamieni kosteus- yms. antureiden olevan hankalia löytää. Kotona jatkoin porkkananpilkkomisrobottini kehitystä ja laastarien loputtua tulin tulokseen, että on syytä luoda erilainen mekanismi robotin päätoiminnolle. Vaihdoin veitsen partaterään, joka oli ikään kuin giljotiiniksi asetetettu pieneen tunneliin, jota pitkin porkkana pyöriteltäisiin turmioonsa. Porkkananliikuttamistapaa en ole vielä keksinyt. Yritin rakentaa liukuhihnan rattaista, mutta porkkana jumiutui useimmiten ja lopputulos oli enemmän raastetta kuin viipaleita.
Hankalin ongelma on, että porkkanoiden muoto vaihtelee niin paljon, että liikuttaminen on hankalaa, vaikka olen yrittänyt noukkia ruokakaupasta mahdollisimman tasaiset ja suorat valioyksilöt.
Viikko 6: Tiistaina keksin yhden ratkaisun porkkanaongelmaan! En tullut ajatelleeksi, että hankalan sivuttain liikuttamisen sijaan voisin vain antaa painovoiman tehdä työnsä ja kääntää mekanismin pystyyn, jolloin porkkana luonnollisesti tippuu kohti leikkuuterää. Tässä on vielä vähän hiomista, mekanismi jumiutuu helposti ja välillä porkkana pomppii leikkaantumisen sijaan. En tiedä haluanko sittenkään tehdä tätä robottia, alan kyllästyä porkkanoihin. Eilen työparini kanssa keksittiin hauska idea johon liittyivät ilmapallot.
Koodi ja robotti
Koodin pitää olla riittävästi dokumentoitu ja kommentoitu, kuten myös robotin. Koodi ja robotti ovat kokonaisuus ja jälkipolville on iloa robotin kuvista ja koodin toiminnan selittämisestä. Valtavirrasta poikkeavien kielten käyttäjiltä toivotaan erityisen selkeää ilmaisua.
Riittävä dokumentointi tarkoittaa, että kommenttien (Javadoc tms.) lisäksi koodin ja robotin toiminta selitetään sillä tarkkuudella, ettei jää epäselväksi:
- millä periaatteella robotti toimii
- miten robottia ohjaava koodi on rakentunut
- toteutettujen toimintojen/luokkien tarkoitus
- miten robotti voidaan rakentaa (kuvia ja neuvoja)
- miksi robotti on rakennettu juuri näin
- mitä osia/tarvikkeita robottiin on käytetty (esim.
Yhden NXT-sarjan osat, kompassisensori ja muovinen kakkulapio
) - kuinka hyvin robotti suoriutuu tehtävästään
- mitä rajoituksia robotilla on
- mitä robotissa voisi parantaa.

