V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

48
AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti

Transcript of V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Page 1: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

AUTOLOCALIZZAZIONE DI ROBOT MOBILI

Vincenzo Caglioti

Page 2: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

- Autolocalizzazione telemetrica

- Autolocalizzazione visiva

- Richiami sugli stimatori

Page 3: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Stima a massima verosimiglianza

Page 4: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

)J()J(Jmin 1T XpXpXpp

Weighted least squares

0J2JJJ 1TT1TT

XpppXp

p

Xp 1T11T JJ)J( -

Page 5: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Covarianza

),( vv

)(J)()( vvvvy h con

vv

v

)(

Jh

)JJ),(( T vy h

Page 6: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Su agiscono errori di misuraX̂

),0(ˆ XX

))(())((2

1 1T

)(pXpX

X/pgg

ef

)g(ˆ pX Sia un valore della misura Xcompatibile con il modello p

Page 7: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

))(())((2

1 1T

)(XpXp

p/X

gg

ef

)(

)()()(

X

pX/pp/X

f

fff Bayes

indipendente da p a priori uniforme costante con p

)()( X/pp/X ff

Page 8: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

)(J)()( pppp gp

p

p

)(

Jg

con

))(())((2

1 1T

)(XpXp

p/X

gg

ef da

Stima a massima verosimiglianza (ML)

))(()(J())(()(J(2

1 1T

)(pXpppXpp

p/Xgg

kef

))(()(Jmin)(max pXppp/X

ppgf

valore nominale

Page 9: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

))((JJ)J(ˆ 1T11T pXpp g-

Minimi quadrati pesati

Covarianza

isoliamo nell’esponente i termini “quadratici” in p

...JJ... 1TT pp

11T J)J()(Var -p

Page 10: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Se i singoli errori di misurazione (es. sui punti) sono indipendenti

1

12

11

1

.00

....

0.0

0.0

n

i

1T11T ))((J)JJ(ˆ pXpp iiii-

iiii g

11T )JJ()(Var -

iiii pe

Page 11: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Autolocalizzazione telemetrica

• scan matching

• stima incrementale

Page 12: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Scan Matching

Uso di telemetro orientabile senza informazioni a priori

-Matching: generazione di un’ipotesi di stima

-Raffinamento della stima generata

Page 13: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Matching

Transformata di Hough Generalizzata (GHT) con “footprints”

a) modellizzazione della mappab) matching tra misure e modello della mappa

E’ richiesta robustezza nei confronti di:-rumore nelle misure-outliers-dati mancanti

ipotesi di stima di posizione e orientamento

Page 14: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Modellizzazione:

Footprint: features “locali” caratterizzate da- parametri intrinseci (es. angoli, distanze, curvature)- parametri estrinseci (es. posizione e orientamento)

eventualmente raggruppate (ad es. se mancano parametri intrinseci)

ordinate in base ai parametri intrinsecidelle singole footprint o dei gruppi di footprint,per reperimento efficiente

Page 15: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Matching tra misure e modello della mappa

-costruzione delle feature dalle misurazioni

- per ciascuna feature (o ciascun gruppo)- selezionare footprint candidate esplorando la struttura dati sulla base dei parametri intrinseci - per ogni footprint candidata

- utilizzare parametri estrinseci per vincolare [x,y,]- per ogni valore di [x,y,] compatibile con i vincoli

- incrementare il contatore di voti di [x,y,]

- selezionare il valore di [x,y,] più votato

Page 16: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Es. footprint

2 par. estrinseci + 1 par. intrinseco

2 par. estrinseci + 0 par. intrinseci

3 par. estrinseci + 1 par. intrinseco

3 par. estrinseci + 1 o 2 par. intrinseci

2 par. estrinseci + 0 par. intrinseci

Page 17: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Raffinamento della stima

i

1T11T ))((J)JJ(ˆ pXpp iiii-

iiii g

ove ii zX è il risultato della misura i-ma

(distanza tra R e ambiente lungo retta di misura i)

z

R

y

x

e ii zg ˆ)( p

mentre ii zg )(p

Page 18: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

pT],,[

ˆJ

yxzi

i

T],,[ yxp

)]tan(,)cos(

sin,

)cos(

cos[J

ii z

Varianza

con

11T )JJ()(Var -

iiii p

Page 19: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Stima incrementale

Ciclo movimento misurazione

Partenza: T]ˆ,ˆ,ˆ[ˆ yxp )ˆ(Var pe

Movimento:o misura odometrica

T]ˆ,ˆ,ˆ[ yx

riferito alla posizione corrente

Page 20: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

dunque va trasformato per rappresentarlo nel riferimento base

)ˆ(Rotˆ'~ pp

100

0ˆcosˆsin

0ˆsinˆcos

)ˆ(Rot

ove

Page 21: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

- errori odometrici : (o di attuazione del movimento)

- errori nella stima di partenza:

loro effetto sull’errore in '~p

d

p̂d

'~pd

dddd )ˆ(Rot)ˆ(Rotˆ'~ pp

dddd )ˆ(Rotˆ)ˆ(Rot'ˆ'~ pp

Page 22: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

000

0sincos

0cossin

)(Rot'

ove

dddd )ˆ(Rotˆ)ˆ(Rot'ˆ'~ pp

ddd )ˆ(RotˆK'~ ppcon

000

ˆsinˆˆcosˆ10

)ˆcosˆˆsinˆ(01

yx

yx

K

Page 23: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Stima dopo il movimento (ma prima di ulteriori misure)

)ˆ(Rotˆ'~ pp

Varianza di tale stima

TTT )ˆ(DRot)ˆ(RotKK]'~'~['~ pp ddE

ove )D,0(

Page 24: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

ulteriore misura: stima ML equivale a stima di Kalman

'~

J)J'~

J(J'~

'~

'~ 1TT

)'z~-(z)J'~

J(J'~

'~' 1TT pp

ove z è il risultato effettivo della misuramentre 'z~ è il risultato che si otterrebbe:

-in assenza di errori-se il modello vero fosse '~p

Varianza della nuova stima ottenuta

Page 25: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Autolocalizzazione visiva

• “landmark” artificiali

• “landmark” naturali

Page 26: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.
Page 27: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

O

Z

YX

c

yx

f

scene reference- not attached to the camera

image reference- centered on upper left corner- nonsquare pixels (aspect ratio)

Trasformazione scena immagine

principal axisprincipal point

XmXu MP

u

X

Page 28: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Centro ottico

0P O

Spazio nullo destro della matrice di proiezione

OλAX

PAλPAPλPAPXu O

Per ogni A, tutti i punti in AO hanno la stessa immagine di A, pertanto O è centro ottico

1

M

1

1moO

Page 29: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

dMd

mMu 0

uMd 1

Direzione

degli infiniti punti aventi immagine u prendiamo quello all’infinito:

questo punto dà la direzione della retta di interpretazione del punto immagine u

Telecamera: sensore di direzione

u d

Page 30: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Landmark artificiali

Hp: landmark planari

Cambio riferimento dal robot al piano contenente il landmark

lanlan Xtaon

mXtR

mu1000

M10

M

lanrob XtR

X10

Page 31: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

T

Y

X

T

Y

X

H01000

M taon

mu

sul piano del landmark, i suoi punti hanno Z=0

H: omografia piano landmark piano immagine

mtonton

m 00M100

MH

Page 32: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

1) determinare omografia H (da n punti)

2) determinare n, o, t a partire da H

