Bil sem močno skeptičen glede starostne omejitve, saj Lego pravi, da je njegova igrača primerna za vse, ki so starejši od 10 let. Desetletnik da bo gradil in programiral robote? Pa kaj še! Ni pa popolnoma nemogoče. Že mlajši otroci so z malo pomoči zmožni sestaviti vse štiri robote, ki so predlagani in podprti z navodili (korak za korakom) znotraj programske opreme. Kaj pa programiranje? Osnovni način programiranja robota je enak kot sestavljanje kock. Iz palete možnih sestavnih delov jih izberemo in nato sestavljamo v vrsto glede na to, kar želimo, da robot naredi. Velika ovira utegne biti znanje angleškega jezika, saj programska oprema ni (in ne bo) prevedena v slovenski jezik. Z nekaj pomoči primerno izobraženih staršev bi moralo iti. Za zahtevnejše programiranje, ki vključuje povezovanje blokov in izmenjevanje podatkov med njimi, pa brez pomoči nekoga, ki dobro pozna računalništvo in vsaj osnovna načela programiranja, ne bo šlo. A v tem je čar »miselnega viharja«, saj dopušča reševanje čedalje kompleksnejših nalog, kar pomeni, da se igranja z njim nikoli ne naveličamo. Zaradi tega je igrača primerna tudi v izobraževalne namene, torej kot učni pripomoček v šolah, če bo odgovornim uspelo najti denar za nakup. Kaj pa starejši? Ni se treba sramovati igranja z lego kockami! V programiranje robota hitro »padeš noter«. Ko narediš osnovni program, se hitro postavijo nove ovire in nove želje. Bolj tehnični med vami boste postali odvisni in nato sledi dokupovanje novih tipal, motorjev, sestavnih delov − in vse bolj inovativne kreacije.

»Kock« ni nikoli dovolj ...
V kompletu je več kot 500 sestavnih delov. Na prvi pogled veliko, vendar naj vam kar takoj povem, da če boste želeli narediti kaj resnično svojega in inovativnega, to še zdaleč ni dovolj. Potrebovali boste dodatne elemente, na srečo pa je sistem združljiv s skoraj celotno paleto lego kock. Le kupiti jih boste morali, če jih morda še nimate, kar pa žal ni ravno poceni!

ČAR JE V MOTORJIH IN TIPALIH

Prilagajanje vožnje v ravni črti

V primerjavi z leta 1998 predstavljenim prvim sistemom MindStorms gre pri različici NTX za velik kakovostni preskok. Vsi trije servomotorji so opremljeni z merilniki vrtljajev. Delovanje teh je moč opaziti pri opazovanju premikanja robotskega tricikla (predlagani robot), ki se »pelje ravno«, tako da neprestano korigira delovanje dveh motorjev. Vsako od dveh pogonskih koles poganja po en motor. Sistem ve, za kolikor stopinj se je en motor obrnil, in prilagaja napetost na obeh motorjih tako, da se oba vrtita enakomerno. Dejansko vožnja spominja na majhno »cikcakanje« na ravno poti. Vključeni merilniki omogočajo natančno upravljanje delovanja motorjev, vendar moramo po drugi strani točno vedeti, kaj želimo doseči. In to v številu polnih obratov motorjev, številu stopinj obrata motorja znotraj enega obrata ali v sekundah delovanja motorjev.

Procesna enota, malce za šalo jo lahko imenujemo kar »opeka«, saj je daleč največji sestavni del, lahko na enkrat upravlja s tremi motorji in štirimi tipali. Tipalo zvoka razloči med bolj ali manj glasnim zvokom. Podobno velja tudi za svetlobno tipalo, ki ne vidi v barvah, temveč vidi v sivih odtenkih. Ne more sicer ločiti malce manj rdeče od bolj rdeče, lahko pa loči modro od rdeče. Na voljo sta še tipali za dotik in ultrazvočno tipalo, ki je namenjeno zaznavanju bolj ali manj oddaljenih ovir.

PREMALO ZMOGLJIVO?

»Opeka« ima po mojem mnenju premalo pomnilnika.

Že takoj ko sem uspešno sestavil in sprogramiral prvega robota, se mi je zastavilo nekaj vprašanj glede zmogljivosti procesne enote. Štiri priključna mesta za tipala kmalu postane premalo. Do nadaljnjega se bom moral s tem sprijazniti. En priključek pa je boljši od drugih treh (združljiv z IEC 61158 Type 4/EN 50 170), kar da slutiti, da bo ta uporabljen za bodoče nove elemente, ki bodo morda vsebovali tudi dodatek, ki bo povečal število sočasno priključenih tipal. V Legovi spletni prodajalni (www.lego.com) je poleg kompleta moč kupovati posamezne motorje, tipala − dodano je tipalo kompas, ki ga v osnovnem kompletu ni − in procesne enoto (cene med 20 in 134 dolarji) in tako povečati zbirko delov za sestavljanje robotov.

