www.ideegeniali.it

CNC611 - Kit CNC a 3 assi
Cobra 2A
Proxxon MF70 CNC
KITT VoiceBox
Rumorella
Traforo polistirolo
ULP drill-aid per Eagle
GCode Rotator
Robot III
Telecomando per PC
Scacchi e scacchiera
Lampeggiatore 2 led
Alimentatore breadboard
Relais matrix
NiMh Fast Charger
Hdd activity
Molex w/Blue Led

Negozio online
Ideegeniali - Progetti - Robot III

Robot III

Realizzato a: giugno 2004

Robot III: un line-follower

Erano due anni che volevo costruire un line-follower, cioè un robot che segue autonomamente striscie disegnate sul pavimento. Finalmente ho trovato tempo, competenze e materiali per riuscirsci come volevo (dopo due tentativi falliti). Ho intenzione di fare una descrizione dettagliata del progetto, intanto potete vedere foto e video del Robot in azione, e una scheda tecnica:

Scheda tecnica

1) Alimentazione: pacco 5 pile NiMh, interruttore accensione, connettore di ricarica e caricabatterie rapido esterno dedicato.
2) Organi di moto: Due motori DC con ingranaggi motoriduttori e due ruote in gomma.
3) Intelligenza: Microcontrollore PIC16F876 della Microchip, 8k-rom, 320 byte-ram, 3 timers, 2 moduli pwm. Non usati: ADC, UART, i2c, ...
4) Organi di senso: 4a) 7 coppie diodo emettitore infrarossi/fotodiodo ricevitore che guardano il pavimento, ciascuna con led verde di indicazione con elettronica di controllo indipendente dal microcontrollore.
4b) Sensore di prossimità a infrarossi, codificato in frequenza (per essere insensibile a variazioni di luce ambiente), a caccia di ostacoli frontali.
4c) Bumper in fil di ferro di backup se gli infrarossi falliscono (oggetto troppo piccolo, troppo scuro, troppo basso e/o troppo angolato).
5) Organi di indicazione: La caratteristica più originale sono
5a) le luci di indicazione: luci di posizione, frecce di direzione, abbaglianti, retromarcia, stop (led spider ultrabright), e il
5b) clackson (buzzer piezoelettrico), come una vera auto guidata da un autista impaziente.
6) Circuiti integrati: Ci sono ben 9 circuiti integrati in questo progetto. In ordine di costo:
7805T: regolatore di tensione;
74HC14: sestuplo buffer digitale;
74HC595: Shift-register 8 bit;
74HC138: 3-to-8 decoder;
LM311: comparatore;
LM567: codificatore/decodificatore di tono;
ULN2802: array di transistor darlington;
L293: doppio H-Bridge in package MultiWatt;
PIC16F628: microcontrollore.

Cosa fa

In aggiunta alla funzione base di 1) seguire la pista, il mio progetto:
2) segue indifferentemente linee chiare su fondo scuro o scure su fondo chiaro;
3) attraversa incroci di linee con disinvoltura e senza incertezze;
4) cerca (e trova) la pista da solo, sistemato lontano da questa;
5) adatta continuamente la velocità di percorrenza alle variazioni di raggio di curvatura della pista (corre nei tratti prolungati a raggio di curvatura costante, oltre che sui rettilinei);
6) nella rara eventualità di finire fuori pista per una curva troppo stretta affrontata troppo rapidamente, riprende la corretta via con una retromarcia e riaffronta lo stesso tratto a velocità ridotta;
7) si ferma se c'è un ostacolo in pista, prova a lampeggiare e suonare per vedere se l'ostacolo va via da solo, così da riprendere il cammino, oppure, se l'ostacolo resta lì, effettua uno spin di 180° e riprende il giro nella direzione opposta;
8) Si ferma se la pista finisce;
9) spegne i motori e accende le quattro freccie quando viene sollevato da terra.

Video

I video sono stati girati grazie ad una mini-telecamera a radiofrequenza che ha portato un giorno un amico a casa mia. Purtroppo le riprese sono un po' scure. Il fatto che la telecamera fosse a radiofrequenza, ci ha consentito di realizzare le riprese in soggettiva, anche se purtroppo disturbate data la vicinanza (1 cm) tra la videocamera e i motori (di una certa potenza). Fissare la telecamera è stato facilissimo grazie alle alette del dissipatore che sembravano fatte apposta per reggere la staffa della microtelecamera. Anche lo spazio per la pila da 9V sullo chassis del robottino è stato ricavato senza problemi. Fortunatamente l'aumento di peso, in quanto di modesta entità, non ha richiesto la ritaratura delle costanti del firmware di controllo.

