Robotica educativa

Robotica divertente: primi passi nella programmazione ideando giochi

Negli Istituti Tecnici, al secondo anno, è previsto lo studio di una disciplina denominata Scienze e Tecnologie Applicate (S.T.A.). Lo scopo di questa materia, essenzialmente, è quello di fornire i rudimenti delle discipline di carattere tecnico, aiutando così i ragazzi ad orientarsi nelle scelta definitiva dell’indirizzo di studio nel successivo triennio. Nell’Istituto in cui insegno, ad esempio, esistono, tra gli altri, due indirizzi affini: Informatica ed Elettronica. Nelle seconde classi, quindi, mi trovo a formare alunni su argomenti riguardanti le basi di elettrotecnica ed elettronica ed i fondamenti di logica e programmazione.

Robotica: la teoria dei sistemi spiegata ai bambini

Ai miei tempi, quando ero un alunno, l'ausilio didattico dell'insegnante era principalmente il libro di testo. Un mio professore, tuttavia, un giorno portò in classe quello che poteva essere un antesignano del PC (era la fine degli anni 70): un semplice computer programmabile in BASIC con un gioco che lui stesso aveva sviluppato. Si vedeva un puntino muoversi come fosse una pallina che rimbalzava verso una schematica porta di calcio  ed un omino, che doveva essere un portiere di calcio, agitarsi per effettuare la sua parata. In quel momento ho compreso che con la matematica si può rappresentare e simulare qualunque elemento del mondo reale. Questo ebbe come logica conseguenza la mia passione per la Teoria dei sistemi ma, sopratutto, non ho mai spesso di "inventare" esperimenti ed oggetti che potessero chiarire i concetti teorici.

La Teoria dei sistemi è una disciplina che, come ben sanno molti miei colleghi, è materia di insegnamento negli istituti tecnici industriali oltre che, naturalmente, in molti corsi universitari. Riguarda principalmente lo studio dei sistemi automatici ovvero apparati in grado di eseguire operazioni in maniera autonoma.

Il sistema in questione può essere relativamente semplice o anche molto complesso.  Il forno che tutti abbiamo in cucina è un esempio di sistema semplice: è in grado di raggiungere e mantenere autonomamente una temperatura prefissata. Il pilota automatico di un aereo è un esempio di sistema complesso: è progettato in modo da mantenere la rotta prestabilita esaminando un numero considerevole di variabili contemporaneamente (altitudine, velocità del vento, posizione GPS, ecc.) ed agendo sul motore e sui diversi dispositivi di movimentazione posti sulle ali.

Normalmente si rappresenta un sistema automatico come un congegno al quale viene fornita in ingresso una certa grandezza e dal quale ci si aspetta il raggiungimento di un certo obiettivo in uscita in base a tale grandezza. Tornando all’esempio del forno: imposto la temperatura desiderata (ingresso), il sistema confronta l’ingresso con la temperatura effettiva (uscita), raggiunge tale temperatura in tempi più o meno brevi (velocità di risposta) e la mantiene finché non verrà spento (regolazione); tutto questo nonostante si vada ogni tanto a controllare lo stato di cottura aprendo lo sportello (immunità dai disturbi).

Gli strumenti matematici per lo sviluppo di un sistema automatico si acquisiscono nella scuola secondaria superiore ed eventualmente consolidano durante gli studi universitari. Alcuni concetti fondamentali tuttavia possono, a mio avviso, essere introdotti e compresi, in maniera relativamente semplice, forse fin dalla scuola primaria.

La cosa interessante, infatti, è che, in definitiva, possiamo rappresentare e studiare il mondo fisico che ci circonda e perfino noi stessi attraverso i concetti tipici della teoria dei sistemi. Si pensi ad esempio ai fenomeni naturali che regolano e mantengono il clima nei diversi ecosistemi, i meccanismi attraverso cui le diverse specie animali e vegetali si adattano all’ambiente ottimizzando le risorse (acqua, luce), le cellule che si autoregolano negli organismi viventi.

Del resto, il compito stesso dell’insegnante non consiste forse nell’effettuare un continuo “processo di regolazione” confrontando periodicamente l’uscita del “sistema alunno” (livello di apprendimento) con l’ingresso desiderato (livello atteso)?

