SlideShare a Scribd company logo
1 of 14
Download to read offline
REALIZZAZIONE
HARDWARE E SOFTWARE
DI UN ROBOT MOBILE DI
SERVIZIO
Tesi di Laurea in
SISTEMI OPERATIVI
Laureando:
Basilio Marco Matessi
Relatore:
Chiar.mo Prof. Enzo
Mumolo
Anno Accademico 2009-2010
Introduzione
Scopo di un robot mobile di servizio:
sviluppare un sistema autonomo che realizzi un servizio utile
all'uomo.
In questa tesi è stato sviluppato un robot prototipale.
Obbiettivo: realizzare una flotta di robot mobili per provare
algoritmi di coordinazione.
Software realizzato: movimento casuale del robot, schivando
gli ostacoli.
Architettura cognitiva a priorità.
Parte meccanica
2
4
5
6
motoreB
motoreA
LEGENDA:
███ Base del robot
███ Sonar collegati
███ Sonar non collegati
███ Ruote motrici
███ Ruote Pivot
Struttura a quadriciclo:
2 route fisse motorizzate
2 ruote pivottanti
Piattaforma a più livelli:
Livello 1: batterie, logica di controllo
Livello 2: sensori ad ultrasuoni
Scheda di controllo
Piattaforma di sviluppo
Scheda a microprocessore TS-7250 (ARM9)
Linux 2.4 + estensione RTAI
Periferiche
Porte Digital I/O
SPI
ADC 5 canali
Ethernet
2 porte seriali
2 porte USB
Bus PC104
32Mb di memoria flash
Sensori
Ultrasuoni SRF-05
Logica integrata nel modulo
Accesso tramite Digital I/O (pin LCD)
Odometrici Heds-5505
Accesso tramite Digital I/O (pin DIO)
Funzionamento in quadratura
Specifiche:
Frequenza 40kHZ
Range massimo: 4 metri
Range minimo: 3 metri
Circuito stampato realizzato
Parte elettronica
ARM
OPTO-ISOLATORE
DRIVER
Ponte H
MOTORI
interfaccia
I/OULTRA
SUONI
ODOMETRIA
I/O
I/O
Parte software
Sistema operativo real-time con Linux+RTAI:
Generazione segnali PWM con thread periodici real time
Lettura dai sonar con thread periodici real time
Lettura odometri con thread periodici real time
Comunicazione con programma utente tramite FIFO
Task
Sonar 1
Task
Sonar 2
Task
Motori
FIFO
Programma di gestione
Task
Sonar 3
Task
Sonar 4 RTAI
Scheduler
Task
Odometria
LINUX
Scheduler
Kernel
space
User
space
Task Motori
Segnale PWM in uscita dal
driver motori,
con duty-cycle del 65%
Due segnali in quadratura per rilevare velocità e
direzione
Una lettura per ogni possibile variazione
Problema!
Frequenza di campionamento troppo elevata
(320kHz)
Soluzione?
● Contatore esterno HCTL-2016 (non implemetato)
Task odometria
ARM
ARM
Prima
Dopo
Debug dei task
Debug dei sonar:
Task che periodicamente:
Legge il valore dei sensori
Stampa su terminale le distanze
Debug motore:
Invio manuale di comandi alla FIFO dei motori
Da terminale:
Debug odometria:
Task che periodicamente:
Legge lo stato dei sensori
Verifica se ci sono state variazioni
Conta la distanza percorsa
Stampa su terminale dei valori
echo -n "comando" > /dev/rtf/"fifo_motori"
Modello cognitivo utilizzato
Struttura reattiva con priorità:
Priorità
MAX
MIN
Test Robotici
Programma implemetato Random Walk
Struttura reattiva a due livelli:
Esplora, priorità 0
Evita ostacolo, priorità 1
Sensori
Esplora
Ostacolo Accettazione
Task
ostacolo
Conclusioni
E' stato realizzato un prototipo che usa i sensori ad ultrasuoni per
evitare ostacoli.
Il controllo dei motori è stato realizzato dalla scheda ARM utilizzata.
E' stato usato Linux con un patch Real Time.
La lettura degli odometri e' stata progettata ma non realizzata in
questa tesi.
E' stato realizzato un programma di movimento casuale
nell'ambiente.
Il prototipo funziona correttamente ed è pronto per essere duplicato
in diversi esemplari.

More Related Content

Viewers also liked

Lollipop2
Lollipop2Lollipop2
Lollipop2MrsT56
 
Dev ops with liberty, maven and chef
Dev ops with liberty, maven and chefDev ops with liberty, maven and chef
Dev ops with liberty, maven and chefsflynn073
 
ESP Instant Solutions - Company Profile
ESP Instant Solutions - Company ProfileESP Instant Solutions - Company Profile
ESP Instant Solutions - Company ProfileESP Instant Solutions
 
