Da oggi anche i robot hanno il senso dell’orientamento

Spesso sulle nostre pagine hanno trovato spazio soluzioni auto costruite come robot oppure droni. Ma come si arriva ad un risultato di questo tipo? Come si può creare una struttura robotica completamente autosufficiente in grado, per esempio, di orientarsi nello spazio, di evitare la collisione con oggetti e così di riequilibrare il suo assetto oppure di individuare con precisione la sua posizione? Ecco alcune soluzioni che vi saranno davvero molto utili se vorrete rendere il vostro robot perfettamente funzionante. Buona lettura.

Per poter fare navigazione c'è bisogno di indicazioni precise ma anche di strumenti adeguati. Quando a dover navigare non siamo noi ma un drone oppure un robot, la precisione è ancora più necessaria perché si tratta di dotarlo degli strumenti necessari per poter essere autosufficiente.
Se saprà muoversi, modificare la velocità di rotazione delle ruote e dei cingoli in funzione del tipo di terreno, orientarsi e mantenere la direzione o svolgere altri compiti altrettanto complessi sarà solo perché lo avremo dotato di sensori iniziali oppure unità di navigazione sufficientemente precise ed accurate.
Oggi vediamo alcune soluzioni che possono certamente fare al caso vostro e che appassioneranno sia tutti coloro che praticano il modellismo nel tempo libero sia coloro che stanno cercando la giusta soluzione con la quale equipaggiare veicoli e velivoli automatizzati.

Sensori di posizione

I sistemi di posizionamento sono tra gli elementi costitutivi di robot e droni più interessanti perché contengono una grande quantità di informazioni ed una notevole mole di dati in pochissimo spazio.
Sono componenti notoriamente molto veloci che consentono diversi gradi di libertà, ovvero le variabili caratteristiche del sistema che ne descrivono il funzionamento in maniera completa.
Una di queste è la Pololu MinIMU-9 v3.

POLOLU minIMU

Si tratta di una scheda che contiene alcuni integrati utili proprio alla navigazione inerziale.
L'aggettivo "mini" dipende dalle sue dimensioni molto contenute, visto che parliamo di 20 mm per 13.

MinIMU è un'unità inerziale dotata del giroscopio triassiale L3GD20H e dell'accelerometro triassiale LSM303D, nonché magnetometro.
Questa scheda si interfaccia per le comunicazioni tramite protocollo I2C ed opera con una tensione compresa fra 2.5 e 5V.

Ne è esistita anche una versione 2, che però non beneficiava di sensori MEMS, molto più preformanti e precisi.
La scheda è facilmente utilizzabile attraverso librerie Arduino ed è immediatamente operativa.

La board include un regolatore lineare low-dropout da 3.3 V, il cui impiego è richiesto proprio dagli integrati L3GD20H e LSM303D e questo consente al modulo di funzionare con tensioni operative pari a 2.5 V e 5V.

Vediamo alcune caratteristiche tecniche interessanti:

  • dimensioni: 20 mm x 13 mm x 3 mm;
  • peso: 0,8 g;
  • tensione operativa: da 2.5 V a 5V;
  • corrente di alimentazione: 6 mA;
  • uscita giroscopio (come accelerometro e magnetometro): 16 bit in lettura per asse;
  • intervallo di sensibilità per il giroscopio: ±245, ±500, or ±2000°/s;
  • intervallo di sensibilità per l'accelerometro: ±2, ±4, ±6, ±8, or ±16 g;
  • intervallo di sensibilità per il magnetometro: ±2, ±4, ±8, or ±12 gauss.

Naturalmente alla consegna sono inclusi anche i pin header necessari per poter mettere subito in uso la scheda.
Se questa soluzione vi ha interessato e volete sapere dove trovarla, sappiate che la propone TME e che potete fare riferimento a questo indirizzo.

Il prezzo? Decisamente abbordabile anche per le tasche di uno studente: 21.48 €.

Se vi serve una documentazione maggiore e più completa, potete consultare l'apposito pdf.

Ma naturalmente di soluzioni ce ne sono tante disponibili sul mercato che differiscono anche per pochi dettagli.
In particolare possiamo prendere in considerazione Pololu AltIMU-10 v4.

POLOLU AltIMU

Si tratta di una IMU (Inertial Measurement Unit) con altimetro che integra al suo interno il giroscopio a tre assi L3GD20H e l'accelerometro a tre assi LSM303D, insieme con il magnetometro. Viene anche aggiunto un barometro modello LPS25H. Dal momento che queste soluzioni sono largamente utilizzate e molto complete e professionali, vi consigliamo caldamente di leggerne i relativi datasheet.

Da questa prima descrizione vi sarete resi conto da soli che si tratta sostanzialmente della stessa soluzione con l'aggiunta, però, di uno strumento che vi consente di ottenere informazioni quali pressione ed altitudine.
Confrontandole si scopre che MinIMU-9 v3 e AltIMU-10 v4 sono pin-compatible, il che vuol dire che abbiamo davvero le stesse identiche funzionalità con l'aggiunta di un integrato in più; le dimensioni sono pressoché identiche e si può lavorare con la scheda sempre utilizzando lo stesso protocollo di comunicazione, l'interfaccia I2C.

