revisione da 1.0 a 1.1 del 28/08/2015 robotics@middleschool
TRANSCRIPT
Lego Mindstorm NXT
Jacopo Sini
ROBOTICS@MIDDLESCHOOL
v 1.1 - Torino, 02/05/2015Revisione da 1.0 a 1.1 del 28/08/2015
Per prima cosa vediamo come è strutturato ilrobot LEGO NXT.
Possiamo identificare 5 tipi di componenti:
ROBOTICS@MIDDLESCHOOL 5.2
LEG
O M
indi
stor
m
Brick NXT
Sensori
Attuatori
Componenti strutturali
Software di programmazione
Premi per
saltare alla
slide
corrispondente
E’ il componente che contiene il software digestione del robot e si occupa di pilotare gliattuatori, in base a quanto misurato daisensori.
In genere è impiegato un blocco NXT perciascun robot.
ROBOTICS@MIDDLESCHOOL 5.3
I sensori sono quei componenti che fornisconoal brick NXT informazioni sul mondocircostante, in modo simile a quanto gli organidi senso fanno negli esseri viventi.
Tecnologicamente si tratta di veri e propristrumenti di misura.
ROBOTICS@MIDDLESCHOOL 5.4
Nel caso del LEGO Mindstorm, alimentato dabatteria, si tratta di motori elettrici.
Sono i muscoli del robot ossia i componenti chene permettono il movimento.
ROBOTICS@MIDDLESCHOOL 5.5
Ovviamente anche i robot hanno la necessità dicomponenti che ne costituiscano lo scheletro:questo compito è svolto dagli elementistrutturali (ruote, bracci, cerchioni, perni,supporti per sensori).
ROBOTICS@MIDDLESCHOOL 5.6
Abbiamo parlato tanto di programmazione:ovviamente, affinché sia possibile inserire lenostre istruzioni nel robot, è necessariodisporre di un programma che permetta ditradurre le nostre istruzioni (in forma comodaper l’uso da parte degli esseri umani) ad unaforma comprensibile dal brick NXT.
ROBOTICS@MIDDLESCHOOL 5.7
ROBOTICS@MIDDLESCHOOL 5.8
Schermo
Permette di:
• visualizzare stato del
robot,
• selezionare il programma
da eseguire
• segnalare eventuali
malfunzionamenti
ROBOTICS@MIDDLESCHOOL 5.9
Pulsante
accensione /
Conferma
Permette di:
• Accendere e spegnere il
robot
• Confermare la selezione
dei menu
ROBOTICS@MIDDLESCHOOL 5.10
Pulsanti
navigazione
Permettono di scorrere i menu
ROBOTICS@MIDDLESCHOOL 5.11
Pulsante
Spegni/indietro
Il pulsante spegni/indietro
permette di tornare alla
schermata precedente o di
spegnere il robot.
ROBOTICS@MIDDLESCHOOL 5.12
PORTE di input
Sono le PORTE da usare per
connettere i SENSORI al brick
NXT.
Sono disponibili 4 porte
numerate da 1 a 4, quindi
possono essere collegati
contemporaneamente sino a 4
sensori.
ROBOTICS@MIDDLESCHOOL 5.13
PORTE motori
Sono le PORTE da usare per
connettere gli ATTUATORI al
brick NXT
Sono disponibili 3 porte chiamate
A, B, C, quindi possono essere
collegati contemporaneamente
sino a 3 attuatori.
ROBOTICS@MIDDLESCHOOL 5.14
Porta USB
La porta USB permette di
collegare il brick NXT al
computer, cosi’ da poter
trasferire i programmi da
eseguire in modo autonomo.
ROBOTICS@MIDDLESCHOOL 5.15
Il robot può essere anche
connesso ad un computer con
tecnologia WIRELESS tramite
BLUETOOTH.
Questo permettera’ di
TELECOMANDARE il robot, ossia
far muovere il robot sotto il
controllo diretto di un
computer, ad esempio tramite
un JOYSTIC.
ROBOTICS@MIDDLESCHOOL 5.16
Sen
sori
Eterocettivi
Propriocettivi
I sensori ETEROCETTIVI misurano
grandezze esterne al robot,
cioe’ proprie dell’ambiente in
cui il robot opera.
Alcuni esempi:
• Distanze da muri
• Suoni
• Colori.
ROBOTICS@MIDDLESCHOOL 5.17
Sen
sori
Eterocettivi
Propriocettivi
I sensori PROPRIOCETTIVI
misurano grandezze PROPRIE
cioe’ relative allo stato
interno del robot.
Il lego NXT dispone di due
sensori propriocettivi:
• Misuratore CARICA BATTERIA
• ENCODER motori.
Vedremo la funzione
dell’ENCODER piùu’ avanti.
ROBOTICS@MIDDLESCHOOL 5.18
Il SENSORE DI COLORE e’ uno dei due sensori
che da’ al robot il senso della vista.
Il sensore di colore ha in realta’ tre
funzioni:
• Rilevare 6 colori diversi
• Distinguere CHIARO e SCURO
• Produzione luce colorata.
ROBOTICS@MIDDLESCHOOL 5.19
Il sensore a ultrasuoni e’ l’altro sensore
che da’ al tuo robot la vista, permettendo
al robot di rilevare la presenza di oggetti.
E’ in grado di FAR EVITARE OSTACOLI al
robot, MISURARE DISTANZE e RILEVARE
MOVIMENTI.
Misura distanze da 0 a 255 cm con precisione
di 3 cm.
Funziona meglio con oggetti dalla superficie
dura e squadrata che con oggetti morbidi o
curvi.
Il principio di funzionamento di questo
sensore e’ lo stesso sfruttato dai
pipistrelli: MISURA le DISTANZE
calcolando il tempo necessario ad
un’ONDA SONORA per colpire un oggetto e
tornare indietro come un’ECO.
Commercialmente, invece, questo tipo di
sensori sono chiamati CAPSULE
MICROFONICHE.
Versioni di qualita’ superiore di questi
sensori, chiamate ECOGRAFI sono impiegati
in MEDICINA e in alcuni campi
dell’ingegneria, per costruire immagini di
strutture altrimenti nascoste da
superfici opache.
ROBOTICS@MIDDLESCHOOL 5.20
Il SENSORE DI CONTATTO Da’
al robot il senso del tatto.
E’ in grado di rilevare
quando viene premuto da
qualcosa e quando viene
rilasciato.
Premuto Rilasciato Urtato
ROBOTICS@MIDDLESCHOOL 5.21
Motore
Il motore e’ un dispositivo in
grado di trasformare
l’energia elettrica in energia
cinetica (cioe’ permette di
muovere qualcosa).
ROBOTICS@MIDDLESCHOOL 5.22
La VELOCITA’, ossia
il numero di giri che
il rotore e’ in
grado di compiere in
un minuto [rpm]
La POTENZA, ovvero la
quantita’ di energia
elettrica che e’ in
grado di trasformare in
energia cinetica in un
secondo [W]
La COPPIA, ossia lo
sforzo che esercita
durante la
rotazione. [N.m]= x
Un motore ha tre caratteristiche principali
Potenza = Velocita’ x braccio x forza
coppia
La VELOCITA’, ossia
il numero di giri che
il rotore e’ in
grado di compiere in
un minuto [rpm]
La POTENZA, ovvero la
quantita’ di energia
elettrica che e’ in
grado di trasformare in
energia cinetica in un
secondo [W]
La COPPIA, ossia lo
sforzo che esercita
durante la
rotazione. [N.m]= x
ROBOTICS@MIDDLESCHOOL 5.23
Un motore ha tre caratteristiche principali
Potenza = Velocita’ x braccio x forza
coppiaWatt Giri al
minuto
Newton-metro
ROBOTICS@MIDDLESCHOOL 5.24
Velocita’
braccio
forza
Potenza = Velocita’ x braccio x forza
coppia
ROBOTICS@MIDDLESCHOOL 5.25
Riduttore
Il MOTORE, per ragioni
costruttive, ha necessita’ di
ruotare a VELOCITA’ elevata
ed e’ in grado di imprimere
poca COPPIA.
Per ovviare a questo problema
si impiega un RIDUTTORE che
permette di aumentare la
COPPIA, riducendo al contempo
la VELOCITA’ di ROTAZIONE.
ROBOTICS@MIDDLESCHOOL 5.26
Velocita’
braccio
forza
Potenza = Velocita’ x braccio x forza
coppia
RIDUTTORE
Velocita’
braccio
forza
La pèotenza e’ la stessa da entrambi i lati del riduttore: ipotizzando il
braccio di lunghezza fissa e riducendo la velocita’, si ottiene un aumento
della coppia o viceversa.
ROBOTICS@MIDDLESCHOOL 5.27
Presa di
forza
La PRESA DI FORZA e’
l’elemento rotante in grado
di esercitare forze
sull’ambiente esterno.
Puo èessere usato sia come
GIUNTO per un BRACCIO oppure
che come MOZZO per una
RUOTA.
ROBOTICS@MIDDLESCHOOL 5.28
ENCODER
L’ENCODER èe’ lo strumento
che permette di misurare la
posizione angolare in cui si
trova la presa di forza.
Questo strumento e’ un vero e
proprio SENSORE integrato
all’interno del motore.
Questo tipo di sensori viene
chiamato PROPRIOCETTIVO.
ROBOTICS@MIDDLESCHOOL 5.29
ROBOTICS@MIDDLESCHOOL 5.30
IL robot NXT ha la possibilità di funzionare siain
FUNZIONAMENTO AUTONOMOche in
CONTROLLO REMOTO
ROBOTICS@MIDDLESCHOOL 5.31
Quando il robot viene usato in modalitàfunzionamento autonomo può ricevere in ingressosolo informazioni dai propri sensori.
Non è quindi possibile modificarne in tempo reale ilcomportamento oppure guidarlo manualmente(l’utente può, al massimo, interagire con i sensori).
Brick NXTSensori
eterocettiviAttuatori
Sensori propriocettivi
ROBOTICS@MIDDLESCHOOL 5.32
Brick NXTSensori
eterocettiviAttuatori
Sensori propriocettivi
Computer esterno
Quando il robot viene usato in modalità controlloremoto può ricevere informazioni, sia dai proprisensori che da un computer esterno che
È quindi possibile modificarne in tempo reale ilcomportamento oppure guidarlo manualmente tramiteil computer esterno.
Utente
ROBOTICS@MIDDLESCHOOL 5.33
IL robot NXT è programmabile tramite unambiente di sviluppo proprietario
ROBOTICS@MIDDLESCHOOL 5.34
Il linguaggio di programmazione dell’NXT è di tipografico, ovvero le istruzioni sono inserite collegandofra loro sullo schermo dei blocchi corrispondenti alleazioni fra loro.
Vediamo ora cosa ci verrà mostrato appena creato unnuovo progetto.
ROBOTICS@MIDDLESCHOOL 5.35
Per creare un
nuovo progetto
premi questa
icona
ROBOTICS@MIDDLESCHOOL 5.36
Per la barra
completa premi
su questa
linguetta
Esistono 6 diverse categorie di
blocchi.
Per visualizzarli selezionare
la BARRA COMPLETA.
ROBOTICS@MIDDLESCHOOL 5.37
Leggendo i nomi e guardando le icone
della maggior parte dei blocchi,
risulta subito chiaro il loro scopo…
Per alcuni, pero’, sara’ meglio
spiegarne il funzionamento.
ROBOTICS@MIDDLESCHOOL 5.38
Il blocco di iterazione e’
necessario per realizzare i
cosiddetti CICLI (o LOOP), cioe’
gruppi di istruzioni da ripetere
piu’ di una volta.
Blocco
ITERAZIONE
ROBOTICS@MIDDLESCHOOL 5.39
Il blocco di iterazione e’
necessario per realizzare i
cosiddetti CICLI (o LOOP), cioe’
gruppi di istruzioni da ripetere
piu’ di una volta.
Blocco
ITERAZIONE
ROBOTICS@MIDDLESCHOOL 5.40
E’ necessario specificare
quante volte o sotto quali
condizioni le istruzioni devono
essere ripetute.
Queste vengono chiamate
CONDIZIONI DI ITERAZIONE.
Abbiamo a disposizione cinque
possibilitààa’:
• Per sempre
• Sensore
• Tempo
• Conteggio
• LogicoCondizione di
iterazione
ROBOTICS@MIDDLESCHOOL 5.41
Il blocco interruttore
permette di scegliere tra due
diverse sequenze di istruzioni.
Ad esempio, potrebbe essere
utile, per scegliere, se
effettuare o no una sterzata,
a seconda della presenza o
meno di un ostacolo davanti al
robot.Blocco
Interrutore
LEGO, Lego Mindstorm Guida
WIENER R. Introduzione alla Cibernetica, Bollati Boringhieri, Torino
BONA B. Modellistica dei robot industriali, Celid, Torino, 2002
CORKE P. Robotics, Vision and Control, star, Springer , 2011
NEEDHAM T., Visual Complex Analysis, Claredon Press, 1997 (Chapter
1.2-3)
MICROSOFT VIRTUAL ACADEMY
http://www.microsoftvirtualacademy.com/training-courses/sviluppare-
giochi-con-bambini-e-ragazzi
ROBOTICS@MIDDLESCHOOL 5.42
Quest'opera è distribuita con Licenza
Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 4.0 Internazionale.
http://creativecommons.org/licenses/by-nc-sa/4.0/
ROBOTICS@MIDDLESCHOOL 5.43
Per ottenere in versione digitale questo file egli altri della serie
polito.academia.edu/JacopoSini
http://bit.ly/1CLt7qB