controllo di un robot mobile pioneer 3-dx · sistema operativo (arcos) presente sul robot ... סּ...

23
25/11/2010 1 A utomation R obotics and S ystem CONTROL @ Unimore Università degli Studi di Modena e Reggio Emilia UNIMORE Controllo di un Robot Mobile Pioneer 3-DX Controllo di Robot Industriali 2 Obiettivo: Salvare i sopravvissuti ad una catastrofe Esempio: Incendio o terremoto in un palazzo Alcune persone non riescono ad uscire Rescue Robotics

Upload: phamcong

Post on 28-Sep-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

1

Automation

Robotics and

System

CONTROL

@ Unimore

Università degli Studi

di Modena e Reggio Emilia

UNIMORE

Controllo di un Robot Mobile

Pioneer 3-DX

Controllo di Robot Industriali

2

Obiettivo:

Salvare i sopravvissuti ad una catastrofe

Esempio:

• Incendio o terremoto in un palazzo

• Alcune persone non riescono ad uscire

Rescue Robotics

Page 2: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

2

3

Scenario:

Nel 2100, gli ospedali delle zone a rischio

sismico sono forniti di un innovativo

sistema: i lettini sono robot mobili. In caso

di terremoto, i robot sono in grado di

uscire dall’ospedale, e trasportare i malati

presso un’altra struttura.

Tema della gara

4

In caso di terremoto, la struttura

dell’ospedale può subire lesioni. Ad

esempio, alcuni muri possono crollare. I

robot non possono quindi fare

affidamento su mappe note dell’ambiente:

devono utilizzare i propri sensori per

trovare una via d’uscita.

Tema della gara

Page 3: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

3

5

Dettagli sul problema:

• Nell’ospedale c’è una sola porta dalla quale si

può uscire

• La porta si trova in posizione nota rispetto al

sistema di riferimento “esterno”: una volta

uscito, quindi, il robot “sa” da che parte si trova

la sua destinazione

• La posizione iniziale del robot è ignota (può

essere posizionato in una qualunque stanza, e

i muri possono essere crollati)

Tema della gara

6

Esempio

H Porta

Page 4: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

4

Robot utilizzati: Pioneer 3-DX

7

Pioneer 3-DX

•Differential drive

•WiFi

•Sensori Sonar

Pioneer 3-DX: sonar

8

Sonar

•8 sensori

•Numerati da 0 a 7

•Permettono al robot di

misurare la distanza

rispetto ad ostacoli

•Ogni sensore fornisce

la distanza, in mm,

dall’ostacolo più vicino

che incontra

Page 5: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

5

9

ס L’ambiente di sviluppo utilizzato si chiama ARIA (Advanced

Robotics Interface for Applications). È stato sviluppato da

MobileRobots, per la programmazione di questo robot

ס ARIA è un ambiente di sviluppo open-source. I programmi

verranno scritti in C++

ס L’architettura di controllo del robot è di tipo client-server:

ס I programmi realizzati rappresentano il client

ס Essi comunicano con un server, che è rappresentato dal

sistema operativo (ARCOS) presente sul robot

ס ARIA può essere utilizzato con sistema operativo Windows o

Linux: sul PC del laboratorio è presente la versione per linux

(pertanto, per l’esame si dovrà utilizzare questa versione)

Programmazione

10

ס Linux è un sistema operativo free e open source

ס In realtà, con linux si intende unicamente il kernel del sistema

operativo

ס Kernel + software = distribuzione

ס Esistono centinaia di distribuzioni. Sul PC in laboratorio è

installata la distribuzione Ubuntu 8.04 (Hardy Heron)

ס È possibile utilizzare la distribuzione che preferite. La

scelta di Ubuntu è dovuta alla sua diffusione e semplicità

Alcune generalità su linux

Page 6: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

6

11

http://www.ubuntu-it.org/

ס Distribuzione linux basata su Debian (una delle distribuzioni più note e più

antiche)

ס È gratuito, e si può liberamente scaricare

ס Viene rilasciata una versione nuova ogni 6 mesi. Il codice indica l’anno e il

mese di rilascio. Es.: Ubuntu 8.04 è stata rilasciata nel 2008, ad aprile

ס Oltre al numero, le versioni di Ubuntu sono indicate anche con un

codename:

ס Ubuntu 7.10 Gutsy Gibbon

ס Ubuntu 8.04 Hardy Heron LTS

ס Ubuntu 8.10 Intrepid Ibex

ס Ubuntu 9.04 Jaunty Jackalope

