Tesi Robotica Analisi, progettazione e implementazione... | Page 44
i
i
“LP_Tesi” — 2013/10/17 — 18:27 — page 44 — #44
i
44
i
1. APPROCCIO CLASSICO
quadrati degli elementi della matrice sia pari a uno. Al fine di trovare una buona
soluzione è importante la scelta della soluzione iniziale. Una buona soluzione
iniziale è data passando alle coordinate omogenee e calcolando una soluzione
minimizzando l’errore algebrico. Chiaramente non si sta ottimizzando la vera
funzione obiettivo, ma questa soluzione è utilizzata come punto iniziale per
ottimizzare iterativamente la vera funzione obiettivo. Passando in coordinate
omogenee la trasformazione diventa lineare
xi
φ1,1 φ1,2 φ1,3
ui
λ yi = φ2,1 φ2,2 φ2,3 vi
1
φ3,1 φ3,2 φ3,3
1
Considerando che punti bidimensionali rappresentati in coordinate omogenee
corrispondono a delle direzioni l’equazione precedente ci dice che le direzioni
˜
˜
xi e Ωwi devono essere parallele, il che corrisponde a richiedere che il loro
˜
˜
prodotto vettoriale sia pari al vettore nullo xi × Ωwi = 0. Esplicitando i vincoli
si ottengono tre equazioni
y (φ3,1 u + φ3,2 v + φ3,3 ) − (φ2,1 u + φ2,2 v + φ2,3 )
(φ1,1 u + φ1,2 v + φ1,3 ) − x (φ3,1 u + φ3,2 v + φ3,3 ) = 0
x (φ2,1 u + φ2,2 v + φ2,3 ) − y (φ1,1 u + φ1,2 v + φ1,3 )
solo due delle quali sono linearmente indipendenti. La terza equazione di conseguenza viene scartata ed in seguito viene costruito un grande sistema prendendo in modo simile i primi due vincoli per ogni coppia di osservazioni. Il
sistema può essere riscritto come
φ1,1
0
0 0 −u1 −v1 −1
y1 u1
y1 v1
y1 φ1,2
u1 v1 1
0
0
0
−x1 u1
−x1 v1
−x1 φ1,3
0
0 0 −u2 −v2 −1
y2 u2
y2 v2
y2 φ2,1
u2 v2 1
0
0
0
−x2 u2
−x2 v2
−x2 φ2,2 = 0
.
.
.
.
.
.
.
.
. φ
.
.
.
.
.
.
.
. 2,3
.
.
.
.
.
.
.
.
.
.
0
0 0 −uN −vN −1 yN uN
y N vN
yN φ3,1
φ3,2
uN vN 1
0
0
0 −xN uN −xN vN −xN
φ3,3
che ha la forma di Aφ = 0. Questo sistema può essere risolto nel senso dei
minimi quadrati soggetto al vincolo che φT φ = 1 calcolando la SVD A =
i
i
i
i