Università degli Studi di Roma
“Tor Vergata”
Corso di Laurea in
Ingegneria dell’Automazione
A.A. 2011/2012
Facoltà di Ingegneria
Relatore
Ing. Daniele Carnevale
Candidato
Damiano Mattei
Realizzazione di un LineFollower
4WD
Punti fondamentali
• Introduzione
• Struttura ed hardware
• Algoritmo di controllo
• Comunicazione seriale
• Conclusioni
2
Introduzione
Il lavoro svolto si colloca negli ambiti:
• Robotica Industriale
I LineFollower vengono utilizzati per
compiere spostamenti e/o trasporti di
prodotti.
E’ richiesta un’elevata precisione e
velocità in presenza di spazi angusti
Tunnel LHC al CERN di Ginevra
3
Introduzione
Il lavoro svolto si colloca negli ambiti:
• Intrattenimento ludico
Il progressivo calo dei costi delle
apparecchiature elettroniche ha fatto si che
queste entrassero all’interno delle abitazioni,
permettendo all’utente medio di sperimentare e
realizzare i propri progetti
Ogni anno vengono organizzate
gare di LineFollower
4
Introduzione
Cosa sono i LineFollower?
I LineFollower sono dispositivi automatizzati finalizzati a
compiere un percorso seguendo una linea tracciata sul
pavimento
Sensoristica divisa per:
- Rilevamento del percorso
- Rilevamento ostacoli
5
Struttura ed
hardware
•
Struttura meccanica
Tamiya Audi R8 LMS 24H Nurburgring TT-01E :
- Trasmissione cardanica 4WD
- 4 sospensioni indipendenti a doppio braccio con molle elicoidali
- Motore CC 540 collocato longitudinalmente
- Controllo elettronico di velocità Tamiya TEU-104BK
6
Struttura ed
hardware
•
Struttura meccanica
Servo Hitec HS-422 Deluxe:
- Velocità operativa 0.21 sec/60° a 4.8V
- Coppia d’uscita 3.3 kg*cm a 4.8V
- Doppio cuscinetto Dual Oilite
7
Struttura ed
hardware
•
Sensoristica
Sensori QRD1114
- Composti da un diodo LED, emettitore,
ed un fototransistor, ricevitore
- Pochi mV per superfici chiare,
con alto grado riflettente
- Circa 5V per superfici scure,
con basso grado riflettente
8
Struttura ed
hardware
Sensoristica
•
Sensori Sharp GP2Y0A21YK0F
- Distanza rilevamento 10cm - 80cm
- Composti da un diodo emettitore, un
rilevatore di posizione ed un circuito di
elaborazione
- Pochi mV per oggetti a distanza
massima
- Circa +5V per oggetti a distanza minima
9
Struttura ed
hardware
•
Hardware
Modulo Wireless Digi International Xbee
- Tre principali tipologie: Serie1, Serie 2 e Serie Pro operanti a 2.4Ghz con
caratteristiche tecniche crescenti
- 12 diversi canali, BaudRate seriale 1200 – 115200 baud/s, indirizzamento
univoco
- Protocollo ZigBee ideato appositamente, basato sullo standard IEEE 802.15.4,
concollegamento di tipo Mesh
10
Struttura ed
hardware
•
Hardware
Scheda di controllo STm32 VL Discovery
- 64 pin multifunzione, 128Kb di memoria Flash, 8Kb di Ram
- Potenza di calcolo processore fino a 24Mhz
- Versatilità, può compilare processori esterni ad essa
- Prezzo: più economica rispetto l’ Arduino
11
Struttura ed
hardware
•
Hardware
Alimentazione
- Pacco batterie da 6 pile NiMh da 1.2V
e 4.500 mAh ciscuna disposte in serie,
per una tensione totale di 7.2V
- Regolatore lineare di tensione LM1117,
per deviare la tensione dall’unità di controllo
ai sensori, regolandola a +5V
12
Algoritmo di
Controllo
Algoritmo di controllo
•
Rilevazione degli ostacoli
Blocco del motore, arresto del LineFollower
•
Rilevazione tracciato
Modifica della direzione per mantenere l’allineamento con il percorso
13
Algoritmo di
Controllo
Algoritmo di controllo
L’algoritmo implementato è riassumibile
da un’automa a stati finiti
Ogni stato è etichettato da tre bit,
[SX;CX;DX] = [b1;b2;b3]
I bit assumono valore:
•
•
1 se il sensore QRD rileva una
superficie scura
nastro rilevato
0 se il sensore QRD rileva una
superficie chiara
nastro non rilevato
14
Algoritmo di
Controllo
Algoritmo di controllo
•
•
•
FASE 1 (SX.CX.DX = 010): Il dispositivo procede diritto (pwm=0.9 ms,
D=4.5%)
FASE 2 (SX.CX.DX = 011): Il dispositivo rileva una curva, sterza
lentamente verso destra (pwm=0.5 ms, D=2.5%)
FASE 3 (SX.CX.DX = 001): la curva risulta molto pronunciata, il
dispositivo diminuisce il raggio di curvatura per ritornare sul tracciato
(pwm=0.3 ms, D=1.5%)
15
Algoritmo di
Controllo
Algoritmo di controllo
Casi non considerati:
•
•
SX.CX.DX = 111:
- presenza di un incrocio
- cause non considerate
SX.CX.DX = 101:
- presenza di un bivio
- cause non considerate
16
Regolatore
PD
•
Regolatore PD
Parte Proporzionale
•
Parte Derivativa
int PD(int sensore,float kp,float kd){
if (sensore>3800){
sensore=3800;
}
err=sensore-300;
P=kp*err ;
if(kd>0){
D=(kd*(err-old_err))/Ts;
old_err=err;
}
else {
D=0;
}
C=P+D;
return(C);
}
17
Regolatore
PD
Regolatore PD
int PD(int sensore,float kp,float kd){
if (sensore>3800){
sensore=3800;
}
err=sensore-300;
P=kp*err ;
if(kd>0){
D=(kd*(err-old_err))/Ts;
old_err=err;
}
else {
D=0;
}
C=P+D;
return(C);
}
18
Comunicazione
Seriale
Comunicazione
Seriale
Problema affrontato:
Stesura Protocollo di Invio e Ricezione
Cause:
•
•
Valori utilizzati 32 bit
Valori gestibili da periferica USART 8
bit
Risoluzione:
Scomporre i valori in 4 Byte gestibili dalla
USART
19
20
Conclusioni
Conclusioni
•
•
•
•
Soddisfacente inseguimento del tracciato
Utilizzo e gestione della scheda di controllo STm32 VL
Discovery
Realizzazione dei circuiti elettrici
Comunicazione Seriale con moduli XBee Serie2 stabile ed
efficiente
21
Grazie per
l’attenzione
Scarica

Università degli Studi di Roma “Tor Vergata” Corso di Laurea in