La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di Robotica per docenti - ottobre/novembre 2015 Programmare LEGO NXT con NXT-G.

Presentazioni simili


Presentazione sul tema: "Corso di Robotica per docenti - ottobre/novembre 2015 Programmare LEGO NXT con NXT-G."— Transcript della presentazione:

1 Corso di Robotica per docenti - ottobre/novembre 2015 Programmare LEGO NXT con NXT-G

2 Corso di Robotica per docenti - ottobre/novembre 2015 Overview NXT Hardware Ambiente di sviluppo NXC Programmare con NXC Interazione NXT - PC

3 Corso di Robotica per docenti - ottobre/novembre 2015 NXT – hardware 4 Inputs (digitali e analogici) 3 Outputs (supporto per encoders) Schermo (100x64 pixels) 4 Bottoni Suono USB e Bluetooth

4 Corso di Robotica per docenti - ottobre/novembre 2015 Processori Processore principale: Atmel 32-bit ARM processor, AT91SAM7S256 256 KB FLASH 64 KB RAM 48 MHz Co-processore: Atmel 8-bit AVR processor, ATmega48 4 KB FLASH 512 Byte RAM 8 MHz

5 Corso di Robotica per docenti - ottobre/novembre 2015 Comunicazione tramite Bluetooth e USB Bluetooth wireless communication CSR BlueCoreTM 4 v2.0 +EDR System Supports the Serial Port Profile (SPP) Internal 47 KByte RAM External 8 MBit FLASH 26 MHz  USB 2.0 Full speed com port (12 Mbit/s)

6 Corso di Robotica per docenti - ottobre/novembre 2015 Monitor, Suono e bottoni Display in bianco e nero 100 x 64 pixel LCD Uscita audio con canale con risoluzione a 8-bit resolution 4 bottoni

7 Corso di Robotica per docenti - ottobre/novembre 2015 Schema a blocchi del mattoncino intelligente

8 Corso di Robotica per docenti - ottobre/novembre 2015 Qualche dettaglio 3 output con connessione a 6-fili che supportano anche l'input dagli encoder 4 input con connessione a 6-fili che supportano: - segnali digitali - segnali analogici - protocollo I2C - high speed port, IEC 61158 Type 4/EN 50170 LEGO ha distribuito tutta la documentazione

9 Corso di Robotica per docenti - ottobre/novembre 2015 Documentazione online http://mindstorms.lego.com/ - cliccare sul bottone “NXTreme” button per informazioni e downloads per utenti avanzati http://mindstorms.lego.com/ Open source firmware!!! SDK – Software Developer Kit HDK – Hardware Developer Kit BDK – Bluetooth Developer Kit

10 Corso di Robotica per docenti - ottobre/novembre 2015 Motori Encoder integrato nel motore con sensibilità 1° Posizioni relative e non assolute Velocità massima pari a circa 200 RPM Coppia massima 24 Ncm Motori estremamente robusti

11 Corso di Robotica per docenti - ottobre/novembre 2015 Motori

12 Corso di Robotica per docenti - ottobre/novembre 2015 Sensori nel kit Sensore a ultrasuoni (3cm-100cm) Sensore di luce attivo Sensore acustico – DB and DBA Sensore di contatto

13 Corso di Robotica per docenti - ottobre/novembre 2015 Cavi di connessione I cavi LEGO NXT (come I connettori DEC RJ-12 ma al contrario) Schemi: Analog input

14 Corso di Robotica per docenti - ottobre/novembre 2015 3 rd Party Sensors Prezzi da $30 a $50 HiTechnic (www.HiTechnic.com)www.HiTechnic.com Esteticamente simili ai sensori LEGO Autorizzati da LEGO  MindSensors (www.MindSensors.com)www.MindSensors.com Compatibili ma meno curati esteticamente

15 Corso di Robotica per docenti - ottobre/novembre 2015 HiTechnic Sensors Color Sensor Compass Sensor Acceleration Sensor More coming… Prototype board Gyro sensor (analog, not I2C digital) IR Link (to talk to RCX and other LEGO IR devices) IR Seeker (for robo soccer, for example) No-contact touch sensor (electrostatic sensor) Motor Multiplexor Sensor Multiplexor

16 Corso di Robotica per docenti - ottobre/novembre 2015 MindSensors Sensors Acceleration Sensor RCX to NXT communications link PS2 controller interface Motor Multiplexor Magnetic Compass Pneumatic Pressure Sensor

17 Corso di Robotica per docenti - ottobre/novembre 2015 Bluetooth Utilizzabile per scaricare i programmi Permette il trasferimento di dati da un NXT all'altro (fino a quattro collegati in rete) Permette il controllo a distanza da parte di qualsiasi dispositivo con BT

