1. Il Progetto

Transcript

1. Il Progetto
G.P.R. - GENERAL PURPOSE ROBOT
di Francesco Moraglio e Federico Fontana
PREMESSA
L'immagine di copertina potrebbe dare al lettore un'idea di scarsa serietà o, peggio ancora, di un
progetto a tematica non scientifica. Nonostante ciò, abbiamo deciso di mantenerla.
Nella nota pellicola di George Lucas da cui la foto è tratta, infatti, è presentato un mondo futuristico
dominato dalle più bizzarre tecnologie, tra le quali spiccano fantasiosi robot di ogni genere e forma.
Questi collaborano con gli esseri umani, assolvendo a compiti che variano dal massimo della
banalità a operazioni che per noi risulterebbero in qualche modo troppo complesse o rischiose, o
addirittura del tutto impossibili.
Ed è proprio da questo concetto basilare che parte lo sviluppo del nostro progetto: la creazione, nei
limiti delle nostre modeste competenze e disponibilità economiche, di un modello di robot semplice
ed economico il cui uso possa essere esteso alle masse per i più svariati fini.
INTRODUZIONE
In informatica l'espressione “general purpose” (letteralmente “finalità generale”) identifica
hardware e software che risolvono problemi generali e quindi non sono dedicati ad un' unica
funzione specifica (detti invece “special purpose”) .
L'esempio più calzante di General Purpose per quanto riguarda l'hardware è costituito dal Personal
Computer, che infatti non risponde a una particolare esigenza ma si adatta a quelle dell'utilizzatore.
Un software General Purpose è invece, ad esempio, un foglio di calcolo, un database,
un'applicazione multimediale, che per risolvere un problema deve essere personalizzato dall'utente.
Nel nostro caso si è trattato di realizzare un'apparecchiatura per l'appunto versatile,
personalizzabile, non troppo costosa e, non ultimo, di facile utilizzo.
Il nostro progetto è quello di un robot mobile con un sistema di controllo remoto ed integrabile con
dispositivi di rilevazione (di vario tipo) a scelta dell'utente, gestiti da un microcontrollore
liberamente programmabile.
Sono infatti molti i campi in cui, a nostro parere, potrebbero essere impiegati efficacemente piccoli
robot in sostituzione delle tecnologie d'uso comune (per una trattazione più ampia di questa
tematica si veda la sezione “Possibili applicazioni future” del presente progetto).
Da qui deriva il nome del prototipo: General Purpose Robot.
P R O G E T TA Z I O N E D E L P R O T O T I P O
La difficoltà maggiore incontrata nella progettazione del modello è consistita nel riuscire a trovare
un sistema di guida adattabile all'applicazione di più periferiche.
Inizialmente avevamo pensato di architettattare il tutto intorno ad un economico microcontrollore
Arduino, noto in ambiente informatico per la sua elevatissima plasticità. Questo dispositivo è ideale
per la programmazione di sensori praticamente di ogni genere, ma affidandosi unicamente ad esso
sarebbe stato problematico realizzare i dispositivi wireless per il controllo a distanza. Aldilà delle
difficoltà intrinseche alla costruzione, ciò avrebbe soprattutto compromesso la semplicità d'impiego
del prototipo da parte di persone poco esperte.
Dopo aver condotto alcune ricerche in internet, abbiamo trovato un modo per ovviare al problema.
La soluzione sta nell'impiego di un nuovissimo dispositivo dedicato specificamente al settore della
robotica amatoriale: il WiRC (acronimo per “Wireless RC receiver”). Prodotto dalla' americana
Dension, ditta specializzata in apparecchiature high-tech per uso privato, esso è composto
essenzialmente da un microcontrollore che gestisce una webcam ed una microantenna wireless per
lo scambio di dati. Il grandissimo vantaggio del WiRC è la sua compatibilità, tramite
un'applicazione dedicata, con la maggior parte dei dispositivi Android e iOS (ad esempio un
qualsiasi smartphone o tablet di questo tipo), evitando la costruzione e la programmazione di
telecomandi specifici. Ciò, abbinato all'estrema semplicità della applicazione (fornita dalla stessa
Dension) permette praticamente a chiunque di impiegare correttamente il robot. Ovviamente il
dispositivo è anche perfettamente compatibile con un qualsiasi PC.
Il limite del WiRC consiste nel fatto che non è adatto all'idea di un G.P.R. integrabile con periferiche
aggiuntive. Pertanto è stato deciso di mantenere il microcontrollore Arduino.
Per quanto riguarda invece il sistema di locomozione, abbiamo optato per un semplice quanto
efficace sistema di cingoli in gomma mossi da quattro motori elettrici separati. Essi sono comandati
attraverso un'apposita scheda detta “Motorshield” che si ricollega al microcontrollore Arduino ed al
WiRC (per una trattazione dettagliata della componentistica si veda la sezione “Specifiche tecniche
dei componenti”).
Questa scelta dipende dal fatto che la cingolatura permette, rispetto alle ruote, una mobilità
maggiore su terreni leggermente accidentati, nonostante sacrifichi parzialmente manovrabilità e
velocità del mezzo. Inoltre essa permette una meccanica interna più semplice, evitando il sistema di
sterzo necessario ad un mezzo gommato.
Relativamente infine all'alimentazione va precisato che il robot richiede una doppia tensione di
alimentazione per le differenti caratteristiche dei componenti. Essa può essere risolta o con un
pacco-batteria unico dotato dei relativi trasformatori o semplicemente con due batterie distinte.
SPECIFICHE TECNICHE DEI COMPONENTI
Sono elencati di seguito i componenti principali del prototipo, con le relative caratteristiche. I
componenti sono stati acquistati tramite il sito internet di robotdomestici.it ; un sito specializzato
nella vendita di componenti e materiale per la realizzazione di automatismi, robot, prototipi e in
generale progetti di informatica ed elettronica.
Dension WiRC*
Il Dension WiRC è un modulo di comunicazione Wireless dotato di due ingressi USB, che
collegano rispettivamente una webcam Logitech (fornita insieme al WiRC, ma tranquillamente
sostituibile) ed un'antenna WiFi.
Dispone di 8+4 canali di output, di cui si può regolare la sensibilità come per un trasmettitore
professionale. Punto di forza del dispositivo è la sua grande compattezza.
Caratteristiche:
8 PPM canali di uscita per Servo o controllo ESC
4 uscite digitali (on/off)
4 ingressi digitali (on/off)
1 ingresso analogico
Funzione di sicurezza
Controllo del voltaggio della batteria
Fino a 2 videocamere digitali USB (con un HUB USB esterno)
Ingresso microfono
Uscita speaker
Registrazione video
Compatibile con i seguenti dispositivi:
iPhone 4S, 4, 3Gs e 3G (minima versione iOS supportata: 4.0)
iPod Touch
iPad
Android (beta)
PC Windows (con applicazioni personalizzate)
Specifiche tecniche:
Dimensioni: 44 x 28 x 18 mm
Alimentazione: 6 – 16V
Dotato di connettore alimentazione Tamiya
processore 240 MHz ARM9
16 MB SDRAM
4 MB FLASH
2 Host USB
WiFi 802.11b/g
Risoluzione Video: 325x288 (CIF)
Frame rate: 15 FPS
Consumo Energetico:
100mA @ 6V (minimo)
200 mA @ 6V (Webcam e WiFi accesi)
Arduino Leonardo*
Arduino Leonardo è una scheda basata su microcontrollore ATmega32u4.
Contiene tutto il necessario per supportare il microcontrollore; per utilizzarlo, basta connettetelo a
un PC via USB o alimentarlo via adattatore AC>DC o tramite batterie.
Leonardo differisce da tutte le schede precedenti in quanto l'ATmega32u4 fornisce comunicazione
USB built-in, eliminando il bisogno di avere un processore secondario. Ciò permette a Leonardo di
apparire a un computer connesso come un mouse o una tastiera, oltre che di emulare
permanentemente una porta seriale (CDC) / COM port.
Ciò inoltre consente una notevole semplificazione della programmazione della scheda, che si
esegue con un programma dedicato di facile utilizzo.
Caratteristiche Tecniche
Microcontrollore: Atmega32u
Tensione operativa di funzionamento: 5 V
Input Voltage (consigliata): 7-12 V
Input Voltage (limiti): 6-20 V
Pin di I/O Digitali: 20
Canali PWM: 7
Canali analogici in ingresso: 12
Corrente massima ai pin di I/O: 40 mA
Corrente massima per i pin a 3.3 V: 50 mA
Flash Memory: 32 KB (ATmega32u4) dei quali 4 KB usati come bootloader
SRAM: 2.5 KB
EEPROM: 1 KB
Frequenza di clock: 16 MHz
*le specifiche tecniche sono fornite direttamente dai relativi produttori
Motor shield
Il motor shield è una scheda che permette l’interazione tra la scheda Arduino e la base mobile Dagu
Rover 5. Essa è stata acquistata in kit completo di montaggio ed è stata assemblata da noi tramite un
classico saldatore a stagno per componenti elettroniche.
Base Mobile
La base mobile è una Dagu Rover 5 composta da 4 motori eletrici indipendenti con relativi
encoders. La struttura è realizzata in plastica per contenerne il peso, ma mantiene comunque una
buona rigidità.
Sensori
Il prototipo è dotato di quattro diversi sensori ambientali. Due di essi servono per la rilevazione
della presenza di gas, un terzo misura la temperatura ed il quarto serve per valutare il grado
d'umidità dell'aria. Essi funzionano tramite il microcontrollore Arduino ed i valori rilevati vengono
inviati al dispositivo di comando tramite specifici canali digitali del WiRC.
Alimentazione
L’alimentazione è fornita da un pacco batterie da 12V e uno da 6V. L’alimentazione da 12V fornisce
l'energia necessaria per il corretto funzionamento della base mobile, della scheda Arduino e funge
anche da alimentazione primaria per il modulo di comunicazione (WiRC). L’alimentazione
secondaria di quest’ultimo è fornita dal pacco batterie da 6V.
ASSEMBLAGGIO DEI COMPONENTI
I componenti sono stati assemblati su una base in plexiglass. Il tutto è contenuto all’interno di una
scocca esterna realizzata da noi.
I collegamenti effettuati sono molteplici. Il più importante collega la scheda Arduino ed i motori
(collegati in coppia) al motor shield e questo permette al robot di muoversi. Altro collegamento è
presente tra il modulo di trasmissione WIRC e la scheda Arduino ( per l’interazione tra il robot e
uno smartphone, tablet o computer).
Sono inoltre presenti i vari collegamenti dei sensori alla scheda Arduino e quelli relativi
all’alimentazione che coinvolgono i due pacchi batterie.
P R O G R A M M A Z I O N E E F U N Z I O N A M E N T O D E L G. P. R .
Il microcontrollore, che permette il movimento del robot ed il corretto funzionamento dei sensori, è
stato interamente programmato da noi usando un apposito compilatore Arduino fornito dal
produttore stesso della scheda.
Il modulo di trasmissione (WiRC) è già pre-programmato per il corretto funzionamento con la
scheda Arduino e la relativa applicazione per smartphone e tablet (Android o iOS).
L’applicazione originale è scaricabile gratuitamente dall’Appstore o dal Play Store (a seconda del
sistema operativo utilizzato). Essa include una preconfigurazione personalizzabile che ne consente
un semplice utilizzo. Sullo schermo del dispositivo utilizzato per il controllo viene visualizzata una
schermata composta dall’immagine fornita dalla webcam e da due joystick virtuali (corrispondenti
agli assi X ed Y di movimento) con cui far muovere il robot. Sono inoltre presenti “bottoni”
personalizzabili corrispondenti alle uscite ed entrate del WiRC ed un indicatore del voltaggio
fornito dalla batteria.
Per quanto riguarda invece l’applicazione che consente l’uso del modulo di comunicazione con PC
Windows, ne è reperibile gratuitamente in rete una versione realizzata da un amatore.
POSSIBILI APPLICAZIONI FUTURE
La struttura del prototipo permette una vastissima personalizzazione sia hardware che software.
Questo fatto può essere sfruttato in moltissimi modi diversi, di cui di seguito do solo pochi esempi a
titolo esplicativo.
La compatibilità con sensori di ogni tipo, unito alla base mobile cingolata, lo rende adatto
all'esplorazione di luoghi a alto rischio ambientale per l'uomo. Per esempio, con la dotazione di un
contatore Geiger (di cui peraltro esistono già varianti compatibili con i microcontrollori Arduino),
sarebbe adatto alla misurazione della radioattività in zone contaminate. Dotarlo invece di un
semplice metal detector lo renderebbe un utile supporto agli operatori umani nel settore dello
sminamento di aree post-belliche.
Inoltre esso, ovviamente fornito degli opportuni strumenti di rilevazione, sarebbe anche adattabile al
fine di eseguire ispezioni statiche di strutture a rischio di crollo (come vecchi ponti ed edifici).
Altro settore in cui un robot di questo tipo troverebbe un'applicazione utile sarebbe, a nostro parere,
quello della videosorveglianza. Una sola unità, opportunamente programmata tramite Arduino,
sarebbe in grado di seguire percorsi prestabiliti sostituendo le numerose telecamere a circuito chiuso
d'uso comune.
Infine l'utilizzo puramente ludico del robot sarebbe comunque interessante perchè permetterebbe di
scoprirne pienamente le potenzialità e di correggerne eventuali difetti.
ECOLOGIA
L'idea della realizzazione del G.P.R. è stata sin da subito accompagnata dalla volontà di impiegare
per il prototipo materiale di riuso, al fine di contenerne il costo. Purtroppo però già durante la fase
progettuale ci siamo resi conto dell' infattibilità di ciò, data la necessità di parti tecnologicamente
avanzate per il funzionamento del robot. Tuttavia non ci siamo del tutto arresi e abbiamo cercato di
usare dove possibile materiali altrimenti destinati a diventare rifiuti.
Per esempio, il cablaggio interno è stato interamente realizzato con connettori vari recuperati da
vecchi PC un tempo in uso presso il nostro liceo ma attualmente sostituiti da parecchi anni.
La scocca esterna invece è stata ricavata da confezioni di patatine in cartoncino. Ciò, per quanto
possa apparire bizzarro, ha consentito di creare una copertura decisamente leggera e quindi
vantaggiosa per il nostro prototipo.
*************
RINGRAZIAMENTI
Il Dirigente Scolastico: Prof. Bruno Gabetti
La Coordinatrice didattica: Prof.ssa Marina Orazietti
I Docenti: Prof. Roberto Aimasso e Prof. Mario Olmo