Blog : Robotica

Mano Robotica Arduino sketch

Mano Robotica Arduino sketch

Uno tra i progetti piu’ interessanti e d’effetto da intraprendere in campo robotica è certamente quello della mano robotica che si può realizzare utilizzando Arduino. In questo articolo pubblicherò lo sketch realizzato per dare un primo movimento ad una mano robotica al fine di capire il meccanismo di funzionamento e consentirvi quindi di estendere lo sketch con ulteriori personalizzazioni.

La mano robotica da me realizzata consiste in una struttura metallica dotata di dita snodabili qui movimento viene imposto da fascette da elettricista le quali dispongono di capacità di trazione ma soprattutto di ritorno in posizione di memori essendo in materiale plastico.

Ogni dito è legato da una fascetta ad un servo motore che rappresenta ovviamente la forza propulsiva di movimento.

Senza perderci troppo in lungaggini, vediamo lo sketch della mano robotica  Arduino commentando successivamente il codice. Premetto che il codice scritto non è sintatticamente dei migliori ma aiuterà i meno esperti a capire di piu’.

#include <Servo.h>

Servo myservo;

int pos = 0;
int ciclo = 0;

void setup()
{
myservo.attach(9);
}

void loop()
{
for (ciclo = 0; ciclo < 3; ciclo+=1){
for (pos = 0; pos < 45; pos += 1)
{
myservo.write(pos);
delay(15);
}
for (pos = 45; pos >= 1; pos -= 1)
{
myservo.write(pos);
delay(15);
}
}

myservo.attach(10);
for (ciclo = 0; ciclo < 3; ciclo+=1){
for (pos = 0; pos < 45; pos += 1)
{
myservo.write(pos);
delay(15);
}
for (pos = 45; pos >= 1; pos -= 1)
{
myservo.write(pos);
delay(15);
}
}

myservo.attach(11);
for (ciclo = 0; ciclo < 3; ciclo+=1){
for (pos = 0; pos < 45; pos += 1)
{
myservo.write(pos);
delay(15);
}
for (pos = 45; pos >= 1; pos -= 1)
{
myservo.write(pos);
delay(15);
}
}

myservo.attach(12);
for (ciclo = 0; ciclo < 3; ciclo+=1){
for (pos = 0; pos < 45; pos += 1)
{
myservo.write(pos);
delay(15);
}
for (pos = 45; pos >= 1; pos -= 1)
{
myservo.write(pos);
delay(15);
}
}

myservo.attach(13);
for (ciclo = 0; ciclo < 3; ciclo+=1){
for (pos = 0; pos < 45; pos += 1)
{
myservo.write(pos);
delay(15);
}
for (pos = 45; pos >= 1; pos -= 1)
{
myservo.write(pos);
delay(15);
}
}

}

Il codice comincia con l’inclusione della libreria utile per gestire i Servo Motori che è la Servo.h . Questa ci consente di impartire la rotazione di ogni singolo motore in gradi di rotazione.

Ci creiamo quindi un oggetto di tipo servo motore che inizializzeremo nel setup con il numero di porta su cui è agganciato il motore. Nel mio caso ho iniziato dalla porta 9 che corrisponde al mignolo della mano robotica.

Nel loop del programma ho avviato due cicli di for per ciascun dito con una variabile incrementale da 0 a 45 che corrisponderanno a 45 gradi di rotazione dei motori. Il primo ciclo di for sarà incrementale mentre il secondo in decremento e consentirà al dito di ritornare nella sua posizione iniziale.

Terminati i cicli di for per ciascun dito si setta l’oggetto servo sulla porta successiva per cambiare movimento di dito.

Video Mano Robotica Arduino Sketch

L’inglese è importante! Forse meno del Roila.

L’inglese è importante! Forse meno del Roila.

Nel nuovo millennio si è parlato soprattutto di globalizzazione. Si cerca di vedere al mondo come un’unica popolazione, che parli una lingua universale e che abbia un mercato globale.

Forse però un aspetto comunicativo è stato sottovalutato. Come parleremo con i robots?

La risposta pare abbia preso forma. Si chiama ROILA (Robot Interaction Language) ed è un linguaggio sviluppato dalla Eindhoven University of Technology per consentire il dialogo tra umani e robots. Questa lingua mescola africano, tedesco ed inglese con una grammatica molto semplice e senza irregolarità.

In un futuro non troppo lontano potremmo quindi chiedere al nostro robot “butij pimo lupuma” per vederlo andare a prendere una bottiglia.

Nel video seguente un breve spiegazione del linguaggio ROILA:

Il Cane Robot di Boston Dynamics

Il Cane Robot di Boston Dynamics

Ecco un eccezionale video che mostra gli ormai famosi  Spot cani robot della Boston Dynamics. Sono progettati per l’utilizzo interno ed esterno ed alimentati elettricamente.

Gli Spot, montano in testa un rilevatore ad infrarossi in grado di individuare percorsi accidentati ed ostacoli. Grazie ad un utilizzo massivo di oscilloscopi, questi robot detengono uno straordinario equilibrio sia da fermo che in movimento.

Nessun animale è stato maltrattato durante la realizzazione di questo video 😉