18 Corso di Robotica per docenti - ottobre/novembre 2015 Linguaggi di programmazione NXT-G NXC e NBC (in ambiente BricX) Robot C pbLua Java ed altri

19 Corso di Robotica per docenti - ottobre/novembre 2015 NXT-G code Ambiente di sviluppo della LEGO Programmazione grafica Basato su National Instruments’ LabView Ottimo per programmi semplici Ideale per I ragazzi delle scuole medie inferiori

20 Corso di Robotica per docenti - ottobre/novembre 2015 NXC e NBC NXC (Not eXactly C) è un linguaggio simile al C Costruito sull'assembler NBC, the Next Byte Code Utilizza il firmware standard della LEGO e un firmware potenziato

21 Corso di Robotica per docenti - ottobre/novembre 2015 NXC in BricxCC BricxCC è un ambiente di sviluppo Supporta tutte le piattaforme LEGO E' opensource e compatibile anche con hardware non LEGO

22 Corso di Robotica per docenti - ottobre/novembre 2015 Robot C Linguaggio di programmazione di Carnegie Mellon’s per varie piattaforme (tra cui VEX, RCX e NXT) Firmware dedicato Costo30 $

23 Corso di Robotica per docenti - ottobre/novembre 2015 pbLua New firmware, and language Small portable language for embedded systems By Ralph Hemple, the author of pbForth for the RCX Compiles on brick! Use any terminal device to talk to it

24 Corso di Robotica per docenti - ottobre/novembre 2015 Altri linguaggi Java e molti altri MS Robotic Studio!!!!!!!!!! Si deve scaricare un piccolo programma client Il controllo reale è fatto dal PC

25 Corso di Robotica per docenti - ottobre/novembre 2015 Struttura dei motori DC la corrente scorre negli avvolgimenti e si genera un campo magnetico la parte sinistra del rotore è respinta dal magnete di sinistra ed attirata da quello di destra. la coppia genera la rotazione

26 Corso di Robotica per docenti - ottobre/novembre 2015 Struttura dei motori DC quando gli avvolgimenti si allineano orizzontalmente, il commutatore inverte la direzione di corrente attraverso gli avvolgimenti, modificando il campo magnetico; il processo ritorna quindi allo stato di partenza e il ciclo si ripete (http://it.wikipedia.org/wiki/File:Electric_motor.gif)

27 Corso di Robotica per docenti - ottobre/novembre 2015 Controllo PWM dei motori DC Modulazione di larghezza di impulso, dall'inglese pulse-width modulation onda quadra di duty cycle variabile che permette di controllare la potenza assorbita da un carico elettrico

28 Corso di Robotica per docenti - ottobre/novembre 2015 Controllo dei motori dell'NXT i connettori sono a sei fili. controllo degli attuatori con segnali PWM alla tensione di 4,3 V e con correnti da 700 mA fino a 1 A valore di picco il motore è anche equipaggiato con una protezione termica interna due collegamenti per le informazioni provenienti dal decoder integrato nel motore

29 Corso di Robotica per docenti - ottobre/novembre 2015 Gli encoder Il trasduttore di posizione angolare, è un dispositivo elettromeccanico che converte la posizione angolare del suo asse rotante in segnali elettrici numerici digitali Gli encoder si possono dividere in due grandi categorie: * assoluti (http://it.wikipedia.org/wiki/Codice_Gray) * relativi (noti anche come incrementali)

30 Corso di Robotica per docenti - ottobre/novembre 2015 Gli encoder relativi

31 Corso di Robotica per docenti - ottobre/novembre 2015 Gli encoder relativi hanno in genere da 100 a 6.000 aree per giro due piste fuori fase permettono di ottenere sia la posizione che la direzione della rotazione

32 Corso di Robotica per docenti - ottobre/novembre 2015 Il sensore di contatto SetSensorTouch(porta)

33 Corso di Robotica per docenti - ottobre/novembre 2015 Esercizi da svolgere 1) Spostare in avanti per 2 secondi con potenza pari al 25% e tornare indietro per 1 secondo con velocità al 50%. 2) Mettere a velocità massima solo una ruota per tre secondi. 3) Mettere a velocità massima una ruota e massima negativa l'altra, per 3 secondi.

34 Corso di Robotica per docenti - ottobre/novembre 2015 Esercizi da svolgere 4) Cosa cambia nel comportamento dell'esercizio 2 e 3? 5) Ripetere le istruzioni degli esercizi precedenti per tre volte usando un blocco di ripetizione, intervallando ogni ripetizione con tre secondi di pausa. 6) Usando il righello e gli altri strumenti necessari, determinare per quanto tempo devo far funzionare i motori al 50% perché il robot si sposti di 20 cm in linea retta. Come posso fare per avere una risposta più precisa?

