Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

43
Lego Mindstorm NXT Jacopo Sini ROBOTICS@MIDDLESCHOOL v 1.1 - Torino, 02/05/2015 Revisione da 1.0 a 1.1 del 28/08/2015

Transcript of Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

Page 1: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

Lego Mindstorm NXT

Jacopo Sini

ROBOTICS@MIDDLESCHOOL

v 1.1 - Torino, 02/05/2015Revisione da 1.0 a 1.1 del 28/08/2015

Page 2: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 3: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 4: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 5: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 6: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 7: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 8: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

ROBOTICS@MIDDLESCHOOL 5.8

Schermo

Permette di:

• visualizzare stato del

robot,

• selezionare il programma

da eseguire

• segnalare eventuali

malfunzionamenti

Page 9: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

ROBOTICS@MIDDLESCHOOL 5.9

Pulsante

accensione /

Conferma

Permette di:

• Accendere e spegnere il

robot

• Confermare la selezione

dei menu

Page 10: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

ROBOTICS@MIDDLESCHOOL 5.10

Pulsanti

navigazione

Permettono di scorrere i menu

Page 11: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

ROBOTICS@MIDDLESCHOOL 5.11

Pulsante

Spegni/indietro

Il pulsante spegni/indietro

permette di tornare alla

schermata precedente o di

spegnere il robot.

Page 12: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 13: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 14: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 15: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 16: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 17: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 18: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 19: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 20: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 21: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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).

Page 22: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 23: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 24: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

ROBOTICS@MIDDLESCHOOL 5.24

Velocita’

braccio

forza

Potenza = Velocita’ x braccio x forza

coppia

Page 25: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 26: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 27: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 28: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 29: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

ROBOTICS@MIDDLESCHOOL 5.29

Page 30: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

ROBOTICS@MIDDLESCHOOL 5.30

IL robot NXT ha la possibilità di funzionare siain

FUNZIONAMENTO AUTONOMOche in

CONTROLLO REMOTO

Page 31: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 32: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 33: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

ROBOTICS@MIDDLESCHOOL 5.33

IL robot NXT è programmabile tramite unambiente di sviluppo proprietario

Page 34: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 35: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

ROBOTICS@MIDDLESCHOOL 5.35

Per creare un

nuovo progetto

premi questa

icona

Page 36: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

ROBOTICS@MIDDLESCHOOL 5.36

Per la barra

completa premi

su questa

linguetta

Esistono 6 diverse categorie di

blocchi.

Per visualizzarli selezionare

la BARRA COMPLETA.

Page 37: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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.

Page 38: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 39: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 40: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 41: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 42: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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

Page 43: Revisione da 1.0 a 1.1 del 28/08/2015 ROBOTICS@MIDDLESCHOOL

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