Un esempio di robotica

Cos'è esattamente la robotica?
La parola robot evoca argomenti come intelligenza artificiale, robot a forma di uomo e tante altre cose.

È un argomento molto ampio, che noi non tratteremo.

Un robot è una macchina dotata di:
  • sensori, che sono i suoi occhi, le sue orecchie, il suo tatto, che servono per "misurare" e farsi un idea dell'ambiente che lo circonda;
  • un computer, il cervello, per elaborare le informazioni che arrivano dai sensori e decidere cosa fare;
  • una serie di motori, i muscoli, per compiere delle azioni in base a ciò che ha misurato.
Che forma ha un robot? Tantissime. Può avere una forma più o meno umana (ce ne sono pochissimi), può volare e lo chiamiamo drone, può assomigliare ad un animale, non c'è limite.

I primi robot erano per lo più telecomandati, il computer prendeva poche decisioni.
Poi sono venuti i robot ai quali veniva dato un compito specifico, ben chiaro, e loro erano in grado di svolgerlo senza difficoltà. Per esempio, muoviti in avanti di 10 metri, poi gira di 50 gradi, puoi muoviti di altri 20 metri.
Ma si può parlare di robotica vera e propria quando il robot di muove in un ambiente che non conosce, quando attraverso i suoi sensori misura qualcosa, con il suo cervello prende delle decisioni in base a quello che ha misurato e poi, con i suoi motori, le mette in pratica.

Guardiamo questo video. Il robot è un robot della serie Lego Mindstorm. Come tutti i prodotti della Lego può essere montato in varie forma, compresa quella con i cingoli. Per girare il video mi sono fatto aiutare da un simpatico asinello blu di nome Poppi.


Il robot viene programmato tramite un semplice linguaggio di programmazione a blocchi. Questo è lo schema con cui ho programmato il robot per fare il video precedente:
Quello che vedete davanti al robot, che sembra la testa e gli occhi del robot, è in realtà un sensore (a infrarossi) che permette al robot di vedere se ha ostacoli davanti.

Il robot non sa dove si trova l'ostacolo (Poppi).  Poppi può stare più avanti o più indietro. L'anello che vedete a sinistra nello schema a blocchi, dice al robot di muoversi in linea retta finché il sensore non trova un ostacolo.
Più precisamente, il blocco dentro l'anello dice al robot di fare un passo in avanti, il blocco alla fine dell'anello dice al robot di ripetere l'operazione finché non trova un ostacolo davanti. Il senso è: MUOVITI FINCHÉ NON TROVI UN OSTACOLO.

Questo vuol dire che il robot non si muove in un ambiente noto, non sa dov'è Poppi, lo deve trovare. L'unico vincolo è che sia davanti a lui, ma quanto avanti non lo sa.
Il resto è una sequenza prefissata. Va indietro per un secondo, attiva la rotazione dell'arma (il blocco in basso), ruota su se stesso di 180 gradi e si muove verso l'ostacolo di tre giri delle ruote: quanto basta per avvicinarsi a Poppi e abbatterlo. A quel punto il programma termina.

Per vedere altri video e leggere tutta la storia clicca qui:
Poppi, l'asinello che sussurrava al Lego Mindstorm 

Qui potete vedere il Lego Mindstorm che risolve il cubo di Rubick: prima con il sensore di colore analizza tutte le facce del cubo, poi lo risolve.
 

Qui un gruppo di studenti universitari lo ha programmato per seguire una linea tracciata sul pavimento che lui non conosce: usa il suo sensore di colore per non perdere la strada. Poi lo fa entrare in un labirinto e lì va un po' a sbattere da tutte le parti.

Negli ultimi due casi non si usa il linguaggio di programmazione a blocchi che vi ho mostrato in precedenza, ma linguaggi di programmazione molto più complessi ed evoluti.