Lego Mindstorm - Programmazione dei Robot
Per quanto complesso possa essere un software gestionale, si tratta quasi sempre
della implementazione di un algoritmo che prende input dall'utente (tastiera/mouse)
e produce un output per l'utente (video/stampante).
Dopo tanti anni di programmazione di questo tipo, per caso ho iniziato a giocherellare
con Lego EV3, una interessante tecnologia Lego per realizzare robot, e mi sono imbattuto
in un contesto completamente differente: l'algoritmo prende "stimoli" dall'ambiente
esterno (sensori), tipicamente analogico e spesso casuale, e agisce con un comportamento
nello spazio e nel tempo (motori). Non più mouse e tastiera, non più video e stampante:
insomma, non più interazione con l'utente ma con l'ambiente circostante, in cui
l'utente può esserci (ad esempio il robot ti cerca per casa e poi ti saluta) o non
esserci (ad esempio alle prime luci dell'alba il robot si porta in cucina).
Non si tratta di realizzazioni di particolare utilità, però la soddisfazione per
un programmatore "tradizionale" è tanta nel realizzare questi comportamenti, semplici
ma allo stesso tempo complessi; ovviamente si tratta di un gioco, ma che consente
di affrontare problemi di meccanica su piccola scala (modellazione) che possono
comunque essere poi realizzati come veri e propri sistemi di automazione industriale.
Si tratta di una macchina RISC che si può programmare in C...
A parte questo però, sono certo che Lego EV3 Mindstorms rappresenta un modo per
insegnare ai bambini l'arte della programmazione: si tratta infatti delle solite
strutture dati e dei soliti comandi -operazioni logiche e algebriche, if, input
(sensori), output (attuatori)- ma finalizzati a movimenti e comportamenti di un
giocattolo. Inoltre la programmazione avviene in un ambiente esclusivamente grafico:
è quindi sufficiente sapere leggere, scrivere e, in certa misura, far di conto.
Chi volesse approfondire la questione, ecco qualche link:
Lego Mindstorms
Bricx By SourceForge
EV3 Tutorial
Run your first C program for EV3
Sourceforge.net Bricx
- Free software download
NXC Tutorial