ס Ubuntu 9.10 Karmic Koala

ס Ubuntu 10.04 Lucid Linx

ס Ubuntu 10.10 Maverick Meerkat LTS (attuale)

Ubuntu

12

ס Per ogni versione di Ubuntu è garantito il supporto per 18 mesi

(aggiornamenti)

ס Ogni 2 anni, però, esce una versione LTS (Long Term Support), il cui

supporto è garantito per 3 anni. Per evitare problemi dovuti a frequenti

cambi di sistema operativo, abbiamo scelto di usare una versione LTS

ס Ormai è quindi giunto il momento di aggiornare il PC del laboratorio, cosa

che non è ancora stata fatta. Il software è però perfettamente funzionante,

e voi potete utilizzare, sui vostri PC, la distribuzione che preferite

ס Il software è però fornito in pacchetti .deb. Questi pacchetti si installano

“direttamente” su distribuzioni Debian-based (quindi Debian, Ubuntu, Mint,

Mepis…). Per altre distribuzioni, è necessario convertire i pacchetti in modo

da renderli compatibili.

Ubuntu 8.04 Hardy Heron

Page 7: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

7

13

Installazione (per chi volesse installarlo sul proprio pc, su cui si suppone sia installato

Windows)

Ci sono varie alternative:

ס Inserite il cd al boot del pc e seguite le istruzioni. Otterrete due sistemi

operativi affiancati, e al boot potrete scegliere quale avviare. Questo è

valido per qualunque distribuzione linux.

ס Valido solo per Ubuntu Inserite il cd da Windows: tramite il

programma Wubi, è possibile creare un file che fungerà da hard disk

per Ubuntu. Si ottiene un risultato simile al caso precedente, ma con

performance inferiori. È più veloce disinstallare Ubuntu, in caso non vi

servisse più.

ס Creare una macchina virtuale, ad esempio con Virtualbox

http://www.virtualbox.org/ ed installate lì la distribuzione di linux che

preferite. Per informazioni, riferitevi al manuale di Virtualbox (NB:

sconsigliato! A volte ci sono problemi con la compilazione!!!)

Installazione di linux

14

Installazione software in Ubuntu

ס La maggior parte dei software per Ubuntu è presente all’interno di server,

chiamati repository, il cui elenco presente in alcuni file di configurazione del

sistema operativo

ס Per installare pacchetti o programmi dai repository (es. i pacchetti della

slide precedente), ci sono due possibilità:

1. Aprire un terminale (Applicazioni Accessori Terminale) e digitare il

seguente comando:

sudo apt-get install nomepacchetto

• sudo = Super User DO: in linux ci sono utenti normali e superutenti.

L’installazione di un software richiede i privilegi di superutente

• apt-get = è il programma che si occupa della gestione dei pacchetti

• install = opzione che dice ad apt-get cosa deve fare

Dopo aver premuto Invio, vi viene richiesta la password. La password è

la stessa utilizzata per accedere al sistema. NB: Mentre scrivete la

password, sul terminale non appare nulla, per ragioni di sicurezza

Page 8: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

8

15

Installazione software in Ubuntu

2. Utilizzare il tool grafico Synaptic

Sistema Amministrazione Gestore pacchetti Synaptic

Anche in questo caso viene richiesta la password

1 Cercare il

pacchetto

desiderato2 Selezionare

il pacchetto

3 Premere

Applica

16

RTFMס La comunità linux è molto disponibile a fornire informazioni. Ma chiunque si

irrita se chi chiede informazioni non ha nemmeno provato ad utilizzare

Google per trovarle

ס Online è possibile trovare i manuali ufficiali e le guide create dalla

comunità: queste sono le fonti principali da cui attingere informazioni per

qualunque operazione

Istruzioni dettagliate

Page 9: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

9

17

ס Utente: roomba

ס Password: roomba

Utilizzo del pc del laboratorio

18

Installazione del software ARIA

ס Vi verranno forniti i pacchetti per l’installazione del software necessario per

la programmazione del robot.

ס Si tratta di 6 pacchetti .deb, che si possono installare in due modi:

ס Da interfaccia grafica, facendo doppio click

ס Da terminale, con il comandosudo dpkg –i nomepacchetto

ס Verranno installate le librerie, necessarie per la compilazione dei

programmi. Inoltre, verranno installati alcuni software “accessori”:

ס MobileSim: è un simulatore, permette di testare i programmi realizzati

su un robot simulato

ס MobileEyes: quando è connesso al robot, permette di vedere

