Lego Mindstorms

Wikipedia
Loikkaa: valikkoon, hakuun
Lego Mindstorms
Lego Mindstorms -tuotesarjan logo.
Lego Mindstorms -tuotesarjan logo.
Valmistusvuodet 1998–

Lego Mindstorms (virallinen nimi Lego Mindstorms Robotic Invention System) on Lego Groupin valmistama tuotesarja, josta voi rakentaa erilaisia robotteja[1]. Sarjan setit koostuvat mikropiirillä varustetuista ns. keskuspalikoista, niihin liittyvistä antureista ja moottoreista sekä tavanomaisista Lego Technic -palikoista. Ensimmäinen versio, RCX, julkaistiin vuonna 1998. Seuraava Mindstorms-versio, NXT, tuli kauppoihin vuonna 2006. NXT 2.0 lanseerattiin vuonna 2009 ja seuraava versio, EV3, on tullut myyntiin syksyllä 2013.

RCX[muokkaa | muokkaa wikitekstiä]

RCX (versio 1.0)

RCX-keskuspalikalla varustetut setit tulivat kauppoihin vuonna 1998. Se ohjelmoidaan tietokoneella tarkoitusta varten kehitetyllä ohjelmalla. Ohjelmia voidaan ajaa joko suoraan tietokoneen kautta tai tallentamalla ne RCX-keskuspalikkaan, josta niitä voidaan ajaa nappia painamalla. RCX:ssä on kolme anturiporttia ja kolme sähkömoottoriporttia. RCX:n käyttämät moottorit ovat Lego Technic -sarjan käyttämiä yhdeksän voltin moottoreita. RCX on korvattu pitkälti uudella NXT-älypalikalla eikä alkuperäisiä RCX-sarjan settejä ole enää myynnissä.

Cybermaster[muokkaa | muokkaa wikitekstiä]

Samana vuonna kun alkuperäinen RCX julkaistiin, julkaistiin toinenkin ohjelmoitava palikka "Cybermaster"-nimen alla. Tämä Cybermaster-palikka erosi "isosta veljestään", RCX-keskuspalikasta, seuraavilla tavoilla:

  • Vain yksi ulostuloportti ja yksi sisääntuloportti.
  • Kaksi sisäistä moottoria
  • Käyttää radioaaltoja kommunikoidakseen. RCX käyttää infrapuna-aaltoja. Tämän takia Cybermasterillä on pidempi kantosäde.
  • Sisäistä ohjelmistoa (firmwarea) ei voida poistaa.
  • Prosessointikyky ei ole RCX-keskupalikan tasolla.

Cybermaster-tuotesarja on suunnattu nuoremmille kuin RCX ja se oli integroitu tehokkaasti setin mukana tulleeseen tietokonepeliin. Tarkoituksena oli että tietokonepelissä eteen tulevat ongelmat ratkaistaisiin ohjelmoimalla Cybermaster-robottiin omanlaisensa ohjelma ja ratkaisemalla oikeassa elämässä ongelmat.

NXT[muokkaa | muokkaa wikitekstiä]

NXT-keskuspalikka

NXT julkaistiin vuonna 2006. Se sisältää kolme sähkömoottoria ja neljä anturia: valo-, ultraääni-, kosketus- ja äänianturin[2][3]. Lisäksi sarja sisältää ohjelmointiyksikön ja erinäisen määrän Lego Technic -osia. Myös NXT ohjelmoidaan tietokoneella. NXT:ssä on kolme ulostuloporttia, neljä sisääntuloporttia ja yksi USB-portti, jonka kautta tietokoneella ohjelmoitu ohjelma siirretään NXT:hen. NXT on varustettu Bluetoothilla.[4] Lego julkaisi uuden 2.0 version NXT:stä vuonna 2009. NXT 2.0 ei poikkea paljoa NXT 1.0:sta, muulla tavoin kuin jollain muutetuilla rakennusosilla ja uudella valoanturin korvanneella värianturilla. Myös äänianturi korvattiin toisella kosketusanturilla.

