keskiviikko 19. marraskuuta 2014

Lego-robotti ohjelmointityökaluna Osa 1 - Alkuvalmisteluja

Tällä kertaa testissä on Lego Mindstorms EV3 -robotti, jota on tarkoitus käyttää robotti-ohjelmoinnin opetustyökaluna. Kyseessä on Home-edition robotista. Saatavilla on myös Education -editio, mutta googletus antoi minulle sellaisen kuvan ettei näillä ole merkittävää eroa, enkä löytänyt perusteluja miksi Education-versio olisi parempi omassa opetuskäytössäni. Ehkä joku fiksumpi valaisee kommenteissa tätä asiaa.

Aluksi rakensin paketista Track3r-mallisen vimpaimen, koska siihen tuli ohjeet paketin mukana.

[caption id="attachment_101" align="alignnone" width="300"]Track3r-mallinen robotti[/caption]

Rakentaminen oli helpohkoa melko kokeneelle legoilijalle. Ohjeet olivat siis hyvät. Laite koostuu keskusyksiköstä, erilaisista rakennuspalikoista, sensoreista ja tietenkin moottoreista. Keskusyksikön saa kytkettyä moottoreihin ja sensoreihin yksinkertaisilla dataletkuilla, ja paikkoja niille on palikassa kahdeksan kappaletta. Track3r vaati neljä datapaikkaa: Kaksi telaketjujen moottoreille, yksi "rupelihärvelin" moottorille ja yksi infrapunasensorille. Keskusyksikössä on tietenkin myös mini-USB PC-kytkentää varten.

Lego-robottia voi ohjata monella eri tavalla. Mukana tulevalla infrapunaohjaimella (suomeksi kaukosäätimellä) homma oli tosi helppoa. Infrapunaohjain oli kyllä laitteiston kököimmän oloinen kapistus, vaikka toki toimikin.



Pattereitahan tässä menee, joten piti hommata myös sormipariston mallisia akkuja ja niille laturit

Laturit ja paristot. Tässä robotin mittakaava tulee hyvin esiin.



Infrapunalla ohjaaminen on sikäli rasittavaa, että ohjaimella pitää olla näköyhteys robottiin, eikä etäisyyskään saa olla kovin pitkä. Niinpä asensin iPadiin Legon oman ohjausohjelman (ilmainen) AppStoresta, kytkin robotista Bluetoothin & iPad-ohjauksen päälle, ja näin kontrollointi luonnistui jo yli 15 metriin ilman näköyhteyttä. Ohjausohjelmasta löytyi nippu perusrobottimalleja, jotta ohjaaminen olisi loogista. Track3r löytyi joukosta. Oli hauskaa huomata että robotti jatkoi käytävällä kulkuaan eteenpäin yhteyden katkeamisen jälkeenkin.




Tämähän ei kuitenkaan ole vielä ohjelmointia, joten asensin Legon sivustolta laitteen oman Windows-ohjelmiston. Macille löytyy tietysti omansa. Paketti oli aika iso, 629 megatavua. Ohjelman käynnistyttyä kytkin itse robotin USBilla tietokoneeseeni, jolloin ohjelma huomasi robotin tarvitsevan uuden Firmwaren. Parin klikkauksen ja kahvikupillisen odottelun jälkeen Firmware sanoi asentuneensa. Aivan älyttömän helppoa ainakin tähän asti.

Itse ohjelma sisältää tehtäviä ja valmiita ratkaisuja niille. Ohjelmointi oletusjärjestelmällä on Scratch-tyyppistä peräkkäisten toimintapalikoiden laittamista paikoilleen. Alla kuva ensimmäisestä "koodistani" kommentteineen.



Robotti toisti ohjelman konemaisen tarkasti. Tämä Robotti ei saa syötteitä mistään, joten ehdollinen toiminta ei ole vielä järkevää. Paketista löytyy kuitenkin törmäyksen tunnistimia sun muuta, joilla robotille voidaan ohjelmoida ehdollisia toimintamalleja.

Seuraavaksi aion kasata jonkinlaisen reitin ja tehtävän joka Robotin pitäisi selvittää ohjelmallaan. Siinä lienee oppilaille sitten pähkäilemistä. Harkinnassa on myös erityyppisten ohjelmointikielten asentaminen laitteeseen. Robottiin pitäisi olla saatavilla kymmeniä erilaisia ohjelmointikieliä. Ohjelmistoilla voi tehdä vaikka kuinka monimutkaisia toteutuksia. Järjestelmä mahdollistaa jopa eri Lego-robittiyksiköiden kommunikoinnin keskenään. Jos vain jostain saisi taiottua aikaa tällekin projektille.