In effetti, la questione più affascinante, a mio avviso, risiede proprio nella possibilità di rappresentare  il comportamento umano, con particolare riferimento all’apprendimento, attraverso una schematizzazione stile Teoria dei sistemi. Sotto questo aspetto i nostri ragazzi, dalla primaria alla secondaria superiore, sono, ovviamente molto più “esperti” di noi visto che la fase di apprendimento è in pieno svolgimento.

Si pensi all’azione del bere un bicchiere d’acqua … semplice? Quante volte avremo ripetuto questo gesto prima di riuscire da piccoli a compierlo? Chi ce lo ha insegnato? Evidentemente i nostri occhi hanno osservarto qualcuno mentre eseguiva il gesto del bere e la nostra mente, elaborando i dati dei vari inevitabili insuccessi, alla fine avrà permesso la riuscita dell’impresa.

In effetti il bere un bicchiere d’acqua è un ottimo esempio di sistema automatico. Per prima cosa dobbiamo afferrare il bicchiere: l’ingresso del nostro sistema è la posizione del bicchiere, l’uscita la posizione della mano. Noi agiremo in modo da rendere la nulla la differenza tra queste due variabili muovendo il braccio nella giusta direzione. Per fare questo dovremo confrontare la posizione mano-bicchiere e regolare l’intensità dei nostri muscoli in un processo continuo. Naturalmente anche l’azione dell’afferrare il bicchiere e del portarlo alla bocca possono essere scomposti secondo procedimenti simili, individuando le opportune variabili.

Naturalmente questi concetti sono ampiamente utilizzati in robotica. In effetti l’uso dei robot consente di mettere in luce i diversi aspetti della regolazione automatica a vari livelli di astrazione. La semplice osservazione diretta del comportamento di robot programmati dall’insegnante e con l’opportuna mediazione da parte di quest'ultimo, può effettivamente permettere l’introduzione di questi concetti fondamentali fin dai primi anni di scuola, aprendo così la strada verso nuove tecniche di ragionamento. Salendo di livello saranno gli stessi studenti a programmare i robot in modo che implementino un determinato comportamento, passando così da una fase di semplice osservazione ad una più evoluta di progetto e sviluppo.

Nel video raggiungibile attraverso il link in fondo all’articolo osserviamo un’applicazione di questi concetti che io stesso ho utilizzato più volte, in particolare durante i ministage di orientamento, cioè per i ragazzi della scuola secondaria di primo grado.

Vediamo due robot. Il piccolo rover su ruote è realizzato con il kit Lego Mindstorms e programmato con LabView per Lego; le gambe robotiche invece le ho sviluppate usando una tecnologia mista: componenti Lego per le parti meccaniche e scheda Arduino per l'elettronica di controllo (in questo caso ho usato il C++ come linguaggio di programmazione). Un minirobot è programmato per muoversi in avanti, l’altro, che insegue, dovrà mantenersi ad una certa distanza prestabilita. 

Il secondo robot, evidentemente, sta implementando un sistema a retroazione: l’ingresso è la distanza desiderata e viene inserita da programma; l’uscita è la distanza effettiva tra i due robot, l’azione della regolazione è il confronto continuo della posizione reciproca dei robot ed il comando dei motori per mantenerla costante.


Spero, a questo punto, di aver fornito qualche spunto utile per le vostre lezioni di sistemi automatici o semplicemente per introdurre, in maniera divertente, alcuni dei concetti fondamentali su cui si fonda tutta la moderna Teoria dei Sistemi cioè, di fatto, la disciplina volta a progettare praticamente ogni attuale dispositivo elettronico, elettrico, meccanico e perfino utile allo studio del comportamento umano e dei più diversi fenomeni sociologici.


Se siete interessati ai programmi che ho sviluppato nei diversi robot seguitemi nei futuri articoli e non esitate a contattarmi.

https://youtu.be/cyMof6pEu-8


Alla prossima,

ing. Franco Babbo

 

 

L’internet delle cose: incontro (e scontro) tra l’uomo e l’intelligenza artificiale

