Come costruire un braccio robotico

Scopri come creare un semplice braccio robotizzato con servomotori che possono essere controllati con potenziometri esterni, sfruttando il microcontroller Arduino. I robot, infatti, sono oggigiorno disponibili in molte forme tra cui droni, automobili, rover e persino deambulatori. Sebbene sia importante far muovere un robot nel suo ambiente, è altrettanto importante farlo interagire con il suo ambiente. Questo articolo ti mostrerà come costruire facilmente braccio robotico in grado di muoversi e puntare le cose che potrai usare come progetto stand-alone oppure integrare nel progetto più ampio di un robot umanoide.

Il braccio robotico è uno dei concetti più popolari nella comunità robotica e dei maker. I bracci robotici sono molto comuni nelle industrie, in cui vengono utilizzati principalmente nelle linee di assemblaggio negli impianti di produzione. Il primo pensiero per un principiante è che costruire un braccio robotico sia un processo complicato e comporti una programmazione complessa. In realtà, è possibile realizzare un braccio robotico senza incontrare troppe difficoltà grazie al microcontrollore Arduino.

Arduino è un modo economico e divertente per iniziare a costruire la tua elettronica. All’inizio, può anche essere scoraggiante. Qui ti mostreremo come usare Arduino per un progetto molto stimolante: costruire un braccio robotico. Useremo un semplice progetto di  braccio robot come guida per una varietà di abilità. Esso è usato anche da vari kit open source con tutte le parti necessarie per costruire un piccolo braccio robotico alimentato ad Arduino. Ne potete trovare molti in vendita online, ad esempio qui.

Uno dei numerosi kit di braccio robot programmabile basati su Arduino che trovi ad es. qui.

Per realizzare un braccio robotico, in effetti, è possibile utilizzare una taglierina laser, una stampante 3D o persino scolpire le parti in legno. I kit sono relativamente economici (ho preso il mio per circa 50 euro), quindi sono abbastanza accessibili. Indipendentemente da quale soluzione tu scelga per realizzare il tuo braccio robotico – realizzazione totalmente fai-da-te o kit da assemblare – è assai utile che tu comprenda come funziona, ed in questo senso la presente guida pratica ti sarà comunque utile.

Perché imparare Arduino con questo progetto

Imparare nuove abilità è sempre una sfida. Arduino richiede l’apprendimento di diverse nuove competenze contemporaneamente: elettricità, breadboard, codifica, sensori, servi, telecomandi, assemblaggio e altro ancora. Ognuna di queste abilità può essere difficile da imparare da sola. Sebbene ci siano molti tutorial online, è importante avere un unico obiettivo generale su cui lavorare. Sappiamo anche che il tuo cervello impara meglio quando diffondi il tuo apprendimento nel tempo.

Schema di un semplice braccio robotico con 3 servo (a sinistra) e un ben più complesso braccio robotico su 6 assi (a destra).

Costruire un braccio robotico è un progetto a lungo termine in grado di coprire tutte queste esigenze contemporaneamente, oltre a costituire la base per il più ambizioso progetto di un robot vero e proprio, con mani e mobile. Per chi ha tentato di apprendere progetti Arduino in modo continuativo nell’arco di qualche mese, il braccio robotico è stata in molti casi la migliore esperienza di apprendimento avuta, in particolare perché è completo, espandibile e “cool”. Vediamo perché:

È completo: trovare questa caratteristica nel proprio primo progetto è difficile. Trovarne uno che ti insegnerà qualcosa è ancora più difficile. Puoi costruire un circuito LED abbastanza facilmente, ma tutto ciò che hai è un circuito LED. Imparare a costruire un braccio robotico ti insegnerà come fare il breadboard di un circuito, come programmare il tuo Arduino e come lavorare con le parti in movimento. Alla fine, avrai una cosa reale, fisica che fa quello che gli programmi di fare, non solo una luce di prova.

È espandibile: è sempre possibile migliorare un robot. Questo kit di bracci robotici inizia con alcune abilità fondamentali di base, ma puoi costruirlo con una vasta gamma di espansioni. Puoi aggiungere telecomandi (come infrarossi o Bluetooth) e persino imparare come espandere le capacità del tuo Arduino con protezioni extra. Basta chiedere “Cos’altro posso fare fare questo?” e puoi trovare ogni sorta di nuove competenze da apprendere senza ricominciare da capo un nuovo progetto.