graficamente le letture dei sonar

ס Mapper3: permette di disegnare la mappa all’interno della quale il robot

si muove, in simulazione

Page 10: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

10

19

Svolgimento del progetto

ס Partendo dagli esempi forniti (che commenteremo in seguito),

dovrete scrivere il codice C++ che permetta al robot di

svolgere il suo compito

ס Dovrete quindi compilare il codice scritto, ottenendo quindi un

file eseguibile

ס Realizzerete quindi una mappa “di prova”, con il software

Mapper3, per testare il vostro software in simulazione,

utilizzando MobileSim

ס Successivamente, testerete il software sul robot fisico,

facendolo muovere per la stanza

ס Analizzeremo ora nei dettagli tutti i passaggi

20

Compilazione

La compilazione deve essere

eseguita come superutente

Per conoscere le opzioni dei programmi, come si utilizzano, ecc.: RTFM! Dal

terminale:

ס g++ --help

per ottenere un riassunto breve delle principali opzioni

ס man g++

per ottenere il manuale completo

Oppure usare Google!

sudo g++ -o nomeprogramma -lAria -L/usr/local/Aria/lib

-I/usr/local/Aria/include -lpthread -lrt -ldl nomeprogramma.cpp

Programma compilatore

Nome dell’eseguibile

che otterremo dopo la

compilazione

Nome del sorgente

Page 11: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

11

21

Progetto per l’esame

ס Il robot deve uscire da un labirinto, ignoto. Necessiterà quindi

di informazioni sensoriali, provenienti dai sonar

ס Si muoverà, in base alle informazioni sensoriali

ס Le informazioni sensoriali gli serviranno anche per capire

quando ha raggiunto l’uscita del labirinto (es. riconoscere che

non ci sono più muri intorno)

ס Una volta uscito, deve raggiungere la posizione finale

desiderata

ס Per la scrittura del codice, possiamo usare qualunque editor di

testo. Tuttavia, risulta comodo utilizzare un editor apposito

(che evidenzia le parole chiave, ecc.). Usiamo ad esempio

Anjuta

anjuta myfile.cpp

22

Esempio di programma

ס Vi verranno forniti tre programmi esempio, chiamati

1. criexample.cpp

2. criexample2.cpp

3. criexample3.cpp

ס Il primo programma contiene unicamente un elenco dei

comandi principali che utilizzerete nel vostro progetto

ס Il secondo e il terzo, invece, fanno sì che il robot svolga un

semplice compito

ס Descriveremo ora nel dettaglio questi due file, che potrete

utilizzare come traccia

ס Scorreremo ora il codice, descrivendo i dettagli più rilevanti

Page 12: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

12

23

criexample.cpp

Librerie da includere

Nella prima parte, che è standard, si

inizializzano tutti gli oggetti che servono

per il funzionamento. Qui, ad esempio,

definiamo un oggetto che si chiamerà

robot, ed è definito secondo la classe

ArRobot.

Se, ad esempio, vogliamo definire un

intero, e chiamarlo n, scriveremoint n

Messaggi di errore, in caso di problemi

Associo il sonar al robot

24

criexample.cpp

Commento

•Se il commento sta tutto in

una riga, la riga deve essere

preceduta da //

Es.: // Commento

•Se servono più righe, si

utilizza la seguente struttura:

/* Commento

su più righe */

Page 13: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

13

25

criexample.cpp

Inizializzazione

di variabili

numeriche

robot_position è una

variabile di classe ArPose

Assegno alla

variabile

Range_sensor il

valore ottenuto dalla

lettura del sonar

identificato dal

numero sensor. In

questo caso, sto

leggento il sonar

numero 3

Due modi diversi di scrivere

a schermo un testo o un

valore

26

criexample.cpp

Per impostare una

velocità (lineare) al

robot

Per impostare

l’orientamento del robot,

rispetto al sistema di

riferimento assoluto. Cioè, il

robot ruota finché il suo

orientamento è pari a 90°

Per impostare una rotazione

relativa. Cioè, il robot ruota

di 90°. Consigliato!

Page 14: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

14

27

criexample.cpp

Salvo la posizione

corrente del robot (x, y,

Ɵ) nella variabile

robot_position

Salvo nella variabile a la

coordinata x della posizione

di robot. Per estrarre y e Ɵ

si usano, rispettivamente,

robot.getY(); e robot.getTh();

Per inserire un’attesa

28

criexample.cpp

Per fermare il robot

Per imporre uno

spostamento al robot: si

