1. My first experience
with robotics by using mBot
…ovvero come programmare un robot
senza essere uno scienziato.
1
A cura di Stefano & Daniele Coletta
14 ottobre 2019
ICS La Giustiniana di Roma
2. 2
Mi presento
Ho 45 anni e mi occupo di
informatica da quando avevo 12
anni… esattamente la vostra età!
Da quest’anno lavoro in un centro
ricerche sulla robotica, l’intelligenza
artificiale, il cloud computing e
l’Internet delle cose (IoT).
Oggi sono qui per farvi appassionare
all’informatica applicata ai robot!
S
3. 3
Il primo robot «pensante» della storia
Elmer e Elsie
Il primo robot pensante della
storia umana fu costruito dallo
statunitense William Grey Walter
durante il periodo 1948-1949,
ben 70 anni fa!
Seguiva la luce e riusciva a
trovare la sua tana per ricaricare
la batteria quando si esauriva.
Li chiamavano robot tartarughe.
D
4. 4
Ma a che punto siamo nel 2019?
Konica-Minolta: patient guide
S
12. 12
Cos’è un robot?
Un robot è una qualsiasi macchina (più o meno
antropomorfa) in grado di svolgere più o meno
indipendentemente un lavoro al posto dell'uomo.
Il termine deriva dalla parola ceca robota che
significa lavoro pesante, a propria volta derivata
dall'antico slavo ecclesiastico rabota, servitù.
D
13. 13
Tipi di robot
Non autonomi
Sono i classici robot utilizzati per adempiere a
specifici compiti che riescono ad assolvere
in maniera più efficace dell'uomo.
Autonomi
Operano in totale autonomia ed indipendenza
dall'intervento umano e sono in grado di prendere
decisioni anche a fronte di eventi inaspettati.
D
14. 14
Quali conoscenze servono
per costruire un robot?
• Matematica
• Geometria
• Elettronica
• Meccanica
• Fisica
• Informatica
• Lingue (inglese)
• …e tante altre!
Ma per fortuna non devi fare tutto da solo!
D
15. 15
Oggi ci focalizzeremo sull’informatica
…con cenni alle altre discipline.
Ma prima di iniziare…
Pensiero
Computazionale
D
16. 16
Pensiero Computazionale
ll pensiero computazionale è l'insieme dei processi
mentali coinvolti nella formulazione di un problema e
della sua soluzione in modo tale che una macchina
possa effettivamente eseguire delle istruzioni.
D
17. 17
Pensiero Computazionale
(una definizione)
Il pensiero computazionale è un processo iterativo
basato su tre fasi:
1. Formulazione del problema (astrazione);
2. Espressione della soluzione (automazione);
3. Esecuzione della soluzione e valutazione della
stessa (analisi).
D
27. 27
Componenti mBot Funzione
1. Microprocessor
2. Motors
3. Ultrasonic sensor
4. Led
5. Light sensor
6. Button
7. Buzzer
8. Software
9. Line follower
10.IR Receiver
Think
Act
Sense
Act
Sense
Sense
Act
Think
Sense
Sense
D
30. 30
Un esempio di coding
Vediamo ora come insegnare a mBot a seguire una
linea e fermarsi quando incontra un ostacolo.
Utilizzeremo per praticità il telecomando per
avviarlo e fermarlo.
Per farlo dovremo usare:
• Il sensore line-follower collegato alla porta 2
• Il sensore ultrasonico collegato alla porta 3
• I motori M1 e M2
• Il sensore infrarosso (IR) sulla board
S
33. 33
Il sensore line-follower in mBlock
In mBlock ci sono due blocchi associati al line-follower:
Il primo blocco restituisce un numero tra 0 e 3 in base
ai seguenti valori:
S
38. 38
mBlock – 2 modi per il coding
mBlock permette di far funzionare mBot in 2 modi:
1. Direttamente: mBlock invia direttamente le istruzioni ad
Arduino, puoi cambiare «al volo» su computer le istruzioni
se qualcosa non funziona e puoi interrompere
l’esecuzione rapidamente;
> è più comodo per provare ma introduce ritardo.
Il ritardo può compromettere l’esecuzione del programma.
2. Indirettamente: copiando tutte le istruzioni direttamente
su Arduino;
> è più scomodo per provare ma non introduce alcun
ritardo e potrebbe essere l’unico modo per far girare il tuo
programma.
D
39. 39
mBlock – 2 modi di comunicare
mBlock parla con mBot in 2 modi:
1. Bluetooth: connessione wireless fino a 5mt, supporta
solo la modalità diretta;
> è più comodo per provare, riduce lo spazio vitale di
mBot ma evita il «cordone ombelicale»; può non essere
adatto per il tuo programma per via del ritardo.
2. USB: connessione wired fino a 5mt, supporta sia modalità
diretta che indiretta.
> è più scomodo per provare in modalità indiretta perchè
riduce e intralcia lo spazio vitale di mBot per via del cavo.
E’ l’unico modo per la modalità indiretta.
D
48. 48
Ti piace leggere?
A tutt'oggi Isaac Asimov è considerato
uno dei massimi scrittori di fantascienza.
Asimov per primo rinnovò il concetto di
robot, trasformandolo da versione futuristica
del mostro di Frankenstein tipico della
fantascienza precedente a creatura versatile
e realizzata su scala industriale per fungere
da aiutante, o sostituto, dell'uomo.
«Mai e poi mai avrei permesso a uno dei miei robot
di rivoltarsi stoltamente contro il suo creatore...»
D
49. 49
L’Italia è all’avanguardia nella robotica!
L’Italia è più all’avanguardia,
al pari, se non addirittura
davanti, a colossi come Stati
Uniti, Francia e Germania.
Contribuisci
anche tu!
S