Non si tratta esattamente di soluzioni hobbistiche ma la loro implementazione su questa scheda li rende facilmente utilizzabili.
L'interfaccia di comunicazione utilizzata è I2C ed è facile capire il motivo dato che si tratta di una connessione molto semplice.
AltIMU fornisce misure di pressione, rotazione, accelerazione ma anche altitudine ed orientazione assoluta.
È una soluzione compatta che lavora con tensione compresa fra 2.5 e 5 V e che può lavorare anche interfacciandosi con un microcontrollore.
Gli integrati che avrete a bordo della scheda sono altamente configurabili, per esempio in termini di risoluzione, ma anche sensibilità, il che garantisce una grande flessibilità di impiego.

Le caratteristiche degli integrati comuni alle due soluzioni sono le stesse, naturalmente. Si aggiunge l'intervallo di sensibilità per il barometro: 260 mbar to 1260 mbar (26 kPa to 126 kPa).

Cercate un riferimento su AltIMU 10 v4? Fate pure riferimento a questo indirizzo.
Se vi interessa questa soluzione, sappiate che potete averla per un prezzo abbastanza contenuto, pari a 26.25 €.

E se cercate altre informazioni, date pure uno sguardo alla documentazione completa.

AltIMU è una soluzione molto interessante e davvero completa di tutto ciò che serve per realizzare un sistema perfettamente funzionante.

Controller

Perfetto, ora sappiamo come fare per far navigare il nostro robot. Ma la domanda che molti si faranno, di sicuro, è: come faccio a fare in modo che quello che ho creato non sembri una scheda su ruote? C'è modo di trasformare tutto questo in qualcosa di esteticamente valido?
Per rispondere a questa esigenza vi proponiamo Pololu Orangutan SV-328.

POLOLU Orangutan

Basato su ATMEGA328, che certamente saprete essere il vero e proprio cuore pulsante di Arduino, questa scheda è abbastanza piccola da essere integrata all'interno di un piccolo robot piuttosto che essere essa stessa il robot.
La scheda è dotata di driver per motori, display e molto altro ancora. Ma il vero cuore pulsante del vostro robot è già pronto all'uso, disponibile per voi. Naturalmente sarà il caso di dotarlo di uno chassis e di ogni eventuale ulteriore sensore che vogliate impiegare.

Orangutan SV-328  è molto interessante perché si tratta di una soluzione completa e abbastanza versatile che può funzionare a 6-13.5 V.
Il microcontrollore è in grado di pilotare due motori bidirezionali ciascuno in grado di erogare 1 A. Ma non solo perché il display 8x2 è una comoda interfaccia grazie alla quale interagire con il robot, il buzzer vi potrà sicuramente restituire informazioni utili come segnali di controllo oppure potrà rispondere alla pressione di uno dei tre pulsanti o può essere attivato insieme ad uno dei due LED user a disposizione.
Ci sono 8 connessioni GPIO con otto canali di ingresso analogici per poter aggiungere almeno altrettanti sensori ed espandere il sistema.
Orangutan SV-328  è dotato di un regolatore switching a 5V e può fornire fino a 3 A; un valore più che adeguato per alimentare dei servomotori.

Chi conosce il nostro sito e segue le nostre pagine da un po' ha già letto diverse informazioni su Arduino: microcontrollore a 20 MHz con 32 kbytes di Flash, 2 kB di SRAM e tanto altro.
Come programmarlo? Sicuramente non con l'IDE di Arduino, questa volta. E questo è un bene perché forse vi entusiasmerà sapere che il software di sviluppo per AVR Atmel Studio  sarà a vostra disposizione. Potrete utilizzare i compilatori WinAVR GCC C/C++  che sono compatibili con la scheda.
Il programmatore è in-circuit quindi potrete collegarli con facilità.

Ecco le caratteristiche principali:

  • tensione di ingresso: 6 - 13.5 V;
  • due canali per motori bidirezionali, 1 A in continua per canale, massimo 3A;
  • microcontrollore ATmega328P programmabile a 20 MHz;
  • 8 GPIO, delle quali 6 possono essere usate per ingressi analogici;
  • display LCD 8x2 rimovibile;
  • regolatore a 5V, 3A (max);
  • buzzer;
  • 3 pulsanti;
  • 2 LED;
  • potenziometro collegato ad ADC7;
  • batteria per alimentazione opzionale connessa a ADC6.

Orangutan SV-328 è l'evoluzione di un prodotto che già esisteva in precedenza e rispetto a com'era prima sono state migliorate le frequenze di PWM, i valori di corrente forniti ai motori, la protezione da sovraccarico della batteria tramite l'utilizzo di un MOSFET invece che di un semplice diodo e molte altre ancora.

Siamo sicuri che quanto detto vi avrà interessato per cui, ecco come potete procurarvi la scheda: seguite questo link. Facendolo scoprirete anche un altro aspetto davvero notevole della scheda ovvero il suo prezzo: 43.60 €.
E se cercate ancora informazioni per scoprire tutti i dettagli del funzionamento, ecco la documentazione completa.

A questo punto la parola è a voi: avete mai costruito un robot? Vi sono mai servite schede di questo tipo? Se le avesse a disposizione, cosa costruireste?

5 Commenti

  1. Antonello Antonello 16 novembre 2014
    • Piero Boccadoro Piero Boccadoro 16 novembre 2014
  2. talentoguido 16 novembre 2014
    • adrirobot 17 novembre 2014
  3. Domenico Domenico 19 gennaio 2015

Scrivi un commento