Ormai è assodato: viviamo in un mondo 3.0 in cui l’uomo e le macchine sono in simbiosi. Ciò che in passato ricadeva nel mondo della fantascienza (vedi “Man Computer Symbiosis” di Joseph Licklider), è diventato realtà. Le nuove forme di comunicazione insieme all’incredibile ed inarrestabile sviluppo di nuove tecnologie hanno permesso la digitalizzazione delle nostre vite. L’ultima frontiera è stato rendere degli oggetti intelligenti, cioè capaci di prendere autonomamente delle decisioni.

Robot e robotica a scuola

 

minirobotics legs: Lego + Arduino technology + Makeblock

 

Vorrei proporre qualche, spero utile, spunto didattico tratto dalla mia esperienza circa l’impiego della robotica nell’ambito della disciplina Sistemi Automatici e di alcuni corsi che ho avuto il piacere di condurre presso l’Istituto Tecnico “G.Malafarina” di Soverato dove attualmente lavoro.

Cercherò di far questo argomentando su quello che, secondo me, è il significato più opportuno da attribuire ai termini Robot e Robotica non in un contesto qualsiasi ma piuttosto in ambito strettamente scolastico.

Partiamo da Robot.

Noi insegnanti, prima di affrontare una lezione, predisponiamo, in genere, una mappa mentale, più o meno definita, sicuramente rilocabile, duttile, tale da essere facilmente adattabile; ciò che l’attore di teatro definirebbe, diciamo, un “canovaccio”. Il bravo docente però, sa bene che in questo caso gli attori sono gli alunni. Ed ecco che entra in “scena” (tanto per rimanere in tema) il Robot.

La definizione di Robot che, in ambito scolastico, io darei, è la seguente: piccolo sistema automatico grazie al quale l’insegnante può impartire nozioni secondo la pratica dell’apprendere dal fare.

Tuttavia, a mio avviso e per esperienza personale, la lezione sarà tanto più coinvolgente quanto maggiore sarà la partecipazione dei ragazzi alle diverse fasi progettuali e realizzative del Robot. L’insegnante dovrà essere così valente da coinvolgere gli alunni nei vari stadi di sviluppo qualunque sia il loro livello di conoscenza tecnica, mediando ed operando le opportune semplificazioni concettuali o pratiche. Tanto più gli alunni saranno partecipi alla creazione del Robot, tanto più facile sarà la comprensione dei fenomeni fisici che osserveranno, tanto maggiore sarà l’interesse che dimostreranno.

Ci sono, inoltre, a mio avviso, altri aspetti fondamentali e degni di nota inerenti il coinvolgimento dei ragazzi nelle diverse fasi realizzative di un piccolo robot didattico. Ciascuno, infatti, secondo le proprie capacità, potrà sentirsi partecipe di un progetto comune, provando l’esperienza (così importante nella realtà aziendale ad esempio) del lavoro in team e per obiettivi. Inoltre, non è infrequente riscontrare un aumento dell’autostima ed un miglioramento dei rapporti di classe tra i diversi alunni coinvolti, oltre che, naturalmente, l’atteso perfezionamento della competenza prettamente tecnica. Insomma, a mio avviso, è una stupenda occasione per liberare l’espressività dei nostri alunni: c’è il piccolo mago informatico, chi sa realizzare cose stupende dal punto di vista meccanico, chi è bravo nel sistemare i fili, ecc. 

L’aspetto interessante, quindi, dell’approccio robotico è che, di fatto, la lezione inizia già con l’affrontare insieme agli alunni le funzionalità che il prototipo dovrebbe avere.

Arrivati a questo punto ci si potrebbe, a giusta ragione chiedere: ma, lezione su cosa?

E qui entra in gioco il termine Robotica. A me piace pensarla così: la scienza che racchiude più scienze.

Quali? Direi che abbiamo solo l’imbarazzo della scelta. Andiamo con ordine:

Elettronica. Un robot è un concentrato di dispositivi elettronici. Avremo sempre a che fare con schede dotate di microcontrollore cui collegheremo diversi componenti per l’interazione con il mondo esterno. Si pensi allo sterminato insieme di trasduttori quali termocoppie, fotocellule, giroscopi, sensori ad ultrasuoni e così via. Questi ultimi, uniti allo studio del comportamento dinamico del robot, offriranno spunti praticamente infiniti anche per i vostri esperimenti di Fisica.

