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
23
Embed
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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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
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
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
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
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
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
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
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
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