Page 33: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Determinazione dell’omografia H

• determinare un valore nominale da 4 degli n punti risolvendo un’equazione lineare

• raffinare la stima usando gli n punti

3

2

1

T3

T2

T1

h

h

h

h

h

h

H h

Page 34: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

ni

i

i

i

..1,

h

h

h

h

h

h

H

w

v

u

ˆ

3T

i

2T

i

1T

i

iT

3

iT

2

iT

1

ii x

x

x

x

x

x

xu

Misure non rumorose

hx

hx

x

xT

iTT

TTTi

3T

i

1T

ii

00

00

h

h

w

i

ix

hx

hx

x

xT

iTT

TTi

T

3T

i

2T

ii

00

00

h

h

w

i

iy

i

i

ˆ

ˆ)(ˆ

y

xgii hX

con {

Page 35: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Ti2

Ti

Ti3

Ti

T

Ti1

Ti

TTi3

Ti

23

Ti

i)h()h(0

)h(0)h(

)h(

1J

xxxx

xxxx

x

..

ˆ

ˆ..

..

)(..

..

J

..

J i

h

h hh

h

i

i

i y

x

gjacobiano

con

Linearizzazione attorno al valore nominale

Page 36: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

i

ii y

xX

Misure affette da rumore

),ˆ(

..

..

i XXX N

..

)(

..

..

ˆ..

ˆii hXX gcon e

n

i

00

00

001

)(min hX

hgStima ML (max likelihood)

Page 37: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

))(()(Jmin hXhh

hg

XX

h

ˆmin

)(J))((ˆ hhhXXX

i

1T11T ))((J)JJ(ˆ hXhh iiii-

iiii g

stima

varianza

11T )JJ()(Var -

iiii h

Page 38: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

mton 00MH s

)00H(M 1 mton s-

da

• trovare s tale che |n|=1• aggiustare n e o affinché siano consistenti con moto piano

- es. se il piano landmark è verticaleo verticale n orizzontale

Determinazione di n, o, t

Page 39: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Landmark naturali

Es. spigoli verticali

• telecamera prospettica:piani di interpretazione verticali

• telecamera catadiottrica (simmetrica rispetto a un asse verticale)

rette radiali concorrenti nell’immagine di un punto dell’asse

ii

xi

Page 40: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Aspetti geometrici

Luogo dei punti da cui due spigoli x1 e x2 si vedono sotto un angolo

Angolo al centro:doppio dell’angolocirconferenza

x1 x2

Con 3 spigoli: intersezione tra le due circonferenze…1 soluzione valida (si scarta quella costituita da uno spigolo comune)

circonferenza

Page 41: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

con n>3 spigoli e misure angolari affette da rumore

Problema delle corrispondenze spigoli misurati spigoli nella mappa

Alternative: • Ransac (random sample consensus)• Trasformata di Hough

Valore di partenza per successivo raffinamento della stima

Page 42: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Ransac:

• scegli a caso un certo numero di terne di spigoli misurati• per ciascuna terna scegli un certo numero di terne di spigoli modello• per ogni corrispondenza (terna-misurata, terna-modello) scelta

• calcola p=[x,y]T intersecando due circonferenze• valuta il consenso della corrispondenza come numero delle altre misure compatibili con la p calcolata

• scegli la coppia di terne corrispondenti con maggior consenso• assegna la corrispondente p al valore di partenza per il raffinamento

Page 43: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Trasformata di Hough:

• discretizza in celle la parte navigabile dell’ambiente• per le coppie di spigoli rilevate misura l’angolo i

• per ciascuna coppie di spigoli rilevata• per ciascuna coppia di spigoli della mappa

• costruisci la circonferenza da cui la coppia è vista sotto l’angolo misurato• per ogni cella attraversata dalla circonferenza

• incrementa il contatore dei voti• determina la cella col massimo numero di voti• assegna il centro della cella al valore di partenza per il raffinamento

Page 44: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Raffinamento della stima

Page 45: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

),

..

ˆ

..

(

..

..

i YiN Ymisure

affette da errori indipendenti

n

iY

00

00

001

riduzione delle incognite

YX

110..0

..........

00110

00011

..

..

..

..

1iii

y

xp nuove variabili misurate

H

Page 46: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

..........

00

00

000

HH4433

3322

221

TY

..

)(ˆ..

..

)(

..

..

ˆ..

ˆiii ppXX gmisure non rumorose

con)()()()(

)()()(ˆcos

1iT

1iiT

i

1iT

ii

xpxpxpxp

xpxpp

Page 47: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

pp

pp..

ˆcosˆsin

1..

..

ˆ..

..

J

..

J i

i

i

i

Linearizzazionetramite jacobiano

XX

p

ˆmin ))(()(Jmin pXpp

pg

))((JJ)J(ˆ 1T11T pXpp g- Stima ML

Varianza11T J)J()(Var -p

Page 48: V.Caglioti - Autolocalizzazione AUTOLOCALIZZAZIONE DI ROBOT MOBILI Vincenzo Caglioti.

Recupero di

dalla posizione p=[x,y]T stimatautilizzare l’infomazione circa un angolo rilevato

: orientamento del segmento tra p e lo spigolo considerato

oppure utilizzare una media tra gli angoli rilevati