35 Corso di Robotica per docenti - ottobre/novembre 2015 Esercizi da svolgere 7) Far muovere il robot lungo il perimetro di un quadrato di lato 40 cm, al 60% della velocità utilizzando una delle funzioni degli esercizi precedenti. 8) Il robot si deve muovere a velocità costante pari al 50%. In caso di urto (rilevato dal sensore di contatto) deve arretrare di 20 cm, ruotare di 120° e ripartire al velocità costante.

36 Corso di Robotica per docenti - ottobre/novembre 2015 Esercizi da svolgere 9) Contiamo gli urti: il robot si deve muovere a velocità costante, pari al 60%, in caso di urto (rilevato dal sensore di contatto) deve incrementare un'apposita variabile. Se il numero nella variabile è pari deve arretrare di 20 cm, ruotare di 120° e ripartire a velocità costante, se il numero è dispari deve arretrare di 20 cm, ruotare di 180° e ripartire a velocità costante.

37 Corso di Robotica per docenti - ottobre/novembre 2015 Il sensore di luminosità Il sensore determina il livello di luminosità nell'ambiente; può anche emettere luce per poi rilevare quella riflessa.

38 Corso di Robotica per docenti - ottobre/novembre 2015 Il sensore di luminosità

39 Corso di Robotica per docenti - ottobre/novembre 2015 Il monitor dell'NXT Il monitor risulta utile per Debugging Settaggio di parametri Messaggi durante l'esecuzione Grafica Giochi

40 Corso di Robotica per docenti - ottobre/novembre 2015 Carateristiche del monitor Il display ha una risoluzione 100 x 64 px è possibile disegnare qualsiasi cosa sullo schermo, ma visualizzeremo solo numeri o testi

41 Corso di Robotica per docenti - ottobre/novembre 2015 Esercizi 1) Visualizzare sul monitor dell'NXT il valore di luminosità rilevato dal sensore impostato in modalità percentuale e poi in modalità raw. 2) Scrivere un programma per seguire una linea scura su fondo bianco utilizzando un solo sensore di luminosità.

42 Corso di Robotica per docenti - ottobre/novembre 2015 Esercizi 3) Far ruotare per 360° il robot attorno al proprio asse. Memorizzare per ogni grado la luminosità rilevata utilizzando un vettore. Al termine della rotazione individuare l'angolo in cui è stata rilevata la massima luminosità e quindi riportare il robot in quella posizione.

43 Corso di Robotica per docenti - ottobre/novembre 2015 Sensore ad ultrasuoni Valuta la distanza degli oggetti tramite onde acustiche E' un sensore intelligente, utilizza il protocollo I2C

44 Corso di Robotica per docenti - ottobre/novembre 2015 Programmi 1) Far muovere in linea retta il robot fino a quando incontra un ostacolo ad una distanza inferiore a 40 cm. In questo caso farlo ruotare su se stesso di un angolo casuale compreso tra 100° e 180° e farlo di nuovo muovere in linea retta. Terminare il programma dopo cinque “incontri”.

45 Corso di Robotica per docenti - ottobre/novembre 2015 Programmi 2) Far muovere il robot in linea retta. Quando viene rilevato un ostacolo ad una distanza inferiore al metro, la velocità deve diminuire direttamente proporzionale alla distanza fino ad annullarsi a 40 cm dall'ostacolo stesso. In ogni caso, giunto a 50 cm dall'ostacolo, il robot deve ruotare di 180° e riprendere il movimento rettilineo al 75% della velocità massima.

46 Corso di Robotica per docenti - ottobre/novembre 2015 Programmi 3) Usare il sensore ad ultrasuoni per determinare la velocità di avvicinamento ad un muro (in cm/s) del vostro robot e visualizzarla sul monitor in modo che sia leggibile. Confrontare il risultato con una misura spazio/tempo effettuata da voi e con i calcoli teorici effettuati conoscendo il diametro della ruota e il numero di giri della ruota.

47 Corso di Robotica per docenti - ottobre/novembre 2015 Multitasking - L'NXT supporta il multitasking, quindi è possibile definire più task (compiti) che vengono eseguiti in parallelo dal processore - Il numero massimo di task è 256 - Un task termina quando si arriva alla fine dello stesso.

48 Corso di Robotica per docenti - ottobre/novembre 2015 Multi tasking programma Scrivere un programma con due task, il main che come al solito gestisce il movimento del robot nel recinto, il secondo che fa lampeggiare il LED con periodo sempre più breve. Il periodo deve partire da 10 s e diminuire di 1 s ogni 10 s; quando T diventa 0 il programma deve terminare.

49 Corso di Robotica per docenti - ottobre/novembre 2015 Il sensore acustico Sensore analogico Risposte in dBA o in dB. Fino a 90 dB. SetSensorSound(porta)