Hedgehogs2
Hedgehogs2Hedgehogs2
Hedgehogs2MrsT56
 
Dev ops tools and was liberty profile
Dev ops tools and was liberty profileDev ops tools and was liberty profile
Dev ops tools and was liberty profilesflynn073
 
Comment on previous publication
Comment on previous publicationComment on previous publication
Comment on previous publicationAngelina Souren
 
ở đâu mua đồng hồ casio cũ rẻ
ở đâu mua đồng hồ casio cũ rẻở đâu mua đồng hồ casio cũ rẻ
ở đâu mua đồng hồ casio cũ rẻmalissa304
 
Chief I P Counsel Exchange Agenda 2015
Chief I P  Counsel Exchange Agenda 2015Chief I P  Counsel Exchange Agenda 2015
Chief I P Counsel Exchange Agenda 2015Fredrick Coleman
 
GB Price Benchmark_June2014
GB Price Benchmark_June2014GB Price Benchmark_June2014
GB Price Benchmark_June2014Jacopo Pertile
 
Rights2
Rights2Rights2
Rights2MrsT56
 
First Quarter Storm, Jabidah Massacre
First Quarter Storm, Jabidah MassacreFirst Quarter Storm, Jabidah Massacre
First Quarter Storm, Jabidah Massacrealliyambao
 
nơi nào mua đồng hồ casio cũ rẻ
nơi nào mua đồng hồ casio cũ rẻnơi nào mua đồng hồ casio cũ rẻ
nơi nào mua đồng hồ casio cũ rẻherma557
 
ChristianReyes_Magazine1
ChristianReyes_Magazine1ChristianReyes_Magazine1
ChristianReyes_Magazine1ChRiStIaN KiNgS
 
Group 6 video presentation 5
Group 6 video presentation 5Group 6 video presentation 5
Group 6 video presentation 5Raysza Cardoze
 
MATERIALES DE LA COMPUTADORA QUE DAÑAN EL MEDIO AMBIENTE
MATERIALES DE LA COMPUTADORA QUE DAÑAN EL MEDIO AMBIENTEMATERIALES DE LA COMPUTADORA QUE DAÑAN EL MEDIO AMBIENTE
MATERIALES DE LA COMPUTADORA QUE DAÑAN EL MEDIO AMBIENTEDELGADOFER
 

Viewers also liked (20)

Lollipop2
Lollipop2Lollipop2
Lollipop2
 
TLCs Colombia
TLCs ColombiaTLCs Colombia
TLCs Colombia
 
Dev ops with liberty, maven and chef
Dev ops with liberty, maven and chefDev ops with liberty, maven and chef
Dev ops with liberty, maven and chef
 
ESP Instant Solutions - Company Profile
ESP Instant Solutions - Company ProfileESP Instant Solutions - Company Profile
ESP Instant Solutions - Company Profile
 
Hedgehogs2
Hedgehogs2Hedgehogs2
Hedgehogs2
 
Dev ops tools and was liberty profile
Dev ops tools and was liberty profileDev ops tools and was liberty profile
Dev ops tools and was liberty profile
 
Comment on previous publication
Comment on previous publicationComment on previous publication
Comment on previous publication
 
ở đâu mua đồng hồ casio cũ rẻ
ở đâu mua đồng hồ casio cũ rẻở đâu mua đồng hồ casio cũ rẻ
ở đâu mua đồng hồ casio cũ rẻ
 
Chief I P Counsel Exchange Agenda 2015
Chief I P  Counsel Exchange Agenda 2015Chief I P  Counsel Exchange Agenda 2015
Chief I P Counsel Exchange Agenda 2015
 
GB Price Benchmark_June2014
GB Price Benchmark_June2014GB Price Benchmark_June2014
GB Price Benchmark_June2014
 
Rights2
Rights2Rights2
Rights2
 
Updated_Cv1
Updated_Cv1 Updated_Cv1
Updated_Cv1
 
First Quarter Storm, Jabidah Massacre
First Quarter Storm, Jabidah MassacreFirst Quarter Storm, Jabidah Massacre
First Quarter Storm, Jabidah Massacre
 
nơi nào mua đồng hồ casio cũ rẻ
nơi nào mua đồng hồ casio cũ rẻnơi nào mua đồng hồ casio cũ rẻ
nơi nào mua đồng hồ casio cũ rẻ
 
ChristianReyes_Magazine1
ChristianReyes_Magazine1ChristianReyes_Magazine1
ChristianReyes_Magazine1
 
Mahmoud Youssef
Mahmoud YoussefMahmoud Youssef
Mahmoud Youssef
 
Costume
Costume Costume
Costume
 
Smetwp 3 20160323
Smetwp 3 20160323Smetwp 3 20160323
Smetwp 3 20160323
 