Inoltre, un sistema automatico deve essere programmato. Trattiamo quindi argomenti fondamentali per l’apprendimento dell’informatica ma con un approccio differente dalla programmazione standard finalizzata soltanto all’applicativo PC o mobile. Abbiamo infatti l’opportunità di verificare dal comportamento nel mondo fisico, cioè il nostro e non quello virtuale, la correttezza di un certo algoritmo.

Inoltre lo studio della Matematica (il funzionamento richiede la corretta applicazione di formule) e della Geometria (la struttura stessa del robot o le sue evoluzioni nello spazio possono essere progettate o analizzate dal punto vista geometrico), l’approfondimento della lingua Inglese (a causa dell’indispensabile conoscenza della terminologia tecnica), possono trarre vantaggio dall’uso della robotica in classe.

Infine, lo studio del comportamento del robot, in quanto sistema programmato dall’alunno che lo avrà dotato di capacità decisionale, potrà fornire certamente spunti utili anche per materie non strettamente tecniche quali la Filosofia e la Psicologia.

Qualunque sia le disciplina, non sembra dunque insensato pensare che la robotica, intesa come sperimentazione attraverso il progetto e l’uso di un robot, possa fornire quella marcia in più per apprendere dal fare possibilmente divertendosi.

 

In questa rivista vedremo in dettaglio diverse tecnologie per realizzare piccoli sistemi robotici, servendoci anche di video ed esempi interattivi consultabili online.

In particolare tratteremo diffusamente di Arduino UNO R3 (scheda programmabile OpenHardware e OpenSource, dotata di microcontrollore ATMega320p, programmabile in C), del kit Lego Mindstorms (denominato attualmente EV3, basato su ARM9 con kernel Linux, programmabile con una versione dedicata di NI LabView), del microcomputer Raspberry PI3 (Quad Core Broadcom BCM2837 64bit CPU, programmabile in Python o C), nonchè di tutti i trasduttori, sensori, adattatori necessari al funzionamento e della parte relativa alla programmazione.

 

Per concludere vi lascio un paio di link in cui potete osservare alcuni piccoli robot in azione.

https://youtu.be/YmuZdinuoC0 

Qui troviamo un prototipo da me realizzato durante il periodo dell'orientamento nell'A.S.2016/17. Fu molto divertente azionarlo, i ragazzi ne rimasero entusiasti. Si tratta di un minirobot realizzato con una tecnologia mista, in grado di muoversi se vengono percepiti suoni. La parte meccanica è assemblata utilizzando i componenti Lego del kit Mindstorms (NXT per la precisione, la versione precedente alla attuale EV3, i mattoncini però sono identici), l'elettronica programmata è invece costituita da una shield (diciamo un adattatore, vedremo questo aspetto molto bene nei prossimi numeri) della Mindsensors contenente un clone della scheda Arduino. Normalmente per quest'ultima parte si usa il mattoncino "intelligente" della Lego, tuttavia ho voluto sperimentare qualcosa di nuovo. Il prototipo è dotato di un microfono (della Makeblock) grazie al quale è possibile percepire i suoni esterni.

 

https://youtu.be/BtdnTIL2NaQ

In questo secondo video osserviamo le gambe robotiche mentre "portano a spasso" una sorta di mini robot-dog. Quest'ultimo è un progetto EV3 classico, ovviamente progammato in maniera opportuna; in questo caso in modo da seguire un oggetto in movimento.

 

Un arrivederci dunque ai prossimi articoli dove inizieremo ad occuparci della realizzazione pratica dei nostri piccoli giocattoli robotici.

 

Ing.Franco Babbo

 

Arduino e Robotica - introduzione al corso

Ciao a tutti, benvenuti al corso “Arduino e Robotica”.

Anzitutto una precisazione, così potrete consapevolmente scegliere se continuare a seguire questa rubrica o rivolgere la vostra attenzione a qualcosa d’altro.

Mi è mai capitato di cercare un tutorial su Internet, diciamo per forare un muro con il

RIFERIMENTI

logo icted

ICTEDMAGAZINE

Information Communicatio
Technologies Education Magazine

Registrazione al n.157 del Registro Stam­pa presso il Tribunale di Catanzaro del 27/09/2004

Rivista trimestrale  

Direttore responsabile/Editore-responsabile intellettuale

Luigi A. Macrì