50 Corso di Robotica per docenti - ottobre/novembre 2015 Il sensore acustico 1) Memorizzare in un vettore i valori rilevati da un sensore acustico, ogni 400 ms. Dopo 60 secondi determinare il valore massimo, quello minimo e quello medio. Visualizzare sul monitor i valori ed attendere che l'utente prema il bottone centrale prima di terminare il programma.

51 Corso di Robotica per docenti - ottobre/novembre 2015 Sensore acustico 2) Il robot deve procedere in linea retta fino a quando non vengono battute le mani. Se le mani vengono battute due volte entro 500 ms deve ruotare di una angolo compreso tra 120° e 180° in verso orario, se le mani vengono battute una volta sola deve ruotare tra 120° e 180° in verso antiorario. Battiti consecutivi in un intervallo di tempo compreso tra 500 ms e 1 s non devono essere considerati.

52 Corso di Robotica per docenti - ottobre/novembre 2015 Per finire Muoversi solo quando il rumore è al di sotto di un certo valore, gestendo gli urti e tornando vicino alla parete quando il rumore diventa molto intenso.

53 Corso di Robotica per docenti - ottobre/novembre 2015 Il campo di gara è delimitato da una riga nera. Il robot che esce dalla riga perde la sfida. Ogni robot è dotato di un sensore di luminosità, un sensore ad ultrasuoni ed un sensore di contatto. Quando il robot percepisce un corpo a meno di 40 cm deve cercare di raggiungerlo e a contatto avvenuto può mettere i motori al massimo con l'intento di spingere l'altro robot fuori dal campo di gara.....

54 Corso di Robotica per docenti - ottobre/novembre 2015 Il protocollo Bluetooth Bluetooth è una specifica industriale per reti personali senza fili Mette in comunicazione dispositivi entro un raggio di qualche decina di metri Formalizzata dalla Bluetooth Special Interest Group (SIG) nel 1999

55 Corso di Robotica per docenti - ottobre/novembre 2015 Caratteristiche del protocollo Bluetooth - bassi consumi - un corto raggio di azione (1-100 metri) - un basso costo di produzione Attualmente un miliardo di dispositivi montano un'interfaccia Bluetooth!

56 Corso di Robotica per docenti - ottobre/novembre 2015 Tipi di reti Bluetooth - collegamento di tipo master slave con fino a 7 slave, detta piconet; - collegando due piconet si forma una scatternet; - ogni dispositivo è configurabile per cercare costantemente altri dispositivi (eventualmente con password).

57 Corso di Robotica per docenti - ottobre/novembre 2015 Reti Bluetooth Il master si occupa della la sincronizzazione del clock degli altri dispositivi (slave) e la sequenza dei salti di frequenza.

58 Corso di Robotica per docenti - ottobre/novembre 2015 Qualche dettaglio su BT - Lavora nelle frequenze libere di 2,45 Ghz, dividendo la banda in 79 canali e commutando tra i vari canali 1600 volte al secondo; - la versione 1.1 e 1.2 gestisce velocità di trasferimento fino a 723,1 kb/s, la 2.0 gestisce una modalità ad alta velocità fino a 3 Mb/s.

59 Corso di Robotica per docenti - ottobre/novembre 2015 Qualche dettaglio su BT I dispositivi dotati di Bluetooth si dividono in 3 classi: Classe Potenza(mW) Distanza(m) 1 100 ~ 100 2 2,5 ~ 10 3 1 ~ 1

60 Corso di Robotica per docenti - ottobre/novembre 2015 Modalità operative - Standby (ascolto ogni 1,28 s) - Connessione - Active mode L’unità partecipa attivamente alla piconet, sia in ricezione che in trasmissione, ed è sincronizzata al clock del master; - Hold mode Il master può mettere i dispositivi slave nello stato di Hold per un tempo determinato, nessun pacchetto può essere trasmesso dal master anche se il dispositivo mantiene la sincronizzazione;

61 Corso di Robotica per docenti - ottobre/novembre 2015 Modalità operative - Sniff mode Lo slave che passa in questo stato si trova in una modalità di risparmio energetico. Per entrare nello sniff mode, master e slave devono negoziare; - Park mode Il dispositivo è ancora sincronizzato alla piconet ma perde il suo indirizzo di dispositivo attivo (AM_ADDR) e riceve un nuovo indirizzo di 8 bit (PM_ADDR, Park Mode Address). Questa modalità è stata ideata per avere la possibilità di costituire piconet con più di sette slave.


Scaricare ppt "Corso di Robotica per docenti - ottobre/novembre 2015 Programmare LEGO NXT con NXT-G."

Presentazioni simili


Annunci Google