I video sono in formato .avi e utilizzano i codec DivX 5.1.1 e Mp3. Si, avrei preferito Mpeg, formato più portabile, ma non trovavo i software adatti (chissà dove si sono andati a nascondere). Consiglio di vedere i video in ordine, ovvero, dovendo saltare la visione di qualcuno, di scartare gli ultimi.


V_helycam.avi
(464 Kb, 34'')
Inquadratura: di tre quarti.
Situazione: attraversamento incrocio di linee, arresto per cartello di attraversamento pedonale, spin 180°. L'inquadratura esterna consente di comprendere bene la situazione e le azioni intraprese.

V_cockpitcam.avi
(622 Kb, 32'')
Inquadratura: in soggettiva (immagine disturbata per interferenze con motori).
Situazione: la stessa di prima, attraversamento incrocio, attraversamento pedonale, spin 180°. L'inquadratura in soggettiva (telecamera montata su robottino) offre un punto di vista originale, e rende giustizia della velocità, alta relativamente alle dimensioni di robottino e pista, alla quale vengono compiute tutte le manovre, in particolare arresto PRIMA dell'ostacolo e spin rapido.

V_autofind.avi
(104 Kb 6'')
Inquadratura: satellite.
Situazione: Robot III, sistemato lontano dalla pista, la va a cercare e la trova da solo.

V_perfectspin.avi
(130 Kb, 10'')
Inquadratura: satellite.
Situazione: spin 180° senza esitazioni: la frenata inizia prima del termine dello spin, e si conclude nel punto giusto, grazie ad un ulteriore leggero colpo sul freno. Sfido qualunque pilota di Rally a fare lo stesso ;-)

V_reversegear.avi
(116 Kb 13'')
Inquadratura: tre quarti di lato.
Situazione: spin 180° difficoltoso, causa batterie scariche, comunque corretto grazie a retromarcia.

V_quadrato.avi
(148 Kb, 10'')
Inquadratura: di tre quarti.
Situazione: La pista presenta raccordi a 90° secchi e pochi spazi di manovra. Il percorso è infatti un quadrato di lato poco più della distanza tra le due ruote: una situazione dura per un line-follower; non per questo che regola la velocità e ha la possibilità della retro-marcia: agli angoli effettua una vera e propria manovra.

V_retrocam.avi
(314 Kb, 15'')
Inquadratura: da dietro, ravvicinata.
Situazione: segui pista generica. La particolare inquadratura la fa sembrare un inseguimento da film poliziesco, che rende giustizia della precisione con cui viene seguita la pista, nonostante le sue irregolarità, spesso non visibili da lontano.

V_faccione.avi
(308 Kb, 19'')
Inquadratura: in soggettiva (immagine disturbata per interferenze con motori).
Situazione: Robot III si ferma per non sbattere contro la faccia del mio amico Michele (che mi ha prestato la video-camera per queste riprese). Robot III riprende il cammino non appena il faccione indietreggia o si toglie del tutto.

V_floor.avi
(272 Kb, 20'')
Inquadratura: camera a pavimento su pista.
Situazione: Robot III colpisce la telecamera perché non la rileva a infrarossi (Troppo bassa), ma, quando la sente con il bumper, torna indietro.

V_frontcam.avi
(192 Kb, 11'')
Inquadratura: d'avanti (inquadrati i led verdi dei sensori rivela-pista).
Situazione: nonostante le indicazioni non sempre perfette dei sensori di pista, Robot III la segue lo stesso senza problemi. Inoltre si può notare che Robot III si ferma quando sta per sbattere contro la telecamera, per poi riprendere il cammino quando questa si allontana, grazie al suo sensore frontale a infrarossi.


Finito il robot, via alle modifiche!

Non contento del look di Robot III, sono andato a scovare due lampadine di un robot-giocattolo che conservavo fin da piccolo, e le ho adattate per montarle sul circuito. Ho saldato le lampadine su un connettore, ho limato la calotta per farci stare il connettore sotto, e ho affogato tutto nella colla termica. Ho dovuto cambiare la resistenza in serie poiché si tratta di una lampadina anziché un Led, e ho messo la resistenza dove stava il led, e la lampadina dove stava la resistenza (più arretrata, e a 90°), poiché altrimenti avrebbe dato fastidio al bumper. Fortuna vuole che non ho dovuto fare modifiche alla basetta ma solo dissaldare i vecchi componenti e saldare i nuovi. Non è molto più carino così? Se avrò tempo ho intenzione di fare un'intera carrozzeria semi-trasparente in plexiglass blu, illuminata a led blu (povere pile, quante luminarie oltre ai motori) :-)


Sito in costruzione