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