I bracci robot più sofisticati sono manovrabili da remoto tramite un joystick ed un opportuno controller che li interfaccia alla scheda Arduino Uno.

È fantastico: vi sono elevate probabilità, se stai leggendo fino a questo punto, che il pensiero di avere il tuo robot personale ecciti la tua fantasia. I robot sono fantastici, anche se non stai per costruire un robot gigante come i famosissimi Goldrake o Mazinga Z. Possono anche apparire come qualcosa di futuristico e inaccessibile. Se l’apprendimento è migliore quando sei entusiasta di ciò che stai imparando, è difficile battere un braccio robotico per entrare nel mondo di Arduino.

Non pensare al braccio del robot come al tuo primo passo con Arduino. Pensalo come il tuo esame finale. Non appena ottieni un buon starter kit Arduino, dovresti provare un paio di cose di base come collegare un LED a una breadboard o controllarlo con un pulsante, solo per appenderlo. Ancora più importante, Google tutto. Ricorda, questo è un progetto a lungo termine. Non ti guideremo attraverso ogni singolo passaggio, ma ti mostreremo comunque in dettaglio i passi necessari per arrivarci.

Non aspettarti di iniziare senza esperienza venerdì e di finire con un robot senziente telecomandato entro domenica. Pensa a questo articolo meno come un manuale passo-passo e più come una mappa. Ci aspettiamo che dopo la lettura tu faccia degli approfondimenti per alcune ore e torni. Se ti perdi un po’ lungo la strada, non aver paura di fermarti e chiedere indicazioni. Esistono, in ogni caso, vari libri che possono aiutarti ad entrare rapidamente nel mondo di Arduino (v. ad es. qui).

Un esempio di braccio robot comandabile da una certa distanza tramite cavi.

Cosa ti serve per realizzare il progetto

Per realizzare un braccio robotico avrai bisogno dei seguenti materiali:

  • Scheda Arduino Uno
  • 3 o 4 servomotori (il quarto serve per la mano-pinza)
  • 3 o 4 potenziometri lineari (opzionali)
  • Alimentatore stabilizzato da 5V
  • Breadboard
  • Materiali per realizzare la struttura del braccio
  • Stampante 3D (opzionale)

Puoi anche valutare l’acquisto di un kit di avvio (starter kit) Arduino: la maggior parte di questi, infatti, includono i componenti di base necessari per questo progetto (così come molti altri). Avrai bisogno di una scheda Arduino (useremo la Uno R3), filo elettrico di varie lunghezze, un cavo USB per collegarti al tuo computer, una breadboard e tre potenziometri lineari, che possono essere usati come una manopola per controllare il tuo braccio robotico come illustrato in seguito.

Il motore servo SG90 ed un potenziometro che permette di controllarlo manualmente.

I servomotori vengono utilizzati principalmente quando è necessario un movimento o una posizione dell’albero precisi. I servomotori non sono usati per applicazioni ad alta velocità, bensì per bassa velocità, coppia media e applicazione precisa della posizione. Quindi questi motori sono i migliori per la progettazione di bracci robotici. I servomotori sono disponibili in diverse forme e dimensioni. Per un piccolo braccio possiamo usare piccoli servomotori, come 3 o 4 servi SG90.

Un servomotore avrà normalmente 3 fili: uno è per la tensione positiva, un altro è per la terra e l’ultimo è per l’impostazione della posizione. Il filo ROSSO è collegato all’alimentazione, il filo nero è collegato a terra e il filo GIALLO è collegato al segnale. Cerca un tutorial sul controllo del servomotore utilizzando Arduino per saperne di più. In Arduino abbiamo librerie predefinite per controllare il servo, quindi è molto facile controllare il servo, come imparerai insieme a un tutorial.

Ecco lo schema del circuito per il progetto. L’immagine seguente mostra il circuito necessario per il braccio robotico. Il circuito è in realtà molto semplice e coinvolge solo Arduino e 4 servi. Ma la costruzione è più complessa rispetto al circuito stesso. L’alimentazione dei servi non deve essere fornita da Arduino. È necessario utilizzare un’alimentazione regolata a 5 V separata. I pin di controllo di ciascun servo devono essere collegati direttamente ai pin PWM di Arduino.

Schema del circuito di un braccio robotico automatizzato con 4 servo.

