Riccardo Falconi [email protected] 9 Aprile, 2010 -...

60
unibo-logo Introduzione alla Robotica Mobile Riccardo Falconi [email protected] 9 Aprile, 2010 Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 1 / 60

Transcript of Riccardo Falconi [email protected] 9 Aprile, 2010 -...

Page 1: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Introduzione alla Robotica Mobile

Riccardo Falconi

[email protected]

9 Aprile, 2010

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 1 / 60

Page 2: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Outline

Dalla robotica fissa alla robotica mobile

Cenni storici

Applicazioni

Sistemi di locomozione

Modellistica di robot mobili

Modellazione dei vincoli

Modello uniciclo

Controllo di robot mobili

Problemi elementari

Inseguimento IO - SFL

Navigazione: algoritmi di obstacle avoidance

Sistemi Multi-Robot

Cenni

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 2 / 60

Page 3: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Dalla Robotica Fissa alla Robotica Mobile

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 3 / 60

Page 4: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Dalla Robotica Fissa alla Robotica Mobile

A partire dagli anni ’70, compaiono i primi robot industriali

Utilizzati per sostituire l’uomo in compiti pericolosi o semplici e ripetitivi

Si trattava di compiti da svolgere in loco

Gli ambienti di lavoro iniziarono ad essere modellati in base alle esigenze dicontrollo dei robot

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 4 / 60

Page 5: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Dalla Robotica Fissa alla Robotica Mobile

Robotica FissaImita la funzionalit’a degli arti umanisuperiori

Robotica MobileImita la locomozione degli animali e lerelative problematiche

DefinizioneUn robot mobile e una macchina automatica in grado di muoversi nell’ ambienteche la circonda.

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 5 / 60

Page 6: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Possibili Applicazioni

Applicazioni Indoor

Pulizia di ambienti estesi

Robotica di servizio per musei, negozi, ecc...

Sorveglianza interna di edifici

Stoccaggio merci in magazzini automatizzati

...

Applicazioni Outdoor

Applicazioni militari

Sminamento

Esplorazione spaziale e subacquea

Protezione civile e sorveglianza boschiva

Agricoltura automatizzata

...

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 6 / 60

Page 7: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Cenni storici

Primi robot mobili a partire dal1940

Razzi V1 - V2 (rozzo autopilotainerziale)

Goliath

Filoguidati

Motori elettrici

Teletank

Carro telecontrollato

500 m di distanzaRiccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 7 / 60

Page 8: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Esempi

AGV in impianti automatizzati

Automatic Guided Vehicle (AGV)Electric 80

Usato per la gestione di fine linea diproduzione

Porta i pallet di prodotto stoccato dalmagazzino alle baie di carico camion

In un impianto possono circolare piu di30 AGV contemporaneamente

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 8 / 60

Page 9: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Esempi

Uso ospedaliero: Helpmate

Usato negli ospedali per il trasporto dimedicinali e logistica interna

si muove autonomamente

tramite telecamera, usa le lampade alsoffitto come riferimento

Uso Domestico: RoombaAspirapolvere per applicazionidomestiche

Grazie ad algoritmi di path planningpulisce la stanza senza bisogno diimpostare mappe

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 9 / 60

Page 10: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Esempi

Robot SottomariniUtilizzati per archeologia sottomarina

Recupero relitti (Titanic)

Ispezione strutture

Monitorizzazione acque

Applicazioni spaziali

Realizzati a partire dal 1965

Altamente autonomi

In grado di lavorare senza supervisione

Dotati di alta ridondanza dei sensori

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 10 / 60

Page 11: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Esempi

Robot Agricoli (attesi per il ≈2015)

Robot mobili concepiti per operazioni agricole:

ambienti strutturati (frutteti ad hoc)

vasti territori a cereali

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 11 / 60

Page 12: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Esempi

Robot per ambienti ostiliRobot Pioneer

Sviluppato da Stanford University

Scelto per esplorare il sarcofago diChernobyl

Robot modulare consente di montare:

un braccio roboticoun gripperuna telecamera (stereo)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 12 / 60

Page 13: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Principi di Locomozione

I concetti presenti in natura sono difficili dareplicare ingegneristicamente

Il rotolamento e il principio di funzionamentopiu efficiente, ma non si trova in natura

La maggior parte dei sistemi si muovono suruote o cingoli

La camminata di un bipede si avvicina alrotolamento

Camminata

