Introduzione al robot NAO
A cura del Prof. Daniele Contarino
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 2 di 49 Daniele Contarino
Indice degli argomenti
Introduzione
Conosciamo NAO
La programmazione
Laboratorio
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 3 di 49 Daniele Contarino
Il robot NAO è il più piccolo dei tre robot umanoidi prodotti dalla società SoftBank Robotics (ex Aldebaran Robotics).
Viene usato principalmente nell’ambito dell’istruzione e della ricerca scientifica in ambito accademico
Introduzione
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 4 di 49 Daniele Contarino
Introduzione
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 5 di 49 Daniele Contarino
NAO PEPPER ROMEO
58 cm / 4,3 Kg
I robot umanoidi della SoftBank
120 cm / 28 Kg 148 cm / 36 Kg
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 6 di 49 Daniele Contarino
NAO e Pepper in TV
I soliti ignoti
Tu si que vales
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 7 di 49 Daniele Contarino
Indice degli argomenti
✓Introduzione
Conosciamo NAO
La programmazione
Laboratorio
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 8 di 49 Daniele Contarino
Vers. 3 Vers. 4 Vers. 5
(2008) (2011) (2014)
Le versioni di NAO
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 9 di 49 Daniele Contarino
2 Altoparlanti
3 Sensori tattili sulla testa 2 videocamere
4 microfoni sensoriali
2 ricetrasmettitori a infrarossi circondati da led RGB
(solo nelle versioni accademiche)
Caratteristiche tecniche
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 10 di 49 Daniele Contarino
2 Altoparlanti
3 Sensori tattili sulla testa 2 videocamere
4 microfoni sensoriali
2 ricetrasmettitori a infrarossi circondati da led RGB
(solo nelle versioni accademiche)
Caratteristiche tecniche
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 11 di 49 Daniele Contarino
2 Altoparlanti
3 Sensori tattili sulla testa 2 videocamere
4 microfoni sensoriali
2 ricetrasmettitori a infrarossi circondati da led RGB
(solo nelle versioni accademiche)
Caratteristiche tecniche
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 12 di 49 Daniele Contarino
2 Altoparlanti
3 Sensori tattili sulla testa 2 videocamere
4 microfoni sensoriali
2 ricetrasmettitori a infrarossi circondati da led RGB
(solo nelle versioni accademiche)
Caratteristiche tecniche
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 13 di 49 Daniele Contarino
2 Altoparlanti
3 Sensori tattili sulla testa 2 videocamere
4 microfoni sensoriali
2 ricetrasmettitori a infrarossi circondati da led RGB
(solo nelle versioni accademiche)
Caratteristiche tecniche
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 14 di 49 Daniele Contarino
Caratteristiche tecniche
26 Motori con 21-25° di libertà 3 Sensori tattili per ogni mano 2 Sensori tattili per ogni piede 2 Sensori ad ultrasuoni
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 15 di 49 Daniele Contarino
Caratteristiche tecniche
26 Motori con 21-25° di libertà 3 Sensori tattili per ogni mano 2 Sensori tattili per ogni piede 2 Sensori ad ultrasuoni
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 16 di 49 Daniele Contarino
Caratteristiche tecniche
26 Motori con 21-25° di libertà 3 Sensori tattili per ogni mano 2 Sensori tattili per ogni piede 2 Sensori ad ultrasuoni
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 17 di 49 Daniele Contarino
Caratteristiche tecniche
26 Motori con 21-25° di libertà 3 Sensori tattili per ogni mano 2 Sensori tattili per ogni piede 2 Sensori ad ultrasuoni
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 18 di 49 Daniele Contarino
CPU
• Intel Atom a 1.6 GHz
• 1 GB di Memoria RAM
• 8 GB di Memoria FLASH Connettività
• Wi-Fi
• Ethernet
• infrarossi
(solo nelle versioni accademiche)
Caratteristiche tecniche
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 19 di 49 Daniele Contarino
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 20 di 49 Daniele Contarino
Interfaccia web
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 21 di 49 Daniele Contarino
Il robot usa un sistema operativo basato su Linux con l’aggiunta del framework NAOqi che permette l’utilizzo completo di tutte le
funzionalità di NAO.
Si può accedere al sistema operativo anche attraverso l’uso del protocollo SSH
(es. con l’uso di PuTTY)
Software
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 22 di 49 Daniele Contarino
Software
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 23 di 49 Daniele Contarino
Software
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 24 di 49 Daniele Contarino
Indice degli argomenti
✓Introduzione
✓Conosciamo NAO
La programmazione
Laboratorio
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 25 di 49 Daniele Contarino
NAO può essere programmato, tramite NAOqi, con diversi linguaggi/IDE
• Choregraphe
• Python SDK
• C++ SDK
La programmazione
Documentazione
http://doc.aldebaran.com/2-1/index.html
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 26 di 49 Daniele Contarino
Choregraphe è un ambiente di sviluppo che permette la
programmazione di NAO (ma anche di PEPPER e ROMEO) usando dei blocchi grafici. Questo approccio è ideale per chi si vuole
inserire nel mondo della robotica senza la necessità di conoscere particolari linguaggi di programmazione.
L’ultima versione di Choregraphe per NAO è la 2.1.4
Choregraphe
Download Choregraphe
https://developer.softbankrobotics.com/us- en/downloads/nao-v5-v4
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 27 di 49 Daniele Contarino
Choregraphe
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 28 di 49 Daniele Contarino
Choregraphe
Connessione/disconnessione
Avvio/Stop programma
Stato upload del programma
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 29 di 49 Daniele Contarino
Choregraphe
NAO reale disponibile
NAO reale occupato
NAO virtuale
IMPORTANTE! Ad ogni NAO può accedere
esclusivamente una sola istanza di Choregraphe!
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 30 di 49 Daniele Contarino
Choregraphe
Volume speaker
Riposo/Sveglia Livello della batteria
Animation
mode Vita autonoma
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 31 di 49 Daniele Contarino
Ora vediamo Choregraphe
in azione!
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 32 di 49 Daniele Contarino
Choregraphe
Blocchi disponibili Area di lavoro Robot view/application
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 33 di 49 Daniele Contarino
Choregraphe
Blocchi disponibili Area di lavoro Robot view/application
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 34 di 49 Daniele Contarino
Choregraphe
Proprietà del progetto Breadcrumb Pose library / Video monitor
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 35 di 49 Daniele Contarino
Choregraphe
Proprietà del progetto Breadcrumb Pose library / Video monitor
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 36 di 49 Daniele Contarino
Choregraphe
Avvio del programma Fine del programma
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 37 di 49 Daniele Contarino
Sensori audio
Animated Say il robot pronuncia il
testo muovendo le braccia e la testa
Play Sound
il robot esegue un file musicale (mp3, wav) caricato in memoria
Speech Recognition
il robot riconosce, tra una lista di parole predefinite, la parola o frase scandita ai suoi microfoni
Say
il robot pronuncia il testo programmato
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 38 di 49 Daniele Contarino
Attuatori
Move
muove il robot spostandosi di x metri e/o y metri e/o con una angolazione theta
Sit Down
Posizione in maniera automatica il robot in posizione seduta
Rest
"rilassa" (mette in folle) i motori
Stand up
Posiziona il robot sull’attendi
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 39 di 49 Daniele Contarino
Animazione
Timeline
posiziona tutti i motori a tempo dentro dei frame e esegue i movimenti
Tai Chi Chuan
Il robot esegue una danza
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 40 di 49 Daniele Contarino
Timeline
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 41 di 49 Daniele Contarino
Timeline
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 42 di 49 Daniele Contarino
Sensori tattili
Tactile Left Hand scatena un evento se
viene toccata una parte della mano sinistra
Tactile Head
scatena un evento se viene toccato uno
dei tre bottoni posizionati sulla
testa
Tactile Left Hand
scatena un evento se viene toccata una parte della mano destra
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 43 di 49 Daniele Contarino
Controllo di flusso
If In base alla condizione data in ingresso prosegue il flusso del programma sul ramo VERO o FALSO
Switch case
scatena un evento in base all’opzione fornita in input
Counter
Scatena un evento in uscita per il numero di volte impostato
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 44 di 49 Daniele Contarino
Blocchi vari
Diagram Inserisce i blocchi al
suo interno. Serve per rendere il codice più leggibile e comprensibile
Python Script
Esegue un codice
python personalizzato
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 45 di 49 Daniele Contarino
Visione – NAO Mark
NAO Mark
Il robot è capace di riconosce dei speciali Marker (NAO Marker) ed indentificarli tramite
un id. Questo permette di poter attivare dei segmenti di codice differenti in base al marker
che gli viene posto davanti.
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 46 di 49 Daniele Contarino
Codifica interna
Anche se la
programmazione è visuale, ogni blocco corrisponde ad una
classe Python
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 47 di 49 Daniele Contarino
Indice degli argomenti
✓Introduzione
✓Conosciamo NAO
✓La programmazione
Laboratorio
Fare clic per modificare lo stile del titolo dello schema
Introduzione al robot NAO 48 di 49 Daniele Contarino
Laboratorio
• Fare dire “Ciao e benvenuti all’istituto Capizzi di Bronte";
• Fare muovere il robot un metro avanti e 50 cm a destra;
• Fare riconoscere la parola "mamma" e "papà";
• Fare ballare la Tai Chi Chaun Dance;
• Usando i sensori tattili della testa, impostare l’esecuzione dello step 1,2 e 4 per ogni sensore disponibile;
• Se viene premuto il sensore della mano destra, il robot si deve sedere.
Prof. Daniele Contarino
Questa presentazione è disponibile su danielecontarino.it
Tutti i marchi riportati appartengono ai legittimi proprietari; marchi di terzi, nomi di prodotti, nomi commerciali, nomi corporativi e società citati possono essere marchi di proprietà dei rispettivi titolari o marchi registrati d’altre società e sono stati utilizzati a puro scopo esplicativo ed a beneficio del possessore, senza alcun fine di violazione dei diritti di Copyright vigenti.