di Alfonso D’Ambrosio

In questa lezione dotiamo il nostro animale matematico di un senso: il tatto.

I sensori tattili consentiranno all’animale di esplorare il mondo circostante, ad esempio di evitare ostacoli, toccandoli.

Impareremo a far uscire l’animale da un labirinto e ad interagire con gli altri animali.

In questa lezione iniziale, impareremo a far seguire un muro.

Supponiamo che il nostro animale sia dotato di 4 sensori tatili, uno davanti, uno dietro e due laterali.

Non è complicato, allora, costruire un algoritmo che faccia seguire un bordo, a seconda del sensore che tocca.

Un primo modello di algoritmo lo si trova qui:

https://scratch.mit.edu/projects/195317817/#player

L’algoritmo sopra abbozzato, però è davvero complicato se si vuol far seguire un ostacolo di forma qualsiasi.

CI rendiamo subito conto che il problema sta nella rotazione. Quando l’animale smette di essere sul muro, deve decidere se virare a destra o sinistra.

Un algoritmo più semplice funziona con un solo sensore di tocco, la sua struttura ci tornerà utile quando realizzeremo un inseguitore di odore, in una prossima lezione.

Ecco l’algoritmo:

https://scratch.mit.edu/projects/195425580/

Il vantaggio di questo semplice algoritmo è che permette di seguire qualsiasi figura, anche se non è efficace nella realtà perchè parte del corpo dell’animale è “dentro” il muro stesso.

Provate a cambiare l’angolo di rotazione e il numero dei passi e capire l’efficacia dell’algoritmo con figure che hanno elevati raggi di curvatura.

L’ALGORITMO DEL LABIRINTO

L’abilità di seguire un ostacolo ci torna utile per poter aggirare un ostacolo ed uscire dal labirinto.

Un semplice algoritmo potrebbe essere il seguente:

1 scegli una direzione arbitraria, esempio Nord o avanti e seguila

2 procedi nella direzione fissata fino a quando non incontri un ostacolo

3 gira a sinistra fino a quando l’ostacolo non sarà alla tua destra (o viceversa)

4 segui l’ostacolo fino a quando non avrai via libera verso nord (o direzione fissata all’inizio)

5 Ritorna al punto 2

Si noti che non appena la tartaruga inseguirà l’ostacolo e punterà verso Nord, allora avrà compiuto una rotazione multipla di 360°.

L’algoritmo pur semplice non è efficace in situazioni generali.

L’animale potrebbe cadere in una trappola e convinto di aggirare l’ostacolo in realtà ripete per sempre il suo percorso.

Ecco il codice (negli sfondi trovate vari ostacoli):

https://scratch.mit.edu/projects/195314551/

 

Nella prossima lezione vedremo come costruire un algoritmo per uscire dal labirinto più generale!

Vai alla barra degli strumenti