SlideShare a Scribd company logo
1 of 27
Download to read offline
UNIVERSITÀ DEGLI STUDI DI TRIESTE
Dipartimento di Ingegneria e Architettura
Corso di Studi in Ingegneria dell’Informazione
CONFRONTO TRA PIATTAFORME DI
ROBOTICA EVOLUTIVA PER ATTIVITÁ DI
RICERCA E INSEGNAMENTO
Tesi di Laurea Triennale
Laureando:
Michael FUSER
Relatore:
prof. Eric MEDVET
Correlatore:
prof. Alberto BARTOLI
__________________________________
ANNO ACCADEMICO 2016-2017
1
INDICE:
1. INTRODUZIONE
2. SCELTA DEI CRITERI
3. ROBOT CONSIDERATI
4. TABELLA RIASSUNTIVA E COMPARATIVA
5. COMMENTO TABELLA RIASSUNTIVA
6. OPERAZIONI SUI ROBOT
7. ULTERIORI CONSIDERAZIONI
8. CONCLUSIONI
9. SITOGRAFIA
2
1. INTRODUZIONE
Questo documento si pone come principale obiettivo l’analisi, il confronto e la selezione ponderata delle
migliori piattaforme robotiche da utilizzare in un laboratorio, tenendo conto di numerosi imprescindibili
aspetti vincolanti (es. budget disponibile) e di altri aspetti più tecnici in seguito descritti.
Il laboratorio che dev’essere allestito avrà uno scopo sia didattico che di ricerca, particolarmente nel campo
dell’evolutionary robotics; con questo termine si intende una branca della robotica che mira ad arrivare alla
progettazione di robot autonomi in grado di risolvere task sempre più complessi e che si adattano ad
eventuali cambiamenti dell’ambiente circostante e delle proprie condizioni.
La particolare strategia utilizzata dall’evolutionary robotics (da qui il nome) è la seguente:
- iniziale progettazione di una famiglia di robot, detta prima generazione.
- valutazione della capacità di risolvere un task (tramite una funzione matematica).
- ricombinazione/mutazioni dei cosiddetti ‘genomi’ dei migliori membri della popolazione per la
creazione della seconda generazione.
La ripetizione sistematica di tali operazioni dovrebbe quindi portare all’obiettivo tramite una sorta di
evoluzione, che ricorda la teoria darwiniana de ‘L’origine delle specie’.
3
2. SCELTA DEI CRITERI
Per poter effettuare un confronto efficace e in linea con l’obiettivo preposto, un momento fondamentale è
stato quello della ricerca dei termini di paragone, seguita poi da una valutazione dei valori più adatti che tali
parametri devono assumere in quel contesto.
I criteri sono:
- Costo piattaforma
- Reperibilità
- Dimensioni
- Velocità
- Autonomia della batteria
- Modalità di movimento
- Sensori/attuatori
- Necessità di assemblaggio
- Distribuzione algoritmi e informazioni
- Possibilità di intervento a livello software
- Modificabilità/aggiunta componenti hardware
- Comunicazione tra robot
- Tempo/Persona necessario per arrivare alla prima sperimentazione una volta ricevuto il pacco
contenente un robot
Nel dettaglio:
Costo piattaforma: È un aspetto fondamentale dato che il budget inziale si aggira attorno ai
2000/3000 €.
Per l’allestimento di un laboratorio (che oltre alla ricerca ha finalità anche didattiche) è ragionevole
pensare che non siano sufficienti solamente dalle 2 alle 3 unità, seppur altamente sviluppate, come
non sarebbe ottimale l’acquisto di un centinaio di robot ma dalle funzionalità limitate.
Si può quindi ipotizzare che un range che va dalle 10 alle 30 piattaforme, ovvero un prezzo che si
aggira attorno ai 150€/robot, sia una ipotesi soddisfacente.
Reperibilità: Ulteriore aspetto importante è quello della reperibilità; si vedrà in seguito che ci sono
dei robot che soddisfano la maggior parte dei requisiti ma che sono sviluppati da università e non
sono dunque prodotti in maniera industriale, o ancora che non sono addirittura più in produzione da
anni. Sarà quindi uno dei primi step quello di verificare la possibilità di ottenere fisicamente le
piattaforme di cui si necessita.
È stata effettuata la scelta, comunque, di inserire anche piattaforme non disponibili ma dalle ottime
potenzialità sia per completezza che per avere ulteriori termini di paragone tramite i quali effettuare
le dovute considerazioni in vista della scelta finale.
Velocità: Da tener conto in questa analisi c’è anche la velocità dei robot, strettamente legata alla loro
modalità di movimento: per i task classici come rilevamento di ostacoli, aggregazione di robot,
navigazione in labirinto, una velocità che si aggira attorno ai 20 cm/s è sufficiente, in quanto non è
eccessivamente elevata, cosa che potrebbe portare ad eventuali collisioni robot-robot e/o robot-
pareti con conseguenti danni, né troppo bassa (si pensi ad un robot che deve coprire la distanza di
qualche metro e che, nel farlo, ci impiega un decina di minuti: potrebbe scaricarsi la batteria prima
di portare a termine l’attività, ad esempio).
4
Autonomia della batteria: Tra gli aspetti primari rientra senza dubbio l’autonomia della batteria: non
sarebbe infatti consigliabile avere a che fare con piattaforme con autonomia limitata.
- Caso didattico: non è auspicabile, suddividendo gli studenti in più gruppi e facendoli operare a
scaglioni, dover ricaricare i robot nel periodo di scambio tra gruppi.
- Caso di ricerca: per task più complessi potrebbe servire un maggior lasso di tempo e non porterebbe
vantaggi interrompere il tutto per provvedere alla ricarica.
Si stima perciò che un valore ideale sarebbe di un minimo di 2h di autonomia.
Modalità di Movimento: Diverse sono le modalità con le quali i robot si muovono: la maggior parte
di quelli che verranno considerati saranno dotati di ruote, che pare soluzione più appropriata rispetto
ad altre modalità come il movimento tramite vibrazioni: basti pensare a quanto più comodo, rapido
ed efficace sarebbe svolgere task come quelli prima menzionati di soluzione di un labirinto o compiti
di aggregazione con piattaforme dotate di ruote. Sarà comunque presentato anche un caso di
spostamento tramite vibrazioni per completezza e ne saranno discussi i limiti.
Necessità di assemblaggio: Nelle azioni da compiere una volta ricevuti i robot, rientra giocoforza
l’eventuale assemblaggio di componenti, nel caso in cui non arrivi già montato e/o saldato.
Questa operazione richiede necessariamente delle competenze e una dose di tempo che devono
essere tenute in considerazione: una soluzione ottimale sarebbe perciò quella di ricevere il tutto già
pre-assemblato, seppure con possibilità di intervento a livello hardware, piuttosto che aver l’onere
di costruirlo una volta ricevuti i componenti; tuttavia non sono da escludere a priori queste soluzioni,
che comunque garantiscono un determinato grado di libertà nell’apportare modifiche anche nella
struttura di base.
Resta comunque da valutare la questione in relazione al numero di piattaforme acquistate: se si
dovessero montare o addirittura saldare 30 robot il lavoro diventerebbe di certo più dispendioso
rispetto al caso di robot già pronto all’utilizzo.
Dimensioni: Quando si parla di laboratorio di evolutionary robotics si fa riferimento ad una normale
stanza, ragion per cui le dimensioni dei robot non possono di certo essere spropositate; inoltre è
molto difficile lavorare dovendo modificare componenti hardware di piattaforme robotiche delle
dimensioni di una moneta: per cui sebbene non vi siano delle restrizioni così selettive, è bene evitare
gli estremi e optare per dimensioni ragionevoli anche e soprattutto in base al numero di robot che
saranno utilizzati in laboratorio.
Sensori/Attuatori: Aspetto chiave nel nostro caso di studio è senza dubbio il numero e la tipologia di
sensori e attuatori di cui è dotato ogni robot (o numero e tipologia di sensori e attuatori forniti, nel
caso in cui non sia già assemblato).
Fondamentali:
- sensori di prossimità (a infrarossi o ultrasuoni), data la tipologia di attività a cui i robot saranno
sottoposti; si pensa infatti ad un classico task per evitare ostacoli, oltre che la collisione tra robot,
alla navigazione in labirinto o a compiti di aggregazione;
- sensori di terra, che permettono di far seguire linee nel terreno ed evitano spiacevoli inconvenienti
quali cadute accidentali da piani sopraelevati.
Consigliati:
- accelerometri lungo i tre assi X, Y e Z per delle capacità di movimento superiori;
- led o microfoni/altoparlanti per robot che comunicano tra loro mediante impulsi sonori e che tramite
led potrebbero facilitare la comprensione di ciò che stanno svolgendo in run-time, se ad una azione
fosse associato un led o un particolare colore;
5
- ruote differenziali controllate ciascuna da un motore indipendente, per poter intervenire sul singolo
componente.
Oltre alla presenza, è da valutare anche il numero e la disposizione di sensori e attuatori: il caso
auspicabile sarebbe con sensori che in totale ricoprono un angolo giro, per non lasciare punti ciechi
che potrebbero portare a collisioni indesiderate o a una mancanza di informazioni che si può rivelare
decisiva; nella valutazione si terrà conto dunque non solo della presenza, ma anche di efficacia e
disposizione di suddetti sensori.
Modificabilità/aggiunta componenti hardware: Passando a specifiche più tecniche, si considera la
possibilità e il grado di difficoltà di aggiunta/modificabilità di componenti hardware: si parla di
inserimento di sensori/attuatori aggiuntivi e di adattamento del robot alle condizioni ambientali.
Operazioni iniziali di questo tipo chiaramente influiscono sulle tempistiche entro le quali il robot può
essere completamente operativo, ragion per cui sarà da ponderare la scelta in virtù del numero di
unità sul quale apportare modifiche, sulla tipologia di modifiche (operazioni di saldatura o di semplice
incastro stile Lego), e sull’effettivo vantaggio che porterà tutto ciò.
La soluzione, ad esempio, di saldare un sensore di prossimità su 30 robot per coprire un punto cieco
di 30/360° non sarebbe così conveniente ed abbasserebbe la valutazione del robot per questo
parametro.
Possibilità di intervento a livello software: Trattandosi non di un semplice laboratorio ma di uno che,
nella parte di ricerca quantomeno, si occupa di evolutionary robotics, appare evidente che un
requisito fondamentale per i robot che andranno a comporlo deve essere quello della possibilità di
intervenire a livello software in maniera abbastanza libera: mentre alcuni robot sono spediti privi di
alcun codice al loro interno, altri sono dotati di algoritmi inseriti dagli sviluppatori che permettono ai
robot di svolgere determinati compiti, e per altri ancora sono disponibili librerie e algoritmi su
piattaforme come GitHub. Questi algoritmi possono essere un punto di partenza, accanto ai quali
tuttavia si devono poter inserire quelli sviluppati da ricercatori/professori/studenti.
Concernente l’intervento a livello software, è da prendere in esame anche il modo in cui ci si può
interfacciare per la scrittura degli algoritmi, vale a dire il linguaggio di programmazione che
dev’essere utilizzato, l’ambiente di sviluppo (Arduino o altro), la disponibilità di software specifici dei
quali ci si deve dotare e se tali software sono free o a pagamento. Tutte queste caratteristiche vanno
ad inficiare sulla complessità e effort necessari ad ottenere il risultato sperato.
Una ulteriore considerazione è da farsi inoltre sul livello di programmazione al quale si accede: la
possibilità di accedere solo ad un livello eccessivamente alto (come ad esempio dar indicazioni di
spostamento ‘vai a nord’) rappresenterebbe un evidente limite allo sviluppo.
Ottimale sarebbe poter controllare tutti i sensori e gli attuatori fino ad un livello che comprenda, ad
esempio, l’agire sulla singola ruota.
La possibilità invece di manipolare anche variabili come l’intensità di corrente fornita dal motore
potrebbe essere un’opzione, ma non risulta come una condizione vincolante all’implementazione.
Ricapitolando, saranno considerate ottimali, e valutate di conseguenza, piattaforme robotiche che
possono essere programmate con software gratuiti, compatibili con la maggior parte dei sistemi
operativi, che consentono di programmare con linguaggi di dominio comune tra quelli che possono
essere professori o studenti di Ingegneria (C++, Java) o linguaggi da questi derivati ma di facile
comprensione, e che permettono di controllare i sensori e gli attuatori ad un livello sufficientemente
basso.
6
Comunicazione tra robot: Nell’evolutionary robotics sicuramente non passa in secondo piano la
comunicazione tra robot, intesa sia come scambio di informazioni genetiche (l’esempio è quello di
un esperimento in cui ciascun gruppo di robot svolge un task in un’ “isola” e in seguito, per
salvaguardare la diversità genetica e migliorare le prestazioni in presenza di mutazioni, alcuni robot
cambiano isola trovandosi a interagire e scambiare dati con individui che lì erano già presenti), sia
come scambio di informazioni riguardanti ambiente, posizioni, o altro. Sarà allora importante
valutare le modalità di interazione: potrebbe esser, in ordine di efficienza, via Wi-Fi (la consigliata
per velocità di scambio dati), via Bluetooth (più lento), o per mezzo di ricevitori e trasmettitori ad
infrarossi (che impedirebbero però l’uso contemporaneo degli infrarossi come sensori).
Si valuterà perciò quale tra le suddette modalità possa essere quella più adatta per ogni piattaforma
robotica in base ai sensori a disposizione o alle possibili modifiche hardware.
Distribuzione algoritmi e informazioni: Cimentandosi anche con la ricerca e avendo la necessità di
scrivere e inserire i propri algoritmi nei robot, è da tener in considerazione anche la dinamica con la
quale si possono distribuire gli algoritmi: la maggior parte delle piattaforme analizzate è dotata di
una o più porte USB per scambio dati; tuttavia ci si potrebbe imbattere nella situazione di avere un
laboratorio di 30 robot, ragion per cui non sarebbe comodo dover collegare uno per volta i robot al
pc per il trasferimento dati; si cercheranno dunque soluzioni alternative e più efficienti come la
simultanea distribuzione di algoritmi tramite infrarossi o Radio Frequenze, privilegiando quest’ultima
opzione se disponibile o implementabile per il motivo precedentemente citato.
Tempo e operazioni per Persona necessari a rendere operativo il robot una volta ricevuto:
Interessante sarà ragionare sul tempo richiesto da uno studente, in particolare un laureando
magistrale in ingegneria elettronica e informatica, per, una volta ricevuto il pacco contenente il robot,
completare tutte le operazioni che lo porteranno ad essere pronto in quanto a conoscenze e a render
operativo il robot.
Queste comprendono le eventuali fasi di assemblaggio, di aggiunta componenti hardware come ad
esempio sensori, la fase di conoscenza del software di programmazione, inizializzazione della
piattaforma, preparazione di eventuali particolari nell’ambiente di sperimentazione.
In base a questo, una valutazione elevata sarà quindi fornita a robot che non necessitano di
assemblaggio o di aggiunta di componenti, e per i quali non sono richieste competenze che
richiedono un addestramento dello studente, e che non necessitano di configurazione iniziale;
una valutazione medio/alta sarà fornita a robot con eventuali facili operazioni di assemblaggio, senza
interventi di saldatura, o che richiedono piccole ulteriori conoscenze che dovranno essere acquisite,
o che hanno bisogno di configurazione;
una valutazione bassa sarà invece per piattaforme robotiche che richiedono particolari competenze
per assemblaggio/modifica hardware o particolari software compatibili con un numero ristretto di
sistemi operativi, o la conoscenza di linguaggi specifici e non noti a priori.
7
3. ROBOT CONSIDERATI
E-PUCK
COSTO
700€, possibilità di acquisto di 3/4 unità: per investire su un numero
così limitato di robot si dovrebbe avere la certezza di specifiche e
prestazioni uniche, non fornite da piattaforme più facilmente accessibili
VOTO
4.5
REPERIBILITA’ Robot in commercio e facile da reperire
DIMENSIONI Diametro 7.5 cm, dimensioni che soddisfano i requisiti
VOTO
9.0
VELOCITA’
13 cm/s, congrua con il contesto in cui opererebbe e con i task che
andrebbe a svolgere
VOTO
7.5
AUTONOMIA
2 ore in media in routing: autonomia che rasenta il limite
dell’accettabilità dato che in determinate configurazioni potrebbe
essere ancora inferiore, non soddisfacendo i requisiti minimi
VOTO
7.0
MOVIMENTO
Su ruote differenziali, ovvero ognuna di esse dotata di un motore che le
permette il movimento autonomo
VOTO
9.0
SENSORI/ATTUATORI
8 sensori infrarossi di prossimità, di luce, 8 led, accelerometro su 3 assi,
3 microfoni, 1 altoparlante: dotazione sufficiente che non richiede
ulteriori aggiustamenti
VOTO
9.0
ASSEMBLAGGIO -
ALGORITMI
Interazione robot-computer tramite bluetooth o tramite porta seriale
standard fino a 115 kbps
VOTO
7.0
INTERVENTO SW
Programmazione in C++ con Graphical IDE fornito da Webots (ambiente
di simulazione), e anche in Python; è compatibile con Arduino.
Intervento a livello sufficientemente basso
VOTO
7.5
INTERVENTO HW
Si possono installare diversi moduli su e-puck come ad esempio sensori
di terra (per seguire una linea), comunicazione wireless con Zigbee o
Wi-Fi, ruote magnetiche per arrampicata verticale, visione 2D
omnidirezionale, una torretta che simula la visione 1D omnidirezionale.
Il prodotto è inoltre open hardware
VOTO
8.0
COMUNICAZIONE
La comunicazione avviene tramite bluetooth, sia robot-robot che robot-
computer o, nel caso di applicazione dell’estensione, tramite Zigbee o
Wi-Fi, ma tramite moduli che vanno acquistati separatamente
VOTO
8.0
TEMPO PERS/ROBOT
E-Puck non necessita di assemblaggio o di installazione di componenti
aggiuntivi, sembrando quindi pronto all’utilizzo; il linguaggio di
programmazione dovrebbe essere conosciuto (C/C++) e il sw da
installare non dovrebbe comportare dilatazioni nei tempi
VOTO
8.0
8
R-ONE
COSTO Circa 240€, possibilità di acquisto di una dozzina di robot; un numero
accettabile per una attività di laboratorio
VOTO
7.5
REPERIBILITA’
Il robot è sviluppato dalla Rice University (USA) come una valida e più
economica alternativa ad E-Puck ma non sembra è più in commercio
DIMENSIONI Diametro 10 cm, dimensioni che soddisfano i requisiti
VOTO
8.5
VELOCITA’ 25 cm/s, adatta agli scopi di laboratorio
VOTO
8.0
AUTONOMIA
4/5 ore, dato significativo che permetterebbe di potersi giostrare
l’autonomia del robot senza particolari vincoli dovuti alla batteria
VOTO
9.0
MOVIMENTO Su ruote, una delle migliori modalità di locomozione
VOTO
8.0
SENSORI/ATTUATORI
15 led colorati, luce, 8 trasmettitori e 8 ricevitori infrarossi, giroscopio
su 3 assi, 8 sensori di contatto per rilevamento a 360°, accelerometro su
3 assi. Data la presenza di svariati sensori IR e la copertura a 360°, non
sembra necessario intervenire per dover aggiungerne altri
VOTO
8.5
ASSEMBLAGGIO -
ALGORITMI
Porta USB, scheda SD ma soprattutto radiofrequenze a 2.4 GHz con 2
MB/s di data rate per trasmissione simultanea a più robot che
riceveranno quindi tutti gli stessi dati contemporaneamente
VOTO
8.5
INTERVENTO SW
Disponibilità di repository di r-one in GutHub e di diverse librerie;
possibilità di scrivere e inserire i propri algoritmi con linguaggio C/C++
con compilatore Eclipse; setup Eclipse disponibile su sito della Rice
University creatrice della piattaforma
VOTO
7.5
INTERVENTO HW
Sotto l’aspetto hardware, non è possibile apportare modifiche
strutturali se non saldando i componenti aggiuntivi, data la sua struttura
compatta e solida e priva di agganci per altri sensori/attuatori
VOTO
6.0
COMUNICAZIONE
Comunicazione tramite radiofrequenze oppure con ricevitori e
trasmettitori ad infrarossi, ottima copertura a 360°
VOTO
8.0
TEMPO PERS/ROBOT
Il robot giunge già montato e saldato, già dotato di tutti i sensori
necessari; il linguaggio di programmazione dovrebbe essere noto e il sw
di programmazione è reperibile dal sito della Rice
VOTO
8.5
9
ELISA-3
COSTO
Circa 300€, possibilità di acquisto di una decina di unità: osservando le
altre caratteristiche rapportate agli altri robot, può essere
conveniente l’acquisto di un numero inferiore di piattaforme ma più
performanti
VOTO
7.0
REPERIBILITA’ Robot in commercio
DIMENSIONI
Diametro 5 cm: le dimensioni non sono tra le più comode ma,
considerando che le persone che si devono confrontare con questa
realtà sono professori e studenti universitari, non sembrano
rappresentare un ostacolo
VOTO
6.5
VELOCITA’
Fino a 60 cm/s, può quindi essere gestita a proprio piacimento in un
range abbastanza elevato
VOTO
9.0
AUTONOMIA
3 ore con utilizzo ‘’ponderato’ di sensori/attuatori, 1 ora e 30 min
tempo di ricarica; buona autonomia del robot che, date anche le
ridotte dimensioni, con 2 batterie ai Li-Po riesce a lavorare per un
tempo sufficiente
VOTO
7.0
MOVIMENTO Su ruote magnetiche
VOTO
8.0
SENSORI/ATTUATORI
8 led verdi, trasmettitori e ricevitori IR, 8 sensori IR di luce ambientale
e prossimità fino a 6 cm (copertura 360°), 4 sensori di terra,
accelerometro sui 3 assi, porta microUSB; non necessita miglioramenti
VOTO
9.0
ASSEMBLAGGIO
Non necessita di assemblaggio; (il diffusore di luce e il robot vanno ad
incastro così che si acceda più facilmente ai vari componenti)
ALGORITMI
Tramite porta seriale fino a 38 kbps oppure tramite radiofrequenze a
2.4 GHz
VOTO
8.0
INTERVENTO SW
Firmware con all’interno obstacle e cliff avoidance.
Robot è pre-programmato con serial bootloader;
I progetti si possono sviluppare con AVR Studio 4 oppure tramite
Arduino, ma anche Python; esistono poi dei file .hex che permettono
la comunicazione di Elisa-3 anche con sw per la programmazione di
altri robot (ad es. Aseba per Thymio II)
VOTO
7.5
INTERVENTO HW
Elisa-3 ha dimensioni ridotte quindi l’intervento a livello hardware non
è così agevole come in altri e l’aggiunta potrebbe essere solo
effettuata saldando/incollando componenti
VOTO
7.0
COMUNICAZIONE
Comunicazione wireless a radio frequenze 2.4 GHz, fino a 10 metri
Comunicazione tramite infrarossi, ma durante ricezione/trasmissione
non possono essere utilizzati per evitare ostacoli; distanza max 5 cm
VOTO
9.0
TEMPO PERS/ROBOT
Elisa-3 giunge già montato, dotato dei sensori necessari ma pre-
programmato con task che partono in automatico (necessita quindi la
scrittura in memoria flash per evitare che parta una volta acceso)
VOTO
7.5
10
KILOBOT
COSTO
Massimo 25€: Uno dei robot più economici, grazie anche alla rinuncia
degli sviluppatori all’utilizzo di ruote che avrebbero alzato
notevolmente il prezzo
VOTO
10.0
REPERIBILITA’ Semplice, robot in commercio
DIMENSIONI
3.3 cm, significa che si potrebbero riscontrare delle difficoltà
nell’utilizzo e nella modifica a livello hardware
VOTO
5.5
VELOCITA’
1 cm/s: piuttosto lento. Per risolvere determinati task richiederebbe
probabilmente un intervallo di tempo di molto superiore ai suoi
concorrenti
VOTO
4.0
AUTONOMIA 3/12 ore a seconda del task: autonomia abbastanza elevata
VOTO
8.0
MOVIMENTO
2 vibratori: 1 attivato corrisponde a rotazione di 45°/s
2 attivati corrisponde a movimento a 1 cm/s
Grosso limite di questa modalità di movimento: la superficie
dev’essere necessariamente piatta e, in lunghe distanze, vi è un
sensibile errore di precisione di direzione
VOTO
4.5
SENSORI/ATTUATORI
Sensori di luce, infrarossi di prossimità: manca di sensori funzionali;
sarebbe quindi ragionevole pensare ad un improvement con
l’aggiunta di sensori per poterlo rendere al pari dei concorrenti
VOTO
6.0
ASSEMBLAGGIO -
ALGORITMI
Kilobot è un cosiddetto scalable robot, ovvero non richiede alcuna
attenzione individuale per operazioni come la ricarica, l’accensione, la
ricezione di un nuovo algoritmo: tutte queste operazioni vengono
dirette da un controllore che comunica con messaggi ad infrarossi
senza la necessità di collegare ad un cavo un robot per volta
VOTO
8.0
INTERVENTO SW
I programmi sono scritti in C, all’interno vi è già l’algoritmo SDASH
(per far formare ai singoli robot forme come in uno sciame); non sono
fornite ulteriori informazioni
VOTO
7.0
INTERVENTO HW
Date le dimensioni alquanto ridotte, appare difficile apportare
modifiche all’hardware di questo robot, considerato il fatto che
dovrebbe essere dotato di sensori aggiuntivi
VOTO
6.0
COMUNICAZIONE
Ogni robot è equipaggiato con un trasmettitore e un ricevitore ad
infrarossi per la comunicazione intrarobot (30kbps a distanza max di
10cm)
VOTO
8.0
TEMPO PERS/ROBOT
Il robot giunge già montato e disponibile all’utilizzo, anche se non
sono fornite molte altre informazioni; probabilmente prima di iniziare
sarebbe necessario rimuovere l’algoritmo al suo interno se questo
partisse in automatico una volta acceso il robot
VOTO
6.5
11
PHIRO PRO
COSTO
Phiro Pro costa circa 170€; vi sono accessori come ad esempio il kit
Arduino, ma il prezzo si mantiene sempre attorno ai 200€: possibilità di
acquisto di un numero adeguato di robot (circa 15)
VOTO
8.0
REPERIBILITA’
Il robot è in commercio ed è compatibile con componenti Lego, quindi
sono facilmente reperibili anche componenti aggiuntivi
DIMENSIONI 153 x 94 x 51 mm: dimensioni adatte al contesto
VOTO
8.0
VELOCITA’ Velocità max 30 cm/s
VOTO
8.0
AUTONOMIA
Il robot ha un’autonomia di 5 ore durante l’utilizzo, 10 ore in stand-by;
ha batteria ai polimeri di Litio che si ricarica via USB
VOTO
9.0
MOVIMENTO Su ruote gestite da 2 motori
VOTO
7.0
SENSORI/ATTUATORI
Phiro è dotato di 6 sensori IR (2 laterali, 2 frontali, 2 inferiori), un
altoparlante, 2 led programmabili e di un modulo Bluetooth per
comunicazione wireless;
Nella parte posteriore e laterale posteriore non vi sono sensori, ragion
per cui sarebbe auspicabile l’aggiunta di altri 4, 2 laterali e 2 posteriori
VOTO
7.0
ASSEMBLAGGIO
Phiro Pro giunge già assemblato.
Data la compatibilità con Lego, ogni modifica sarà di semplice
applicazione e senza necessità di saldare
ALGORITMI
Gli algoritmi possono essere distribuiti o con delle speciali ‘Phiro’s Keys’
da strisciare direttamente sul robot, o via cavo USB, o wireless tramite
Bluetooth (sia da PC che da smartphone) ma con throughput ridotto
VOTO
8.0
INTERVENTO SW
Phiro è programmabile da PC e da smartphone; da smartphone la
programmazione è ad un livello più alto, da PC invece anche ad un
livello più basso data la compatibilità con Arduino. Si possono utilizzare
anche applicazioni come Scratch che consente una programmazione a
blocchi (non adatta però a scopi di ricerca o didattici ad un certo livello)
VOTO
7.0
INTERVENTO HW
Phiro Pro è compatibile con componenti Lego, per cui le modifiche a
livello hardware possono essere effettuate facilmente, con la possibilità
di creare anche robot complessi; andranno inoltre integrati 4 sensori
nella parte posteriore del Phiro Pro per renderlo più idoneo alle finalità
del laboratorio
VOTO
7.0
COMUNICAZIONE
I robot sono dotati di modulo Bluetooth quindi possono comunicare tra
di loro attraverso questa tecnologia
VOTO
8.0
TEMPO PERS/ROBOT
Il robot arriva già montato; sarebbe necessario installare i sensori
almeno nella parte posteriore per poterlo paragonare ad altri robot più
equipaggiati. La compatibilità con Arduino semplifica la parte di
configurazione o download di software aggiuntivi
VOTO
7.5
12
MBOT ROBOT V 1.1, 2.4GHZ
COSTO
MBot v 1.1, 2.4GHz è la versione con modulo di comunicazione Wi-Fi,
si trova ad un prezzo di circa 110€: permette l’acquisto di svariate
unità
VOTO
8.5
REPERIBILITA’
Il robot è venduto da diversi siti e conta diversi accessori ed
estensioni; inoltre è Lego-compatibile
DIMENSIONI 170 x 130 x 90 mm
VOTO
9.0
VELOCITA’
Il robot si muove con velocità adatte allo scopo prefissato, attorno ai
30 cm/s
VOTO
8.0
AUTONOMIA
Dotato di batteria ai polimeri di Litio di media durata (5/6 h) da 3.7V,
supporta anche 4 batterie AA/RL6 che risolverebbero il problema
dell’autonomia, in quando si può stimare che durino per svariati giorni
VOTO
9.0
MOVIMENTO Su ruote
VOTO
8.0
SENSORI/ATTUATORI
Ogni robot è dotato di un rx e un tx ad infrarossi, un modulo per
comunicazione WiFi, sensore di luce, di prossimità ad ultrasuoni
frontale, 2 led e modulo per line following. Una miglioria notevole
sarebbe quella di equipaggiarlo con sensori di prossimità per la
soluzione di task che richiedono maggiore copertura di sensori
rispetto a solo quella frontale.
VOTO
6.5
ASSEMBLAGGIO
MBot è distribuito in kit formati da 38 elementi che possono essere
assemblati facilmente in un tempo stimato di massimo 30 minuti
ALGORITMI
La versione 1.1, 2.4GHz grazie al modulo di comunicazione Wi-Fi,
permette la distribuzione di algoritmi senza bisogno di cavi, sebbene
ogni robot abbia il proprio usb dongle che deve esser connesso al pc
VOTO
8.5
INTERVENTO SW
I programmi possono essere scritti in più modi: tramite il software
grafico drag-and-drop mBlock, basato su Scratch 2.0, oppure a livello
più basso tramite programmazione testuale in C/C++ nell’IDE di
Arduino (inclusa nel programma mBlock)
VOTO
9.0
INTERVENTO HW
Il robot è compatibile con la piattaforma MakeBlock e con
componenti Lego, ragion per cui si possono facilmente applicare,
senza necessità di saldare, estensioni o sensori
VOTO
8.0
COMUNICAZIONE
La comunicazione tra robot avviene tramite radiofrequenze
(confermato tra 2 robot) a 2.4GHz o attraverso trasmettitori e
ricevitori ad infrarossi
VOTO
8.0
TEMPO PERS/ROBOT
Il robot una volta arrivato va montato (operazione piuttosto rapida,
ma che può diventare onerosa per un numero elevato di piattaforme);
sarebbe necessario installare anche qualche sensore di prossimità
(posteriore e/o laterale) per compensarne la presenza sono anteriore
VOTO
7.0
13
S-BOT
COSTO
Non è specificato il costo di S-Bot, non più disponibile da diversi anni,
ma che viene inserito in questa analisi in quanto una delle migliori
piattaforme analizzate, e quindi buon termine di paragone per la
valutazione degli altri robot. Si potrebbe comunque stimare un costo
tra i 500 e i 700€ in base alle caratteristiche
VOTO
6.0
REPERIBILITA’ Tra il 2001 e il 2004
DIMENSIONI Diametro 12 cm
VOTO
8.0
VELOCITA’ 25 cm/s
VOTO
8.0
AUTONOMIA
L’autonomia di S-Bot è compresa tra 1 e 2 ore, in relazione al suo
utilizzo: nel caso peggiore non soddisfarebbe i requisiti minimi
VOTO
5.0
MOVIMENTO
Su ruote cingolate, adatte a superfici anche non regolari; S-Bot può
infatti essere utilizzato anche outdoor
VOTO
9.0
SENSORI/ATTUATORI
S-Bot è dotato di una pinza con la quale può afferrare oggetti e
collegarsi ad altri S-Bot, e di un braccio che si muove lungo i 3 assi; ha
15 sensori IR di prossimità, 4 di terra, sensore di velocità, 2 di
temperatura, 8 di luce, 4 accelerometri, 4 microfoni, 2 sensori per la
deformazione della struttura. Ha anche un sensore di forza che
permette agli S-Bot di coordinarsi per portare un oggetto.
VOTO
10.0
ASSEMBLAGGIO -
ALGORITMI
Gli algoritmi possono essere distribuiti mediante la porta Linux, o, in
maniera più efficiente, tramite Wi-Fi (ogni robot infatti è dotato di
antenna per radiofrequenze)
VOTO
10.0
INTERVENTO SW
S-Bot utilizza una porta Linux che usa Familiar Linux (S.O. obsoleto,
ultima release nel 2007) e permette l’accesso ai sensori tramite una
semplice API di C, che garantisce una programmazione a livello basso
VOTO
7.0
INTERVENTO HW
S-Bot ha parti meccaniche facilmente modificabili, mentre per una
eventuale aggiunta di sensori (che non sembra tuttavia necessaria
data la completezza del robot) è necessaria un’opera di saldatura
VOTO
7.0
COMUNICAZIONE
Tramite ricevitori e trasmettitori a infrarossi o con Wi-Fi, hanno la
capacità di attaccarsi grazie al braccio per formare gruppi che
risolvono task non risolvibili da un singolo S-bot
VOTO
10.0
TEMPO PERS/ROBOT
Il robot è già montato e pronto all’utilizzo, e dotato di tutti i
sensori/attuatori necessari; unico neo sarebbe trovare la versione di
Linux del 2007 per la programmazione
VOTO
8.0
14
SPARKI
COSTO
Il robot costa circa 150€, più una eventuale ridotta spesa per sensori
di prossimità, che comunque non porterà il prezzo sopra i 200€:
possibilità di acquisto di un numero adeguato di unità
VOTO
8.0
REPERIBILITA’ Sparki è acquistabile dal sito ufficiale e da altri siti di e-commerce
DIMENSIONI ~ 150 x 120 mm
VOTO
8.0
VELOCITA’ Velocità max 35 cm/s
VOTO
8.0
AUTONOMIA
Sparki funziona con 4 batterie AA, ricaricabili o alcaline; questo
garantisce una autonomia di svariate ore, compatibile con i fini del
laboratorio
VOTO
8.5
MOVIMENTO Su ruote, alimentate da 2 motori
VOTO
7.5
SENSORI/ATTUATORI
Sparki è dotato di 1 sensore di distanza a ultrasuoni (anteriormente),
accelerometro e magnetometro a 3 assi, 3 fototransistori, 5 sensori
line-following, led, trasmettitore e ricevitore IR, modulo Bluetooth.
Posteriormente si dovrebbero installare dei sensori di prossimità dato
che il robot ne è sprovvisto
VOTO
6.5
ASSEMBLAGGIO -
ALGORITMI
Gli algoritmi vengono caricati tramite porta USB: limitazione rispetto
alla possibilità di farlo wireless e contemporaneamente per più robot
VOTO
6.5
INTERVENTO SW
Il robot è programmabile in C/C++ tramite Arduino, e sono presenti
diversi programmi già pronti da caricare ed eseguire; è possibile
inoltre programmare fino a livello sufficientemente basso, accedendo
a tutti sensori/attuatori
VOTO
8.0
INTERVENTO HW
A livello hardware una modifica consigliata sarebbe quella di installare
dei sensori di prossimità posteriormente, operazione possibile
forando la struttura principale di Sparki, che nel retro si presenta liscia
e continua
VOTO
7.0
COMUNICAZIONE
Essendo dotati di modulo Bluetooth, si possono far comunicare i
robot tramite questa tecnologia wireless
VOTO
8.0
TEMPO PERS/ROBOT
Il robot si presenta già montato ma necessita di modifiche a livello hw,
ovvero l’inserimento di sensori posteriormente e/o lateralmente che
si può rivelare oneroso per molti robot
VOTO
6.0
15
WIRELESS THYMIO
COSTO
Wireless Thymio ha un prezzo che si aggira attorno ai 180€. Esiste una
versione più economica (Thymio II) dal costo di circa 120€ ma non dotata
di modulo WiFi, che costa attorno ai 50€. Conviene dunque acquistare il
robot con modulo già integrato
VOTO
8.0
REPERIBILITA’
II robot è venduto da diversi siti e conta diversi accessori ed estensioni;
inoltre è compatibile con svariate componenti Lego
DIMENSIONI 110 x 110 x 55 mm
VOTO
8.0
VELOCITA’ Velocità massima 15 cm/s
VOTO
8.0
AUTONOMIA
Autonomia del robot si aggira attorno alle 2 ore +2 ore di tempo di
ricarica che avviene tramite cavo USB. La batteria è ai polimeri di Litio
(3.6 V)
VOTO
7.0
MOVIMENTO Su ruote differenziali
VOTO
9.0
SENSORI/ATTUATORI
Accelerometro a 3 assi, sensore di temperatura, 39 led, 2 sensori di
terra, 5 di prossimità anteriori e 2 posteriori, microfono, altoparlante,
memory card slot e modulo wireless. Non è necessaria alcuna aggiunta
VOTO
8.0
ASSEMBLAGGIO -
ALGORITMI
La versione Wireless di Thymio permette la trasmissione degli algoritmi
mediante WiFi in maniera istantanea, semplificando dunque le modalità
di distribuzione e riducendone le tempistiche
VOTO
10.0
INTERVENTO SW
Thymio è dotato di 6 comportamenti pre-programmati (evitare
ostacoli/seguire oggetti); Vi sono inoltre diversi livelli di
programmazione: VPL(programmazione visuale base) programmazione a
blocchi(per scendere a livello più basso), programmazione testuale(la più
adatta agli scopi del laboratorio).
Il software con cui si programma è Aseba Studio, compatibile con
VOTO
9.0
INTERVENTO HW
Thymio è compatibile con diversi componenti Lego che permettono la
modifica e l’eventuale assemblaggio di più robot assieme, il tutto senza
bisogno di saldare
VOTO
8.5
COMUNICAZIONE
Comunicazione Intra-Thymio tramit il modulo Wi-Fi: ogni robot
identificato come un nodo della stessa rete e può interagire con gli altri
VOTO
8.0
TEMPO PERS/ROBOT
Thymio è un robot già montato, dotato dei sensori necessari, il sw risulta
immediato e il pairing Wi-Fi è istantaneo; è quindi subito operativo
VOTO
9.0
16
POLOLU M3PI ROBOT WITH MBED SOCKET
COSTO
Il robot costa circa 120€, tuttavia è preferibile l’acquisto di kit robot +
mbed socket al prezzo di 170€, che fornisce sostanziosi vantaggi in fase
di programmazione e permette la creazione di prototipi ad alte
prestazioni
VOTO
8.0
REPERIBILITA’
Il robot è disponibile su diversi siti e sono disponibili estensioni come
mbed board
DIMENSIONI Diametro 9.4 cm
VOTO
8.0
VELOCITA’ Fino a 90 cm/s
VOTO
9.0
AUTONOMIA
M3pi è alimentato da 4 batterie AAA, che garantiscono una autonomia di
diversi giorni (risolvendo il problema dell’autonomia)
VOTO
8.5
MOVIMENTO Su ruote
VOTO
8.0
SENSORI/ATTUATORI
M3pi è equipaggiato con pochi sensori: troviamo 5 sensori di terra, 8 led,
2 input/output digitali, 1 ISP connector. Per le finalità del laboratorio
sicuramente l’m3pi dovrebbe essere equipaggiato con sensori di
prossimità lungo la circonferenza, ancora meglio se coprissero un angolo
360°
VOTO
5.5
ASSEMBLAGGIO -
ALGORITMI
Gli algoritmi sono distribuiti ad ogni robot tramite cavo USB, a meno che
non si acquisti l’XBee module che permette la distribuzione wireless
VOTO
7.0
INTERVENTO SW
M3pi può essere programmato in diversi modi: tramite il compilatore
GNU C/C++, tramite Arduino, con Atmel Studio, per il quale Pololu
fornisce diverse librerie software per interfacciarsi con tutti i componenti
hardware integrati
Per il controllo ad alto livello è utilizzata la mbed board
VOTO
7.5
INTERVENTO HW
Non essendo il robot dotato di sensori di prossimità, è necessario
apportare tale modifica saldando i sensori al robot per renderlo idoneo
VOTO
6.0
COMUNICAZIONE
Grazie alla mbed board, c’è la presenza di socket per XBee che permette
la comunicazione wireless tra robot
VOTO
7.0
TEMPO PERS/ROBOT
Il robot è già montato ma sarà necessaria una configurazione di base per
la mbed board, e l’aggiunta dei sensori di prossimità ad ogni robot:
operazioni che richiedono del tempo aggiuntivo
VOTO
6.0
17
WHEELPHONE
COSTO
Wheelphone è una piattaforma robotica dal costo di circa 170€
(Ognuno può utilizzare il proprio smartphone senza necessità di
acquisto di nuovi)
VOTO
8.0
REPERIBILITA’
Il robot è stato rilasciato nel 2013 ed è tuttora in commercio e di
semplice reperibilità
DIMENSIONI 92 x 102 x 68 mm
VOTO
8.0
VELOCITA’ Max 30 cm/s
VOTO
8.0
AUTONOMIA
Wheelphone ha una batteria ai polimeri di Litio, con autonomia di
circa 3h , e tempo di ricarica di 1h ; la ricarica avviene con microUSB
o con 2 contatti che si collegano a una docking station (che dev’essere
comprata a parte)
VOTO
8.0
MOVIMENTO Su ruote
VOTO
7.0
SENSORI/ATTUATORI
Wheelphone è equipaggiato con 4 sensori di terra a infrarossi che
distinguono anche i colori e con 4 sensori di luce ambientale e
prossimità fino a 6 cm; tutti e 8 i sensori sono posizionati
anteriormente, ragion per cui sarebbe preferibile integrarne di
ulteriori nella parte posteriore, evitando così dei punti ciechi.
VOTO
7.0
ASSEMBLAGGIO -
ALGORITMI Gli algoritmi sono distribuiti tramite cavo microUSB o USB
VOTO
7.0
INTERVENTO SW
Il limite di Wheelphone è che può essere programmato solo tramite
smartphone (Android o iOS) con un’app, caratteristica che, pur
interessante per scopi didattici, sembra mal sposarsi con gli scopi di
ricerca del laboratorio
VOTO
5.5
INTERVENTO HW
A livello hardware sarà necessario intervenire saldando dei sensori
nella parte posteriore del robot
VOTO
7.0
COMUNICAZIONE
Wheelphone non è dotato di moduli Wi-Fi o di trasmettitori/ricevitori
IR, tuttavia la comunicazione tra più piattaforme può avvenire proprio
grazie agli smartphone, che si possono scambiare dati collegandosi al
Wi-Fi o via Bluetooth
VOTO
9.0
TEMPO PERS/ROBOT
Il robot è già montato, per poterlo utilizzare basta avere lo
smartphone con installata l’app, ma dovrà essere modificato dal
punto di vista hw con dei sensori aggiuntivi
VOTO
6.5
18
4. TABELLA RIASSUNTIVA E COMPARATIVA
ROBOT DISPONIBILITA’ MEDIA VOTI
E-PUCK
✔ 7.68/10
R-ONE
✘ 8.00/10
ELISA-3
✔ 7.77/10
KILOBOT
✔ 6.68/10
PHIRO PRO
✔ 7.68/10
MBOT V 1.1
2.4GHZ ✔ 8.14/10
S-BOT
✘ 8.00/10
SPARKI
✔ 7.45/10
WIRELESS
THYMIO ✔ 8.41/10
POLOLU M3PI
ROBOT ✔ 7.31/10
WHEELPHONE
✔ 7.36/10
19
5. COMMENTO TABELLA RIASSUNTIVA
Osservando la tabella del punto 4., si può notare come siano stati evidenziati i dati dei tre robot disponibili
che sono stati considerati i migliori in base alla media voti tra tutti i criteri di valutazione, ovvero in ordine
Wireless Thymio, Mbot V 1.1 2.4 GHz, Elisa-3.
Sono stati inoltre sottolineati i due robot inseriti nell’analisi per completezza ma non reperibili, per far saltare
all’occhio che, in caso fossero stati disponibili, sarebbero stati considerati tra i migliori; in assenza di questi si
è optato di scegliere come terzo robot Elisa-3.
Esso superava di poco il punteggio di altri, tuttavia è stata effettuata la scelta di Elisa perché con
caratteristiche diverse (ovvero dimensioni più ridotte, sensori a 360°) rispetto ad altri che in realtà apparivano
più come versioni di Thymio o Mbot, ma meno quotate.
Dunque, se per Wireless Thymio e Mbot la scelta era obbligata in quanto con punteggi nettamente superiori
alla media, Elisa-3 è stato anche scelto per un fattore di diversità, oltre che per il punteggio.
6. OPERAZIONI SUI ROBOT
I tre robot segnalati sono stati successivamente acquistati, per valutare non solo teoricamente, ma anche
nella pratica, le loro caratteristiche ed effettuare un confronto empirico tra le piattaforme, andando ad
estendere l’ultimo dei criteri, il ‘Tempo Pers/Robot’.
Se infatti prima si dava una valutazione basandosi solamente sul fatto che una operazione andasse svolta o
meno per rendere operativo il robot, privilegiando le opzioni che non contemplavano lo svolgimento di
queste, ora con i robot fisici si può stimare il tempo effettivo richiesto per far funzionare la piattaforma
robotica.
Per ognuno dei 3 robot allora è stata seguita la seguente procedura:
-eventuale assemblaggio
-download e installazione del software di programmazione
-connessione computer/robot per inizializzazione
-studio del software di programmazione per comprenderne il linguaggio e le funzionalità
-scrittura di uno o più algoritmi (stesso task per le tre piattaforme) nel linguaggio del software
-inserimento algoritmo nel robot e inizio sperimentazione
Saranno quindi descritte queste operazioni per ciascun robot, stimando i tempi e analizzando pregi, difetti,
similitudini e differenze.
20
 THYMIO:
Il robot giunge già assemblato, quindi non è necessario tempo iniziale per il montaggio;
Il software con cui è programmato Thymio è Aseba Studio, che contiene Aseba Studio per Thymio, specifico
per questa tipologia di robot; il sw è disponibile sul sito di Thymio ed esistono le versioni per vari sistemi
operativi come Windows e MacOs, inoltre è relativamente leggero, dato che pesa circa 75Mb; tempo di
download e installazione: 30 min.
Thymio si connette al Pc per la trasmissione dei dati in maniera wireless, grazie ad un Dongle Usb in dotazione
che va inserito nel Pc e al suo modulo Wi-Fi, capaci di trasmettere e ricevere informazioni: una volta collegato
il Dongle, acceso il robot tramite pressione del tasto centrale e aperto Aseba Studio per Thymio, il pairing è
istantaneo e il robot già configurato e pronto all’utilizzo.
Aseba è un ambiente di programmazione ad eventi, il che significa che gli eventi scatenano l'esecuzione del
codice ad essi associato in maniera totalmente asincrona.
Il linguaggio di Aseba assomiglia a quello di Matlab (un linguaggio comune di programmazione scientifica);
questa somiglianza consente agli sviluppatori con una conoscenza precedente di qualche linguaggio di
scripting di trovarsi velocemente a proprio agio con Aseba.
Semanticamente, è un semplice linguaggio di programmazione imperativo con un singolo tipo di
dato (intero a 16 bit con segno) e vettori (array); tempo di addestramento 10 ore.
Gli algoritmi che sono stati scritti per andare a valutare le modalità di trasmissione di questi e le capacità
dei vari sensori/attuatori sono i seguenti:
-line following su un circuito a ‘8’, sfruttando la differenza di luce riflessa sui sensori di terra tra la linea
nera e il contorno bianco;
-movimento in cerchio e in quadrato, facendo variare la velocità delle ruote in modo che il robot compiesse
un angolo retto ogni tot secondi (per il quadrato) o impostando velocità diverse per le due ruote per
compiere un cerchio;
-obstacle avoidance, sfruttando i sensori di prossimità, con ricerca iniziale della direzione da seguire per
non avere ostacoli davanti, proseguimento dritto finché non si incontra un ostacolo e, il tal caso, curva a
destra o sinistra (a seconda della posizione dell’ostacolo) per evitarlo, con annesso stop immediato nel
caso il robot stia per cadere da superfici sopraelevate ed emissione di luce di diverso colore in base
all’operazione svolta;
Tempo di scrittura codice: 6 ore.
L’inserimento degli algoritmi nel Thymio è praticamente istantaneo: una volta scritto (e compilato, dato
che Aseba ha un compilatore istantaneo), basta premere il tasto ‘Carica’ e nel giro di 1/2 secondi
l’algoritmo è inserito; con ‘Esegui’ Thymio inizia a svolgere le azioni nel codice. Gli algoritmi possono anche
essere memorizzati all’interno del robot di modo che, una volta spento, non occorra un nuovo inserimento:
Thymio all’accensione ha infatti 6 comportamenti pre-programmati, ognuno identificato da un colore che
può essere scelto tramite le frecce sul robot; una volta memorizzato il nuovo algoritmo, esso corrisponderà
al colore ‘nessun colore’.
Tempo totale dall’apertura del pacco contenente il robot all’esecuzione di un task: ~ 15 ore.
21
 MBOT:
Il robot giunge formato da 38 componenti e deve essere quindi assemblato; azione comunque immediata,
non richiede particolari abilità e si trovano svariati tutorial oltre che le indicazioni nel libretto di istruzioni;
l’unica cosa da aggiungere sono le 4 batteria AA non comprese nel kit, oppure una batteria ricaricabile ai
polimeri di Litio: nel caso di studio sono state utilizzate le 4 batteria AA; tempo di assemblaggio 1 ora.
Il software con cui è programmato Mbot è mBlock della MakeBlock, anch’esso gratuito, disponibile nel sito
di MakeBlock e contenente anche una Arduino IDE; il robot è infatti basato su Arduino Uno, mBlock è una
rivisitazione di Scratch 2.0, ambiente di programmazione a blocchi, ma è possibile, e nel caso di studio sarà
così, programmare anche testualmente in C/C++ nella IDE di Arduino. Tempo di download e installazione di
mBlock: 30 min.
La versione selezionata di Mbot si connette al Pc wireless, tramite un Dongle Usb in dotazione che andrà
inserito nel Pc e un modulo Wi-Fi installato nel robot: il pairing è istantaneo e con la stessa logica del pairing
di un mouse wireless, ovvero una comunicazione point-to-point.
Se la modalità di programmazione utilizzata è quella a blocchi, il tempo per imparare è davvero limitato;
se, come vogliamo, si utilizza la programmazione testuale in C/C++ della IDE di Arduino, il tempo per imparare
a programmare, comprendendo anche come controllare sensori e attuatori, non sarà comunque eccessivo
dato che si presume che un laureando magistrale o un docente siano già a conoscenza del linguaggio in
questione; tempo di addestramento 10 ore.
Gli algoritmi che sono stati scritti per andare a valutare la loro distribuzione e le prestazioni di
sensori/attuatori sono di seguito riportati:
-line following sullo stesso circuito a ‘8’ del Thymio, anche in tal caso utilizzando i sensori di terra;
-movimento in cerchio e in quadrato, secondo il medesimo principio utilizzato per Thymio;
-obstacle avoidance, sfruttando l’unico sensore di prossimità ad ultrasuoni di cui è dotato Mbot, per cui il
robot prosegue dritto fino a che non trova un ostacolo esattamente davanti, cosa che lo fa girare a dx o sx
(indifferentemente) per evitare l’ostacolo, con anche in tal caso annesso stop in caso di imminente caduta;
Tempo di scrittura codice: 6 ore.
Per l’inserimento degli algoritmi in Mbot è necessaria una precisazione: se infatti esso viene composto con i
blocchi, viene distribuito al robot tramite il modulo Wi-Fi; se invece gli algoritmi sono scritti con Arduino, è
necessario utilizzare il cavo micro-USB per fare l’upload dell’algoritmo e per memorizzarlo.
La memorizzazione implica che una volta spento il robot, alla riaccensione esso faccia automaticamente
partire l’algoritmo; per riportare il robot alle condizioni iniziali è, ancora una volta, necessario il cavo micro-
USB.
Dopo tale operazione sarà nuovamente possibile connettersi in maniera wireless con mBlock.
Tempo totale dall’apertura del pacco con il robot all’esecuzione di un task: ~ 17 ore.
22
 ELISA-3:
Il robot giunge già assemblato e non è necessaria alcuna operazione di montaggio;
Elisa-3 può essere programmato con molti software, tra i quali AVR Studio 4 (versione ormai obsoleta, per
cui si trova solo la versione più recente, numero 7, che però pesa diversi Gb), Arduino, ma anche Aseba
Studio; in questo caso, data già la disponibilità di Aseba grazie al Thymio e data la conoscenza pregressa di
questo programma, si è scelto di programmare Elisa-3 con quest’ultimo. Tempo di download e di installazione
(nel caso non fosse già installato): 30 min.
Elisa-3 si connette al Pc tramite radiofrequenze a 2.4GHz o tramite cavo microUsb, ma nel pacco contenente
il robot c’è solo il cavo e nessun modulo wireless da connettere al Pc, ragion per cui si è giocoforza optato
per la connessione via micro-USB (anche se più scomoda). Una volta connesso il robot al Pc e acceso il
dispositivo, esso inizia a correre in un apparente task di obstacle avoidance e la compatibilità con Aseba è
assente.
Le operazioni necessarie per arrivare alla configurazione sono di seguito descritte:
 creare una porta seriale che avrà numero num;
 scaricare il file .hex di configurazione dal sito di Elisa-3 della GcTronic;
 inserire il file .hex nella memoria flash del robot (file che va a sostituire quello con il comportamento
pre-programmato);
Ora il robot avrà smesso di eseguire il task ed è pronto alla connessione con Aseba:
 aprire il prompt dei comandi ed eseguire il file
asebaswitch -d -v "ser:port=num;baud=57600;stop=1;parity=none;fc=none;bits=8"
all’interno di Aseba Studio dove num va sostituito col numero della porta seriale precedentemente
creata;
 aprire Aseba Studio
Dopo tali operazioni, Aseba Studio si aprirà connesso ad Elisa-3 (vedremo i parametri segnati dai sensori nella
finestra adibita) e si potrà programmare utilizzando lo stesso linguaggio del Thymio.
Tempo di configurazione iniziale di Elisa-3 via microUsb e con Aseba: 2 ore.
Il linguaggio di Aseba è già stato descritto nella sezione dedicata a Thymio e si può supporre tempo di
addestramento di 10 ore anche in questo caso.
Gli algoritmi che sono stati testati su Elisa-3 sono i seguenti:
 line following su circuito a ‘8’, come per gli altri 2;
 movimento in cerchio e in quadrato, come per gli altri 2;
 obstacle avoidance sfruttando i sensori di prossimità, con proseguimento dritto finché non si
incontra un ostacolo e, in tal caso, curva a destra o sinistra (a seconda della posizione dell’ostacolo)
per evitarlo, con annesso stop immediato nel caso il robot stia per cadere da superfici sopraelevate
ed emissione di luce di diverso colore in base all’operazione svolta.
Tempo di scrittura del codice: 6 ore, in analogia con Thymio.
Dopo questa operazione si è passati all’inserimento degli algoritmi nel robot tramite cavo microUsb, con
procedura uguale al Thymio, ‘Carica’ per inserirlo ed ‘Esegui’ per farlo partire; anche in Elisa-3 c’è la possibilità
di memorizzare l’algoritmo nella Flash, ma una volta eseguita questa operazione (sempre in Aseba), ogni
volta che il robot sarà spento e acceso nuovamente, inizierà ad eseguire il task salvato.
23
Grande limite dell’utilizzo di questo software con Elisa-3 è il fatto che la procedura che prevede l’apertura di
Aseba Studio con il comando asebaswitch (quindi la seconda parte della configurazione iniziale) deve
essere ripetuta ogni volta che il robot è connesso al Pc.
Tempo totale dall’apertura del pacco con il robot all’esecuzione di un task: ~19 ore.
7. ULTERIORI CONSIDERAZIONI
Quello che si può ancora ricavare dalle operazioni sui robot è che, per quanto riguarda il tempo che uno
studente deve dedicare per rendere il robot in grado di svolgere un semplice task, Thymio risulta il migliore
mentre Elisa-3 quello che richiede maggior impiego di tempo.
Dagli esperimenti svolti, si nota inoltre che i sensori di Thymio sono piuttosto precisi nella misura, mentre il
sensore ad ultrasuoni di Mbot risulta meno affidabile, tant’è che la velocità deve essere limitata se non si
vuole incorrere in spiacevoli incidenti; per Elisa-3 invece è stato riscontrato che dei sensori laterali di
prossimità talvolta segnassero ‘0’, ovvero ‘via libera’, seppur con ostacoli anche molto vicini e una instabilità
nella corsa per velocità troppo elevate (il robot vibra).
La durata effettiva delle batterie, anch’esse messe alla prova durante la sperimentazione, rispetta quanto
scritto in fase di analisi, ovvero intorno alle 2 ore per Thymio, 3 per Elisa-3 e circa 60 ore per Mbot grazie alle
4 batterie AA utilizzate.
Conclusa questa analisi, ora si cerca di allargare il raggio d’azione non concentrandosi più sul singolo robot,
ma, dovendo pensare a più unità all’interno del laboratorio che interagiscono e scambiano dati tra di loro e
con un computer, ci si focalizzerà su aspetti quali la comunicazione intra-robot, la possibilità di distribuzione
contemporanea degli algoritmi a più unità, lo scambio tra robot e Pc di dati che non siano quelli di default
come valori di sensori ma informazioni di qualunque genere.
Per quanto riguarda il Thymio, lo scenario è il migliore che si potesse auspicare per quanto riguarda la
comunicazione di gruppo, infatti con un singolo Dongle Usb si possono connettere un numero non definito
ma elevato di Thymio, che comunicano tra di loro e col Pc collegati alla stessa rete wireless: sono considerati
infatti come nodi distinti (ognuno con il proprio ID) appartenenti alla stessa rete.
Questa caratteristica inoltre consente la distribuzione simultanea degli algoritmi a più nodi.
Utilizzando una caratteristica di Aseba chiamata asebamedulla è anche possibile instaurare una connessione
tra robot e Pc con tecnologia D-Bus (solo con Linux però), che permette lo scambio di informazioni di qualsiasi
genere tra i due interlocutori.
Per l’Mbot invece la situazione è più complessa, in quanto ognuno si connette al proprio Dongle USB con
tecnologia analoga ai mouse, senza interferenze, ma rendendo di fatto necessario l’utilizzo di tanti Dongle
quanti robot; la comunicazione tra robot (con anche scambio di informazioni generiche) dovrebbe essere
possibile grazie all’utilizzo della IDE di Arduino (non ci sono fonti certe), mentre è impossibile utilizzando
programmazione a blocchi (si possono far interagire solo 2 robot).
Passando infine ad Elisa-3, si può dire che anch’essi comunicano tra di loro e con Pc equipaggiato del modulo
wireless tramite radiofrequenze a 2.4GHz purché connessi alla stessa base station, con velocità di
trasmissione decrescenti al crescere dei robot connessi, fino ad un massimo di 100; è stato però ottimizzato
un protocollo di comunicazione per cui un pacchetto contenente comandi per 4 robot viene inviato alla BS
che provvede a dividere e indirizzare il messaggio solo al robot corretto, riducendo notevolmente i tempi di
trasmissione (e discorso complementare si può fare per la ricezione). Potendo utilizzare Aseba anche con
Elisa-3, si può sfruttare anche in questo caso asebamedulla per lo scambio di informazioni generiche.
24
8. CONCLUSIONI
In conclusione, dopo aver analizzato le caratteristiche dei robot, effettuato una scelta in base ai criteri sopra
elencati ed aver eseguito una prima sperimentazione sulle piattaforme migliori, si può derivare che le
valutazioni assegnate in fase preliminare rispecchino le qualità dei robot; nello specifico, l’unico difetto di
Thymio può essere il trasferimento poco agevole di informazioni generiche, quando invece per Elisa-3 si
ravvisa un malfunzionamento di qualche sensore e difficoltà iniziali di configurazione, mentre Mbot sembra
qui quello più penalizzato, con criticità nella comunicazione intra-robot e inadeguatezza dell’unico sensore
frontale.
Come miglior robot tra quelli selezionati perciò si considera il Thymio Wireless, con Elisa-3 che riduce il gap
con Mbot, dimostrandosi inferiore in quanto a prezzo, dimensioni e tempo di configurazione, ma sicuramente
più adatto allo svolgimento di task che comprendono la cooperazione e lo scambio di dati tra piattaforme.
25
9. SITOGRAFIA
Wikipedia (E-Puck) -https://en.wikipedia.org/wiki/E-puck_mobile_robot
(Ultimo accesso 11/02/2018)
GcTronic(E-Puck) -www.gctronic.com/doc/index.php/E-Puck
(Ultimo accesso 11/01/2018)
Rice University(R-One) -http://mrsl.rice.edu/projects/r-one
(Ultimo accesso 18/01/2018)
GcTronic(Elisa-3) -http://www.gctronic.com/doc/index.php/Elisa-3
(Ultimo accesso 17/01/2018)
RoadNarrows -https://roadnarrows.com/products/elisa-3-bot-full-package
(Ultimo accesso 15/02/2018)
GenerationRobots -https://www.generationrobots.com/en/401440-robot-mobile-
elisa-3.html
(Ultimo accesso 02/02/2018)
K-Team(Kilobot) -https://www.k-team.com/mobile-robotics-products/kilobot
(Ultimo accesso 07/01/2018)
Wikipedia(Kilobot) -https://en.wikipedia.org/wiki/Kilobot
(Ultimo accesso 07/01/2018)
RobotShop(Phiro pro) -https://www.robotshop.com/en/phiro-pro-educational-
coding-robot.html
(Ultimo accesso 17/02/2018)
KickStrarter(Phiro pro) -https://www.kickstarter.com/projects/2074714954/phiro-a-
smart-robot-for-kids-learn-to-code-in-5-wa
(Ultimo accesso 17/02/2018)
Campustore(Mbot) -https://www.campustore.it/robotica-educativa-elettronica-
coding/mbot-makeblock/mbot.html
(Ultimo accesso 16/02/2018)
MakeBlock(Mbot) -http://store.makeblock.com/product/mbot-robot-kit
(Ultimo accesso 16/02/2018)
MakeBlock(Mbot) -http://forum.makeblock.com/
(Ultimo accesso 19/02/2018)
Wikipedia(S-bot) -https://en.wikipedia.org/wiki/S-bot_mobile_robot
(Ultimo accesso 11/02/2018)
SwarmBot(S-bot) -http://www.swarm-
bots.org/index.php@main=3&sub=31&conpage=sbot.html
(Ultimo accesso 05/01/2018)
Mobots(S-bot) -http://mobots.epfl.ch/s-bot.html
(Ultimo accesso 11/01/2018)
26
Arcbotics(Sparki) -http://arcbotics.com/products/sparki/
(Ultimo accesso 15/02/2018)
Adafruit(Sparki) -https://www.adafruit.com/product/1715
Thymio -https://www.thymio.org/it:thymio
(Ultimo accesso 19/02/2018)
GenerationRobots(Thymio) -https://www.generationrobots.com/en/402337-mobile-
robot-wireless-thymio.html
(Ultimo accesso 17/02/2018)
Wikipedia(Swarm Robotic Platforms) -
https://en.wikipedia.org/wiki/Swarm_robotic_platforms
(Ultimo accesso 19/12/2017)
Pololu(M3Pi) -https://www.pololu.com/
(Ultimo accesso 24/01/2018)
Wheelphone -http://www.wheelphone.com/wiki.html
(Ultimo accesso 22/01/2018)
GcTronic(Wheelphone) -www.gctronic.com/doc/index.php/Wheelphone
(Ultimo accesso 11/01/2018)
GenerationRobots -https://www.generationrobots.com/en/401583-wheelphone-
robot.html
(Ultimo accesso 15/01/2018)

More Related Content

Similar to Confronto tra piattaforme di robotica evolutiva

"Non-Destructive Inspection - Tomographic Inspection of a UAS-Wing Structure"...
"Non-Destructive Inspection - Tomographic Inspection of a UAS-Wing Structure"..."Non-Destructive Inspection - Tomographic Inspection of a UAS-Wing Structure"...
"Non-Destructive Inspection - Tomographic Inspection of a UAS-Wing Structure"...Vetorix Engineering Srl
 
Robot arrampicatori con azionamento pneumatico
Robot arrampicatori con azionamento pneumaticoRobot arrampicatori con azionamento pneumatico
Robot arrampicatori con azionamento pneumaticoVladimirZitoli
 
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.anwarNazik
 
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.anwarNazik
 
Attuatore elettromagnetico a cedevolezza variabile
Attuatore elettromagnetico a cedevolezza variabileAttuatore elettromagnetico a cedevolezza variabile
Attuatore elettromagnetico a cedevolezza variabileToscana Open Research
 
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...TiborRacman
 
Articolo Compositi Magazine Dicembre 2015
Articolo Compositi Magazine Dicembre 2015Articolo Compositi Magazine Dicembre 2015
Articolo Compositi Magazine Dicembre 2015Vetorix Engineering Srl
 
Extended Summary of “Co-Learning of Task and Sensor Placement for Soft Robotics”
Extended Summary of “Co-Learning of Task and Sensor Placement for Soft Robotics”Extended Summary of “Co-Learning of Task and Sensor Placement for Soft Robotics”
Extended Summary of “Co-Learning of Task and Sensor Placement for Soft Robotics”RiccardoWeis
 
Smart Metering per la riduzione delle perdite idriche: un progetto che guarda...
Smart Metering per la riduzione delle perdite idriche: un progetto che guarda...Smart Metering per la riduzione delle perdite idriche: un progetto che guarda...
Smart Metering per la riduzione delle perdite idriche: un progetto che guarda...Sensus Italia Srl
 
Smart Waste Management
Smart Waste ManagementSmart Waste Management
Smart Waste ManagementAlessioSechi
 
Costruzione di un pendolo inverso e implementazione del sistema di controllo
Costruzione di un pendolo inverso e implementazione del sistema di controlloCostruzione di un pendolo inverso e implementazione del sistema di controllo
Costruzione di un pendolo inverso e implementazione del sistema di controlloIgor Valic
 
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...MassimoPalmisano
 
Design Exploration: Sviluppo telaio per vettura formula sae
Design Exploration: Sviluppo telaio per vettura formula saeDesign Exploration: Sviluppo telaio per vettura formula sae
Design Exploration: Sviluppo telaio per vettura formula saeMarco Basilici
 
Graduation Thesis Presentation
Graduation Thesis PresentationGraduation Thesis Presentation
Graduation Thesis Presentationperceval84
 