Se costruiamo un braccio robotizzato automatico – cioè comandato attraverso le istruzioni fornite nel software, come in un vero robot – non abbiamo bisogno di alcun potenziometro. Se invece vogliamo comandare il braccio robotico manualmente con 4 manopole, come di solito avviene nei kit di braccio robotico reperibili in commercio, allora dovremo usare un circuito diverso. Qui sotto mostriamo, ad esempio, lo schema di un circuito per un braccio con 3 servo.

Schema del circuito di un braccio robotico manuale con 3 servo.

La parte hardware del braccio robotico

Sebbene questo progetto coinvolga l’elettronica, si basa sulla combinazione di elettronica e progettazione meccanica. Un semplice braccio robotico di solito funziona utilizzando servomotori che sono controllati da un segnale PWM. Il duty cycle del segnale PWM determina l’angolo a cui punta il servo. Il design di questo braccio è molto semplice e utilizza solo 3 o 4 motori, che sono i seguenti:

  • Il motore di base: ruota attorno al braccio.
  • Il primo motore del braccio: questo solleva e abbassa la base del braccio.
  • Il motore del secondo braccio: questo solleva e abbassa l’avambraccio.
  • Il motore della mano-pinza: permette di afferrare un oggetto (opzionale)

La costruzione del braccio è semplice. Pertanto, potrebbe essere necessario prendere in considerazione altri aspetti del braccio. La prima considerazione è il materiale da costruzione del braccio. Materiali come il cartone possono essere molto utili per la prototipazione, ma il cartone è più adatto per la colla rispetto alle viti e ai bulloni. Le materie plastiche come l’acrilico forniscono una migliore resistenza e possono essere avvitate in posizione, ma per farlo è necessario un certo livello di macchinari.

Un prototipo di braccio robot realizzato in cartone.

Sebbene le parti stampate in 3D siano molto popolari nella comunità dei maker, le stampanti 3D possono essere costose e richiedere strumenti software CAD che alcuni maker potrebbero non avere. Un materiale versatile e resistente che consente la prototipazione rapida è K’NEX, un gioco di costruzioni in acrilico tipo LEGO. K’NEX è particolarmente utile per coloro che non hanno accesso alle attrezzature degli utensili. In questo articolo, ho scelto di utilizzare l’acrilico per una serie di motivi:

  • Forza: l’acrilico è molto più forte del cartone
  • Semplicità: invece di stampare in 3D un mucchio di parti personalizzate, sono necessarie solo alcune strisce
  • Adesione: i pezzi acrilici possono essere incollati facilmente
  • Disponibilità: avevo un po’ di ricambio sul mio scaffale

Se usi un kit da assemblare, in questa fase dovrai assemblare il braccio del tuo robot. Non farà ancora nulla, ma sembrerà bello. Il produttore dovrebbe dare nel kit istruzioni dettagliate. Il kit dovrebbe essere fornito con una serie di vari pezzi di plastica, alcune viti e 3 o 4 servi. Se non hai mai usato un servomotore prima, è un piccolo motore a bassa potenza che alimenterà il movimento del tuo robot. Alcuni kit ne utilizzano uno nella base, due su entrambi i lati del braccio e uno nella pinza.

Il kit del braccio robotico MeArm, basato su Arduino.

Il prossimo passo è collegare i tuoi servi ad Arduino. Ci riuscirai con l’uso di una breadboard, uno strumento semplice che consente di prototipare i circuiti elettronici prima di montarli completamente, senza bisogno di saldature. Vi sono vari tutorial online che ti guidano attraverso le fasi di connessione del tuo servo direttamente ad Arduino, oltre ad aggiungere i potenziometri nei passaggi successivi, che puoi usare come manopola per controllare manualmente il movimento.

La parte software del braccio robotico

Il software dietro il braccio robotico è molto banale e prevede i seguenti passaggi:

  • Imposta le uscite PWM
  • Imposta gli ingressi analogici
  • Leggi ogni ingresso del potenziometro singolarmente
  • Converti le letture analogiche in angoli (0-180)
  • Invia i valori dell’angolo ai servomotori

Il servocomando si ottiene con l’uso della servo-libreria di Arduino che elimina la necessità di codificare il duty cycle PWM. Uno dei vantaggi dell’utilizzo della libreria dei servo è che qualsiasi pin I/O digitale può essere utilizzato per la temporizzazione e il controllo con l’uso di un array globale e di un singolo timer (ovvero, non viene usato un modulo PWM ad hoc). Dunque, non hai che da caricare sul software (chiamato IDE) di Arduino la relativa libreria e lo “sketch” – cioè le righe di codice – del tuo progetto.