EV3[muokkaa | muokkaa wikitekstiä]

Mindstorms EV3 malli julkaistiin syksyllä 2013 kahtena sarjana Home, sekä Education. Kuluttajille suunnatussa 313131 sarjassa on keskusyksikkö (Brick), 2 ajomoottoria, 1 keskikokoinen moottori, sekä kosketus-, väri- ja IR-etäisyysanturit. Lisäksi sarjaan kuuluu IR-majakka/kauko-ohjain. Kaikkiaan osia on 601 kpl. Koulukäyttöön suunnatussa paketissa on keskusyksikön lisäksi akku (LiIon), kaksi kosketusanturia, ultraääni- ja asentoanturit (Gyro), muttei IR-etäisyysanturia eikä kauko-ohjainta.

Keskusyksikössä on liitännät neljälle anturille, mini-USB (ohjelmointi), USB (yksiköiden rinnankytkentä/WLan), neljälle moottoriyksikölle, sekä Bluetooth-yhteys Android&iPad -laitteille. Prosessorina on ARM9 (Linux), muistia RAM 64MB+16MB Flash+microSD(max 32GB). Näyttö on kaksivärinen 178x128 pikseliä. Kouluversio tukee näytteen keräystä, jopa 1000mittausta/s.

Ohjelmoitavuus[muokkaa | muokkaa wikitekstiä]

Sekä RCX-, NXT- että EV3-ohjelmointiyksikkö ovat ohjelmoitavissa. Helpoin/ensimmäinen tapa ohjelmoida ohjelmointiyksiköitä on käyttää setin mukana tulevaa graafista ohjelmointityökalua. Ohjelmat rakennetaan erilaisista palikoista, joiden avulla voidaan määritellä esimerkiksi tiettyjen moottorien pyöriminen anturien luvut, ynnä muuta. Näin voidaan esimerkiksi rakentaa ohjelma, joka vierittää ohjelmointiyksiköitä moottorien avulla pyörittämällä renkaita X kierrosta ja sitten lukea kosketusanturin arvon.

Lego Group on julkaissut jokaiselle ohjelmointiyksiköilleen software development kit:n[5] ja näiden avulla ovat Mindstorms-fanit tehneet omia ohjelmia päästäkseen eroon alkuperäisten ohjelmien rajoitteista (esim. ehtolauseiden poissa-olo). Esimerkki tällaisesta ohjelmasta on Bricx Command Center (BricxCC), jonka avulla voi RCX-ohjelmointiyksikköön lähettää C-kieleen perustuvalla NQC-kielellä tehtyjä ohjelmia. Näitä ohjelmia pyörittää ohjelmointiyksikössä sen oma sisäinen ohjelmisto (firmware).

Koska ohjelmointiyksikkö voi kommunikoida tietokoneen kanssa, on myös ohjelmointiyksikön sisältö muokattavissa. Kaksisuuntaisen yhteyden avulla on mahdollista poistaa alkuperäinen firmware ja korvata se uudella. Tunnetuimmat korvaajat ovat Lejos joka korvaa firmwaren Java-kieltä ymmärtävällä, Brickos joka korvaa firmwaren C-kieltä ymmärtävällä ja pbForth joka korvaa firmwaren Forth-kieltä ymmärtävällä.

Ohjelmointiyksikön ohjelmat, jotka on tehty kehittyneellä kielellä kuten C:llä, on mahdollista tehdä tehokkaita ehtolauseisiin perustuvia robotteja, jotka voivat reagoida tilanteisiin reaaliaikaisesti. On myös mahdollista kehittää ohjelmointiyksiköiden välistä kommunikaatiota ja työnjakoa.

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. http://llk.media.mit.edu/projects.php?id=135
  2. Lego.com
  3. Legoesite (PDF)
  4. Lego.com
  5. http://mindstorms.lego.com/eng/community/resources/default.asp