Strisciamento Corsa Salto

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 13 / 60

Page 14: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Principi di Locomozione

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 14 / 60

Page 15: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Principi di Locomozione

(Loading locomotion.avi)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 15 / 60

Page 16: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Principi di Locomozione

(Loading PETMAN Prototype.avi)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 16 / 60

Page 17: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Principi di Locomozione

Camminata bipede

Approssima il rotolamento

Rotolamento di un poligono con latopari al passo della persona

Piu il passo e corto, meglio ilrotolamento viene approssimato

I robot che camminano:

si possono adattare meglio a unambiente variabile

sono lenti su superfici piatte

fortememte sovra-attuati

I robot con ruote/cingoli sono:

piu veloci su superfici piatte

sono poco adattabili

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 17 / 60

Page 18: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Modellistica di Robot

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 18 / 60

Page 19: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Robot con Ruote (Wheeled Mobile Robots - WMR)

La ruota e la soluzione meccanicamente piu adatta a molte applicazioniTre ruote sono sufficienti a garantire la stabilita del veicoloQuali ruote usare?Quante ruote usare?

Ruota fissa

Ruota castor

Ruota centrata orientabile

Ruota svedese

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 19 / 60

Page 20: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

WMR: Swedish-Wheel

Si basano sull’idea di poter sfruttarel’attrito anche trasversalmente alladirezione di moto della ruota

(omni directional wheels.avi)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 20 / 60

Page 21: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Spazio delle configurazioni

Ha dimensione pari al numero di parametri che servono per localizzare inmodo univoco la configurazione di un robot

Dipende strettamente dalla struttura del robot considerato

Esempio: Uniciclo

X

Y

xr

yr

θr

q = [xr , yr , θr ]T ∈ R

3

Esempio: Biciclo

X

Y

xr

yr

θr

φr

q = [xr , yr , θr , φr ]T ∈ R

4

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 21 / 60

Page 22: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Vincoli Anolonomi

Ipotesi semplificativa

Ogni ruota rotola senza slittare

Ogni ruota introduce un vincolo anolonomo nel sistema in quanto nonconsente una traslazione normale alla direzione di rotolamento

Le ruote limitano la mobilita istantanea del robot, senza in genere ridurre lospazio delle configurazioni (es: parcheggio parallelo)

vt = ψr

vn

θ

ψ

x

y

Se non ci fosse il vincolo:

x = vt cos θ + vn cos(

θ +π

2

)

y = vt sin θ + vn sin(

θ +π

2

)