A Location Based Mobile Social Network
A Location Based Mobile Social NetworkA Location Based Mobile Social Network
A Location Based Mobile Social NetworkLeonardo Di Donato
 
06.03.2015 libro bianco pallettizzazione, Pallettizzazione efficiente e veloce
06.03.2015 libro bianco pallettizzazione, Pallettizzazione efficiente e veloce06.03.2015 libro bianco pallettizzazione, Pallettizzazione efficiente e veloce
06.03.2015 libro bianco pallettizzazione, Pallettizzazione efficiente e veloceQimarox
 
Presentazione tesi magistrale
Presentazione tesi magistralePresentazione tesi magistrale
Presentazione tesi magistraleFederico Cacco
 

Similar to Confronto tra piattaforme di robotica evolutiva (20)

"Non-Destructive Inspection - Tomographic Inspection of a UAS-Wing Structure"...
"Non-Destructive Inspection - Tomographic Inspection of a UAS-Wing Structure"..."Non-Destructive Inspection - Tomographic Inspection of a UAS-Wing Structure"...
"Non-Destructive Inspection - Tomographic Inspection of a UAS-Wing Structure"...
 
Robot arrampicatori con azionamento pneumatico
Robot arrampicatori con azionamento pneumaticoRobot arrampicatori con azionamento pneumatico
Robot arrampicatori con azionamento pneumatico
 
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
 
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
Realizzazione di un controllore basato su piattaforma robotica Thymio 2.
 
Attuatore elettromagnetico a cedevolezza variabile
Attuatore elettromagnetico a cedevolezza variabileAttuatore elettromagnetico a cedevolezza variabile
Attuatore elettromagnetico a cedevolezza variabile
 
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
 
Articolo Compositi Magazine Dicembre 2015
Articolo Compositi Magazine Dicembre 2015Articolo Compositi Magazine Dicembre 2015
Articolo Compositi Magazine Dicembre 2015
 
DIAST
DIASTDIAST
DIAST
 
Tesi Federico Ruzzier
Tesi Federico RuzzierTesi Federico Ruzzier
Tesi Federico Ruzzier
 
Extended Summary of “Co-Learning of Task and Sensor Placement for Soft Robotics”
Extended Summary of “Co-Learning of Task and Sensor Placement for Soft Robotics”Extended Summary of “Co-Learning of Task and Sensor Placement for Soft Robotics”
Extended Summary of “Co-Learning of Task and Sensor Placement for Soft Robotics”
 
Smart Metering per la riduzione delle perdite idriche: un progetto che guarda...
Smart Metering per la riduzione delle perdite idriche: un progetto che guarda...Smart Metering per la riduzione delle perdite idriche: un progetto che guarda...
Smart Metering per la riduzione delle perdite idriche: un progetto che guarda...
 
Smart Waste Management
Smart Waste ManagementSmart Waste Management
Smart Waste Management
 
Dispositivo di Logistica
Dispositivo di LogisticaDispositivo di Logistica
Dispositivo di Logistica
 
Costruzione di un pendolo inverso e implementazione del sistema di controllo
Costruzione di un pendolo inverso e implementazione del sistema di controlloCostruzione di un pendolo inverso e implementazione del sistema di controllo
Costruzione di un pendolo inverso e implementazione del sistema di controllo
 
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
Prototipazione di una piattaforma di controllo degli accessi fisici cross ven...
 
Design Exploration: Sviluppo telaio per vettura formula sae
Design Exploration: Sviluppo telaio per vettura formula saeDesign Exploration: Sviluppo telaio per vettura formula sae
Design Exploration: Sviluppo telaio per vettura formula sae
 
Graduation Thesis Presentation
Graduation Thesis PresentationGraduation Thesis Presentation
Graduation Thesis Presentation
 
A Location Based Mobile Social Network
A Location Based Mobile Social NetworkA Location Based Mobile Social Network
A Location Based Mobile Social Network
 
06.03.2015 libro bianco pallettizzazione, Pallettizzazione efficiente e veloce
06.03.2015 libro bianco pallettizzazione, Pallettizzazione efficiente e veloce06.03.2015 libro bianco pallettizzazione, Pallettizzazione efficiente e veloce
06.03.2015 libro bianco pallettizzazione, Pallettizzazione efficiente e veloce
 
Presentazione tesi magistrale
Presentazione tesi magistralePresentazione tesi magistrale
Presentazione tesi magistrale
 

Recently uploaded

GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoServizi a rete
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptxfilippoluciani9
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroServizi a rete
 
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaServizi a rete
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxtecongo2007
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO AntonioServizi a rete
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleServizi a rete
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoServizi a rete
 
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneServizi a rete
 

Recently uploaded (9)

GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptx
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI Alessandro
 
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptx
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO Antonio
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA Roberto
 
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
 

