Source:
European Commission, DG Research
| home | lswn | team | privacy | contatti | impressum |
Programmazione dei robot, abilità logiche e dinamiche nei processi di apprendimento
Maurizio Garbati
Robotica | Articoli | ** | Italiano
Linguaggi di programmazione disponibiliPrima di prendere in considerazione i recenti mattoncini NXT è opportuno data la grande diffusione di due linguaggi di programmazione che sono forniti da lego® e si caratterizzano per essere entrambi grafici:
Il software ROBOLAB nasce dalla collaborazione di tre gruppi: TUFTS: Tufts University College of Engineering, University College of Engineering Center for Educational Outreach National Instruments LEGO® Dacta. RCXCodeRCXCode è un ambiente di programmazione cosiddetto iconico iconico funzionante su computer ed è in dotazione nel kit "Robotics invention System" e permette lo sviluppo di programmi di controllo del robot LEGO MindStorms®. Il programma è molto accattivante e per la sua struttura e si realizza assemblando blocchi grafici (elementi di controllo o istruzioni per il robot) in "impilamenti" di strutture grafiche bidimensionali, e attraverso una torretta a raggi infrarossi scaricato sull’RCX e quindi eseguito (immagine 1). Come in molti ambienti, l’interfaccia grafica agevola il lavoro di programmazione e di fatto impedisce al programmatore di commettere errori
In pratica quando la lettura di un sensore supera un certo valore di soglia, viene generato un evento che produce l’esecuzione di una particolare sequenza di istruzioni Il kit Mindstorms® mette a disposizione una prima fase introduttiva alla programmazione definita "Modalità guidata di programmazione RIS", una serie di esercitazioni ben guidate che permettono agli alunni comprendere i principi e le procedure fondamentali. L’RCX include già cinque programmi che permettono al robot di:
Successivamente gli alunni, dopo aver imparato a costruire autonomamente robot, dovranno programmarli rendendoli veri robot ai quali sarà insegnato a muoversi ed agire liberamente. Programmando l’RCX in modo che reagisca ai sensori, è possibile determinare il reale comportamento delle "creature cibernetiche" e, in ultima analisi, rendere intelligenti i robot. Per far ciò occorre programmare nel Codice RCX attraverso una tecnica visuale molto efficace che procede attraverso un "impilamento di blocchi grafici". Il codice RCX è uno specifico linguaggio di programmazione di Robotic Invention System. Ciascun blocco visualizzato rappresenta un comando o istruzione. I Blocchi del Codice RCX sono:
In pratica verificano le modifiche dell’ambiente di un robot e determinano una reazione conseguente.
Il codice RCX permette di costruire stack a discesa e ciò significa che l’esecuzione del programma inizia al primo blocco e continua con quelli successivi. Nell’RCX possono essere memorizzati fino a cinque programmi: ogni programma può essere avviato o arrestato e ciascuno di questi può effettuare un numero massimo di nove stack diversi che vengono comunque eseguiti tutti contemporaneamente (Multitasking). Da un punto di vista metodologico sarebbe opportuno, attraverso una lezione/dialogo introduttiva della programmazione, presentare ai ragazzi alcuni robot invitandoli ad osservare le componenti meccaniche,il comportamento esibito ed il programma che lo controlla. Sul desktop si osserveranno i diversi comandi e istruzioni posti in relazione all’attività del robot e si porterà l’attenzione degli alunni soprattutto alle relazione intercorrenti tra evento e sensori ed eventi che possono attivare task. Un concetto fondamentale nella esecuzione del programma è quello di "concorrenza" o "multitasking". Anche in questo caso sarebbe opportuno far osservare ai ragazzi il comportamento del robot quando davanti al sensore ottico si accende una luce(pila) e lo stesso si arresta. Si invitano i ragazzi ad osservare attentamente il programma che ha controllato il comportamento del robot aiutandoli ad individuare nel medesimo un secondo task per il controllo del sensore e spegnimento dei motori. E’ possibile così approfondire l’uso dei sensor watcher utilizzati per creare task paralleli attivabili grazie ad eventi particolari. Accanto al softaware RIS troviamo la Constructopedia che perette di costruire robot e fornisce suggerimenti e consigli pratici per affronatare le "sfide" proposte dal software. ROBOLABDistribuito da LEGO Dacta® offre rispetto a RXC Code un software molto interessante a livello delle attività didattiche di programmazione in quanto versatile e di sicuro interesse a livello di apprendimento. Si caratterizza per l’interfaccia grafica che è installabile sia su Windows, che Macintosh. L'ambiente grafico di ROBOLAB trova origine e si basa su LabVIEW della National Instruments ed è concettualmente diverso da RCX Code. Utilizzato in ambito educativo, ROBOLAB è caratterizzato da livelli di programmazione:ciascuno dei quali è ulteriormente suddiviso in livelli di variabile complessità/difficoltà che sottendono nei percorsi di apprendimento procedimenti e attività didattiche legate al Problem-solving. RoboLab è un ambiente più completo di RCX Code, software fornito con le scatole Lego® della serie Mindstorms®, ed è il prodotto nato dalla collaborazione tra Tufts University, Lego Education® e National Instruments. Robolab si rivolge ad utenti più esperti rispetto a quelli che usano RCX Code. RoboLab si caratterizza per la sua gradualità di complessità di programmazione offrendo diversi sottoambienti:
Ogni ambiente a sua volta è strutturato su livelli di progressiva difficoltà, e compete all’utente scegliere le funzionalità che vengono rese progressivamente disponibili secondo competenze diverse. I 3 sottoambienti di Robolab: Pilot, Inventor, Investigator. |
European Guide Science MuseumsR&D Research and DevelopmentMedilit http://rd.lswn.it is a new Italian joint venture partnership created with the primary aim of providing an important reference point for the collection and placement of existing patents, projects and innovative technologies from Italy and abroad. LSWN.eu Highlighted EventsMetafora
LSWN.eu SocialLogin utente |
|
|