sposterà di 1000mm,

linearmente

Page 15: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

15

29

ס Il programma descritto finora, criexample.cpp, è

semplicemente una raccolta di comandi

ס Potete utilizzarlo come “base”, sulla quale costruire il vostro

programma

ס Analizzeremo ora criexample2.cpp, che rappresenta un

semplice esempio di algoritmo di controllo

ס Il robot:

ס Si muove a velocità costante, linearmente, finché non

incontra un ostacolo

ס Quando incontra un ostacolo, ruota di 90°

ס Successivamente, si muove linearmente a velocità

costante, per un tempo predefinito

criexample2.cpp

30

criexample2.cpp

Come nell’esempio

precedente, la prima

parte è standard.

Si includono le librerie,

e si inizializzano tutti gli oggetti necessari.

Page 16: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

16

31

criexample2.cpp

Variabile in cui salviamo la lettura di uno dei sonar

Il robot si muove con velocità costante, in avanti

Vogliamo si muova

finché non incontra

un ostacolo.

Selezioniamo quindi

il sonar numero 3: se

questo sonar rileva

“qualcosa”, significa

che c’è un ostacolo

di fronte al robot

32

criexample2.cpp

Ad ogni step, la lettura del sonar 3 viene salvata

nella variabile Range_sensor. La lettura viene

quindi scritta a schermo. Se, ad esempio, il valore

di Range_sensor è 1500, viene scritto a schermo:

Sensor number 3 reading 1500

Per terminare la riga e

andare a capo

Page 17: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

17

33

criexample2.cpp

Non appena il dato letto dal sonar è inferiore a

1000 (cioè, viene rilevato un ostacolo a distanza

inferiore a 1000mm), si pone a zero il valore della

variabile c. Questo causa l’uscita dal ciclo while.

Il robot si ferma

Il robot ruota di

90°, in senso

antiorario

34

criexample2.cpp

Il robot si ferma, e il

programma termina

Attesa di 30

secondi

Il robot si muove con velocità costante, in avanti

Page 18: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

18

35

ס Analizzeremo ora criexample3.cpp, che rappresenta un

semplice esempio di algoritmo di controllo

ס Il robot:

ס Si muove a velocità costante, linearmente, finché non

incontra un ostacolo

ס Quando incontra un ostacolo, ruota di 90°

ס Ripete questo compito all’infinito

ס Ad ogni step, stampa a schermo la lettura di uno dei sonar,

e la propria posizione (coordinate x e y)

criexample3.cpp

36

criexample3.cpp

Questo ciclo viene ripetuto per sempre

Il robot si muove con velocità costante, in avanti

Stampa a schermo della lettura del sonar

Stampa a schermo delle coordinate x e y

Il robot si ferma, ruota di 90°, e il ciclo riprende

Page 19: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

19

37

Compilazione ed esecuzione

Una volta scritto il codice, è necessario compilarlo, per ottenere un file eseguibile:

1. Aprire il terminale, e portarsi nella directory contenente il file .cpp:cd /home/roomba/mydirectory

2. Eseguire la compilazione, come visto in precedenzasudo g++ -o criexample2 -lAria -L/usr/local/Aria/lib

-I/usr/local/Aria/include -lpthread -lrt -ldl criexample2.cpp

Per eseguire il file eseguibile appena ottenuto:

ס Se stiamo utilizzando il simulatore:

1. Avviare il programma MobileSim, selezionando la mappa desiderata

2. Dal terminale, portarsi nella directory contenente il file eseguibile appena

compilato:cd /home/roomba/mydirectory

3. Eseguire il file./criexample2

38

Compilazione ed esecuzione

Per eseguire il file eseguibile appena ottenuto:

ס Se stiamo utilizzando il robot:

1. Accendere il robot

2. Attivare la connessione WiFi del PC, e selezionare la rete LTRX_IBSS

3. Dal terminale, portarsi nella directory contenente il file eseguibile appena

compilato:cd /home/roomba/mydirectory

4. Eseguire il file./criexample2 –rh 10.0.126.11

Dove 10.0.126.11 è l’indirizzo ip che identifica il robot all’interno della rete

Page 20: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

20

39

Alcuni suggerimenti

Per terminare un programma, durante la sua esecuzione, si può utilizzare la

combinazione di tasti CTRL+C, oppure CTRL+Z, tenendo in primo piano la

finestra di terminale in cui il programma è in esecuzione.

Caratteri speciali, su Linux:

ס Alt Gr + ì = ~