Group 6 video presentation 5
Group 6 video presentation 5Group 6 video presentation 5
Group 6 video presentation 5
 
MATERIALES DE LA COMPUTADORA QUE DAÑAN EL MEDIO AMBIENTE
MATERIALES DE LA COMPUTADORA QUE DAÑAN EL MEDIO AMBIENTEMATERIALES DE LA COMPUTADORA QUE DAÑAN EL MEDIO AMBIENTE
MATERIALES DE LA COMPUTADORA QUE DAÑAN EL MEDIO AMBIENTE
 

Similar to REALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIO

Introduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiorestJump
 
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...LucaMosetti3
 
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Mattia De Bernardi
 
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
 
Elementidi informatica
Elementidi informaticaElementidi informatica
Elementidi informaticagiu89
 
SINERGIE: Soluzioni integrate per le macchine automatiche di prossima generaz...
SINERGIE: Soluzioni integrate per le macchine automatiche di prossima generaz...SINERGIE: Soluzioni integrate per le macchine automatiche di prossima generaz...
SINERGIE: Soluzioni integrate per le macchine automatiche di prossima generaz...Confindustria Emilia-Romagna Ricerca
 
Sviluppo del software di controllo di una piattaforma per antenne satellitari
Sviluppo del software di controllo di una piattaforma per antenne satellitariSviluppo del software di controllo di una piattaforma per antenne satellitari
Sviluppo del software di controllo di una piattaforma per antenne satellitariCarlo Maisola
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraMassimoPalmisano
 
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-Fuzzy
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-FuzzySviluppo di tool di gestione ed analisi di un simulatore Neuro-Fuzzy
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-FuzzyStefano Ficcadenti
 
Sviluppo di un sistema per la stabilizzazione dinamica di un processo intrins...
Sviluppo di un sistema per la stabilizzazione dinamica di un processo intrins...Sviluppo di un sistema per la stabilizzazione dinamica di un processo intrins...
Sviluppo di un sistema per la stabilizzazione dinamica di un processo intrins...AndreaLoppi
 
Open Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspOpen Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspLaura Camellini
 
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...RiccardoScilla
 
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxDeveler S.r.l.
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld DevicesGWTcon
 
Cumar Simone - Implementazione su gpu di un sistema per l'interazione multimo...
Cumar Simone - Implementazione su gpu di un sistema per l'interazione multimo...Cumar Simone - Implementazione su gpu di un sistema per l'interazione multimo...
Cumar Simone - Implementazione su gpu di un sistema per l'interazione multimo...Simone_Cumar
 
Hardware Libero - Linux Day 2007
Hardware Libero - Linux Day 2007Hardware Libero - Linux Day 2007
Hardware Libero - Linux Day 2007pino_otto
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad ArduinoSimone Lusenti
 

Similar to REALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIO (20)

Introduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi Operativi
 
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...
Progettazione di un braccio robotico basato su piattaforma Arduino per la scr...
 
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
Sviluppo di un'applicazione ibrida su dispositivo mobile per l'interfacciamen...
 
OPDE Drives
OPDE DrivesOPDE Drives
OPDE Drives
 
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.
 
Elementidi informatica
Elementidi informaticaElementidi informatica
Elementidi informatica
 
SINERGIE: Soluzioni integrate per le macchine automatiche di prossima generaz...
SINERGIE: Soluzioni integrate per le macchine automatiche di prossima generaz...SINERGIE: Soluzioni integrate per le macchine automatiche di prossima generaz...
SINERGIE: Soluzioni integrate per le macchine automatiche di prossima generaz...
 
01 intro pc
01 intro pc01 intro pc
01 intro pc
 
Sviluppo del software di controllo di una piattaforma per antenne satellitari
Sviluppo del software di controllo di una piattaforma per antenne satellitariSviluppo del software di controllo di una piattaforma per antenne satellitari
Sviluppo del software di controllo di una piattaforma per antenne satellitari
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di Dijkstra
 
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-Fuzzy
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-FuzzySviluppo di tool di gestione ed analisi di un simulatore Neuro-Fuzzy
Sviluppo di tool di gestione ed analisi di un simulatore Neuro-Fuzzy
 
Sviluppo di un sistema per la stabilizzazione dinamica di un processo intrins...
Sviluppo di un sistema per la stabilizzazione dinamica di un processo intrins...Sviluppo di un sistema per la stabilizzazione dinamica di un processo intrins...
Sviluppo di un sistema per la stabilizzazione dinamica di un processo intrins...
 
Open Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspOpen Source Parallel Computing ltcsp
Open Source Parallel Computing ltcsp
 
Tecnologie Di Base
Tecnologie Di BaseTecnologie Di Base
Tecnologie Di Base
 
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
 
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linuxTrace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld Devices
 
