robo

LEGO EV3Storm

”Lego-insinööri”

ITK-messuilla sain asiakkaaltamme tehtävänannoksi tutustua Lego Mindstorms tuotteeseen. Muistin, että asiakkaamme ovat jo ennestään käyttäneet ympäristöstämme löytyvää Enchanting-ohjelmointiympäristö Lego NXT-laitteiden ohjelmointiin.

Messuilta päästyäni koukkasinkin seuraavan mahdollisuuden tullen sopivaan kauppaan ja hankin toimistollemme Lego Mindstorms EV3 home -version. Olin tutustunut tuotteeseen jo ennakkoon ja todennut, että laite on päivitetty versio aiempaan NXT sarjaan verrattuna. Selvitin myös, että tässä tuotteessa olisi erillinen paikka microSD kortille, joten laitteen omaa ohjelmistoa ei tarvitse päivittää Enchanting sopivaksi.

Oikeat työkalut

Nopeasti selvisi, että Enchanting-ohjelmointiympäristö ei  tue lainkaan Lego EV3 mallin laitteita. Koska Legon omaa ohjelmointiympäristöä ei ole saatavissa Linux-käyttöjärjestelmälle, oli seuraavaksi etsittävä jokin muu vaihtoehto. Tutkin eri vaihtoehtoisia ohjelmistoja, mutta kaikki vaikuttivat kuitenkin perusopetuksen näkökulmasta hieman liian haastavilta ja halusin, että käyttöliittymä olisi muistuttanut enemmän Scratch tyylistä raahattavaa käyttöliittymää.

Vihdoin etsiminen tuotti tulosta, löysin saksalaisen Fraunhofer IAIS, Googlen ja Legon yhteistyön hedelmän www.open-roberta.org sivuston. Siellä aikani etsiessäni totesin, että kyseessä on avoimella lähdekoodilla toteutettu Lego-ohjelmointiympäristö, jota voi käyttää pilvipalveluna lähes kaikilla laitteilla.

Ohjelmointi verkossa

Tutkin ensimmäisenä perusvaatimukset mitä tarvitaan, jotta palvelua voisi käyttää.

Vaatimukset: Kehittäjän omat sivut

  • Lego Mindstorms EV3
  • microSD kortti (min 2 Gb)
  • wlan-usb sovitin

Käyttöönotto:

Varsinainen Open Robertan käyttöönotto tapahtuu seuraavasti.

Tikulle siirrettävät tiedostot

Tikulle siirrettävät tiedostot

  • Alusta microSD kortti
  • Siirretään kortille seuraavat tiedostot
    • OpenRobertaFirmware-1.1.0-release.zip siirrä purettuna
    • ejre-7u60-b19-ejre-7u60-fcs-b19-linux-arm-sflt-headless-07_may_2014.tar.gz
  • Kytke EV3-laitteeseen USB-wlan-sovitin
  • Aseta laitteeseen microSD kortti
  • Käynnistä EV3
  • Odotetaan asennuksen valmistumista
  • Laite ilmoittaa melodialla, että se on käyttövalmis
  • Langattoman verkon käyttöönotto
    • Selaa painikkeilla kohtaan Wifi
  • Ohjelmoinnin aloitus
    Kuva: open-roberta.org wiki

    Kuva: open-roberta.org wiki

    • Käynnistä valikosta Open Roberta Lab
    • Laite pyytää kirjoittamaan 8-merkkisen tunnuksen lab.open-roberta.org sivulle kohtaan, jossa robotti liitetään sovellukseen
    • Robotti ilmoittaa melodialla kun yhteysdenmuodostus on onnistunut

Käyttöliittymä

Mielestäni Open Robertan käyttöliittymä on selvästi Legon omaa ohjelmointiympäristöä loogisempi ja selkeämpi. Osa syynä tähän on varmasti se, että Open Roberta käyttää Blockly käyttöliittymää, joka on tuttu vastaavanlaisissa ohjelmoinnin opetukseen tarkoitetuista ympäristöissä. Seuraavassa kuvassa on esitetty peruskoodi, jossa laite kävelee eteenpäin kunnes havaitsee esteen. Tämän jälkeen peruuttaa ja kääntyy joko oikealle tai vasemmalle.

perusOhjelma

Open-roberta käyttöliittymä

LabView

Sama ohjelma Legon vastaavassa ympäristössä

 

Tein useita testejä ja mielestäni sain toimimaan kaikki ne ominaisuudet, jotka toimivat Legon omassakin ympäristössä. Ainoastaan kaukosäätimen painikkeiden ja bluetoothin käytölle ei ole vielä tukea. Tästäkin ongelmasta varmaan päästään pian, koska tein siitä tukipyynnön kehittäjille ja he ottivat sen työnalle.

 

Loppusanat

Open-roberta.org  ympäristö on helppo lähtökohta lähteä kokeilemaan ohjelmointia Legoilla. Seuraavana vaiheena voisi olla vaikka pythonin tai JavaScript koodin suorittaminen samalla alustalla. Mielestäni Open Robertan kehittäjät ovat onnistuneet luomaan mielekkään ja helpon lähestymistavan ohjelmointiin. Robottien ohjelmoinnissa on mielestäni tärkeää, että niitä ei tarvitse nostella pöydälle uudelleenohjelmoinnin ajaksi, vaan robotit ovat turvassa lattialla tai niille suunnitellulla alustalla ja ohjelma päivitetään langattomasti.

Olemme olleet yhteydessä ohjelmiston kehittäjiin ja selvitämme mahdollisuuksia ohjelmiston tarjoamisesta omille asiakkaillemme sekä sen tulevaisuuden näkymiä. Aloitamme erittäin todennäköisesti Open robertan suomennoksen ja tutkimme oman Open Roberta -palvelun pystyttämistä, jossa se olisi käytettävissä ohjeineen suomeksi. Informoimme mahdollisesta omasta versiosta, lisäohjeista ja suomennoksista lähiaikoina.

 

Mikko Jokinen

http://twitter.com/mikkojokinen