Confronto tra piattaforme di robotica evolutiva

  • 1. UNIVERSITÀ DEGLI STUDI DI TRIESTE Dipartimento di Ingegneria e Architettura Corso di Studi in Ingegneria dell’Informazione CONFRONTO TRA PIATTAFORME DI ROBOTICA EVOLUTIVA PER ATTIVITÁ DI RICERCA E INSEGNAMENTO Tesi di Laurea Triennale Laureando: Michael FUSER Relatore: prof. Eric MEDVET Correlatore: prof. Alberto BARTOLI __________________________________ ANNO ACCADEMICO 2016-2017
  • 2. 1 INDICE: 1. INTRODUZIONE 2. SCELTA DEI CRITERI 3. ROBOT CONSIDERATI 4. TABELLA RIASSUNTIVA E COMPARATIVA 5. COMMENTO TABELLA RIASSUNTIVA 6. OPERAZIONI SUI ROBOT 7. ULTERIORI CONSIDERAZIONI 8. CONCLUSIONI 9. SITOGRAFIA
  • 3. 2 1. INTRODUZIONE Questo documento si pone come principale obiettivo l’analisi, il confronto e la selezione ponderata delle migliori piattaforme robotiche da utilizzare in un laboratorio, tenendo conto di numerosi imprescindibili aspetti vincolanti (es. budget disponibile) e di altri aspetti più tecnici in seguito descritti. Il laboratorio che dev’essere allestito avrà uno scopo sia didattico che di ricerca, particolarmente nel campo dell’evolutionary robotics; con questo termine si intende una branca della robotica che mira ad arrivare alla progettazione di robot autonomi in grado di risolvere task sempre più complessi e che si adattano ad eventuali cambiamenti dell’ambiente circostante e delle proprie condizioni. La particolare strategia utilizzata dall’evolutionary robotics (da qui il nome) è la seguente: - iniziale progettazione di una famiglia di robot, detta prima generazione. - valutazione della capacità di risolvere un task (tramite una funzione matematica). - ricombinazione/mutazioni dei cosiddetti ‘genomi’ dei migliori membri della popolazione per la creazione della seconda generazione. La ripetizione sistematica di tali operazioni dovrebbe quindi portare all’obiettivo tramite una sorta di evoluzione, che ricorda la teoria darwiniana de ‘L’origine delle specie’.
  • 4. 3 2. SCELTA DEI CRITERI Per poter effettuare un confronto efficace e in linea con l’obiettivo preposto, un momento fondamentale è stato quello della ricerca dei termini di paragone, seguita poi da una valutazione dei valori più adatti che tali parametri devono assumere in quel contesto. I criteri sono: - Costo piattaforma - Reperibilità - Dimensioni - Velocità - Autonomia della batteria - Modalità di movimento - Sensori/attuatori - Necessità di assemblaggio - Distribuzione algoritmi e informazioni - Possibilità di intervento a livello software - Modificabilità/aggiunta componenti hardware - Comunicazione tra robot - Tempo/Persona necessario per arrivare alla prima sperimentazione una volta ricevuto il pacco contenente un robot Nel dettaglio: Costo piattaforma: È un aspetto fondamentale dato che il budget inziale si aggira attorno ai 2000/3000 €. Per l’allestimento di un laboratorio (che oltre alla ricerca ha finalità anche didattiche) è ragionevole pensare che non siano sufficienti solamente dalle 2 alle 3 unità, seppur altamente sviluppate, come non sarebbe ottimale l’acquisto di un centinaio di robot ma dalle funzionalità limitate. Si può quindi ipotizzare che un range che va dalle 10 alle 30 piattaforme, ovvero un prezzo che si aggira attorno ai 150€/robot, sia una ipotesi soddisfacente. Reperibilità: Ulteriore aspetto importante è quello della reperibilità; si vedrà in seguito che ci sono dei robot che soddisfano la maggior parte dei requisiti ma che sono sviluppati da università e non sono dunque prodotti in maniera industriale, o ancora che non sono addirittura più in produzione da anni. Sarà quindi uno dei primi step quello di verificare la possibilità di ottenere fisicamente le piattaforme di cui si necessita. È stata effettuata la scelta, comunque, di inserire anche piattaforme non disponibili ma dalle ottime potenzialità sia per completezza che per avere ulteriori termini di paragone tramite i quali effettuare le dovute considerazioni in vista della scelta finale. Velocità: Da tener conto in questa analisi c’è anche la velocità dei robot, strettamente legata alla loro modalità di movimento: per i task classici come rilevamento di ostacoli, aggregazione di robot, navigazione in labirinto, una velocità che si aggira attorno ai 20 cm/s è sufficiente, in quanto non è eccessivamente elevata, cosa che potrebbe portare ad eventuali collisioni robot-robot e/o robot- pareti con conseguenti danni, né troppo bassa (si pensi ad un robot che deve coprire la distanza di qualche metro e che, nel farlo, ci impiega un decina di minuti: potrebbe scaricarsi la batteria prima di portare a termine l’attività, ad esempio).
  • 5. 4 Autonomia della batteria: Tra gli aspetti primari rientra senza dubbio l’autonomia della batteria: non sarebbe infatti consigliabile avere a che fare con piattaforme con autonomia limitata. - Caso didattico: non è auspicabile, suddividendo gli studenti in più gruppi e facendoli operare a scaglioni, dover ricaricare i robot nel periodo di scambio tra gruppi. - Caso di ricerca: per task più complessi potrebbe servire un maggior lasso di tempo e non porterebbe vantaggi interrompere il tutto per provvedere alla ricarica. Si stima perciò che un valore ideale sarebbe di un minimo di 2h di autonomia. Modalità di Movimento: Diverse sono le modalità con le quali i robot si muovono: la maggior parte di quelli che verranno considerati saranno dotati di ruote, che pare soluzione più appropriata rispetto ad altre modalità come il movimento tramite vibrazioni: basti pensare a quanto più comodo, rapido ed efficace sarebbe svolgere task come quelli prima menzionati di soluzione di un labirinto o compiti di aggregazione con piattaforme dotate di ruote. Sarà comunque presentato anche un caso di spostamento tramite vibrazioni per completezza e ne saranno discussi i limiti. Necessità di assemblaggio: Nelle azioni da compiere una volta ricevuti i robot, rientra giocoforza l’eventuale assemblaggio di componenti, nel caso in cui non arrivi già montato e/o saldato. Questa operazione richiede necessariamente delle competenze e una dose di tempo che devono essere tenute in considerazione: una soluzione ottimale sarebbe perciò quella di ricevere il tutto già pre-assemblato, seppure con possibilità di intervento a livello hardware, piuttosto che aver l’onere di costruirlo una volta ricevuti i componenti; tuttavia non sono da escludere a priori queste soluzioni, che comunque garantiscono un determinato grado di libertà nell’apportare modifiche anche nella struttura di base. Resta comunque da valutare la questione in relazione al numero di piattaforme acquistate: se si dovessero montare o addirittura saldare 30 robot il lavoro diventerebbe di certo più dispendioso rispetto al caso di robot già pronto all’utilizzo. Dimensioni: Quando si parla di laboratorio di evolutionary robotics si fa riferimento ad una normale stanza, ragion per cui le dimensioni dei robot non possono di certo essere spropositate; inoltre è molto difficile lavorare dovendo modificare componenti hardware di piattaforme robotiche delle dimensioni di una moneta: per cui sebbene non vi siano delle restrizioni così selettive, è bene evitare gli estremi e optare per dimensioni ragionevoli anche e soprattutto in base al numero di robot che saranno utilizzati in laboratorio. Sensori/Attuatori: Aspetto chiave nel nostro caso di studio è senza dubbio il numero e la tipologia di sensori e attuatori di cui è dotato ogni robot (o numero e tipologia di sensori e attuatori forniti, nel caso in cui non sia già assemblato). Fondamentali: - sensori di prossimità (a infrarossi o ultrasuoni), data la tipologia di attività a cui i robot saranno sottoposti; si pensa infatti ad un classico task per evitare ostacoli, oltre che la collisione tra robot, alla navigazione in labirinto o a compiti di aggregazione; - sensori di terra, che permettono di far seguire linee nel terreno ed evitano spiacevoli inconvenienti quali cadute accidentali da piani sopraelevati. Consigliati: - accelerometri lungo i tre assi X, Y e Z per delle capacità di movimento superiori; - led o microfoni/altoparlanti per robot che comunicano tra loro mediante impulsi sonori e che tramite led potrebbero facilitare la comprensione di ciò che stanno svolgendo in run-time, se ad una azione fosse associato un led o un particolare colore;
  • 6. 5 - ruote differenziali controllate ciascuna da un motore indipendente, per poter intervenire sul singolo componente. Oltre alla presenza, è da valutare anche il numero e la disposizione di sensori e attuatori: il caso auspicabile sarebbe con sensori che in totale ricoprono un angolo giro, per non lasciare punti ciechi che potrebbero portare a collisioni indesiderate o a una mancanza di informazioni che si può rivelare decisiva; nella valutazione si terrà conto dunque non solo della presenza, ma anche di efficacia e disposizione di suddetti sensori. Modificabilità/aggiunta componenti hardware: Passando a specifiche più tecniche, si considera la possibilità e il grado di difficoltà di aggiunta/modificabilità di componenti hardware: si parla di inserimento di sensori/attuatori aggiuntivi e di adattamento del robot alle condizioni ambientali. Operazioni iniziali di questo tipo chiaramente influiscono sulle tempistiche entro le quali il robot può essere completamente operativo, ragion per cui sarà da ponderare la scelta in virtù del numero di unità sul quale apportare modifiche, sulla tipologia di modifiche (operazioni di saldatura o di semplice incastro stile Lego), e sull’effettivo vantaggio che porterà tutto ciò. La soluzione, ad esempio, di saldare un sensore di prossimità su 30 robot per coprire un punto cieco di 30/360° non sarebbe così conveniente ed abbasserebbe la valutazione del robot per questo parametro. Possibilità di intervento a livello software: Trattandosi non di un semplice laboratorio ma di uno che, nella parte di ricerca quantomeno, si occupa di evolutionary robotics, appare evidente che un requisito fondamentale per i robot che andranno a comporlo deve essere quello della possibilità di intervenire a livello software in maniera abbastanza libera: mentre alcuni robot sono spediti privi di alcun codice al loro interno, altri sono dotati di algoritmi inseriti dagli sviluppatori che permettono ai robot di svolgere determinati compiti, e per altri ancora sono disponibili librerie e algoritmi su piattaforme come GitHub. Questi algoritmi possono essere un punto di partenza, accanto ai quali tuttavia si devono poter inserire quelli sviluppati da ricercatori/professori/studenti. Concernente l’intervento a livello software, è da prendere in esame anche il modo in cui ci si può interfacciare per la scrittura degli algoritmi, vale a dire il linguaggio di programmazione che dev’essere utilizzato, l’ambiente di sviluppo (Arduino o altro), la disponibilità di software specifici dei quali ci si deve dotare e se tali software sono free o a pagamento. Tutte queste caratteristiche vanno ad inficiare sulla complessità e effort necessari ad ottenere il risultato sperato. Una ulteriore considerazione è da farsi inoltre sul livello di programmazione al quale si accede: la possibilità di accedere solo ad un livello eccessivamente alto (come ad esempio dar indicazioni di spostamento ‘vai a nord’) rappresenterebbe un evidente limite allo sviluppo. Ottimale sarebbe poter controllare tutti i sensori e gli attuatori fino ad un livello che comprenda, ad esempio, l’agire sulla singola ruota. La possibilità invece di manipolare anche variabili come l’intensità di corrente fornita dal motore potrebbe essere un’opzione, ma non risulta come una condizione vincolante all’implementazione. Ricapitolando, saranno considerate ottimali, e valutate di conseguenza, piattaforme robotiche che possono essere programmate con software gratuiti, compatibili con la maggior parte dei sistemi operativi, che consentono di programmare con linguaggi di dominio comune tra quelli che possono essere professori o studenti di Ingegneria (C++, Java) o linguaggi da questi derivati ma di facile comprensione, e che permettono di controllare i sensori e gli attuatori ad un livello sufficientemente basso.
  • 7. 6 Comunicazione tra robot: Nell’evolutionary robotics sicuramente non passa in secondo piano la comunicazione tra robot, intesa sia come scambio di informazioni genetiche (l’esempio è quello di un esperimento in cui ciascun gruppo di robot svolge un task in un’ “isola” e in seguito, per salvaguardare la diversità genetica e migliorare le prestazioni in presenza di mutazioni, alcuni robot cambiano isola trovandosi a interagire e scambiare dati con individui che lì erano già presenti), sia come scambio di informazioni riguardanti ambiente, posizioni, o altro. Sarà allora importante valutare le modalità di interazione: potrebbe esser, in ordine di efficienza, via Wi-Fi (la consigliata per velocità di scambio dati), via Bluetooth (più lento), o per mezzo di ricevitori e trasmettitori ad infrarossi (che impedirebbero però l’uso contemporaneo degli infrarossi come sensori). Si valuterà perciò quale tra le suddette modalità possa essere quella più adatta per ogni piattaforma robotica in base ai sensori a disposizione o alle possibili modifiche hardware. Distribuzione algoritmi e informazioni: Cimentandosi anche con la ricerca e avendo la necessità di scrivere e inserire i propri algoritmi nei robot, è da tener in considerazione anche la dinamica con la quale si possono distribuire gli algoritmi: la maggior parte delle piattaforme analizzate è dotata di una o più porte USB per scambio dati; tuttavia ci si potrebbe imbattere nella situazione di avere un laboratorio di 30 robot, ragion per cui non sarebbe comodo dover collegare uno per volta i robot al pc per il trasferimento dati; si cercheranno dunque soluzioni alternative e più efficienti come la simultanea distribuzione di algoritmi tramite infrarossi o Radio Frequenze, privilegiando quest’ultima opzione se disponibile o implementabile per il motivo precedentemente citato. Tempo e operazioni per Persona necessari a rendere operativo il robot una volta ricevuto: Interessante sarà ragionare sul tempo richiesto da uno studente, in particolare un laureando magistrale in ingegneria elettronica e informatica, per, una volta ricevuto il pacco contenente il robot, completare tutte le operazioni che lo porteranno ad essere pronto in quanto a conoscenze e a render operativo il robot. Queste comprendono le eventuali fasi di assemblaggio, di aggiunta componenti hardware come ad esempio sensori, la fase di conoscenza del software di programmazione, inizializzazione della piattaforma, preparazione di eventuali particolari nell’ambiente di sperimentazione. In base a questo, una valutazione elevata sarà quindi fornita a robot che non necessitano di assemblaggio o di aggiunta di componenti, e per i quali non sono richieste competenze che richiedono un addestramento dello studente, e che non necessitano di configurazione iniziale; una valutazione medio/alta sarà fornita a robot con eventuali facili operazioni di assemblaggio, senza interventi di saldatura, o che richiedono piccole ulteriori conoscenze che dovranno essere acquisite, o che hanno bisogno di configurazione; una valutazione bassa sarà invece per piattaforme robotiche che richiedono particolari competenze per assemblaggio/modifica hardware o particolari software compatibili con un numero ristretto di sistemi operativi, o la conoscenza di linguaggi specifici e non noti a priori.
  • 8. 7 3. ROBOT CONSIDERATI E-PUCK COSTO 700€, possibilità di acquisto di 3/4 unità: per investire su un numero così limitato di robot si dovrebbe avere la certezza di specifiche e prestazioni uniche, non fornite da piattaforme più facilmente accessibili VOTO 4.5 REPERIBILITA’ Robot in commercio e facile da reperire DIMENSIONI Diametro 7.5 cm, dimensioni che soddisfano i requisiti VOTO 9.0 VELOCITA’ 13 cm/s, congrua con il contesto in cui opererebbe e con i task che andrebbe a svolgere VOTO 7.5 AUTONOMIA 2 ore in media in routing: autonomia che rasenta il limite dell’accettabilità dato che in determinate configurazioni potrebbe essere ancora inferiore, non soddisfacendo i requisiti minimi VOTO 7.0 MOVIMENTO Su ruote differenziali, ovvero ognuna di esse dotata di un motore che le permette il movimento autonomo VOTO 9.0 SENSORI/ATTUATORI 8 sensori infrarossi di prossimità, di luce, 8 led, accelerometro su 3 assi, 3 microfoni, 1 altoparlante: dotazione sufficiente che non richiede ulteriori aggiustamenti VOTO 9.0 ASSEMBLAGGIO - ALGORITMI Interazione robot-computer tramite bluetooth o tramite porta seriale standard fino a 115 kbps VOTO 7.0 INTERVENTO SW Programmazione in C++ con Graphical IDE fornito da Webots (ambiente di simulazione), e anche in Python; è compatibile con Arduino. Intervento a livello sufficientemente basso VOTO 7.5 INTERVENTO HW Si possono installare diversi moduli su e-puck come ad esempio sensori di terra (per seguire una linea), comunicazione wireless con Zigbee o Wi-Fi, ruote magnetiche per arrampicata verticale, visione 2D omnidirezionale, una torretta che simula la visione 1D omnidirezionale. Il prodotto è inoltre open hardware VOTO 8.0 COMUNICAZIONE La comunicazione avviene tramite bluetooth, sia robot-robot che robot- computer o, nel caso di applicazione dell’estensione, tramite Zigbee o Wi-Fi, ma tramite moduli che vanno acquistati separatamente VOTO 8.0 TEMPO PERS/ROBOT E-Puck non necessita di assemblaggio o di installazione di componenti aggiuntivi, sembrando quindi pronto all’utilizzo; il linguaggio di programmazione dovrebbe essere conosciuto (C/C++) e il sw da installare non dovrebbe comportare dilatazioni nei tempi VOTO 8.0
  • 9. 8 R-ONE COSTO Circa 240€, possibilità di acquisto di una dozzina di robot; un numero accettabile per una attività di laboratorio VOTO 7.5 REPERIBILITA’ Il robot è sviluppato dalla Rice University (USA) come una valida e più economica alternativa ad E-Puck ma non sembra è più in commercio DIMENSIONI Diametro 10 cm, dimensioni che soddisfano i requisiti VOTO 8.5 VELOCITA’ 25 cm/s, adatta agli scopi di laboratorio VOTO 8.0 AUTONOMIA 4/5 ore, dato significativo che permetterebbe di potersi giostrare l’autonomia del robot senza particolari vincoli dovuti alla batteria VOTO 9.0 MOVIMENTO Su ruote, una delle migliori modalità di locomozione VOTO 8.0 SENSORI/ATTUATORI 15 led colorati, luce, 8 trasmettitori e 8 ricevitori infrarossi, giroscopio su 3 assi, 8 sensori di contatto per rilevamento a 360°, accelerometro su 3 assi. Data la presenza di svariati sensori IR e la copertura a 360°, non sembra necessario intervenire per dover aggiungerne altri VOTO 8.5 ASSEMBLAGGIO - ALGORITMI Porta USB, scheda SD ma soprattutto radiofrequenze a 2.4 GHz con 2 MB/s di data rate per trasmissione simultanea a più robot che riceveranno quindi tutti gli stessi dati contemporaneamente VOTO 8.5 INTERVENTO SW Disponibilità di repository di r-one in GutHub e di diverse librerie; possibilità di scrivere e inserire i propri algoritmi con linguaggio C/C++ con compilatore Eclipse; setup Eclipse disponibile su sito della Rice University creatrice della piattaforma VOTO 7.5 INTERVENTO HW Sotto l’aspetto hardware, non è possibile apportare modifiche strutturali se non saldando i componenti aggiuntivi, data la sua struttura compatta e solida e priva di agganci per altri sensori/attuatori VOTO 6.0 COMUNICAZIONE Comunicazione tramite radiofrequenze oppure con ricevitori e trasmettitori ad infrarossi, ottima copertura a 360° VOTO 8.0 TEMPO PERS/ROBOT Il robot giunge già montato e saldato, già dotato di tutti i sensori necessari; il linguaggio di programmazione dovrebbe essere noto e il sw di programmazione è reperibile dal sito della Rice VOTO 8.5
  • 10. 9 ELISA-3 COSTO Circa 300€, possibilità di acquisto di una decina di unità: osservando le altre caratteristiche rapportate agli altri robot, può essere conveniente l’acquisto di un numero inferiore di piattaforme ma più performanti VOTO 7.0 REPERIBILITA’ Robot in commercio DIMENSIONI Diametro 5 cm: le dimensioni non sono tra le più comode ma, considerando che le persone che si devono confrontare con questa realtà sono professori e studenti universitari, non sembrano rappresentare un ostacolo VOTO 6.5 VELOCITA’ Fino a 60 cm/s, può quindi essere gestita a proprio piacimento in un range abbastanza elevato VOTO 9.0 AUTONOMIA 3 ore con utilizzo ‘’ponderato’ di sensori/attuatori, 1 ora e 30 min tempo di ricarica; buona autonomia del robot che, date anche le ridotte dimensioni, con 2 batterie ai Li-Po riesce a lavorare per un tempo sufficiente VOTO 7.0 MOVIMENTO Su ruote magnetiche VOTO 8.0 SENSORI/ATTUATORI 8 led verdi, trasmettitori e ricevitori IR, 8 sensori IR di luce ambientale e prossimità fino a 6 cm (copertura 360°), 4 sensori di terra, accelerometro sui 3 assi, porta microUSB; non necessita miglioramenti VOTO 9.0 ASSEMBLAGGIO Non necessita di assemblaggio; (il diffusore di luce e il robot vanno ad incastro così che si acceda più facilmente ai vari componenti) ALGORITMI Tramite porta seriale fino a 38 kbps oppure tramite radiofrequenze a 2.4 GHz VOTO 8.0 INTERVENTO SW Firmware con all’interno obstacle e cliff avoidance. Robot è pre-programmato con serial bootloader; I progetti si possono sviluppare con AVR Studio 4 oppure tramite Arduino, ma anche Python; esistono poi dei file .hex che permettono la comunicazione di Elisa-3 anche con sw per la programmazione di altri robot (ad es. Aseba per Thymio II) VOTO 7.5 INTERVENTO HW Elisa-3 ha dimensioni ridotte quindi l’intervento a livello hardware non è così agevole come in altri e l’aggiunta potrebbe essere solo effettuata saldando/incollando componenti VOTO 7.0 COMUNICAZIONE Comunicazione wireless a radio frequenze 2.4 GHz, fino a 10 metri Comunicazione tramite infrarossi, ma durante ricezione/trasmissione non possono essere utilizzati per evitare ostacoli; distanza max 5 cm VOTO 9.0 TEMPO PERS/ROBOT Elisa-3 giunge già montato, dotato dei sensori necessari ma pre- programmato con task che partono in automatico (necessita quindi la scrittura in memoria flash per evitare che parta una volta acceso) VOTO 7.5
  • 11. 10 KILOBOT COSTO Massimo 25€: Uno dei robot più economici, grazie anche alla rinuncia degli sviluppatori all’utilizzo di ruote che avrebbero alzato notevolmente il prezzo VOTO 10.0 REPERIBILITA’ Semplice, robot in commercio DIMENSIONI 3.3 cm, significa che si potrebbero riscontrare delle difficoltà nell’utilizzo e nella modifica a livello hardware VOTO 5.5 VELOCITA’ 1 cm/s: piuttosto lento. Per risolvere determinati task richiederebbe probabilmente un intervallo di tempo di molto superiore ai suoi concorrenti VOTO 4.0 AUTONOMIA 3/12 ore a seconda del task: autonomia abbastanza elevata VOTO 8.0 MOVIMENTO 2 vibratori: 1 attivato corrisponde a rotazione di 45°/s 2 attivati corrisponde a movimento a 1 cm/s Grosso limite di questa modalità di movimento: la superficie dev’essere necessariamente piatta e, in lunghe distanze, vi è un sensibile errore di precisione di direzione VOTO 4.5 SENSORI/ATTUATORI Sensori di luce, infrarossi di prossimità: manca di sensori funzionali; sarebbe quindi ragionevole pensare ad un improvement con l’aggiunta di sensori per poterlo rendere al pari dei concorrenti VOTO 6.0 ASSEMBLAGGIO - ALGORITMI Kilobot è un cosiddetto scalable robot, ovvero non richiede alcuna attenzione individuale per operazioni come la ricarica, l’accensione, la ricezione di un nuovo algoritmo: tutte queste operazioni vengono dirette da un controllore che comunica con messaggi ad infrarossi senza la necessità di collegare ad un cavo un robot per volta VOTO 8.0 INTERVENTO SW I programmi sono scritti in C, all’interno vi è già l’algoritmo SDASH (per far formare ai singoli robot forme come in uno sciame); non sono fornite ulteriori informazioni VOTO 7.0 INTERVENTO HW Date le dimensioni alquanto ridotte, appare difficile apportare modifiche all’hardware di questo robot, considerato il fatto che dovrebbe essere dotato di sensori aggiuntivi VOTO 6.0 COMUNICAZIONE Ogni robot è equipaggiato con un trasmettitore e un ricevitore ad infrarossi per la comunicazione intrarobot (30kbps a distanza max di 10cm) VOTO 8.0 TEMPO PERS/ROBOT Il robot giunge già montato e disponibile all’utilizzo, anche se non sono fornite molte altre informazioni; probabilmente prima di iniziare sarebbe necessario rimuovere l’algoritmo al suo interno se questo partisse in automatico una volta acceso il robot VOTO 6.5
  • 12. 11 PHIRO PRO COSTO Phiro Pro costa circa 170€; vi sono accessori come ad esempio il kit Arduino, ma il prezzo si mantiene sempre attorno ai 200€: possibilità di acquisto di un numero adeguato di robot (circa 15) VOTO 8.0 REPERIBILITA’ Il robot è in commercio ed è compatibile con componenti Lego, quindi sono facilmente reperibili anche componenti aggiuntivi DIMENSIONI 153 x 94 x 51 mm: dimensioni adatte al contesto VOTO 8.0 VELOCITA’ Velocità max 30 cm/s VOTO 8.0 AUTONOMIA Il robot ha un’autonomia di 5 ore durante l’utilizzo, 10 ore in stand-by; ha batteria ai polimeri di Litio che si ricarica via USB VOTO 9.0 MOVIMENTO Su ruote gestite da 2 motori VOTO 7.0 SENSORI/ATTUATORI Phiro è dotato di 6 sensori IR (2 laterali, 2 frontali, 2 inferiori), un altoparlante, 2 led programmabili e di un modulo Bluetooth per comunicazione wireless; Nella parte posteriore e laterale posteriore non vi sono sensori, ragion per cui sarebbe auspicabile l’aggiunta di altri 4, 2 laterali e 2 posteriori VOTO 7.0 ASSEMBLAGGIO Phiro Pro giunge già assemblato. Data la compatibilità con Lego, ogni modifica sarà di semplice applicazione e senza necessità di saldare ALGORITMI Gli algoritmi possono essere distribuiti o con delle speciali ‘Phiro’s Keys’ da strisciare direttamente sul robot, o via cavo USB, o wireless tramite Bluetooth (sia da PC che da smartphone) ma con throughput ridotto VOTO 8.0 INTERVENTO SW Phiro è programmabile da PC e da smartphone; da smartphone la programmazione è ad un livello più alto, da PC invece anche ad un livello più basso data la compatibilità con Arduino. Si possono utilizzare anche applicazioni come Scratch che consente una programmazione a blocchi (non adatta però a scopi di ricerca o didattici ad un certo livello) VOTO 7.0 INTERVENTO HW Phiro Pro è compatibile con componenti Lego, per cui le modifiche a livello hardware possono essere effettuate facilmente, con la possibilità di creare anche robot complessi; andranno inoltre integrati 4 sensori nella parte posteriore del Phiro Pro per renderlo più idoneo alle finalità del laboratorio VOTO 7.0 COMUNICAZIONE I robot sono dotati di modulo Bluetooth quindi possono comunicare tra di loro attraverso questa tecnologia VOTO 8.0 TEMPO PERS/ROBOT Il robot arriva già montato; sarebbe necessario installare i sensori almeno nella parte posteriore per poterlo paragonare ad altri robot più equipaggiati. La compatibilità con Arduino semplifica la parte di configurazione o download di software aggiuntivi VOTO 7.5
  • 13. 12 MBOT ROBOT V 1.1, 2.4GHZ COSTO MBot v 1.1, 2.4GHz è la versione con modulo di comunicazione Wi-Fi, si trova ad un prezzo di circa 110€: permette l’acquisto di svariate unità VOTO 8.5 REPERIBILITA’ Il robot è venduto da diversi siti e conta diversi accessori ed estensioni; inoltre è Lego-compatibile DIMENSIONI 170 x 130 x 90 mm VOTO 9.0 VELOCITA’ Il robot si muove con velocità adatte allo scopo prefissato, attorno ai 30 cm/s VOTO 8.0 AUTONOMIA Dotato di batteria ai polimeri di Litio di media durata (5/6 h) da 3.7V, supporta anche 4 batterie AA/RL6 che risolverebbero il problema dell’autonomia, in quando si può stimare che durino per svariati giorni VOTO 9.0 MOVIMENTO Su ruote VOTO 8.0 SENSORI/ATTUATORI Ogni robot è dotato di un rx e un tx ad infrarossi, un modulo per comunicazione WiFi, sensore di luce, di prossimità ad ultrasuoni frontale, 2 led e modulo per line following. Una miglioria notevole sarebbe quella di equipaggiarlo con sensori di prossimità per la soluzione di task che richiedono maggiore copertura di sensori rispetto a solo quella frontale. VOTO 6.5 ASSEMBLAGGIO MBot è distribuito in kit formati da 38 elementi che possono essere assemblati facilmente in un tempo stimato di massimo 30 minuti ALGORITMI La versione 1.1, 2.4GHz grazie al modulo di comunicazione Wi-Fi, permette la distribuzione di algoritmi senza bisogno di cavi, sebbene ogni robot abbia il proprio usb dongle che deve esser connesso al pc VOTO 8.5 INTERVENTO SW I programmi possono essere scritti in più modi: tramite il software grafico drag-and-drop mBlock, basato su Scratch 2.0, oppure a livello più basso tramite programmazione testuale in C/C++ nell’IDE di Arduino (inclusa nel programma mBlock) VOTO 9.0 INTERVENTO HW Il robot è compatibile con la piattaforma MakeBlock e con componenti Lego, ragion per cui si possono facilmente applicare, senza necessità di saldare, estensioni o sensori VOTO 8.0 COMUNICAZIONE La comunicazione tra robot avviene tramite radiofrequenze (confermato tra 2 robot) a 2.4GHz o attraverso trasmettitori e ricevitori ad infrarossi VOTO 8.0 TEMPO PERS/ROBOT Il robot una volta arrivato va montato (operazione piuttosto rapida, ma che può diventare onerosa per un numero elevato di piattaforme); sarebbe necessario installare anche qualche sensore di prossimità (posteriore e/o laterale) per compensarne la presenza sono anteriore VOTO 7.0
  • 14. 13 S-BOT COSTO Non è specificato il costo di S-Bot, non più disponibile da diversi anni, ma che viene inserito in questa analisi in quanto una delle migliori piattaforme analizzate, e quindi buon termine di paragone per la valutazione degli altri robot. Si potrebbe comunque stimare un costo tra i 500 e i 700€ in base alle caratteristiche VOTO 6.0 REPERIBILITA’ Tra il 2001 e il 2004 DIMENSIONI Diametro 12 cm VOTO 8.0 VELOCITA’ 25 cm/s VOTO 8.0 AUTONOMIA L’autonomia di S-Bot è compresa tra 1 e 2 ore, in relazione al suo utilizzo: nel caso peggiore non soddisfarebbe i requisiti minimi VOTO 5.0 MOVIMENTO Su ruote cingolate, adatte a superfici anche non regolari; S-Bot può infatti essere utilizzato anche outdoor VOTO 9.0 SENSORI/ATTUATORI S-Bot è dotato di una pinza con la quale può afferrare oggetti e collegarsi ad altri S-Bot, e di un braccio che si muove lungo i 3 assi; ha 15 sensori IR di prossimità, 4 di terra, sensore di velocità, 2 di temperatura, 8 di luce, 4 accelerometri, 4 microfoni, 2 sensori per la deformazione della struttura. Ha anche un sensore di forza che permette agli S-Bot di coordinarsi per portare un oggetto. VOTO 10.0 ASSEMBLAGGIO - ALGORITMI Gli algoritmi possono essere distribuiti mediante la porta Linux, o, in maniera più efficiente, tramite Wi-Fi (ogni robot infatti è dotato di antenna per radiofrequenze) VOTO 10.0 INTERVENTO SW S-Bot utilizza una porta Linux che usa Familiar Linux (S.O. obsoleto, ultima release nel 2007) e permette l’accesso ai sensori tramite una semplice API di C, che garantisce una programmazione a livello basso VOTO 7.0 INTERVENTO HW S-Bot ha parti meccaniche facilmente modificabili, mentre per una eventuale aggiunta di sensori (che non sembra tuttavia necessaria data la completezza del robot) è necessaria un’opera di saldatura VOTO 7.0 COMUNICAZIONE Tramite ricevitori e trasmettitori a infrarossi o con Wi-Fi, hanno la capacità di attaccarsi grazie al braccio per formare gruppi che risolvono task non risolvibili da un singolo S-bot VOTO 10.0 TEMPO PERS/ROBOT Il robot è già montato e pronto all’utilizzo, e dotato di tutti i sensori/attuatori necessari; unico neo sarebbe trovare la versione di Linux del 2007 per la programmazione VOTO 8.0
  • 15. 14 SPARKI COSTO Il robot costa circa 150€, più una eventuale ridotta spesa per sensori di prossimità, che comunque non porterà il prezzo sopra i 200€: possibilità di acquisto di un numero adeguato di unità VOTO 8.0 REPERIBILITA’ Sparki è acquistabile dal sito ufficiale e da altri siti di e-commerce DIMENSIONI ~ 150 x 120 mm VOTO 8.0 VELOCITA’ Velocità max 35 cm/s VOTO 8.0 AUTONOMIA Sparki funziona con 4 batterie AA, ricaricabili o alcaline; questo garantisce una autonomia di svariate ore, compatibile con i fini del laboratorio VOTO 8.5 MOVIMENTO Su ruote, alimentate da 2 motori VOTO 7.5 SENSORI/ATTUATORI Sparki è dotato di 1 sensore di distanza a ultrasuoni (anteriormente), accelerometro e magnetometro a 3 assi, 3 fototransistori, 5 sensori line-following, led, trasmettitore e ricevitore IR, modulo Bluetooth. Posteriormente si dovrebbero installare dei sensori di prossimità dato che il robot ne è sprovvisto VOTO 6.5 ASSEMBLAGGIO - ALGORITMI Gli algoritmi vengono caricati tramite porta USB: limitazione rispetto alla possibilità di farlo wireless e contemporaneamente per più robot VOTO 6.5 INTERVENTO SW Il robot è programmabile in C/C++ tramite Arduino, e sono presenti diversi programmi già pronti da caricare ed eseguire; è possibile inoltre programmare fino a livello sufficientemente basso, accedendo a tutti sensori/attuatori VOTO 8.0 INTERVENTO HW A livello hardware una modifica consigliata sarebbe quella di installare dei sensori di prossimità posteriormente, operazione possibile forando la struttura principale di Sparki, che nel retro si presenta liscia e continua VOTO 7.0 COMUNICAZIONE Essendo dotati di modulo Bluetooth, si possono far comunicare i robot tramite questa tecnologia wireless VOTO 8.0 TEMPO PERS/ROBOT Il robot si presenta già montato ma necessita di modifiche a livello hw, ovvero l’inserimento di sensori posteriormente e/o lateralmente che si può rivelare oneroso per molti robot VOTO 6.0
  • 16. 15 WIRELESS THYMIO COSTO Wireless Thymio ha un prezzo che si aggira attorno ai 180€. Esiste una versione più economica (Thymio II) dal costo di circa 120€ ma non dotata di modulo WiFi, che costa attorno ai 50€. Conviene dunque acquistare il robot con modulo già integrato VOTO 8.0 REPERIBILITA’ II robot è venduto da diversi siti e conta diversi accessori ed estensioni; inoltre è compatibile con svariate componenti Lego DIMENSIONI 110 x 110 x 55 mm VOTO 8.0 VELOCITA’ Velocità massima 15 cm/s VOTO 8.0 AUTONOMIA Autonomia del robot si aggira attorno alle 2 ore +2 ore di tempo di ricarica che avviene tramite cavo USB. La batteria è ai polimeri di Litio (3.6 V) VOTO 7.0 MOVIMENTO Su ruote differenziali VOTO 9.0 SENSORI/ATTUATORI Accelerometro a 3 assi, sensore di temperatura, 39 led, 2 sensori di terra, 5 di prossimità anteriori e 2 posteriori, microfono, altoparlante, memory card slot e modulo wireless. Non è necessaria alcuna aggiunta VOTO 8.0 ASSEMBLAGGIO - ALGORITMI La versione Wireless di Thymio permette la trasmissione degli algoritmi mediante WiFi in maniera istantanea, semplificando dunque le modalità di distribuzione e riducendone le tempistiche VOTO 10.0 INTERVENTO SW Thymio è dotato di 6 comportamenti pre-programmati (evitare ostacoli/seguire oggetti); Vi sono inoltre diversi livelli di programmazione: VPL(programmazione visuale base) programmazione a blocchi(per scendere a livello più basso), programmazione testuale(la più adatta agli scopi del laboratorio). Il software con cui si programma è Aseba Studio, compatibile con VOTO 9.0 INTERVENTO HW Thymio è compatibile con diversi componenti Lego che permettono la modifica e l’eventuale assemblaggio di più robot assieme, il tutto senza bisogno di saldare VOTO 8.5 COMUNICAZIONE Comunicazione Intra-Thymio tramit il modulo Wi-Fi: ogni robot identificato come un nodo della stessa rete e può interagire con gli altri VOTO 8.0 TEMPO PERS/ROBOT Thymio è un robot già montato, dotato dei sensori necessari, il sw risulta immediato e il pairing Wi-Fi è istantaneo; è quindi subito operativo VOTO 9.0
  • 17. 16 POLOLU M3PI ROBOT WITH MBED SOCKET COSTO Il robot costa circa 120€, tuttavia è preferibile l’acquisto di kit robot + mbed socket al prezzo di 170€, che fornisce sostanziosi vantaggi in fase di programmazione e permette la creazione di prototipi ad alte prestazioni VOTO 8.0 REPERIBILITA’ Il robot è disponibile su diversi siti e sono disponibili estensioni come mbed board DIMENSIONI Diametro 9.4 cm VOTO 8.0 VELOCITA’ Fino a 90 cm/s VOTO 9.0 AUTONOMIA M3pi è alimentato da 4 batterie AAA, che garantiscono una autonomia di diversi giorni (risolvendo il problema dell’autonomia) VOTO 8.5 MOVIMENTO Su ruote VOTO 8.0 SENSORI/ATTUATORI M3pi è equipaggiato con pochi sensori: troviamo 5 sensori di terra, 8 led, 2 input/output digitali, 1 ISP connector. Per le finalità del laboratorio sicuramente l’m3pi dovrebbe essere equipaggiato con sensori di prossimità lungo la circonferenza, ancora meglio se coprissero un angolo 360° VOTO 5.5 ASSEMBLAGGIO - ALGORITMI Gli algoritmi sono distribuiti ad ogni robot tramite cavo USB, a meno che non si acquisti l’XBee module che permette la distribuzione wireless VOTO 7.0 INTERVENTO SW M3pi può essere programmato in diversi modi: tramite il compilatore GNU C/C++, tramite Arduino, con Atmel Studio, per il quale Pololu fornisce diverse librerie software per interfacciarsi con tutti i componenti hardware integrati Per il controllo ad alto livello è utilizzata la mbed board VOTO 7.5 INTERVENTO HW Non essendo il robot dotato di sensori di prossimità, è necessario apportare tale modifica saldando i sensori al robot per renderlo idoneo VOTO 6.0 COMUNICAZIONE Grazie alla mbed board, c’è la presenza di socket per XBee che permette la comunicazione wireless tra robot VOTO 7.0 TEMPO PERS/ROBOT Il robot è già montato ma sarà necessaria una configurazione di base per la mbed board, e l’aggiunta dei sensori di prossimità ad ogni robot: operazioni che richiedono del tempo aggiuntivo VOTO 6.0
  • 18. 17 WHEELPHONE COSTO Wheelphone è una piattaforma robotica dal costo di circa 170€ (Ognuno può utilizzare il proprio smartphone senza necessità di acquisto di nuovi) VOTO 8.0 REPERIBILITA’ Il robot è stato rilasciato nel 2013 ed è tuttora in commercio e di semplice reperibilità DIMENSIONI 92 x 102 x 68 mm VOTO 8.0 VELOCITA’ Max 30 cm/s VOTO 8.0 AUTONOMIA Wheelphone ha una batteria ai polimeri di Litio, con autonomia di circa 3h , e tempo di ricarica di 1h ; la ricarica avviene con microUSB o con 2 contatti che si collegano a una docking station (che dev’essere comprata a parte) VOTO 8.0 MOVIMENTO Su ruote VOTO 7.0 SENSORI/ATTUATORI Wheelphone è equipaggiato con 4 sensori di terra a infrarossi che distinguono anche i colori e con 4 sensori di luce ambientale e prossimità fino a 6 cm; tutti e 8 i sensori sono posizionati anteriormente, ragion per cui sarebbe preferibile integrarne di ulteriori nella parte posteriore, evitando così dei punti ciechi. VOTO 7.0 ASSEMBLAGGIO - ALGORITMI Gli algoritmi sono distribuiti tramite cavo microUSB o USB VOTO 7.0 INTERVENTO SW Il limite di Wheelphone è che può essere programmato solo tramite smartphone (Android o iOS) con un’app, caratteristica che, pur interessante per scopi didattici, sembra mal sposarsi con gli scopi di ricerca del laboratorio VOTO 5.5 INTERVENTO HW A livello hardware sarà necessario intervenire saldando dei sensori nella parte posteriore del robot VOTO 7.0 COMUNICAZIONE Wheelphone non è dotato di moduli Wi-Fi o di trasmettitori/ricevitori IR, tuttavia la comunicazione tra più piattaforme può avvenire proprio grazie agli smartphone, che si possono scambiare dati collegandosi al Wi-Fi o via Bluetooth VOTO 9.0 TEMPO PERS/ROBOT Il robot è già montato, per poterlo utilizzare basta avere lo smartphone con installata l’app, ma dovrà essere modificato dal punto di vista hw con dei sensori aggiuntivi VOTO 6.5
  • 19. 18 4. TABELLA RIASSUNTIVA E COMPARATIVA ROBOT DISPONIBILITA’ MEDIA VOTI E-PUCK ✔ 7.68/10 R-ONE ✘ 8.00/10 ELISA-3 ✔ 7.77/10 KILOBOT ✔ 6.68/10 PHIRO PRO ✔ 7.68/10 MBOT V 1.1 2.4GHZ ✔ 8.14/10 S-BOT ✘ 8.00/10 SPARKI ✔ 7.45/10 WIRELESS THYMIO ✔ 8.41/10 POLOLU M3PI ROBOT ✔ 7.31/10 WHEELPHONE ✔ 7.36/10
  • 20. 19 5. COMMENTO TABELLA RIASSUNTIVA Osservando la tabella del punto 4., si può notare come siano stati evidenziati i dati dei tre robot disponibili che sono stati considerati i migliori in base alla media voti tra tutti i criteri di valutazione, ovvero in ordine Wireless Thymio, Mbot V 1.1 2.4 GHz, Elisa-3. Sono stati inoltre sottolineati i due robot inseriti nell’analisi per completezza ma non reperibili, per far saltare all’occhio che, in caso fossero stati disponibili, sarebbero stati considerati tra i migliori; in assenza di questi si è optato di scegliere come terzo robot Elisa-3. Esso superava di poco il punteggio di altri, tuttavia è stata effettuata la scelta di Elisa perché con caratteristiche diverse (ovvero dimensioni più ridotte, sensori a 360°) rispetto ad altri che in realtà apparivano più come versioni di Thymio o Mbot, ma meno quotate. Dunque, se per Wireless Thymio e Mbot la scelta era obbligata in quanto con punteggi nettamente superiori alla media, Elisa-3 è stato anche scelto per un fattore di diversità, oltre che per il punteggio. 6. OPERAZIONI SUI ROBOT I tre robot segnalati sono stati successivamente acquistati, per valutare non solo teoricamente, ma anche nella pratica, le loro caratteristiche ed effettuare un confronto empirico tra le piattaforme, andando ad estendere l’ultimo dei criteri, il ‘Tempo Pers/Robot’. Se infatti prima si dava una valutazione basandosi solamente sul fatto che una operazione andasse svolta o meno per rendere operativo il robot, privilegiando le opzioni che non contemplavano lo svolgimento di queste, ora con i robot fisici si può stimare il tempo effettivo richiesto per far funzionare la piattaforma robotica. Per ognuno dei 3 robot allora è stata seguita la seguente procedura: -eventuale assemblaggio -download e installazione del software di programmazione -connessione computer/robot per inizializzazione -studio del software di programmazione per comprenderne il linguaggio e le funzionalità -scrittura di uno o più algoritmi (stesso task per le tre piattaforme) nel linguaggio del software -inserimento algoritmo nel robot e inizio sperimentazione Saranno quindi descritte queste operazioni per ciascun robot, stimando i tempi e analizzando pregi, difetti, similitudini e differenze.
  • 21. 20  THYMIO: Il robot giunge già assemblato, quindi non è necessario tempo iniziale per il montaggio; Il software con cui è programmato Thymio è Aseba Studio, che contiene Aseba Studio per Thymio, specifico per questa tipologia di robot; il sw è disponibile sul sito di Thymio ed esistono le versioni per vari sistemi operativi come Windows e MacOs, inoltre è relativamente leggero, dato che pesa circa 75Mb; tempo di download e installazione: 30 min. Thymio si connette al Pc per la trasmissione dei dati in maniera wireless, grazie ad un Dongle Usb in dotazione che va inserito nel Pc e al suo modulo Wi-Fi, capaci di trasmettere e ricevere informazioni: una volta collegato il Dongle, acceso il robot tramite pressione del tasto centrale e aperto Aseba Studio per Thymio, il pairing è istantaneo e il robot già configurato e pronto all’utilizzo. Aseba è un ambiente di programmazione ad eventi, il che significa che gli eventi scatenano l'esecuzione del codice ad essi associato in maniera totalmente asincrona. Il linguaggio di Aseba assomiglia a quello di Matlab (un linguaggio comune di programmazione scientifica); questa somiglianza consente agli sviluppatori con una conoscenza precedente di qualche linguaggio di scripting di trovarsi velocemente a proprio agio con Aseba. Semanticamente, è un semplice linguaggio di programmazione imperativo con un singolo tipo di dato (intero a 16 bit con segno) e vettori (array); tempo di addestramento 10 ore. Gli algoritmi che sono stati scritti per andare a valutare le modalità di trasmissione di questi e le capacità dei vari sensori/attuatori sono i seguenti: -line following su un circuito a ‘8’, sfruttando la differenza di luce riflessa sui sensori di terra tra la linea nera e il contorno bianco; -movimento in cerchio e in quadrato, facendo variare la velocità delle ruote in modo che il robot compiesse un angolo retto ogni tot secondi (per il quadrato) o impostando velocità diverse per le due ruote per compiere un cerchio; -obstacle avoidance, sfruttando i sensori di prossimità, con ricerca iniziale della direzione da seguire per non avere ostacoli davanti, proseguimento dritto finché non si incontra un ostacolo e, il tal caso, curva a destra o sinistra (a seconda della posizione dell’ostacolo) per evitarlo, con annesso stop immediato nel caso il robot stia per cadere da superfici sopraelevate ed emissione di luce di diverso colore in base all’operazione svolta; Tempo di scrittura codice: 6 ore. L’inserimento degli algoritmi nel Thymio è praticamente istantaneo: una volta scritto (e compilato, dato che Aseba ha un compilatore istantaneo), basta premere il tasto ‘Carica’ e nel giro di 1/2 secondi l’algoritmo è inserito; con ‘Esegui’ Thymio inizia a svolgere le azioni nel codice. Gli algoritmi possono anche essere memorizzati all’interno del robot di modo che, una volta spento, non occorra un nuovo inserimento: Thymio all’accensione ha infatti 6 comportamenti pre-programmati, ognuno identificato da un colore che può essere scelto tramite le frecce sul robot; una volta memorizzato il nuovo algoritmo, esso corrisponderà al colore ‘nessun colore’. Tempo totale dall’apertura del pacco contenente il robot all’esecuzione di un task: ~ 15 ore.
  • 22. 21  MBOT: Il robot giunge formato da 38 componenti e deve essere quindi assemblato; azione comunque immediata, non richiede particolari abilità e si trovano svariati tutorial oltre che le indicazioni nel libretto di istruzioni; l’unica cosa da aggiungere sono le 4 batteria AA non comprese nel kit, oppure una batteria ricaricabile ai polimeri di Litio: nel caso di studio sono state utilizzate le 4 batteria AA; tempo di assemblaggio 1 ora. Il software con cui è programmato Mbot è mBlock della MakeBlock, anch’esso gratuito, disponibile nel sito di MakeBlock e contenente anche una Arduino IDE; il robot è infatti basato su Arduino Uno, mBlock è una rivisitazione di Scratch 2.0, ambiente di programmazione a blocchi, ma è possibile, e nel caso di studio sarà così, programmare anche testualmente in C/C++ nella IDE di Arduino. Tempo di download e installazione di mBlock: 30 min. La versione selezionata di Mbot si connette al Pc wireless, tramite un Dongle Usb in dotazione che andrà inserito nel Pc e un modulo Wi-Fi installato nel robot: il pairing è istantaneo e con la stessa logica del pairing di un mouse wireless, ovvero una comunicazione point-to-point. Se la modalità di programmazione utilizzata è quella a blocchi, il tempo per imparare è davvero limitato; se, come vogliamo, si utilizza la programmazione testuale in C/C++ della IDE di Arduino, il tempo per imparare a programmare, comprendendo anche come controllare sensori e attuatori, non sarà comunque eccessivo dato che si presume che un laureando magistrale o un docente siano già a conoscenza del linguaggio in questione; tempo di addestramento 10 ore. Gli algoritmi che sono stati scritti per andare a valutare la loro distribuzione e le prestazioni di sensori/attuatori sono di seguito riportati: -line following sullo stesso circuito a ‘8’ del Thymio, anche in tal caso utilizzando i sensori di terra; -movimento in cerchio e in quadrato, secondo il medesimo principio utilizzato per Thymio; -obstacle avoidance, sfruttando l’unico sensore di prossimità ad ultrasuoni di cui è dotato Mbot, per cui il robot prosegue dritto fino a che non trova un ostacolo esattamente davanti, cosa che lo fa girare a dx o sx (indifferentemente) per evitare l’ostacolo, con anche in tal caso annesso stop in caso di imminente caduta; Tempo di scrittura codice: 6 ore. Per l’inserimento degli algoritmi in Mbot è necessaria una precisazione: se infatti esso viene composto con i blocchi, viene distribuito al robot tramite il modulo Wi-Fi; se invece gli algoritmi sono scritti con Arduino, è necessario utilizzare il cavo micro-USB per fare l’upload dell’algoritmo e per memorizzarlo. La memorizzazione implica che una volta spento il robot, alla riaccensione esso faccia automaticamente partire l’algoritmo; per riportare il robot alle condizioni iniziali è, ancora una volta, necessario il cavo micro- USB. Dopo tale operazione sarà nuovamente possibile connettersi in maniera wireless con mBlock. Tempo totale dall’apertura del pacco con il robot all’esecuzione di un task: ~ 17 ore.
  • 23. 22  ELISA-3: Il robot giunge già assemblato e non è necessaria alcuna operazione di montaggio; Elisa-3 può essere programmato con molti software, tra i quali AVR Studio 4 (versione ormai obsoleta, per cui si trova solo la versione più recente, numero 7, che però pesa diversi Gb), Arduino, ma anche Aseba Studio; in questo caso, data già la disponibilità di Aseba grazie al Thymio e data la conoscenza pregressa di questo programma, si è scelto di programmare Elisa-3 con quest’ultimo. Tempo di download e di installazione (nel caso non fosse già installato): 30 min. Elisa-3 si connette al Pc tramite radiofrequenze a 2.4GHz o tramite cavo microUsb, ma nel pacco contenente il robot c’è solo il cavo e nessun modulo wireless da connettere al Pc, ragion per cui si è giocoforza optato per la connessione via micro-USB (anche se più scomoda). Una volta connesso il robot al Pc e acceso il dispositivo, esso inizia a correre in un apparente task di obstacle avoidance e la compatibilità con Aseba è assente. Le operazioni necessarie per arrivare alla configurazione sono di seguito descritte:  creare una porta seriale che avrà numero num;  scaricare il file .hex di configurazione dal sito di Elisa-3 della GcTronic;  inserire il file .hex nella memoria flash del robot (file che va a sostituire quello con il comportamento pre-programmato); Ora il robot avrà smesso di eseguire il task ed è pronto alla connessione con Aseba:  aprire il prompt dei comandi ed eseguire il file asebaswitch -d -v "ser:port=num;baud=57600;stop=1;parity=none;fc=none;bits=8" all’interno di Aseba Studio dove num va sostituito col numero della porta seriale precedentemente creata;  aprire Aseba Studio Dopo tali operazioni, Aseba Studio si aprirà connesso ad Elisa-3 (vedremo i parametri segnati dai sensori nella finestra adibita) e si potrà programmare utilizzando lo stesso linguaggio del Thymio. Tempo di configurazione iniziale di Elisa-3 via microUsb e con Aseba: 2 ore. Il linguaggio di Aseba è già stato descritto nella sezione dedicata a Thymio e si può supporre tempo di addestramento di 10 ore anche in questo caso. Gli algoritmi che sono stati testati su Elisa-3 sono i seguenti:  line following su circuito a ‘8’, come per gli altri 2;  movimento in cerchio e in quadrato, come per gli altri 2;  obstacle avoidance sfruttando i sensori di prossimità, con proseguimento dritto finché non si incontra un ostacolo e, in tal caso, curva a destra o sinistra (a seconda della posizione dell’ostacolo) per evitarlo, con annesso stop immediato nel caso il robot stia per cadere da superfici sopraelevate ed emissione di luce di diverso colore in base all’operazione svolta. Tempo di scrittura del codice: 6 ore, in analogia con Thymio. Dopo questa operazione si è passati all’inserimento degli algoritmi nel robot tramite cavo microUsb, con procedura uguale al Thymio, ‘Carica’ per inserirlo ed ‘Esegui’ per farlo partire; anche in Elisa-3 c’è la possibilità di memorizzare l’algoritmo nella Flash, ma una volta eseguita questa operazione (sempre in Aseba), ogni volta che il robot sarà spento e acceso nuovamente, inizierà ad eseguire il task salvato.
  • 24. 23 Grande limite dell’utilizzo di questo software con Elisa-3 è il fatto che la procedura che prevede l’apertura di Aseba Studio con il comando asebaswitch (quindi la seconda parte della configurazione iniziale) deve essere ripetuta ogni volta che il robot è connesso al Pc. Tempo totale dall’apertura del pacco con il robot all’esecuzione di un task: ~19 ore. 7. ULTERIORI CONSIDERAZIONI Quello che si può ancora ricavare dalle operazioni sui robot è che, per quanto riguarda il tempo che uno studente deve dedicare per rendere il robot in grado di svolgere un semplice task, Thymio risulta il migliore mentre Elisa-3 quello che richiede maggior impiego di tempo. Dagli esperimenti svolti, si nota inoltre che i sensori di Thymio sono piuttosto precisi nella misura, mentre il sensore ad ultrasuoni di Mbot risulta meno affidabile, tant’è che la velocità deve essere limitata se non si vuole incorrere in spiacevoli incidenti; per Elisa-3 invece è stato riscontrato che dei sensori laterali di prossimità talvolta segnassero ‘0’, ovvero ‘via libera’, seppur con ostacoli anche molto vicini e una instabilità nella corsa per velocità troppo elevate (il robot vibra). La durata effettiva delle batterie, anch’esse messe alla prova durante la sperimentazione, rispetta quanto scritto in fase di analisi, ovvero intorno alle 2 ore per Thymio, 3 per Elisa-3 e circa 60 ore per Mbot grazie alle 4 batterie AA utilizzate. Conclusa questa analisi, ora si cerca di allargare il raggio d’azione non concentrandosi più sul singolo robot, ma, dovendo pensare a più unità all’interno del laboratorio che interagiscono e scambiano dati tra di loro e con un computer, ci si focalizzerà su aspetti quali la comunicazione intra-robot, la possibilità di distribuzione contemporanea degli algoritmi a più unità, lo scambio tra robot e Pc di dati che non siano quelli di default come valori di sensori ma informazioni di qualunque genere. Per quanto riguarda il Thymio, lo scenario è il migliore che si potesse auspicare per quanto riguarda la comunicazione di gruppo, infatti con un singolo Dongle Usb si possono connettere un numero non definito ma elevato di Thymio, che comunicano tra di loro e col Pc collegati alla stessa rete wireless: sono considerati infatti come nodi distinti (ognuno con il proprio ID) appartenenti alla stessa rete. Questa caratteristica inoltre consente la distribuzione simultanea degli algoritmi a più nodi. Utilizzando una caratteristica di Aseba chiamata asebamedulla è anche possibile instaurare una connessione tra robot e Pc con tecnologia D-Bus (solo con Linux però), che permette lo scambio di informazioni di qualsiasi genere tra i due interlocutori. Per l’Mbot invece la situazione è più complessa, in quanto ognuno si connette al proprio Dongle USB con tecnologia analoga ai mouse, senza interferenze, ma rendendo di fatto necessario l’utilizzo di tanti Dongle quanti robot; la comunicazione tra robot (con anche scambio di informazioni generiche) dovrebbe essere possibile grazie all’utilizzo della IDE di Arduino (non ci sono fonti certe), mentre è impossibile utilizzando programmazione a blocchi (si possono far interagire solo 2 robot). Passando infine ad Elisa-3, si può dire che anch’essi comunicano tra di loro e con Pc equipaggiato del modulo wireless tramite radiofrequenze a 2.4GHz purché connessi alla stessa base station, con velocità di trasmissione decrescenti al crescere dei robot connessi, fino ad un massimo di 100; è stato però ottimizzato un protocollo di comunicazione per cui un pacchetto contenente comandi per 4 robot viene inviato alla BS che provvede a dividere e indirizzare il messaggio solo al robot corretto, riducendo notevolmente i tempi di trasmissione (e discorso complementare si può fare per la ricezione). Potendo utilizzare Aseba anche con Elisa-3, si può sfruttare anche in questo caso asebamedulla per lo scambio di informazioni generiche.
  • 25. 24 8. CONCLUSIONI In conclusione, dopo aver analizzato le caratteristiche dei robot, effettuato una scelta in base ai criteri sopra elencati ed aver eseguito una prima sperimentazione sulle piattaforme migliori, si può derivare che le valutazioni assegnate in fase preliminare rispecchino le qualità dei robot; nello specifico, l’unico difetto di Thymio può essere il trasferimento poco agevole di informazioni generiche, quando invece per Elisa-3 si ravvisa un malfunzionamento di qualche sensore e difficoltà iniziali di configurazione, mentre Mbot sembra qui quello più penalizzato, con criticità nella comunicazione intra-robot e inadeguatezza dell’unico sensore frontale. Come miglior robot tra quelli selezionati perciò si considera il Thymio Wireless, con Elisa-3 che riduce il gap con Mbot, dimostrandosi inferiore in quanto a prezzo, dimensioni e tempo di configurazione, ma sicuramente più adatto allo svolgimento di task che comprendono la cooperazione e lo scambio di dati tra piattaforme.
  • 26. 25 9. SITOGRAFIA Wikipedia (E-Puck) -https://en.wikipedia.org/wiki/E-puck_mobile_robot (Ultimo accesso 11/02/2018) GcTronic(E-Puck) -www.gctronic.com/doc/index.php/E-Puck (Ultimo accesso 11/01/2018) Rice University(R-One) -http://mrsl.rice.edu/projects/r-one (Ultimo accesso 18/01/2018) GcTronic(Elisa-3) -http://www.gctronic.com/doc/index.php/Elisa-3 (Ultimo accesso 17/01/2018) RoadNarrows -https://roadnarrows.com/products/elisa-3-bot-full-package (Ultimo accesso 15/02/2018) GenerationRobots -https://www.generationrobots.com/en/401440-robot-mobile- elisa-3.html (Ultimo accesso 02/02/2018) K-Team(Kilobot) -https://www.k-team.com/mobile-robotics-products/kilobot (Ultimo accesso 07/01/2018) Wikipedia(Kilobot) -https://en.wikipedia.org/wiki/Kilobot (Ultimo accesso 07/01/2018) RobotShop(Phiro pro) -https://www.robotshop.com/en/phiro-pro-educational- coding-robot.html (Ultimo accesso 17/02/2018) KickStrarter(Phiro pro) -https://www.kickstarter.com/projects/2074714954/phiro-a- smart-robot-for-kids-learn-to-code-in-5-wa (Ultimo accesso 17/02/2018) Campustore(Mbot) -https://www.campustore.it/robotica-educativa-elettronica- coding/mbot-makeblock/mbot.html (Ultimo accesso 16/02/2018) MakeBlock(Mbot) -http://store.makeblock.com/product/mbot-robot-kit (Ultimo accesso 16/02/2018) MakeBlock(Mbot) -http://forum.makeblock.com/ (Ultimo accesso 19/02/2018) Wikipedia(S-bot) -https://en.wikipedia.org/wiki/S-bot_mobile_robot (Ultimo accesso 11/02/2018) SwarmBot(S-bot) -http://www.swarm- bots.org/index.php@main=3&sub=31&conpage=sbot.html (Ultimo accesso 05/01/2018) Mobots(S-bot) -http://mobots.epfl.ch/s-bot.html (Ultimo accesso 11/01/2018)
  • 27. 26 Arcbotics(Sparki) -http://arcbotics.com/products/sparki/ (Ultimo accesso 15/02/2018) Adafruit(Sparki) -https://www.adafruit.com/product/1715 Thymio -https://www.thymio.org/it:thymio (Ultimo accesso 19/02/2018) GenerationRobots(Thymio) -https://www.generationrobots.com/en/402337-mobile- robot-wireless-thymio.html (Ultimo accesso 17/02/2018) Wikipedia(Swarm Robotic Platforms) - https://en.wikipedia.org/wiki/Swarm_robotic_platforms (Ultimo accesso 19/12/2017) Pololu(M3Pi) -https://www.pololu.com/ (Ultimo accesso 24/01/2018) Wheelphone -http://www.wheelphone.com/wiki.html (Ultimo accesso 22/01/2018) GcTronic(Wheelphone) -www.gctronic.com/doc/index.php/Wheelphone (Ultimo accesso 11/01/2018) GenerationRobots -https://www.generationrobots.com/en/401583-wheelphone- robot.html (Ultimo accesso 15/01/2018)