introduzione alla robotica mobile - lar-deis home page sistemi... · unibo-logo outline dalla...
Post on 26-Jan-2019
273 Views
Preview:
TRANSCRIPT
unibo-logo
Introduzione alla Robotica Mobile
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 1 / 60
Raffaele Grandi
raffaele.grandi@unibo.it
19 aprile 2013
D.E.I.
(slides di Riccardo Falconi)
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 1 Aprile, 2011 2 / 60
unibo-logo
Dalla Robotica Fissa alla Robotica Mobile
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 3 / 60
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 1 Aprile, 2011 4 / 60
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 1 Aprile, 2011 5 / 60
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 1 Aprile, 2011 6 / 60
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 1 Aprile, 2011 7 / 60
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 1 Aprile, 2011 8 / 60
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 1 Aprile, 2011 9 / 60
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 1 Aprile, 2011 10 / 60
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 1 Aprile, 2011 11 / 60
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 1 Aprile, 2011 12 / 60
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 1 Aprile, 2011 13 / 60
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 1 Aprile, 2011 14 / 60
unibo-logo
Principi di Locomozione
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 15 / 60
unibo-logo
Principi di Locomozione
(Loading locomotion.avi)
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 16 / 60
unibo-logo
Principi di Locomozione
(Loading PETMAN Prototype.avi)
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 17 / 60
unibo-logo
Modellistica di Robot
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 18 / 60
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 1 Aprile, 2011 19 / 60
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 1 Aprile, 2011 20 / 60
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 1 Aprile, 2011 21 / 60
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 1 Aprile, 2011 22 / 60
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 ammissibili
Possono 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 1 Aprile, 2011 23 / 60
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
0
@
2
4
cos θ
sin θ
0
3
5 ,
2
4
001
3
5
1
A = 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 1 Aprile, 2011 24 / 60
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 1 Aprile, 2011 25 / 60
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 1 Aprile, 2011 26 / 60
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 1 Aprile, 2011 27 / 60
unibo-logo
Controllo Single Robot
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 28 / 60
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 1 Aprile, 2011 29 / 60
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 1 Aprile, 2011 30 / 60
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 non
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 1 Aprile, 2011 31 / 60
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 1 Aprile, 2011 32 / 60
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)]T a partire da una configurazione iniziale q0 = [x0, y0, θ0]
T che puoessere 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 1 Aprile, 2011 33 / 60
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 1 Aprile, 2011 34 / 60
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 1 Aprile, 2011 35 / 60
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 1 Aprile, 2011 36 / 60
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 1 Aprile, 2011 37 / 60
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 1 Aprile, 2011 38 / 60
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 1 Aprile, 2011 39 / 60
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 1 Aprile, 2011 40 / 60
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 1 Aprile, 2011 41 / 60
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 soluzione
Se 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 1 Aprile, 2011 42 / 60
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 1 Aprile, 2011 43 / 60
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 1 Aprile, 2011 44 / 60
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 1 Aprile, 2011 45 / 60
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 : Rm → 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 1 Aprile, 2011 46 / 60
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 1 Aprile, 2011 47 / 60
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 1 Aprile, 2011 48 / 60
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 1 Aprile, 2011 49 / 60
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) =
8
<
:
1
2Kri
„
1
di(q)−
1
q∗
«2
di(q) ≤ q∗
0 di(q) > q∗
∇Urepi(q) =
8
<
:
Kri
„
1
q∗
−1
di(q)
«2
∇di(q) di(q) ≤ q∗
0 di(q) > q∗
Se di (q) = 0, allora ∇Urep(q) → ∞
Minimi locali
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 50 / 60
unibo-logo
Sistemi Multi Robot
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 51 / 60
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 1 Aprile, 2011 52 / 60
unibo-logo
Sistemi Multi Robot: Classificazione
Basata sulla tipologia degli agenti
Sciame Eterogeneo Sciame Omogeneo
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 53 / 60
unibo-logo
Sistemi Multi Robot: Classificazione
Basata sull’architettura di controlloCentralizzata
Decentralizzata
Gerarchica
Ibrida
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 54 / 60
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 1 Aprile, 2011 55 / 60
unibo-logo
Sistemi Multi Robot
(Loading Swarmbots cooperative transport 2x.avi)
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 56 / 60
unibo-logo
Sistemi Multi Robot
(Loading Swarmbots finding path 2x.avi)
Riccardo Falconi (University of Bologna) Introduzione alla Robotica Mobile 1 Aprile, 2011 57 / 60
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 1 Aprile, 2011 58 / 60
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 1 Aprile, 2011 59 / 60
top related