Braccio robotico controllato con Arduino

Premessa
Certi che la robotica assumerà a breve lo stesso ruolo che negli anni ’90 ha rivestito l’informatica in quanto a innovazione e sviluppo di nuove tecnologie e per il suo carattere di forte interdisciplinarità e allo stesso tempo per la capacità di fungere da disciplina agglomerante contenuti di base della fisica e matematica, alcuni alunni sono stati guidati a realizzare un prototipo di braccio robotico antropomorfo. Esso è stato messo a punto, grazie all’utilizzo dei laboratori e attrezzature disponibili nell’Istituzione Scolastica, dagli alunni Alfano Alfonso, Alfano Innocenzo, Nocera Pietro e Longobardi Natale, tutti della classe V° G a indirizzo Meccanica, Meccatronica ed Energia, coordinati dal Prof. Fausto Avitabile (Docente Referente),negli ultimi 3 mesi dell’ anno scolastico 2014/15.robot antropomorfo si presenta come prototipo funzionante di braccio robotico programmabile da utilizzare per ulteriori sviluppi ed esercitazioni in aula,finalizzato a riprodurre sommariamente i movimenti del braccio umano.
Infatti, come è possibile osservare nella figura sottostante, esso è composto da varie articolazioni che gli permettono di realizzare movimenti e azioni particolarmente complesse.

Analizzandolo è possibile individuare 4 componenti principali:
aaa-aaLa Base, su cui poggia il braccio e che ne permette la rotazione intorno al proprio
aaa-aaasse;
aaa-aaLa Spalla, che permette di alzare ed abbassare la mano, oltre a permetterne
aaa-aal’estensione;
aaa-aaL’Avambraccio, che permette di eseguire le stesse operazioni del braccio;
aaa-aaLa Mano, che oltre a potersi aprire e chiudere può ruotare sul suo asse o alzarsi ed
aaa-aaabbassarsi simulando i movimenti del polso.

Descrizione del lavoro

Il robot antropomorfo è mosso da 6 servo motori in corrente continua che permettono di muovere i vari link.
Esso possiede infatti 5 gradi di libertà più il movimento di apertura e chiusura della pinza. Il primo grado di libertà consente il movimento di rotazione intorno all’asse verticale, il secondo e il terzo consentono il movimento dei due bracci articolati, il quarto il movimento della pinza, il quinto la rotazione della pinza intorno al proprio asse. Con tale assetto sarà possibile utilizzare lo stesso robot per numerose diverse applicazioni in funzione della programmazione effettuata.
Per permettere la trasmissione del moto dei suddetti servo motori è presente un sistema di ingranaggi che collega l’albero di ogni servo motore alla corrispondente articolazione.
I servo di cui dispone il robot sono di due tipi:
aaa-aa3 di potenza modesta sono impiegati per la rotazione e per l’apertura\chiusura della
aaa-aamano;
aaa-aa3 di dimensioni e potenze più elevate, che permettono al braccio, attraverso semplici
aaa-aaingranaggi, di movimentare carichi dell’ordine di 2kg circa.

Il tutto è comandato da Arduino,una scheda elettronica di piccole dimensioni con un microcontrollore e circuiteria di contorno, utile per creare rapidamente prototipi per scopi hobbistici e didattici.

Particolare Stampa 3D degli ingranaggi

Servomotore e sua modellazione

La fase di costruzione vera e propria è stata preceduta da uno studio virtuale del comportamento del braccio effettuato utilizzando software specifici di disegno e progettazione 3D che ha consentito di ottimizzare la forma delle varie parti e la verifica della compatibilità al montaggio dei componenti acquistati (servomotori, cuscinetti etc.).

Esploso virtuale dei componenti

Definiti così i particolari componenti il braccio, si è passati dal loro disegno in 3 D e alla costruzione con tecniche di prototipazione rapida. Infatti tutti i componenti sono stati interamente costruiti grazie ad una stampante 3D disponibile all’interno del nostro laboratorio di automazione e successivamente assemblati con cura. In questa fase, si è fatto ricorso all’applicazione delle tecnologie CAD-CAM e di software dedicati per pervenire al codice di lavoro della Stampante 3D necessario per realizzare le varie parti.

Fasi di montaggio delle parti

Terminato il montaggio meccanico e verificato il corretto funzionamento, si è passato al cablaggio del sistema. In particolare visto che lo scopo del lavoro era quello di creare un robot programmabile, ovvero che potesse effettuare diverse operazioni a seconda del codice di programmazione inserito, si è fatto ricorso ad un microcontrollore programmabile Open Source e cioè Arduino uno. Inoltre, volendo rendere il robot interattivo, ovvero capace di rilevare la presenza e la distanza di oggetti in un determinato raggio d’azione ed effettuarne la presa e il posizionamento, si è corredato di un sensore ad ultrasuoni.

Cablaggio e collaudo

Ultimato il montaggio e il cablaggio è iniziata la fase di programmazione vera e propria del robot. Si è innanzi tutto proceduto ad una calibrazione iniziale necessaria per stabilire delle posizioni assolute dei bracci e dei componenti e quindi sono iniziate le prime prove di movimento. Il linguaggio di programmazione utilizzato è quello di Arduino che è molto simile al Linguaggio C. Data la caratteristica di essere Open Source, in rete è possibile trovare numerosi esempi di programmazione e di utilizzo di sensori e attuatori, nonché i data sheet dei componenti utilizzati per i movimenti e i rilievi. Quindi anche allievi con conoscenze non approfondite di programmazione in quanto appartenenti ad un corso di meccanica, hanno in breve tempo preso familiarità con la piattaforma riuscendo a movimentare il robot secondo piacimento. E’ stato così implementato per passi successivi, a titolo di esempio delle possibilità offerte dal prodotto, un algoritmo capace di effettuare per rotazione intorno all’asse verticale l’individuazione della posizione dell’oggetto da afferrare, la misura della sua distanza e da questa calcolare in base a funzioni matematiche tra l’altro già verificate in simulazione iniziale, le coordinate di movimento dei bracci per consentire l’afferraggio del componente. Infine il programma prevede il posizionamento in un punto stabilito dell’oggetto afferrato e il riposizionamento del braccio. E’ possibile in questo modo individuare un oggetto che si trovi nel raggio di 25 cm dal braccio in una qualunque posizione compresa in un settore circolare di 180° di ampiezza. Ma questa è solo un applicazione. Infatti con lo stesso Hardware, magari implementando un sensore di colore sarebbe possibile anche raccogliere l’oggetto e posizionarlo in punti diversi a seconda del colore rilevato costruendo così un selezionatore ottico. Il sistema si presenta molto interessante soprattutto per la relativa semplicità percepita in confronto a sistemi “blindati” esistenti in commercio ma anche per la capacità di fornire gli stimoli continui di miglioramento e conoscenza guidati dal desiderio di veder “funzionare” un propria idea.
Infine sono stati effettuati anche studi di simulazione della resistenza meccanica dei bracci per verificare la correttezza del progetto di massima effettuato.

Torna in alto