Laboratorio CAD di circuiti elettronici Esercitazione

Download Report

Transcript Laboratorio CAD di circuiti elettronici Esercitazione

Laboratorio CAD di circuiti elettronici
Esercitazione 9
Esercitazione 9
Robot motorizzato per applicazione di line-tracking
Realizzare il prototipo di una “smart-car” in grado di seguire un percorso prestabilito segnato da una
traccia di colore nero su di una superficie bianca (line tracking). Si faccia uso di 3 sensori di traccia
IR. Fare altresì in modo che la smart-car eviti ostacoli rilevati attraverso l’uso di un sensore ad
ultrasuoni.
Per fare in modo che la smart-car rimanga sempre sulla linea, bisogna implementare un semplice
algoritmo rappresentabile tramite una rete combinatoria. Questo significa che, conoscendo gli
ingressi del sistema (le rilevazioni dei sensori) ed escludendo alcuni casi particolari, è possibile
determinare il movimento della smart-car. Direzione e intensità della curva sono ricavate dai valori
letti dai sensori e, per fare in modo che la smart-car sia in grado di affrontare curve più o meno
accentuate, è prevista la possibilità di curvare con due diverse velocità. È necessario specificare che i
sensori distano circa 2 cm l’uno dall’altro e che la linea usata per comporre il tracciato ha una
larghezza fissata a 2.5 cm, pertanto quando la linea dei sensori è perpendicolare al nastro nero,
possiamo avere fino a due sensori che rilevano la superficie scura. Per comprendere meglio il
comportamento della smart car, ricordando che i sensori restituiscono 1 in presenza di superficie nera
e 0 se la superficie è chiara, indicando i sensori di sinistra, centro e destra rispettivamente con S, C e
D andiamo a vedere cosa succede al variare della lettura dei sensori:
• solo il sensore centrale vede nero, la smart car prosegue dritto (SCD=010);
• due sensori adiacenti vedono nero, la smart car curva lentamente a sinistra (SCD=110) o a
destra (SCD=011);
• solo un sensore laterale vede nero, la smart car curva velocemente a sinistra (SCD=100) o a
destra (SCD=001).
Vediamo in pratica cosa succede se consideriamo ad esempio il caso di una curva verso destra (Figura
1), partendo dalla condizione iniziale in cui la smart car è centrata sulla linea nera:
Figura 1
•
•
•
nella fase precedente la curva la smart-car procede dritto, in quanto rileva che solo il sensore
centrale è posto sulla linea (SCD=010);
entrando nella curva, ad un certo punto anche il sensore laterale destro si trova sopra la linea
nera pertanto la smart car capisce di trovarsi in una curva e comincia a girare lentamente
verso destra (SCD=011);
se la curva è particolarmente accentuata, la modifica alla traiettoria della smart-car non sarà
sufficiente a mantenerla nel circuito, quindi devierà verso l’esterno della curva fino a quando
1
Laboratorio CAD di circuiti elettronici
Esercitazione 9
solo il sensore destro resta sulla linea nera (SCD=001), a questo punto l’algoritmo prevede
un'azione ancora più accentuata sui motori, in modo da diminuire il raggio di curvatura e
quindi permettere alla smart car di rientrare in pista.
Per quanto riguarda le combinazioni non discusse (SCD=000, 111 e 101), queste rappresentano
situazioni anomale o casi particolari (vedi Figura 2), la cui gestione richiede la conoscenza del
comportamento passato della smart-car. Per questo motivo la reale implementazione dell’algoritmo
è più complessa rispetto ad una semplice rete combinatoria. Nello specifico:
• SCD=000 - la reazione a questa combinazione varia a seconda del momento in cui è rilevata:
al reset della scheda microcontrollore infatti questa indica che la smart car è stata posizionata
in una zona bianca, pertanto si muoverà di moto rettilineo fino a trovare la linea del tracciato.
Da questo momento l’interpretazione risulterà diversa, il verificarsi di questa combinazione
implica l'uscita dal tracciato, magari in seguito ad una curva particolarmente stretta, in questo
caso è stata prevista una maggiore velocità di sterzata dal corrispondente lato;
• SCD=101 - una rilevazione del genere si ha in presenza di bivio, in questo caso il
comportamento della smart car sarà difficilmente predicibile in quanto altamente influenzato
dalla posizione dei sensori rispetto alla linea. Infatti, a seconda che i sensori rilevino prima
l’una o l’altra diramazione, la sua direzione sarà diversa, e la direzione di curvatura viene
decisa dall’algoritmo come nei passi precedenti. Nel caso in cui invece il bivio sopraggiunga
mentre la smart car si muove in linea retta, si è deciso di cambiare alternativamente la
direzione ad ogni bivio;
• SCD=111 - questa configurazione può essere ottenuta nel caso in cui si incontri una
intersezione lungo il tracciato, oppure, in caso di curva molto stretta. Nel primo caso la
reazione varia a seconda del momento in cui è rilevata: al reset della scheda microcontrollore
infatti questa indica che la smart car è stata posizionata su una linea nera ed stato deciso di
sfruttare questa combinazione per realizzare una linea di start, in questo caso la smart car
resta ferma per alcuni secondi e dopo un breve conto alla rovescia segnalato con il buzzer
parte per proseguire lungo il percorso. Incontrando nuovamente la linea nera mentre
proseguiamo su un rettilineo, questa verrà ignorata e si prosegue dritto. Nel secondo caso
invece si curva in direzione opposta alla precedente per rientrare correttamente sul tracciato.
Figura 2
2