Chi si fa coinvolgere dall'approccio Open Hardware di Arduino finisce, prima o poi, per cercare di costruirsi un piccolo robot che sappia muoversi da solo. YouTube è piena di casi del genere, con mini-robot che vagano per casa, spaventano gatti e nel frattempo riescono, grazie ai loro sensori e a una buona programmazione, a evitare tutti gli ostacoli che si parano loro davanti.

La progettazione di un robot del genere però è sempre stata considerata cosa da appassionato "evoluto", non tanto per la difficoltà nella programmazione degli sketch in sé ma perché richiede di confrontarsi con l'utilizzo dei motori e dei loro controller. Già solo capire quali vadano meglio per il nostro specifico progetto non è proprio immediato per tutti.

Il kit di Arduino Robot - Credit foto: Engadget

Lo staff Arduino ha deciso di semplificare la vita alla sua community e ha creato Arduino Robot, che viene definito come "il primo Arduino ufficiale su ruote", dato che di board Arduino finite non ufficialmente su ruote ce ne sono ormai migliaia. Nello sviluppo di Arduino Robot ci si è basati anche sulle esperienze maturate in un campo molto particolare della robotica da appassionati: il calcetto robotico.

Arduino ha infatti collaborato con Complubot, un progetto di robotica collegato a un liceo spagnolo che partecipa regolarmente, di solito con ottimi risultati, ai campionati mondiali di calcio robotico RoboCupJunior. In questa competizione piccoli robot su ruote si sfidano in squadre di due elementi e devono avere a bordo l'intelligenza necessaria per seguire una pallina, guidarla in maniera opportuna e segnare più gol degli avversari. Tutto in autonomia, dato che eventuali comunicazioni sono possibili solo tra i due robot di una squadra e non tra di essi e un "allenatore" umano.

La Control Board, con il display LCD e i pulsanti di controllo - Credit foto: Arduino

L'esperienza di Arduino e Complubot ha portato alla ideazione di un robot dotato di due "cervelli" identici ma distinti: due board entrambe basate sul microprocessore ATmega32u4 che interagiscono fra loro ma che sono dedicate a compiti completamente diversi. La Motor Board, più semplice, è dedicata esclusivamente al controllo dei due motori dell'Arduino Robot (uno per ciascuna ruota) e dispone di cinque sensori pre-installati a infrarossi e di quattro pin digitali per collegare altri sensori supplementari. La Control Board è più ricca di elementi: otto pin analogici per sensori anch'essi analogici (rilevatori di distanza, interruttori meccanici, eccetera), sei pin digitali collegabili ad altri sensori, un piccolo display LCD a colori, una bussola integrata, uno slot per schede di memoria SD e alcuni pulsanti di comando.

La Motor Board vista dal basso, con i cinque sensori IR e le due ruote - Credit foto: Arduino

Le due board hanno lo stesso microcontroller ma la loro programmabilità è diversa, almeno nelle intenzioni di Arduino. Idealmente si dovrebbe programmare solo la Control Board, che presenta un ambiente analogo a quello della board Leonardo, basata sullo stesso processore ATmega32u4. Il firmware di default della Motor Board, attraverso la nuova libreria Robot, "nasconde" la complessità della gestione dei motori e permette di fare tutto con quattro semplici comandi: avvia i motori alle velocità x e y (un valore per ciascuna ruota), ferma i motori, ruota di x gradi a destra o sinistra, punta verso la direzione degli y gradi assoluti.

Programmare direttamente la Motor Board significa personalizzare il firmware, il che serve solo per aggiungere nuovi comandi che poi uno sketch per la Control Board invocherà oppure per introdurre nuove modalità di spostamento automatico, come quella (già definita) in cui la Motor Board segue una linea tracciata sul pavimento identificandola con i suoi sensori infrarossi, senza coinvolgere la Control Board.

Cosa si può fare con Arduino Robot? Ovviamente di tutto, come per qualsiasi altra board e nella logica dell'Open Hardware. Il kit di Arduino Robot comprende alcuni sketch di esempio ma sono, appunto, solo esempi di quello che è possibile ottenere. Insomma, se l'idea di mettere l'intelligenza di Arduino su ruote vi stimola e magari avete già un po' di esperienza con Leonardo, il nuovo Robot fa per voi e promette un bel po' di divertimento. A portata di clic, anche qui su MakeTank.

Credit foto principale: Arduino

 

Leave a reply