Poleg omenjenih priključkov sta v procesni enoti še vmesnika USB in bluetooth, prek katerega lahko program iz računalnika prenesemo v enoto ali pa robota upravljamo z mobilnim telefonom z bluetoothom – po pravici povedano, te možnosti nisem preizkusil. Bluetooth pride do izraza tudi za komunikacije med več procesnimi enotami NTX. Procesor je 32-bitni, a ima le 256 KB pomnilnika, od katerega je načeloma malce več kot 100 KB namenjenih uporabnikovim programom. To pomeni, da mora biti ta izredno čist, brez dodatne navlake, če ne želite opozoril o napaki zaradi prekoračitve pomnilnika. Iz prakse vam lahko povem, da za golo premikanje motorjev in pridobivanje podatkov iz tipal pomnilnik v večini primerov zadošča. Kakor hitro pa želite, da robot na svojem zaslonu večkrat prikaže različne grafike ali predvaja različne zvočne učinke, trčite ob težavo. Hitro je pomnilnika premalo. Žal nisem zasledil razširitvenega mesta za povečanje pomnilnika, zato lahko zatrdim, da tega Lego nima v načrtu. Ali pa bo nekoč v prihodnosti na trg poslal novo procesno enoto, kdo bi vedel ...

S KLIKI DO PROGRAMA

Programiranje spominja na sestavljanje kock

Osnovni način programiranja je izveden z izbiranjem programskih blokov (jezik NXT-G) ali pa, kar je preprostejše, preprosto tako, da že izdelane programe prenesete s spletne strani in jih potem po potrebi dodelate. V obeh primerih je treba poznati nekaj osnov programiranja. Da ne bi šel preveč v podrobnosti. Možno je uporabi zanko (LOOP), ki določeno sosledje blokov ponavlja v nedogled, ali določeno število ponovitev in »križišče« (stavek IF), ki glede na izpolnjen pogoj izvede eno od dveh sosledij. Poleg osnovnih programskih blokov, povezanih neposredno z upravljanjem motorjev, tipal in delovanja procesne enote, so na voljo še dodatni bloki, na primer za generiranje naključnih števil, matematični in logični izrazi ter vključevanje spremenljivk. Vsak od tako izvedenih programov ima lahko več poti oziroma stez, na primer eno stezo za upravljanje premikanja, drugo pa za zvočne učinke, ki se izvajajo sočasno. Steze lahko začnete na začetku programa ali po izvedbi določenih blokov na osnovni stezi.

Naprednejši način je »risanje« povezav – žic med bloki. Podatek, ki nastane v izvornem bloku, na primer število obratov motorja od začetne točke do ovire, lahko prenesete v naslednji blok. Če prvi povzroči premikanje do ovire, za katero ne vemo točnega položaja oziroma se ta spreminja, lahko drugi robota vrne na izhodiščni položaj. Ta način programiranja zahteva več znanja, predvsem pa se moramo zadevo naučiti uporabljati. Skupnost, ki nastaja okoli tega izdelka, omogoča še veliko več, tudi orodja za neposredno programiranje (mimo osnovne programske opreme), a to je že druga zgodba.

Spletna stran: http://mindstorms.lego.com
Tehnični podatki:
Procesor: 32-bitni ARM7
Pomnilnik: 256 KB flash, 64 KB RAM
Vhodno−izhodna enota: 8-bitni AVR-krmilnik
Vmesnika: USB (12Mb/s) in bluetooth
Vhodi: 4 vrata za priklop tipal
Izhodi: 3 vrata za priklop motorjev
Zaslon: barvni LCD ločljivosti 100 x 64 pik
Zvočnik: 8 kHz (8 bitov 2−16 KHz vzorčenje)
Napajanje: 6 baterij AA (predlagamo nakup akumulatorskih baterij)
ZA: Inovativna igrača, ki dopušča razvoj kreativnosti in vpeljavo v osnovo robotike. V osnovnem paketu je vse, kar potrebujete za začetek dela, omejitev je zgolj v vaši domišljiji. Pohvaliti velja tudi programsko opremo, ki omogoča hitro izdelavo preprostih programov.
PROTI: Pomnilnika ni dovolj, prav tako bi lahko bilo več vhodnih/izhodnih vrat. Cena je takšna, kot je, in lahko pomeni oviro pri nakupu. Še zlasti če boste želeli več in boste dokupovali dodatne sestavne dele. Moti tudi, da programska oprema ni prevedena v slovenščino.

Povzeto po članku iz leta 2006 | Marjan Kodelja |