Poiche non c’e strisciamento in direzione normale vn = 0{

x = vt cos θy = vt sin θ

⇔ tan ∂θ =∂y

∂x⇔

[

x sin θ − y cos θ = 0Vincolo sulla mobilita

]

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 22 / 60

Page 23: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Vincolo Pfaffiano

Per ogni ruota il vincolo puo essere scritto in forma vettoriale: a(q)q = 0

Per N ruote i vincoli possono essere espressi in forma matriciale: A(q)q = 0

Un vincolo che possa essere scritto come A(q)q = 0 e detto vincolo Pfaffiano

Vincoli Anolonomi

Non e completamente integrabile

Non puo essere scritto nello spaziodelle configurazioni

Non limitano lo spazio delleconfigurazioni ma la mobilitaistantanea del robot.

Velocita ammissibiliPossono essere generate da una matriceG (q) tale che:

Im(G (q)) = Ker(A(q)), ∀q ∈ C

C = RN spazio

config.

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 23 / 60

Page 24: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Modello Uniciclo

Vincolo:x sin θ − y cos θ = [sin θ,− cos θ, 0] q = 0

In forma Pfaffiana: A(q)q = 0

con:

{

A(q) = [sin θ,− cos θ, 0]

q = [x , y , θ]T

Ker(A(q)) = span

cos θ

sin θ

0

,

001

= Im(G(q))

Una sola ruotaorientabile

X

Y

xr

yr

θr

Modello cinematico uniciclo

q =

cos θsin θ0

v +

001

ω =

cos θ 0sin θ 00 1

[

v

ω

]

v : velocita lineare ruota

ω: velocita angolare

v = ψr

ψω

x

y

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 24 / 60

Page 25: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Modello Uniciclo

L’uniciclo propriamente detto ha gravi problemi dibilanciamento in condizioni statiche

Si usano strutture cinematiche equivalenti e stabili

Modello Synchronized Drive

Ruote orientabili parallele accoppiate

Stessi ingressi [v , ω]T

[x , y , θ]T posizione di qualsiasi puntoe orientamento robot.

x

y

xr

yr

θr

Modello Differential Drive

Due ruote comandate separatamente

Una ruota da appoggio

[x , y , θ]T posizione di punto medianoasse ruote e orientamento robot.

x

y

xr

yr

θr

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 25 / 60

Page 26: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Modello Uniciclo: Differential Drive

RemarksModello piu diffuso di realizzazione dell’uniciclo(cinematicamente equivalente)

Due ruote coassiali attuate indipendenti

Una o piu ruote castor (o sfere) per stabilita statica

Puo ruotare sul posto ponendo ωR = −ωLx

y

xr

yr

θr

Khepera III

(K-Team, EPFL)Sbot (EPFL) Sentinel (iRobot)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 26 / 60

Page 27: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Modello Uniciclo: Differential Drive

Definite

ωR = velocita ruota DxωL = velocita ruota Sxd = interasser = raggio ruota

Modello con ingressi ωR , ωL[

v

ω

]

=

[

r2

r2

rd

− rd

] [

ωR

ωL

]

x

y

xr

yr

d

ωL

ωR

2r

θr

Nello spazio degli stati

q =

x

y

θ

=

cos θ 0sin θ 00 1

[

r2

r2

rd

− rd

] [

ωR

ωL

]

=

r cos θ2

r cos θ2

r sin θd

r sin θd

rd

− rd

[

ωR

ωL

]

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 27 / 60

Page 28: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Controllo Single Robot

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 28 / 60

Page 29: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Schema di controllo

+

Task

Pianificazione Controllo Att. Robot

Model

EndEffector

Am

bie

nte

Sensori(Proprio, Estero)

qd u τ

q

Ferr .

Low-Level Control

High-Level Control

Attuatori (motori DC, motor step-by-step, ...)

End-Effector (attrezzo, pinza, mano)

SensoriPropriocettivi (encoder, giroscopi, ...)Esterocettivi (bumbers, rangefinders (infrarossi, ultrasuoni), laser, visione(mono, stereo), ...)

ControlloBasso livelloAlto livello

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 29 / 60

Page 30: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Controllo Basso Livello

ControlloAlto Livello Controllo A

tt. Robot

Modelu τ

Low-Level Control

Concetti FondamentaliControllori PI ad alto guadagno controllano i motori del robot affinche ilrobot si muova secondo il profilo di velocita desiderato

Il controllo a basso livello si occupa solamente di controllare gli attuatori delrobot secondo le istruzioni del controllo ad alto livello

Se i guadagni sono abbastanza alti, il controllo di basso livello rende il robotun sistema puramente cinematico

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 30 / 60

Page 31: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Controllo di Alto Livello vs. Basso Livello

Concetti FondamentaliUtilizzando i dati dei sensori, elabora il segnaleda passare al controllore di basso livello

Da questo punto di vista, il robot si comportacome un sistema puramente cinematico

I segnali di controllo sono in velocita

+

Task

ControlloAlto Livello qd

err .

High-Level Control

Alto livelloDecide il movimento del robot

Deve considerarne il modellocinematico

Soggetto ai vincoli delle ruote

Deve controllare un sistema lineare(complesso)

Basso livelloControlla i motori per attuarlo

Si riduce a un PI per motoreelettrico (sistema lineare)

Non risente dei vincoli introdottidalle ruote

Problematiche note

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 31 / 60

Page 32: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Compiti di Moto Elementare

Parcheggio (traferimento point-to-point)

Posizione iniziale

Posizione finale

Inseguimento di Cammini (Trajectory Following)

Posizione iniziale

Posizione finaleParametro s WMR di riferimento

Inseguimento di Traiettorie (Trajectory Tracking)

Posizione iniziale

Posizione finaleParametro t

WMR di riferimento all’istante t

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 32 / 60

Page 33: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Controllo del Moto

Due problematiche differenti

Regolazione di configurazione

Il robot deve raggiungere una configurazione desiderata qd = [xd , yd , θd ]T

a

partire da una configurazione iniziale q0 = [x0, y0, θ0]T.

Problema piu difficile ma generico

Inseguimento di traiettoria

Il robot deve riprodurre asintoticamente una traiettoria cartesiana desiderata[xd(t), yd (t)]

Ta partire da una configurazione iniziale q0 = [x0, y0, θ0]

Tche puo

essere o meno agganciata alla traiettoria:

Trajectory Following se dipende da un parametro s

Trajectory Tracking se dipende dal tempo t

Problema piu facile ma di maggiore interesse pratico

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 33 / 60

Page 34: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Inseguimento di Traiettorie - I-O SFL

Idea baseDefinisco un punto b fuori dall’assedelle ruote

Controllo il punto b

Il punto b tira il veicolo

{

xb = xr + b cos θryb = yr + b sin θr

, b 6= 0

X

X

Y

xr

yr

xb

yb θr

b

Il punto b non ha vincoli e puospostarsi istantaneamente in ognidirezione

Il punto b puo spostarsilateralmente rispetto alla direzionedi moto

Si possono definire due ingressi percontrollare vx,b e vy ,b{

xb = vx,b

yb = vy ,b

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 34 / 60

Page 35: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Inseguimento di Traiettorie - I-O SFL

xb = xr − b · ω sin θr = v cos θr − b · ω sin θryb = yr + b · ω cos θr = v sin θr + b · ω cos θrθr = ω

, b 6= 0

[

xb

yb

]

=

[

cos θ −b · sin θr

sin θ b · cos θr

] [

v

ω

]

= T (b, θr )

[

v

ω

]

Si dimostra che per b 6= 0, det (T (b, θr )) 6= 0

La matrice T (b, θr ) e sempre invertibile

X

X

Y

xr

yr

xb

yb θr

b

[

v

ω

]

= T (b, θr )−1

[

xb

yb

]

=

[

cos θ sin θr

−1

bsin θ

1

bcos θr

]

[

xb

yb

]

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 35 / 60

Page 36: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Inseguimento di Traiettorie - I-O SFL

Dalle relazioni precedenti si ricava il seguente sistema lineare e disaccoppiato suicanali ingressi-uscite

xb = vx,b

yb = vy ,b

θr =1

b(vy ,b cos θr − vx,b sin θr )

La direzione x e la direzione y del puntoB possono essere controllateindipendentemente l’una dall’altratramite gli ingressi vx,b e vy ,b

Data una traiettoria (xd(·), yd (·)) da inseguire, e possibile costruire/trovare vx,b evy ,b che garantiscono l’inseguimento utilizzando queste semplici leggi lineari:

{

xb = vx,b = xd + K1 (xd − xb)yb = vy ,b = yd + K2 (yd − yb)

Dinamica errore

Definendo

{

ex = xd − xb

ey = yd − yb⇒

{

ex + K1ex = 0ey + K2ey = 0

{

ex → 0ey → 0

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 36 / 60

Page 37: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Inseguimento di Traiettorie - I-O SFL

Una volta trovati gli ingressi richiesti peril punto b, si possono trovare gli ingressida dare all’uniciclo per muove il punto b

come desiderato

[

v

ω

]

=

[

cos θ sin θr

−1

bsin θ

1

bcos θr

]

[

xb

yb

]

Esempio: inseguimento di un quadrato

(Loading square example.avi)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 37 / 60

Page 38: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione

Interazione con l’ambienteSpesso un robot si trova a doversi muovere in un ambiente in cui sono presentiostacoli (fissi o mobili). Il robot, tramite la conoscenza dell’ambiente e/o tramitel’utilizzo dei sensori a bordo deve riconoscere dove sono gli ostacoli ed evitarli alfine di navigare in maniera sicura (cioe senza collisioni) all’interno dello spazio dilavoro.

qstart

qgoal

Problema della navigazione

Data una configurazione di partenza e una di arrivo note, e il problema di trovareuna percorso libero da collisioni che porti il robot dalla configurazione di partenzaa quella di arrivo

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 38 / 60

Page 39: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Algoritmo di Braitenberg

Idea Base

Valentino Braitenberg (Bolzano, 1924). Neuropsichiatra.

Una rete neurale semplice elabora i segnali dei sensori posti sul lato destro esinistro del robot e applica il risultato direttamente ai motori

Braitenberg, V. (1984) I veicoli pensanti. Saggio di psicologia sintetica.Garzanti, Milano

Braitenberg, V. (1984) Vehicles: Experiments in synthetic psychology.Cambridge, MA: MIT Press.

+ +

(Loading braitenberg.avi)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 39 / 60

Page 40: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Bug Algorithm

Gli algoritmi bug si basano sulla possibilita del robot di percepire, tramiteopportuni sensori eterocettivi (bumpers, range finders), la presenza di un ostacoloquando vi sono molto vicini o addirittura quando lo stanno toccando.

Idea baseMuovere il robot in linea retta verso l’obiettivo. Quando si incontra un ostacolo,lo si circumnaviga fino a quando non e possibile muoversi in linea retta versol’obiettivo

Ipotesi semplificative

Robot punto materiale (nessun controllo su orientamento)

Robot dotato di sensore di contatto

Robot ha accesso alla sua posizione e a quella dei punti di partenza e arrivo

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 40 / 60

Page 41: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Bug Algorithm 1

Il robot ha due tipi di comportamento tra i quali commuta

m-line: linea che collega in punto a qgoal

Motion to GoalA partire da un leave point, il robot si muove lungo la m-line che connette il leavepoint al goal finche non raggiunge il goal o incontra un ostacolo. Se il robotincontra un ostacolo, il punto di contatto viene detto hit point e ilcomportamento del robot commuta al boundary following.

Boundary Following

A partire da un hit point, il robot circumnaviga l’ostacolo finche non ritorna all’hitpoint. Poi determina il punto piu vicino al goal lungo il perimetro dell’ostacolo e sisposta lungo il perimetro fino a raggiungere quel punto, detto leave point e ilcomportamento del robot commuta al motion to goal.

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 41 / 60

Page 42: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Bug Algorithm 1

Caso standard

Inizializzazione qL0 = qstart

All’inizio il sistema si trova in un leave

point

qLi = leave point i-esimo

qHi = hit point i-esimo

Caso senza soluzioneSe la linea che collega il leave point i-esimocon il goal intereseca l’ostacolo i-esimo, alloranon esiste nessun percorso che consenta diraggiungere il goal. In tal caso l’algoritmo losegnala

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 42 / 60

Page 43: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Bug Algorithm 2

Come per il Bug1, il robot commuta tra due comportamenti

Motion to GoalBoundary Following

Per il Bug2, la m-line e fissa, generalmente e il segmento che collega qstart aqgoal

Ulteriore modifica e il tangent bug algorithm in:

Kamon I., Rivlin E., Rimon, E., A new range-sensor based globally convergent

navigation algorithm for mobile robots, IEEE International Conference on Roboticsand Automation, 1996

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 43 / 60

Page 44: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Bug Algorithm 2

Caso standard

Inizializzazione qL0 = qstart

L’inizio il sistema si trova in un leave

point

qLi = leave point i-esimo

qHi = hit point i-esimo

Caso senza soluzioneSe durante il boundary following il robotincontra di nuovo il punto da cui e partitosulla m-line allora non esiste nessun percorsoche consenta di raggiungere il goal. In talcaso l’algoritmo lo segnala

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 44 / 60

Page 45: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Bug 1 o Bug 2 ?

A prima vista sembra che Bug2 sia meglio di Bug1 (non comporta unacircumnavigazione completa degli ostacoli)

Questo non e sempre vero e dipende dal tipo di ostacoli

Bug2 e meglio di Bug1 Bug1 e meglio di Bug2

Bug 1

Ricerca esaustiva del leave point

Funziona meglio su ostacoli complessi

Bug 2

Ricerca opportunistica del leave point

Funziona meglio su ostacoli semplici

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 45 / 60

Page 46: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Campi Potenziali

Attraverso i Bug algorithm si possono considerare solo robot planari e non l’interospazio delle configurazioni

Attraverso la pianificazione basata su campi potenziali e possibile pianificare il motoanche per sistemi con variabili di configurazione di dimensione elevata

Come gli algoritmi bug, consentono di generare il percorso incrementalmente,cambiandolo man mano che un ostacolo e percepito

Funzione PotenzialeU : R

m → R

Gradiente di U

∇U(q) =

[

∂U

∂q1(q) . . .

∂U

∂qn

(q)

]T

q = [q1, q2]

U(q) =1

2qTq

∇U(q) = [q1, q2]

U(q) equivale a una funzione energia sullo spazio delle configurazioni

∇U(·) rappresenta la forza indotta dalla presenza del potenziale

∇U(q) punta verso la direzione in cui U cresce.

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 46 / 60

Page 47: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Campi Potenziali

Discesa del Gradiente (Gradient descent)

Le funzioni potenziali sono come dei paesaggi in cui il robot e immerso

Si muove spostandosi da un punto in alto a un punto piu in basso.

Segue un percorso in discesa (gradiente negato della funzione potenziale)

q

U(q)

q(t) = −∇U(q)qstart

MinimoLocale

MinimoGlobale

qstart

qgoal

Il robot si muove immerso in un campo dato dalla somma di tutti quelli presentinell’ambiente

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 47 / 60

Page 48: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Campi Potenziali

Come si crea il potenziale per guidare il robot da qstart a qgoal evitando gli

ostacoli?

Potenziale Attrattivo

Uatt(q) Ha il minimo in qgoal

Il suo ruolo e di attirare il robot verso l’obiettivo

Potenziale Repulsivo

Urep =∑Nobst

i=1 Urepi(q)

Dato dalla somma dei potenziali repulsivi perogni ostacolo

Ha il ruolo di allontanare il robot dagli ostacoli

Legge di Controllo

q(t) = −∇U(q), dove: U(q) = Uatt(q) + Urep(q)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 48 / 60

Page 49: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Campi Potenziali

Potenziale Attrattivo

Monotonicamente crescente con ∆(q, qgoal)

Robot attirato in ∆(q, qgoal)

qgoal minimo isolato: no punti critici

Possibile scelta

Uatt =1

2Ka∆(q, qgoal) ∇Uatt =

1

2Ka∇∆2(q, qgoal) = Ka(q − qgoal)

Quando il robot e lontano, si avvicina velocemente

Quando il robot e vicino, si avvicina lentamente

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 49 / 60

Page 50: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Navigazione: Campi Potenziali

Potenziale Repulsivo

Somma di potenziali repulsivi, ognuno associato ad un ostacolo

La forsa repulsiva deve crescere quando il robot si avvicina

La forza repulsiva deve essere nulla oltre a una certa soglia

Possibile scelta

Urepi(q) =

1

2Kri

(

1

di (q)−

1

q∗

)2

di (q) ≤ q∗

0 di (q) > q∗

∇Urepi(q) =

Kri

(

1

q∗−

1

di (q)

)2

∇di (q) di (q) ≤ q∗

0 di (q) > q∗

Se ∆(q, qgoal) = 0, allora ∇Urep(q) → ∞

Minimi locali

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 50 / 60

Page 51: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Sistemi Multi Robot

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 51 / 60

Page 52: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Sistemi Multi Robot

Sistemi Bio-inspired

DefinizioneSwarm: termine per indicare il comportamento di uninsieme di agenti (animali)

stessa taglia

perseguire il medesimo obiettivo

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 52 / 60

Page 53: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Sistemi Multi Robot: Classificazione

Basata sulla tipologia degli agenti

Sciame Eterogeneo Sciame Omogeneo

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 53 / 60

Page 54: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Sistemi Multi Robot: Classificazione

Basata sull’architettura di controlloCentralizzata

Decentralizzata

Gerarchica

Ibrida

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 54 / 60

Page 55: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Sistemi Multi Robot: Reynold’s Boids

Esempio di algoritmo decentralizzato per comportamenti complessi con semplici regole

Alignment Cohesion Separation

Simulazione preda-predatore

(Loading schools of fish 2x.avi)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 55 / 60

Page 56: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Sistemi Multi Robot

(Loading Swarmbots cooperative transport 2x.avi)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 56 / 60

Page 57: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Sistemi Multi Robot

(Loading Swarmbots finding path 2x.avi)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 57 / 60

Page 58: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Sistemi Multi Robot

Paradigmi di Coordinazione

Potential social field

Behavioral control

CooperativeCompetitiveNull-Space Based

Graph-Theory e Consensus

Ant-Colony

PSO

...

ProblemiEsplorazione

Connettivita

Manipolazione multirobot

...

(Loading e-puck.avi)

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 58 / 60

Page 59: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Conclusioni

Single Robot

Non esiste una metrica di valutazione per la scelta del robot o dell’algoritmo

Controllo per modelli complessi

...

Multi RobotNon esiste una metrica di valutazione per la scelta dei robot o degli algoritmi

Garantire robustezza del sistema

Sfruttare/evitare ridondanza

...

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 59 / 60

Page 60: Riccardo Falconi riccardo.falconi@unibo.it 9 Aprile, 2010 - LIAlia.deis.unibo.it/Courses/AI/applicationsAI2009-2010/...Media File (video/avi) Media File (video/avi) unibo-logo Principi

unibo-logo

Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 9 Aprile, 2010 60 / 60