Esittely
Robotit vaikuttavat liikkuvan ilman ihmisen ohjausta, ja välillä voi vaikuttaa, että robotti tietää tarkalleen, mitä sen pitää tehdä. Esimerkiksi, miten robottipölynimuri tietää, että sen kuuluu siivota huone? Jos markkinoilla on jo robotti, joka osaa siivota, onko mahdollista suunnitella myös robotti, joka osa tehdä ruokaa?
Tässä harjoituksessa on suositeltavaa toimia niin, että oppilaat ovat koodareita ja opettaja toimii robottina. Oppilaat suunnittelevat, kehittävät, etsivät robotin toiminnasta virheitä ja täytäntöönpanevat suunnittelemiaan komentosarjoja. Opettaja toimii robotin tavoin, ja suorittaa oppilaiden antamat komennot. Materiaalit ja harjoituksen idea on alkuperäisesti Phil Baggelta (http://code-it.co.uk .
Suunnittelutehtävä
Tässä harjoituksessa tutustut ohjelmoinnin alkeisiin, ja opit, miten ihmisen määrittelemät ja kehittämät komentosarjat vaikuttavat siihen, mitä robotti tekee ja miten se liikkuu. Suunnittelet tässä harjoituksessa robotin, joka osaa tehdä voileivän. Harjoituksessa opit myös, mikä komentosarja on ja miten ihmisen suunnittelema ohjelmisto vaikuttaa robotin liikkumiseen. Oppilaat ja opettaja voivat ennen harjoituksen aloittamista katsoa oikeasta sivupalkista esimerkkivideoita, miten robotit toimivat ja liikkuvat, kun ne tekevät ruokaa. *Tämä harjoitus on suositeltavaa suorittaa vasta ”Miten robotit liikkuvat, osa 1” –harjoituksen jälkeen. Harjoitus on suunniteltu suoritettavaksi ilman tekniikkaa tai aiempaa ohjelmoinnin osaamista.
Suunnitteluprosessi
1. Muodostakaa 2-4 oppilaan ryhmät
2. Pohtikaa ryhmässä, tietävätkö robotit, miten voileipä tehdään? Mitä tarvitaan, jotta voitte suunnitella robotti-kokin?
3. Avatkaa oikeasta sivupalkista robotti-kokin liikkumisalgoritmi (”Asiakirjat”). Mitä toimintoja haluatte käyttää komentosarjasta?
4. Päättäkää ryhmässänne, millaisen voileivän haluatte valmistaa. Mitä täytteitä leipään tulee (vaihtoehdot liikkumisalgoritmissa oikeassa sivupalkissa, ”Asiakirjat”)? Aloittakaa komentosarjan suunnittelu liikkumisalgoritmin avulla. Muistakaa, että jokaisen komennon ja käskyn täytyy olla oikeassa järjestyksessä, jotta robotti tietää, missä järjestyksessä se tekee leivän!
5. Oikeat koodarit suorittavat esitestausta omalla komentosarjallaan, ennen kuin syöttävät rakentamansa koodin oikeaan robottiin. Kokeilkaa ryhmässänne, miten suunnittelemanne komentosarja toimii ryhmänne jäsenten kesken (yksi ryhmäläisistä voi esittää robottia, loput antavat käskyjä haluamassanne järjestyksessä). Voitte esimerkiksi kokeilla, saako robottinne avattua esimerkiksi purkin tai penaalin. Toimiko suunnittelemanne komentosarja oikein? Muistakaa, robotti voi suorittaa vain ja ainoastaan komentoja, joita ryhmänne robotille on antanut!
6. Toimiko harjoitusrobotti, kuten se oli ohjelmoitu komentosarjassa toimimaan? Jos ei, löydättekö kohdan, jossa robotti toimii väärin? Korjatkaa ja muuttakaa komentosarjaa, kun löydätte virhekohdan. Komentosarjan virheiden korjausta kutsutaan ”debugaukseksi”. Ryhmänne voi nyt suorittaa toisen koeajon komentosarjallanne. Toimiiko komentosarja nyt oikein?
7. Jos komentosarjanne toimii, kuten sen suunnittelitte, ryhmänne voi ilmoittaa tästä opettajalle. Opettajanne toimii robotti-kokkina, joka valmistaa haluamanne voileivän ryhmänne suunnitteleman komentosarjan avulla. Ryhmänne täytyy siis ohjata komentosarjanne avulla robotti-kokkia, joka on opettajanne.
8. Toimiko robotti-kokkinne, kuten ryhmänne oli suunnitellut? Osasiko robotti-kokki tehdä voileivän haluamillanne täytteillä? Jos ei, oliko komentosarjassanne edelleen jotain virheitä, joita voisi korjata? Voitte nyt yrittää parantaa komentosarjaanne, apua voi pyytää luokkatovereilta tai opettajalta. Saitteko lopulta voileivän tehtyä robotti-kokin toimesta?
Johtopäätös
Kun olette saaneet robotti-kokin toimimaan, keskustelkaa ryhmässä:
-Miten robotti-kokki tiesi, mitä sen tulee tehdä?
-Keksittekö esimerkiksi, miten robotti-imuri tietää, miten sen tulisi liikkua?
-Voiko robotti toimia ilman ihmisen suunnittelemia komentosarjoja?
-Mitä tarkoittaa virheiden etsiminen komentosarjasta? Miten virheiden etsiminen parantaa robotin toimintaa?
-Keskustelkaa luokan kesken, mitä komentosarja tarkoittaa, ja miten se vaikuttaa robotin toimintaan?
-Voisiko robotti tehdä ruokaa myös kotona (voitte katsoa oikeassa sivupalkissa olevia videoita esimerkiksi)?
-Mikä oli vaikeinta komentosarjan suunnittelussa?
Oppimistavoitteet
- Ymmärtää, että robotit liikkuvat ihmisen suunnitteleman komentosarjan/koodin pohjalta.
- Yleensä robottien komentosarjat ovat ihmisen suunnittelemia. Robottien ja ihmisten välinen toiminta perustuu ihmisen suunnittelemiin komentosarjoihin.
- Robotit eivät aina välttämättä toimi toivotulla tavalla. Virheiden etsimistä komentosarjasta kutsutaan koodarikielellä ”debugaukseksi”.
- Robottien toiminta ja ohjelmointi pohjautuvat puhtaasti ohjelmistolliseen ajatteluun, joka tarkoittaa yksinkertaisimmillaan loogista ajattelua. Jokaisen robotille annettavan käskyn täytyy olla oikeassa järjestyksessä ennen robotin toiminnan käynnistämistä
Videot
Warning: file_get_contents(http://youtube.com/get_video_info?video_id=SNy6fEuPWbc): failed to open stream: HTTP request failed! HTTP/1.0 410 Gone in /home/roboticsforschoo/public_html/plugins/system/sourcerer/helper.php(628) : runtime-created function on line 7

Warning: file_get_contents(http://youtube.com/get_video_info?video_id=nv7VUqPE8AE): failed to open stream: HTTP request failed! HTTP/1.0 410 Gone in /home/roboticsforschoo/public_html/plugins/system/sourcerer/helper.php(628) : runtime-created function on line 7

Warning: file_get_contents(http://youtube.com/get_video_info?video_id=fBcfpeiM-lg): failed to open stream: HTTP request failed! HTTP/1.0 410 Gone in /home/roboticsforschoo/public_html/plugins/system/sourcerer/helper.php(628) : runtime-created function on line 7