Cumar Simone - Implementazione su gpu di un sistema per l'interazione multimo...
Cumar Simone - Implementazione su gpu di un sistema per l'interazione multimo...Cumar Simone - Implementazione su gpu di un sistema per l'interazione multimo...
Cumar Simone - Implementazione su gpu di un sistema per l'interazione multimo...
 
Hardware Libero - Linux Day 2007
Hardware Libero - Linux Day 2007Hardware Libero - Linux Day 2007
Hardware Libero - Linux Day 2007
 
Introduzione ad Arduino
Introduzione ad ArduinoIntroduzione ad Arduino
Introduzione ad Arduino
 

REALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIO

  • 1. REALIZZAZIONE HARDWARE E SOFTWARE DI UN ROBOT MOBILE DI SERVIZIO Tesi di Laurea in SISTEMI OPERATIVI Laureando: Basilio Marco Matessi Relatore: Chiar.mo Prof. Enzo Mumolo Anno Accademico 2009-2010
  • 2. Introduzione Scopo di un robot mobile di servizio: sviluppare un sistema autonomo che realizzi un servizio utile all'uomo. In questa tesi è stato sviluppato un robot prototipale. Obbiettivo: realizzare una flotta di robot mobili per provare algoritmi di coordinazione. Software realizzato: movimento casuale del robot, schivando gli ostacoli. Architettura cognitiva a priorità.
  • 3. Parte meccanica 2 4 5 6 motoreB motoreA LEGENDA: ███ Base del robot ███ Sonar collegati ███ Sonar non collegati ███ Ruote motrici ███ Ruote Pivot Struttura a quadriciclo: 2 route fisse motorizzate 2 ruote pivottanti Piattaforma a più livelli: Livello 1: batterie, logica di controllo Livello 2: sensori ad ultrasuoni
  • 4. Scheda di controllo Piattaforma di sviluppo Scheda a microprocessore TS-7250 (ARM9) Linux 2.4 + estensione RTAI Periferiche Porte Digital I/O SPI ADC 5 canali Ethernet 2 porte seriali 2 porte USB Bus PC104 32Mb di memoria flash
  • 5. Sensori Ultrasuoni SRF-05 Logica integrata nel modulo Accesso tramite Digital I/O (pin LCD) Odometrici Heds-5505 Accesso tramite Digital I/O (pin DIO) Funzionamento in quadratura Specifiche: Frequenza 40kHZ Range massimo: 4 metri Range minimo: 3 metri
  • 6. Circuito stampato realizzato Parte elettronica ARM OPTO-ISOLATORE DRIVER Ponte H MOTORI interfaccia I/OULTRA SUONI ODOMETRIA I/O I/O
  • 7. Parte software Sistema operativo real-time con Linux+RTAI: Generazione segnali PWM con thread periodici real time Lettura dai sonar con thread periodici real time Lettura odometri con thread periodici real time Comunicazione con programma utente tramite FIFO Task Sonar 1 Task Sonar 2 Task Motori FIFO Programma di gestione Task Sonar 3 Task Sonar 4 RTAI Scheduler Task Odometria LINUX Scheduler Kernel space User space
  • 8. Task Motori Segnale PWM in uscita dal driver motori, con duty-cycle del 65%
  • 9. Due segnali in quadratura per rilevare velocità e direzione Una lettura per ogni possibile variazione Problema! Frequenza di campionamento troppo elevata (320kHz) Soluzione? ● Contatore esterno HCTL-2016 (non implemetato) Task odometria ARM ARM Prima Dopo
  • 10. Debug dei task Debug dei sonar: Task che periodicamente: Legge il valore dei sensori Stampa su terminale le distanze Debug motore: Invio manuale di comandi alla FIFO dei motori Da terminale: Debug odometria: Task che periodicamente: Legge lo stato dei sensori Verifica se ci sono state variazioni Conta la distanza percorsa Stampa su terminale dei valori echo -n "comando" > /dev/rtf/"fifo_motori"
  • 11. Modello cognitivo utilizzato Struttura reattiva con priorità: Priorità MAX MIN
  • 12. Test Robotici Programma implemetato Random Walk Struttura reattiva a due livelli: Esplora, priorità 0 Evita ostacolo, priorità 1 Sensori Esplora Ostacolo Accettazione
  • 14. Conclusioni E' stato realizzato un prototipo che usa i sensori ad ultrasuoni per evitare ostacoli. Il controllo dei motori è stato realizzato dalla scheda ARM utilizzata. E' stato usato Linux con un patch Real Time. La lettura degli odometri e' stata progettata ma non realizzata in questa tesi. E' stato realizzato un programma di movimento casuale nell'ambiente. Il prototipo funziona correttamente ed è pronto per essere duplicato in diversi esemplari.