ס Alt Gr + 7 = Alt Gr + Shift + [ = {

ס Alt Gr + 0 = Alt Gr + Shift + ] = }

40

Gara: Scopo e regole

Scopo della gara: uscire dal labirinto, e

raggiungere il goal

ס Il gruppo vincitore sarà quello che raggiungerà lo scopo della

gara nel minor tempo possibile

ס Limite di tempo: 10 minuti

ס Il cronometro verrà avviato nel momento in cui il gruppo farà

partire il programma, e verrà fermato al raggiungimento del

goal, o allo scadere del limite di tempo

Page 21: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

21

41

Gara: Scopo e regole

ס È necessario evitare le collisioni con gli ostacoli! Pertanto, le

pareti possono essere solo “toccate” dal robot. Se il robot

abbatte/attraversa le pareti, la missione è fallita, e la squadra è

eliminata

ס Il robot deve raggiungere il goal, e fermarsi. La posizione del

goal sarà identificata con una X, posta sul pavimento. Sarà poi

disegnata una circonferenza di raggio 20cm, attorno al goal. Il

robot raggiunge il goal se si sovrappone, almeno parzialmente,

all’area racchiusa dalla circonferenza.

Se il robot si ferma fuori da questa area, si avrà una penalità:

al tempo totale verrà aggiunto un 40%

42

Gara: L’ambiente

XΔx

Δy

?L1

L2

L3

L4

L5

L6

Dati:

L1= 210cm

L2= 100 cm

L3= 140 cm

L4= 310 cm

L5= 170 cm

L6= 100 cm

Δx= 120 cm

Δy= 140 cm

I corridoi avranno larghezza

minima pari a 70cm

Page 22: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

22

43

Utilizzo del laboratorio

ס Per l’utilizzo del laboratorio, utilizzate il calendario “Robot Mobile Pioneer” su

Google Calendar. Per visualizzare il calendario, seguite il seguente linkhttp://www.google.com/calendar/embed?src=0es9q1lf05e48aqvqc1fihhf2s%40group.calendar.google.com&ctz=Europe/Rome

ס Ogni gruppo può prenotare il laboratorio per un periodo di tempo non superiore a

due ore consecutive e quattro ore settimanali

ס Per prenotarvi, inviate un’email a [email protected]

ס Sul pc del laboratorio, ogni gruppo deve creare una directory all’interno della home,

da utilizzare come directory di lavoro

mkdir /home/roomba/gruppo

ס Potete utilizzare i vostri PC personali per fare simulazioni, e prove (anche a casa). Il

giorno della gara, però, sarà necessario utilizzare il PC del laboratorio.

44

Note sulla gara e l’esame

ס Ogni gruppo deve

ס Scegliere un nome

ס Designare un team-leader

ס Il team-leader dovrà quindi inviare un’email a [email protected],

specificando il nome del gruppo e i nomi dei componenti.

ס Ogni comunicazione inerente la gara verrà inviata ai team-leader

ס Ad ogni team-leader verrà fornito il software (circa 50MB, quindi non via

email)

Page 23: Controllo di un Robot Mobile Pioneer 3-DX · sistema operativo (ARCOS) presente sul robot ... סּ Ubuntu 9.04 Jaunty Jackalope סּ Ubuntu 9.10 Karmic Koala סּ Ubuntu 10.04 Lucid

25/11/2010

23

45

Note sulla gara e l’esame

ס Se dovessero verificarsi problemi (ad esempio perdita di comunicazione, il

PC che si blocca, ecc.), la prova verrà ripetuta

ס Ogni gruppo potrà eseguire 2 volte la missione e, ai fini della classifica,

verrà considerato unicamente il risultato migliore

ס Risulterà vincitore il la squadra che svolgerà la missione nel minor tempo

(tenendo conto di eventuali penalità)

ס Ogni decisione presa dalla commissione è da considerarsi

insindacabile

ס Ad ogni componente della squadra vincitrice verranno attribuiti 3 punti, ad

ogni componente della squadra seconda classificata 2 punti, ad ogni

componente della squadra seconda classificata 1 punto. Questi punti si

aggiungeranno alla voto ottenuto nell’esame di Controllo di Robot

Industriali

ס Il voto è determinato al 70% dalla prova orale, e al 30% da una relazione

sulle esperienze di laboratorio (robot antropomorfo e robot mobili)

ס La relazione dovrà essere sintetica, e dovrà spiegare e motivare ogni

scelta progettuale

46

Se avete dubbi

[email protected]

0522 52 2666