L’ambiente IDE di Arduino in cui viene caricato lo sketch.

Che cosa succede: una volta che hai tutto collegato, è il momento di accendere il tutto. Per questo, dovrai avere il tuo IDE Arduino configurato e collegato alla tua scheda Arduino. Una volta impostato il tuo ambiente, inizierai anche a programmare la cosa. I tutorial online di servomotori hanno un semplice sketch servo che puoi usare per muovere un servo del tuo braccio robotico. Ti consiglio di utilizzare questo sketch con il servo di base, l’unico sul tuo braccio che ha il movimento completo a 180 gradi.

Potresti danneggiare alcuni degli altri servi forzandoli a superare i loro limiti fisici se provi questo sketch con gli altri servi. Tuttavia, una volta capito come funziona questo sketch, puoi provare a modificarlo per lavorare con gli altri! In questa fase, dunque, imparerai un po’ come funziona il movimento dei servi e molto su come programmare un Arduino. Se non vuoi perdere troppo tempo, puoi usare uno sketch già pronto per il tuo braccio automatizzato con 4 servo, che puoi scaricare da qui.

Anche se hai qualche esperienza di programmazione, ti consiglio di prendere un altro fine settimana per imparare come impostare l’IDE di Arduino. Imparare a programmare è un’abilità che dura tutta la vita, quindi non aver paura di lavorare su questa fase per alcune settimane. Puoi basarti ad es. sullo sketch per manopola fornito da Adafruit, che ti permetterà di controllare manualmente il tuo braccio robotico. Non aver paura di sbagliare. In questa fase puoi sperimentare e imparare.

Esempio di sketch di Arduino per servomotore.

Se hai superato tutto questo, hai appena appreso un sacco di abilità in un unico lungo progetto. Da qui, puoi iniziare a espandere ciò che hai. Se ti senti come se fossi appena all’inizio, prova semplici aggiunte come l’aggiunta di un LED per indicare quando il motore sta girando o un pulsante per accendere e spegnere il movimento. Divertiti un po’ con il software e vedi come risponde. Se rovini un po’ il software e capovolgi un servo, puoi ordinare online dei sostituti super economici.

Alcune possibili espansioni del progetto

Hai costruito un braccio robotico. E adesso? Bene, supponendo che non sia diventato senziente e abbia tentato di uccidere l’umanità, ci sono una serie di progetti che puoi perseguire che possono basarsi sul tuo progetto esistente un pezzo alla volta. Non esamineremo ogni possibile espansione in dettaglio, ma ti forniremo alcuni suggerimenti per iniziare a lavorare su queste idee.

Per la mia build, ho ordinato un microcontrollore che può controllare fino a 16 servi da solo, ottimo per 4 bracci. Il kit non è pre-assemblato, il che significa che richiede alcuni lavori di saldatura. Puoi procurarti altri controller che sono pre-assemblati, ma molti costano di più e fanno di meno. Personalmente, penso che un controller da 15 euro sia un modo decente per esercitarsi nella saldatura senza rischiare troppo se lo rovini, ma se non vuoi cogliere l’occasione, esercitati saldando prima un paio di fili insieme.

Un microcontroller che permette di controllare più servo contemporaneamente.

I telecomandi a infrarossi (IR) sono ingannevolmente semplici e possono essere un’aggiunta utile. Tutto ciò che serve è un sensore e un telecomando. Il telecomando invierà i codici al tuo Arduino, che potrai quindi utilizzare per attivare i comandi. In questo caso, è possibile programmare il robot in modo che inizi a muoversi, a smetta di muoversi o vada in una determinata posizione preprogrammata. Esiste già un sacco di codice davvero eccezionale che puoi usare nei tuoi progetti.

Va bene, vuoi diventare davvero pazzo? L o stesso modello di braccio robotico che hai costruito che hai costruito può essere controllato da un Wii Nunchuk. Utilizza un adattatore breakout (al quale puoi collegare direttamente un Nunchuk) e ti fornirà il controllo completo attraverso il joystick, il che significa che puoi farlo muovere nella direzione che desideri, come un pupazzo futuristico. Questo è il componente aggiuntivo più avanzato che abbiamo incluso in questo articolo. È, comunque, davvero bello.