Robotica e automazione
Analisi di un robot calciatore
Emanuele Giacomini
Elettronica 5° ANT
Indice generale
Introduzione ............................................................................................................. 3
Robocup Jr. e robot calciatori ............................................................................... 3
Capitolo 1. Sistemi automatici ................................................................................ 5
1.1 Automazione dei sistemi ................................................................................. 5
1.2 Controlli ad azione diretta e in retroazione ............................................... 5
Capitolo 2. Robot Soccer ......................................................................................... 8
2.1 Introduzione alla Robocup Jr. .......................................................................... 8
2.2 Introduzione al robot calciatore ..................................................... 10
2.3 Analisi della componentistica ....................................................................... 13
2.3.1 Microcontrollore ....................................................................................... 13
2.3.2 Bussola ..................................................................................................... 14
2.3.3 Sensori di palla ........................................................................................ 20
2.3.4 Sensori di prossimità ............................................................................... 24
2.3.5 Motori ...................................................................................................... 29
2.3.6 Sensori di linea ........................................................................................ 39
2.3.8 Solenoide ................................................................................................. 44
2.3.9 Pixy .......................................................................................................... 46
2.3.10 Bluetooth................................................................................................ 47
Capitolo 3. Comunicazione ................................................................................... 48
3.1 I2C ................................................................................................................... 48
3.2 UART .............................................................................................................. 52
3.3 SPI.................................................................................................................. 56
P a g . 1 | 62
Capitolo 4. Analisi matematica ............................................................................. 58
4.1 Rapporto incrementale .................................................................................. 58
4.2 Integrale di Riemann ................................................................................... 59
Capitolo 5. Conclusioni .......................................................................................... 61
P a g . 2 | 62
Introduzione
Robocup Jr. e robot calciatori
Con il termine Robocup Jr. si intende quella branca della RoboCup che ha lo scopo di diffondere nelle scuole primarie e secondarie la pratica della robotica.
Vi si distinguono tre sezioni fondamentali:
- Robot Explorer
- Robot Rescue
- Robot Soccer
In questo lavoro verrà analizzata la sezione più complessa: Il Robot Soccer
La componentistica è stata scelta dopo un attenta analisi dei vari prodotti offerti dal mercato, e i fondi per la realizzazione sono stati ottenuti tramite delle vincite di progetti scolastici sviluppati da alunni (CHEST) e da sponsorizzazioni di varie aziende che hanno apprezzato il nostro progetto (Robotics3D e MD s.r.l.).
Figura 1 Aziende sponsor:
- Robotics3D ha fornito parte della componentistica
- MD s.r.l. ha fornito i macchinari per la produzione dei circuiti stampati
P a g . 3 | 62
In questo lavoro verranno esaminati gli aspetti elettronici ed informatici del robot, analizzando prima macroscopicamente il complesso, e poi microscopicamente tutti i componenti.
I robot durante il gioco, hanno numerose variabili di cui tener conto; verranno valutate le scelte fatte per monitorarle e gestirle, al fine di rendere il sistema il più rapido ed efficiente possibile.
P a g . 4 | 62
Capitolo 1. Sistemi automatici
1.1 Automazione dei sistemi
L’automazione è un complesso di tecnologie che usa sistemi di controllo (come circuiti logici o elaboratori) volte a sostituire l’intervento umano o a migliorarne l’efficienza nell’esercizio di dispositivi e impianti. Il notevole impulso che l’automazione ha ricevuto in tempi recenti è legato agli enormi progressi ottenuti nel campo degli elaboratori elettronici.
Un importante capitolo della scienza dell’automazione è quello che riguarda la disciplina denominata controlli automatici. Esso tratta lo studio dei dispositivi (detti regolatori), mediante i quali si modificano i comportamenti di un sistema da controllare, attraverso la manipolazione delle grandezze in ingresso.
Un sistema è un complesso di elementi interconnessi, in cui si possono distinguere grandezze soggette a variazioni nel tempo (variabili). Le funzioni che rappresentano l’andamento delle variabili nel tempo si dicono segnali.
1.2 Controlli ad azione diretta e in retroazione
L’azione del regolatore si esplica mediante un attuatore, cioè un dispositivo che provvede a modificare la variabile manipolabile proporzionalmente ad un segnale fornito dal regolatore, dato dalla variazione di una grandezza fisica precedentemente adattata alla trasmissione a distanza (tensione o corrente) e amplificata.
P a g . 5 | 62
Tali informazioni vengono rese disponibili mediante dei trasduttori, dispositivi che convertono una grandezza fisica (es: temperatura, accelerazione, velocità angolare, ecc.) in un segnale analogico proporzionale a tale grandezza, successivamente amplificato (figura 2). Figura 2 Schema di un trasduttore
Un'altra informazione che giunge al regolatore, è detta variabile di riferimento o segnale di riferimento r, che condiziona la variabile di uscita u. Nei sistemi di controllo più semplici e diffusi, l’obbiettivo della regolazione è l’inseguimento, cioè l’ottenimento dell’uguaglianza tra r e u.
Se il regolatore opera utilizzando solamente variabili d’ingresso nel sistema e il segnale di riferimento, viene detto controllo ad azione diretta o a catena aperta (figura 3)
Figura 3 Schema di un sistema di controllo a catena aperta
Se il regolatore opera utilizzando informazioni che riguardano la variabile di uscita u o altre uscite, viene detto controllo retroazionato o a catena chiusa (figura 4). Un controllo ad azione diretta è caratterizzato dal fatto che il valore della variabile manipolabile è indipendente dalla variabile di uscita, mentre in
Figura 4 Schema di un sistema retroazionato
un controllo di retroazione il valore della variabile manipolabile dipende dalla
P a g . 6 | 62
variabile di uscita e da altre variabili dipendenti del sistema controllato, per cui vi è sempre almeno un percorso di segnale chiuso (anello di retroazione).
Nel caso del robot calciatore, il sistema è di tipo complesso in quanto le variabili manipolate e controllate sono molteplici e vanno ad influire sul controllo dei motori e del solenoide, che ne determinano la posizione, il verso e il momento in cui calciare la palla. In figura 5 viene mostrato lo schema a blocchi del robot:
Figura 5 Schema a blocchi del robot calciatore
P a g . 7 | 62
Capitolo 2. Robot Soccer
2.1 Introduzione alla Robocup Jr.
La RoboCup Jr. è un campionato mondiale in cui concorrono diverse discipline di robot quali:
- Rescue
- Dance
- Soccer
Per ogni nazione viene selezionata una squadra per ogni categoria che parteciperà al campionato mondiale che si svolge ogni anno in una nazione diversa.
Nella sfida di calcio della Robocup Junior, squadre di due robot automatizzati devono competere contro altri team di robot calciatori, in un’ambiente che simula un campo da calcio, i robot devono rilevare la posizione della palla e per fare punto devono portarla nella porta avversaria.
Tutto questo deve essere fatto in modo completamente autonomo senza l’intervento degli esseri umani.
I partecipanti sono tenuti a dare il meglio delle loro capacità in programmazione, robotica, elettronica e meccatronica, ma anche a contribuire al lavoro di gruppo e alla condivisione delle conoscenze con gli altri partecipanti, a prescindere dalla cultura, dell’età o del risultato della competizione.
P a g . 8 | 62
Il campo da calcio (figura 6) è composto dal terreno di gioco di dimensioni 122 x 183 cm delimitato da linee bianche. Qualora il robot esca dal terreno di
Figura 6 Campo da calcio regolamentare
gioco, subirà una penalità che comporterà l’espulsione di un minuto, durante il quale, il gioco continuerà normalmente.
Le porte sono di colore blu e giallo, colori che non possono essere presenti in nessun robot poiché potrebbero causare interferenze.
Le partite si dividono in due tempi da 10 minuti, intervallati da 5 minuti di pausa.
Il regolamento completo è disponibile sul sito ufficiale della Robocup Jr. dove si possono trovare le varie limitazioni di forza del calcio (kicker), il tipo di comunicazione wireless possibile tra i due robot, la massima tensione di alimentazione, le regole di Fair play e numerose altre restrizioni come il divieto di double defense (due robot in porta).
Figura 7 Limitazioni fisiche dei robot in base alla categoria
P a g . 9 | 62
2.2 Introduzione al robot calciatore
Una delle caratteristiche peculiari del robot calciatore, è la disposizione dei motori, ognuno dei quali disposto ogni 90° rispetto alla circonferenza del robot (figura 8). Abbinando i motori ad un tipo di
1
ruote dette omnidirezionali (figura 9) è possibile traslare il robot in qualsiasi direzione senza necessità di roteare.
Per traslare in avanti il robot, i motori di destra dovranno roteare in senso orario, mentre quelli a sinistra dovranno roteare in senso antiorario. Per muovere il robot a 45° a destra, è necessario che due motori diagonali siano fermi mentre gli altri due ruotino uno in senso orario ed uno antiorario.
La direzione e la rotazione del robot durante la partita vengono impostati a seconda delle variabili fornite dai vari trasduttori montati sul robot. Particolare attenzione va data al microcontrollore dedicato ai sensori di palla,
Figura 8 Disposizione dei motori
che fornisce la posizione della palla attorno al robot e la sua distanza tramite 20 sensori di cui: 15 posti ogni 12,5 gradi nei 180° frontali e 5 posti ogni 30° sul lato posteriore. Tale configurazione consente di avere una maggiore precisione nei movimenti quando la palla si trova davanti al robot.
Figura 9 Esempio di ruota omnidirezionale
1 Le ruote omnidirezionali forniscono una trazione perpendicolare all’asse del motore e, grazie all’uso di ruotini posti sul perimetro della ruota stessa, anche parallelamente alla direzione del motore stesso.
P a g . 10 | 62
La bussola elettronica HMC6343 della Honeywell, fornisce l’orientamento rispetto al nord magnetico terrestre compensato da eventuali campi magnetici parassiti o da errori di inclinazione, consentendo al robot di avere un punto di riferimento fisso necessario ad annullare eventuali componenti rotative non intenzionali del robot.
Come osservato nella sezione 2.1 (figura 6), il terreno di gioco ha delle linee bianche di bordo che il robot non deve superare per non essere penalizzato; a tale scopo sono impiegati vari sensori a riflessione posti sotto la base inferiore del robot per individuare eventuali variazioni di colore.
Per l’individuazione dei bordi del campo o eventualmente di robot avversari, il robot è equipaggiato con 4 sensori di prossimità ad ultrasuoni disposti ogni 90° attorno alla circonferenza del robot, ed un sensore di prossimità fotoelettrico con uscita analogica posto dietro al robot per rilevare con precisione la distanza dalla propria porta.
Inoltre, come inserito quest’anno nel regolamento internazionale, è possibile
2
giocare con una palla arancione passiva.
A tale scopo è stata aggiunta una telecamera con microprocessore dedicato con interfaccia SPI per il rilevamento dei colori. È possibile non solo riconoscere la palla, ma anche la colorazione delle porte ed eventuali segni particolari sui robot, consentendo tattiche più complesse come il riconoscimento dello sfasamento fra il robot e la porta avversaria, o addirittura la sua posizione
Figura 10 Telecamera presente sul robot
all’interno del campo.
2 Una palla di colore arancione che non emette luce propria come la palla standard da gioco.
P a g . 11 | 62
Tutto questo è consentito grazie ad un modulo Bluetooth integrato nei robot che consente lo scambio di informazioni continuo fra i due robot.
Il robot possiede anche un sistema di calcio formato da un solenoide con un solido ferromagnetico al suo interno che, in presenza di un forte campo magnetico generato da una corrente che scorre nel solenoide, viene spinto fuori ad alta velocità.
Figura 11 Foto del robot dove è possibile distinguere i vari componenti presenti sul robot
P a g . 12 | 62
2.3 Analisi della componentistica
2.3.1 Microcontrollore
Prima di parlare di microcontrollore, è necessario chiarire la differenza fra microcontrollore e microprocessore.
Il microprocessore è l’unità di elaborazione dati e di controllo di un qualsiasi calcolatore, e viene spesso indicato con la sigla CPU (Central Processing Unit).
Sebbene disponga di una potenza di calcolo molto elevata (frequenze di lavoro che si aggirano sui 4 GHz), la CPU da sola non può funzionare data la necessità di un’unità di memoria (RAM e ROM) esterna dove poter alloggiare i programmi su cui esso opera. Per applicazioni specifiche o di tipo industriale, si fa ricorso a sistemi più compatti, come i microcontrollori.
Un microcontrollore è un sistema completo integrato in un singolo chip, progettato per ottimizzare il rapporto prezzo-prestazione di una specifica applicazione. Esso incorpora al suo interno una CPU, unità di memoria (Flash, RAM, ROM) e può contenere diversi dispositivi I/O come buffer, ADC, linee di comunicazione I2C, UART, SPI, ed altri moduli a seconda dell’applicazione specifica. Il robot utilizza due microcontrollori ARM Cortex-M4 MK20DX256VLH7 inserito in una scheda compatibile con l’IDE (Integrated Development Environment) di Arduino chiamata Teensy 3.2 (figura 12).
Il microcontrollore incorpora una CPU da
Figura 12 Scheda del microcontrollore Teensy
32 bit con frequenza di lavoro da 72 MHz
3.2 utilizzato
fino a 144 MHz (Contro gli 8 bit a 20MHz del microcontrollore precedentemente utilizzato Atmega2560), 34 canali digitali I/O che possono erogare 20mA a 3.3V di cui 12 con funzione PWM e 2 convertitori analogico-digitale che permettono di leggere fino a 21 sorgenti separate. Sono presenti inoltre 2 canali di
P a g . 13 | 62
comunicazione I2C, un canale SPI e 2 canali UART che consentono di stabilire una comunicazione con un ampio numero di moduli esterni. Il microcontrollore è stato scelto per la sua velocità di calcolo e l’ampio numero di pin analogici e digitali che consentono di controllare un ampio spettro di moduli aggiuntivi.
Come indicato precedentemente, la Teensy è compatibile con l’IDE di Arduino grazie al bootloader precaricato nel chip che gli consente di interfacciarsi con il computer tramite interfaccia seriale (Serial Wire Debug). Questo consente di programmare la Teensy senza dover ricorrere ad un programmatore ARM, che aumenterebbe il dispendio economico e lavorativo. Altro vantaggio notevole del bootloader è quello di poter utilizzare le librerie sviluppate dalla community di Arduino e PJRC (Casa produttrice della Teensy) che rendono il programma molto più fruibile rispetto a quello standard del microcontrollore.
2.3.2 Bussola
Come esplicato nella sezione 2.2, il robot ha bisogno di un punto di riferimento per potersi orientare relativamente all’ambiente circostante.
Considerando l’elevato numero di disturbi magnetici (Motori dei robot, gambe in metallo del campo, solenoidi) è stato necessario optare per una bussola che fosse in grado di compensare campi magnetici esterni.
Figura 13 Bussola HMC6343
Il modulo HMC6343 restituisce il beccheggio, rollio e imbardata dal magnetometro e le forze agenti sul chip (X, Y, Z) grazie ad un accelerometro a 3 assi. Esso viene collegato al microcontrollore tramite interfaccia I2C ed invia pacchetti di 6 byte contenenti i dati relativi all’accelerometro o al magnetometro (ogni informazione è composta da 2 byte da ricomporre una volta giunti al microcontrollore come in figura 14).
P a g . 14 | 62
Figura 14 Codice utilizzato per richiedere e comporre l'orientamento della bussola
Durante il periodo di preparazione antecedente alla partita, è necessario impostare un punto di riferimento (Nord virtuale) e per farlo si ruota il robot verso la porta avversaria e si compone la media delle letture magnetiche in quella direzione. Questo viene poi comparato con i valori ricevuti successivamente per ottenere l’errore di sfasamento dal nord virtuale (nel software la variabile è chiamata gradiE). Al fine di correggere questo errore, è stato adibito un controllore PID software che attua 3 azioni sull’errore:
- Azione proporzionale all’errore;
- Azione integrale sull’errore;
- Azione derivativa sull’errore;
Figura 15 Definizioni costanti del PID sul programma
Azione proporzionale
2.3.2.1
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Introduzione Analisi di un robot calciatore, tesina
Con il termine RoboCup Jr. si intende quella branca della RoboCup che ha lo scopo di diffondere nelle scuole primarie e secondarie la pratica della robotica. Vi si distinguono tre sezioni fondamentali:
- Robot Explorer
- Robot Rescue
- Robot Soccer
In questa tesina di maturità verrà analizzata la sezione più complessa: il Robot Soccer. La componentistica è stata scelta dopo un'attenta analisi dei vari prodotti offerti dal mercato, e i fondi per la realizzazione sono stati ottenuti tramite delle vincite di progetti scolastici sviluppati da alunni (CHEST) e da sponsorizzazioni di varie aziende che hanno apprezzato il nostro progetto (Robotics3D e MD s.r.l.). In questo lavoro verranno esaminati gli aspetti elettronici ed informatici del robot, analizzando prima macroscopicamente il complesso, e poi microscopicamente tutti i componenti. I robot durante il gioco, hanno numerose variabili di cui tener conto; verranno valutate le scelte fatte per monitorarle e gestirle, al fine di rendere il sistema il più rapido ed efficiente possibile. Questa tesina permette anche i collegamenti con alcune materie scolastiche.
Collegamenti
Analisi di un robot calciatore, tesina
- Sistemi: Tipi di sistemi, encoder, sistemi automatici (PID), Protocolli comunicazione.
- T.P.S.E.E.: Fototransistor, luce.
- Elettronica: Configurazioni A.O., Integratori.
- Matematica: Integrali - Derivate.
- Italiano: Positivismo, Storia: Seconda rivoluzione industriale, Inglese: Transistor *non integrati direttamente nella tesina.