XAMOBOR (1° parte)
Cenni sulla progettazione e costruzione di un robot esapode
Descrizione
Prima di cominciare volevo precisare che il nome XAMOBOR e' un nome quasi univoco sulla rete, nato dal nome ROBO MAX letto al contrario, e MAX è l' acronimo del mio nome Massimo.
Un anno fa, affascinato dal mondo della robotica, ho deciso di cimentarmi sulla progettazione e costruzione di un robot. Purtroppo la scelta è caduta su un robot esapode, dico purtroppo perchè è molto oneroso in termini economici e progettuali, ma in compenso è molto bello dal punto di vista estetico ....
La costruzione di questo robot era piuttosto sentita, quasi una cosa che avevo già precedentemente costruito nella mia mente, tanto che la documentazione la sto scrivendo ora mentre la realizzazione è avvenuta agli inizi del 2008.
Il progetto è stato da me concepito con un' architettura HW/SW del tutto particolare perchè il software di gestione, che permette i movimenti, non risiede sul robot ma viene inviato da un computer esterno tramite una linea seriale RS232. In fase di sviluppo e debug è utilizzato un cavo seriale e un alimentatore esterno mentre, in fase di dimostrazione, l' alimentazione e' garantita da batterie ricaricabili e i dati sono trasmessi via radio con un modulo RS232 a 432mhz.
Questo tipo di architettura ha i seguenti vantaggi:
- Facilità di sviluppo del codice perche' lo si può scrivere con qualsiasi linguaggio di programmazione in grado di gestire una porta RS232 seriale (forse anche con QUICK BASIC)
- Facilità di debug perchè basta compilare il codice e provare ...
- Possibiltà di dotare il robot di un' intelligenza artificiale utilizzando più task in contemporanea che scambiano dati tra di loro (di seguito spiegherò come ho sviluppato e gestito questa tecnica).
Cliccare qui per vedere il filmato del battesimo ..... del robot esapode
Premetto che in questo articolo cercherò di spiegare le soluzioni costruttive da me adottate ma non ritenetelo un progetto che permette, a chi lo legge, di replicare una costruzione analoga perchè la cosa e' molto impegnativa. Posso fornire ulteriori dettagli a chi e' veramente interessato ed e' in grado di realizzare la parte meccanica.
L' argomento è ampio e complesso e cosi' ho deciso di suddividerlo in 3 articoli:
- 2° articolo verrà descritta la costruzione della parte meccanica partendo dai soliti profilati di alluminio.
- 3° articolo saranno descritti gli algoritmi utilizzati sia per i movimenti sia per l'interfacciamento con ROBOREALM.
Descrizione dell' architettura hardware del ROBOT
Nel seguente disegno è rappresentato lo schema a blocchi delle 2 parti principali che compongono il robot esapode:

MODULO TESTA ROTANTE composto da:
2 servomeccanismi mod. "HITech HS-311" (sono i peggiori servo esistenti sul mercato ma costano solo 10 euro l' uno) uno utilizzato per la rotazione a 360° della testa (pan) e l' altro per l' inclinazione alto/basso (tilt). (cliccare qui per vedere il DATASHEET)
1 modulo sonar mod. "LV-max sonar EZ1" utilizzato per la rilevazione della distanza degli oggetti e connesso ad un multiplexer RS232. (cliccare qui per vedere il DATASHEET)
1 sensore ad infrarosso miniaturizzato (sono quelli utilizzati negli antifurti) per la rilevazione di movimento delle persone e connesso a un modulo I/O che comunica sempre con multiplexer RS232.
1 laser utilizzato come collimatore sul punto di rilevazione del sonar.
1 telecamera wireless a 2,4 Ghz per il riconoscimento di oggetti .
VISTA FRONTALE TESTA ROTANTE
|
clicca per ingrandire |
VISTA POSTERIORE TESTA ROTANTE
|
clicca per ingrandire |
MODULO BASE è un pochino più complesso ed e' composto da:
12 servomeccanismi mod. "HITech HS-311" necessari per la costruzione delle 6 gambe del robot utilizzando 2 servo per gamba (per ogni gamba avrei dovuto utilizzare 3 sevo per avere un movimento ottimale ma per ridurre i costi mi sono adattato ...). (cliccare qui per vedere il DATASHEET) I servo motori sono rappresentati con due colorazioni differenti perchè più avanti serviranno a comprendere il movimento delle gambe del ragno.
2 moduli servo controller della POLOLU utilizzati per pilotare i servomotori. I moduli sono configurati con differenti address (0 e 1 ) e connessi al modulo multiplexer RS232. (cliccare qui per vedere il DATASHEET)
1 modulo multiplexer RS232 autocostruito per pilotare con un unica seriale più dispositivi seriali RS232.
1 modulo I/O RS232 autocostruito per gestire con un protocollo seriale RS232 4 porte in input e 4 porte in output.
1 modulo RADIO-RS232 mod. JZ883 per trasmettere e ricevere i dati seriali via radio.
12 batterie ricaricabili da 1.2 NI-HI 5 batterie in serie (6,0 volt) utilizzate per alimentare i servomotori (stilo da 2500 ma garantiscono un' autonomia di circa 12 minuti) e 7 batterie in serie (8,4 volt) utilizzate per le alimentazioni dei circuiti elettronici previo un riduttore di tensione a 5 volt (7805). Le alimentazioni devono essere assolutamente separate per evitare interferenze o disturbi provocati dai motori dei servo.
Per darvi una idea delle dimensioni del robot il disco rotondo che funge da base e' stato recuperato da un vecchio DISCO REMOVIBILE da 80 MB del diametro di circa 36 cm.
VISTA SUPERIORE MODULO BASE
|
clicca per ingrandire |
VISTA PROFILO MODULO BASE
|
clicca per ingrandire |
VISTA INFERIORE MODULO BASE
|
clicca per ingrandire |
Descrizione dell' architettura hardware del MODULO GESTIONE E CONTROLLO
Nel seguente disegno è rappresentato lo schema a blocchi della sezione TX-RX dati e RX segnale video trasmesso dalla testa del ROBOT. Il tutto e' collegato a delle porte USB di un PC portatile o desktop. Il modulo di controllo e composta di:
MODULO TX-RX DATI
1 modulo RADIO-RS232 mod. JZ883 per trasmettere e ricevere i dati seriali via radio.
1 cavo convertitore da SERIALE a USB utilizzato solo per il portatile che non dispone di porta seriale RS232.
1 cavo USB utilizzato solo per prelevare i +5 e la massa per alimentare il modulo WIRELESS RS232
MODULO RX VIDEO
1 ricevitore video a 2,4 Ghz
1 modulo USB per VIDEO CATTURA

Descrizione dell' architettura SOFTWARE del ROBOT
Qui le cose per me si complicano perchè devo trovare un equilibrio tra la sinstesi di spiegazione contro una descrizione prolissa e noiosa.
Nel rettangolo evidenziato dal bordo rosso sono descritti i moduli software che vengono eseguiti in contemporanea sul PC per il controllo del robot; ricordo che tutto, anche i movimenti delle gambe e la rotazione della testa sono gestite e controllate dal PC. Le frecce nere indicano la direzione dei dati che vengono scambiati tar i vari moduli software.
I colori dei rettangoli evidenziano la tipologia del software (vedi leggenda alla fine del disegno).
.jpg)
Oltre al software "farina del proprio sacco..." (evidenziato in ARANCIONE) e ai driver SW forniti dal costruttore utilizzati per il modulo di VIDEO CAPTURE e per convertitore da USB a RS232 (evidenziati in GIALLO) sono stati utilizzati i seguenti software presenti in rete (evidenziati in VERDE CHIARO):
ROBOREALM: e' un software "image processing" per la robotica ed e' gratuito per HOBBY ed uso personale. http://www.roborealm.com/.
VIRTUAL SERIAL PORT DRIVER: e' un software per emulare delle porte seriali virtuali connesse in NULL MODEM. http://www.virtualserialport.com/products/vspdxp/
FINE PRIMA PARTE