A LEGO Mindstorms története
Körülbelül egy éve kellett összeállítanom egy pályázati anyagot egy oktatási témában, ahol az a döntés született, hogy a meghírdetett keret terhére Lego Mindstorms készletekhez próbál hozzájutni az iskola az algoritmikus programozás oktatásba történő bevezetése céljából. A pályázatunkat befogadták de sajnos a bírálat során forráshiányra hivatkozva elutasításra került. A remény hal meg utoljára, próbálkozni fogunk még, de hogy miért hoztam ezt itt elő: akkor készítettem egy pár oldalas anyagot arról, hogy hogyan is jutottunk el odáig, hogy a LEGO Mindstorms néven árúsitja - talán nem túlzás azt mondani - a világ legjobb megfizethető, könnyen variálható és programozható robot készletét, amit az Egyesült Államokban több oktatási intézményben alkalmaznak órai munkára a robotika oktatásában. Ezt a rövid, Lego képekkel illusztrált írást gondoltam itt megosztani, hátha többen kedvet kapnak a legozás ezen új irányvonalához!
A LEGO Mindstorms története
A programozható LEGO elemek története az MIT-rõl (Massachusetts Institute of Technology) indult. Itt kísérleteztek először azzal, hogy a hallgatók robotika oktatását Technics LEGO elemekkel tegyék gyakorlatiassá. A LEGO Technics elemei már korábban is alkalmasak voltak mechanikai szerkezetek építésére, melyet kis elektromos motorok segítségével is mûködésbe hozhattunk, ennek jó példája a 8094-es készlet (Egy ilyen készletnek szerencsés tulajdonosa vagyok, talán egyszer sikerül itt bemutatnom):
Hiányzott azonban a programozható vezérlő elektronika megléte, ezért az MIT-n saját vezérlő egységet építettek, ami alkalmas volt a 9V-os LEGO motorok meghajtására. Ezek a központi egységek azonban nem voltak egyszerűen megépíthetők és programozhatók, ezért a mérnökhallgatók képzésén kívül nem terjedtek el.
MIT által fejlesztett központi egység
Ezzel párhuzamosan, némileg eltérõ úton fejlődtek a LEGO cég termékei, melyek kezdetben nem voltak alkalmasak mobil robotok létrehozására, merta program a számítógépen futott, amely egy adatátviteli kábelen keresztül kapcsolódott a robothoz. A programozható LEGO RCX tégla a két irányvonal tulajdonságainak egyesítésébõl jött létre 1998-ban, ez a LEGO Mindstorms elsõ generációja. Teljesen autonóm egység, mely azámítógép nélkül is képes mûködni, 6 darab ceruzaelem biztosítja az érzékelők, motorok és a vezérlőegység számára az energiát.
Lego RCX
Az automatizált szerkezetek, más néven robotok a működésük során környezetükről érzékelőik segítségével szereznek információkat, az adatokat és esetleges előzetes tudását mérlegelve vezérlő, beavatkozó szervei segítségével tudnak környezetére hatást gyakorolni. Az RCX 3 db érzékelőt és 3 db beavatkozót tud egyszerre kezelni. A robot második generációja 2006-ban jelent meg LEGO Mindstorms NXT néven, mellyel a Nürnbergi játékkiállítás innovációs nagydíját is elnyerte. Ebben sok formai és technikai változtatást alkalmaztak, valamint kiküszöbölték az RCX robotok kommunikációs problémáit. Az NXT 4 db érzékelõt és 3 db beavatkozót képes egy idõben kezelni. A hagyományos LEGO-val ellentétben itt nem csak modellünk alakját, hanem viselkedését is befolyásolhatjuk. A gyártó instrukciója szerint a készletből építhetünk autó vagy emberalak formát, de ezen kívül bármit, amit képzeletünk enged és össze tudunk rakni az elemekbõl. Az NXT következő verzióját, az NXT 2.0-t 2009. óta forgalmazzák, ezt követte 2013-ban az Mindstorms EV3.
Lego NXT 2.0
Lego Mindstorms EV3
„Indulása óta a LEGO MINDSTORMS oktatási változata több ezer diáknak segített megérteni a tudomány, technológia, a mérnöki munka és matematika világát. Ma a LEGO MINDSTORMS csomagot több mint 25.000 oktatási intézmény használja világszerte, az általános iskolától az egyetemekig. Programozási felületét úgy alkották meg, hogy nyolcévestől egyetemi szintig bárki könnyen megtanulhassa.”
Ízelítő az építés és programozás menetéről:
Az EV3 készlethez már nem tartozik papír alapú építési útmutató, hanem a LEGO hivatalos weboldaláról letölthető a keretprogram, amely tartalmazza a LEGO által ajánlott robotokat. Az építést un. Projektek keretében lehet megvalósítani, ahol kapunk egy rövid leírást arról, hogy mit fogunk készíteni, kapunk videokat, ami bemutatja az elkészítendő robotok működését, kapunk elektronikus építési útmutatókat, végül a működtető programot egészben vagy lépésről-lépésre magyarázattal, utóbbi esetben a program grafikus moduljait mi magunk húzzuk a helyükre és paraméterezzük őket az írásos segédlet alapján, majd végül rátölthetjük a robotra és már indíthatjuk is a szerkezetet.
Elkészítettem a GRIPP3R-t, ami egy távirányított megmarkoló robot, ami aztán egy másik helyen leteszi a rakományát. Miután kipróbáltam, úgy döntöttem, hogy meg kell oldanom egy vonal követő feladványt, és a robotot hagytam ahogy volt, de rátettem hátra egy színszenzort, hátra, mivel elől a "keze" nem hagyott helyet. Készítettem egy programot a vonal követésre, aztán beszabályoztam, végül rátöltöttem azt is, és a menüben a két program közül azt indítom, amelyikhez kedvem van, így ugyanaz a robot két működést is produkál, itt most a vonal követést láthatjátok:
YouTube video a vonal követésről
Azért érdekes a programozás, mert tekintettel kell lenni a robot fizikájára, amikor letér a vonalról, adok egy utasítást az ismételt ráfordulási procedurára, de ha ebben a motoroknak túl nagy teljesítményt adok, akkor a robot átcsapódik egy túlsó szélső értékre, ahonnan nagy erővel ismét átcsapódik a másik szélső helyzetbe. Figyelembe kellett venni a működési logika mellett a ható erőket, így a fordításhoz használt teljesítményt optimalizálni kellett a szerkezet tömegéhez. Ha ez a robot rakományt vinne az egyik irányba és üresen menne vissza, akkor más erővel kellene kormányozni megrakva, mint üresen. Fantasztikusan összetett "játék" ez a robot mozgás programozás, és ez még egy egyszerű feladat volt :-)
2015 január 6, 14:52