Control de Sistemas Multiagente en UAVs
Control de Sistemas Multiagente en UAVs
Junio 2023
MCVA 1 / 64
Contenido
a Sensores disponibles.
b Estimación de la orientación.
MCVA 2 / 64
Sensar y estimar
MCVA 4 / 64
Estimación de la orientación
MCVA 5 / 64
Representaciones de la orientación
Ángulos de Euler:
φ, θ, ψ (1)
Cuaternos:
q = [ η, ǫ1 , ǫ2 , ǫ3 ] (2)
MCVA 6 / 64
Representaciones de la orientación
Matriz de rotación
cos(θxb ,xi ) cos(θxb ,yi ) cos(θxb ,zi )
R = cos(θyb ,xi ) cos(θyb ,yi ) cos(θyb ,zi ) (3)
cos(θzb ,xi ) cos(θzb ,yi ) cos(θzb ,zi )
MCVA 7 / 64
Cinemática rotacional
Ángulos de Euler:
φ̇ c θ sθ sφ sθ c φ p
θ̇ = 1 0 cθ cφ −cθ sφ q (5)
cθ
ψ̇ 0 sφ cφ r
Cuaternos:
η̇ 0 −p −q −r η
ǫ˙1 1 p 0 r −q
= ǫ1 (6)
ǫ˙2 2 q −r 0 p ǫ2
ǫ˙3 r q −p 0 ǫ3
MCVA 8 / 64
Cinemática rotacional
Matriz de rotación:
0 −r q
Ṙ = R S(Ω) = S(RΩ)R , S(Ω) = r 0 −p (7)
−q p 0
MCVA 9 / 64
Sensores inerciales
■ Los sensores inerciales se basan en la medición de aceleraciones o
velocidades angulares a partir de fuerzas y momentos inerciales.
■ Para una partı́cula de masa m montada sobre un sistema de referencia
no inercial aparece la fuerza inercial siguiente
i b b
ma = ma + ma + 2mΩ × V + mΩ × Ω × r + mΩ̇ × rb b
con
◆ ai la aceleración inercial, a la aceleración entre los sistemas de
referencia,
◆ ab la aceleración de la partı́cula con respecto al sistema no inercial,
k
xr
r rb
xb
mp
d
d2 r b
b b b
mp 2 = mp a + 2mp Ω × v + mp Ω × Ω × r + mp Ω̇ × rb
dt
Al asumir que el dispositivo se aisla para no detectar la velocidad
angular,
d2 r b
m p 2 = m p ab
dt
MCVA 11 / 64
Mediciones disponibles (acelerómetros)
F = −dv b − krb + mp e⊤
b g b
mp ab = −dv b − krb + mp e⊤
b g b
b ˙ b ⊤ b
f = −f + a − eb g
k
k
con b
la constante de tiempo del acelerómetro.
MCVA 12 / 64
Mediciones disponibles (acelerómetros)
k
■ Si ≈0
b
f = ab − e ⊤
b g b
masa
sensores
◆ Dimensiones pequeñas y fácil
electrodo montaje.
◆ Baja precisión.
substrato
MCVA 13 / 64
■ Acelerómetro piezoresistivo
resistores piezoeléctricos
vigas felxibles
MCVA 14 / 64
■ Acelerómetro piezoeléctrico
carcasa
señal (+)
◆ Amplio rango de respuesta,
alta sensitividad, respuesta
masa rápida.
tierra (-) ◆ Alta impedancia, difı́ciles de
producir.
material piezoeléctrico
MCVA 15 / 64
■ Acelerómetro basado en efectos piezoeléctricos.
Acelerómetro LSM303DLHC
b 1 b ⊤ i
f = ma − R Fg + ba + µa (8)
m
alternativamente,
b 1 b ⊤ i
f = F T − R F g + b a + µa (9)
m
con ba una desviación en la medición y µa ruido de medición.
MCVA 16 / 64
■ En los desarrollos siguientes se considera ba = µa = 0.
de donde ! b
fyb fx
φ̂ = arctan , θ̂ = arcsin
fzb g
MCVA 17 / 64
■ Si el acelerómetro se monta en el centro de gravedad de un vehı́culo
que se encuentra sobre un plano inclinado,
mg
1f
2 f 1f
2 n
por lo tanto,
ff
FTb = R⊤ Fgi + FR , FR = 0
−fn
■ Geométricamente fn
ff
mg
MCVA 20 / 64
■ Cuando el vehı́culo está volando, se tiene
Fpb
Fab
θ
Fgi = mge3
b 1 b b
f = Fp + Fa
m
ya que en este caso FTb = Fpb + Fab + R⊤ Fgi .
MCVA 21 / 64
■ A partir de las ecuaciones dinámicas traslacionales de un cuerpo rı́gido
en ejes cuerpo se obtiene
V̇ b + Ω × V b − R⊤ gi = f b
i
⊤
con g = 0 0 g . De forma equivalente
b b 1 b
⊤ i b
V̇ + Ω × V − R g = Fp + Fa
m
MCVA 22 / 64
Mediciones disponibles (Giróscopo)
■ El término giróscopo se deriva del Griego y se refiere al movimiento
de precesión.
MCVA 23 / 64
Mediciones disponibles (Giróscopo)
Ixx p̄r = τy
−Ixx p̄q = τz
MCVA 24 / 64
■ Los avances en la tecnologı́a ha permitido su uso extensivo al diseñarse
como Sistemas Micro Electro-Mecánicos (MEMS)
Giróscopo L3GD20
ky
vy
mp
dy
kz dz
p
X
mp ÿ = −ky y + fi
de donde
y(s) 1 1
= 2 2
⇒ y(t) = sin(ωy t)fi (t)
fi (s) s + ωy ωy
p
con ωy = ky /mp . La efectividad en la detección de la velocidad se
cuantifica con el factor de calidad mecánica Qm .
MCVA 27 / 64
■ Por lo tanto
vy = Qm cos(ωy t)fi (t)
p
■ Al definir f = −ωz2 z
con ωz = kz /dz se tiene
dz ˙ dz
f = −f + az − f + 2Qm cos(ωy t)fi p
kz kz
MCVA 28 / 64
Mediciones disponibles (Giróscopo)
MCVA 29 / 64
Mediciones disponibles (Magnetómetro)
Magnetómetro BM1422AGMV-ZE2
mb = [mx , my , mz ]⊤ (14)
m b = R ⊤ m i + b m + µm (15)
MCVA 31 / 64
Central de medición inercial (IMU)
3
GiroscopioX
GiroscopioY
2 GiroscopioZ 0.37 1400
Giroscopio ( °/s )
1 1200
0.365
Densidad de Probabilidad
0 1000
0.36
800
−1
0.355
600
−2
0.35
400
−3
0 10 20 30 40 50 60 0.345
Tiempo ( S ) 200
0.34 0
0 2000 4000 6000 8000 10000 0.34 0.35 0.36 0.37
Muestras Magnetómetro eje X (gauss)
3500 2
2
Acelerómetro eje X (m/s2)
Densidad de Probabilidad
1.5
Densidad de Probabilidad
3000
MCVA 33 / 64
Determinı́sticos Algebraicos
1: for i = 1, 2, ..., N do
ab mb ai mi
2: ab = , mb = , ai = , mi =
|ab | |mb | |ai | |mi |
3: t1b = ab , t1i = ai
a b × mb a i × mi
4: t2b = , t2i =
|ab × mb | |ai × mi |
5: t3b = t1b × t2b , t3i = t1i × t2i
6: Rib (i) = [t1b , t2b , t3b ][t1i , t2i , t3i ]T
7: end for
MCVA 34 / 64
Algoritmo 2 Método QUEST
Entrada: ab = [ax ; ay ; az ]T ,mb = [mx ; my ; mz ]T
ai = [0; 0; 9.81]T , mi = [0.377; −0.499; −1.124]T
Salida: q = [η, ǫT ]T = [η, ǫ1 , ǫ2 , ǫ3 ]T Cuaterno de orientación.
1: for k = 1, 2, ..., N do
mi mb ai mi
2: v1b = , v2b = v1i = , v2i =
|mi | |mb | |ai | |mi |
N
X
3: Definimos: ρk = [ρ1 , ρ2 ]T , λopt ≈ ρk = ρ1 + ρ2
k=1
T T
4: B = ρ1 (v1b v1i ) + ρ2 (v2b v2i ), S = B + BT
5: Z = [B23 − B32 , B31 − B13 , B12 − B21 ]T , σ = tr[B]
6: p = [(λopt + σ)I3 − S]−1 Z
1
7: q(k) = √ 1 T = [η, ǫ1 , ǫ2 , ǫ3 ]T
1+p p p
8: end for
MCVA 35 / 64
Estocásticos
3.- Método de Fusión Sensorial
φg k+1 = φg k + ∆t pk
θg k+1 = θg k + ∆t qk (16)
MCVA 36 / 64
Estocásticos
φg k+1
1 −∆t 0 0
φg k
∆t pk
ζ1 k+1 0 1 0 0 ζ1 k 0
xk = θg k+1 = 0 0 1 −∆t θg k + ∆t qk (21)
ζ2 k+1 0 0 0 1 ζ2 k 0
1 0 0 0
φa k
ξ1 k
0 0 0 0 ζ1 k 0
yk+1 = 0 0 1 0 θa k + ξ2 k (22)
0 0 0 0 ζ2 k 0
MCVA 37 / 64
Estocásticos
2
ηk+1 −pk −qk −rk ηk
h ξηk
h
ǫ1k+1 h pk 2 rk −qk ǫ
1k h ξǫ
=
h + 1k (25)
ǫ2k+1 qk
−rk 2 pk
ǫ h ξǫ
2 h 2k
2k
ǫ3k+1 rk qk −pk 2 ǫ3k h ξǫ3k
h
h iT h iT
y = [ I 4 ] η k ǫ1k ǫ2k ǫ3k + ξη ξǫ1 ξǫ2 ξǫ3 (26)
k k k k
MCVA 38 / 64
Observadores no lineales
5.- Filtros Complementarios
a m S(·) : R3 → so(3)
va = , vm =
|a| |m| !
0 −Ω3 Ω2
Calculo algebraico instantáneo de R: S(Ω) = Ω3 0 −Ω1
∗
−Ω2 Ω1 0
Ry = min(λ1 |e3 − Rva |2 + λ2 |vm − Rvm |2 )
Criterio de error:
(·)∧ : so(3) → R3
R̃ = R̂⊤ R S(Ω)∧ = Ω, Ω ∈ R3
Objetivo
R̃(t) → I3
Modelo cinématico:
Ṙ = R S(Ω) = S(R Ω) R
MCVA 39 / 64
Observadores no lineales
FC. Directo
ḃ = S(Ry Ωy + kp R̂ρ)R̂
R
Figure 10: Filtro complementario di-
ρ = Pa (R̃)∧ , R̃ = R̂⊤ Ry recto.
R̂(0) = R̂0 (27)
FC. Pasivo
˙
R̂ = S(R̂Ωy + kp R̂ρ)R̂
ρ = Pa (R̃)∧ , R̃ = R̂⊤ Ry
R̂(0) = R̂0 (28)
∂β1
ξ̂+β2 ζ̂a +β3
r̂˙ 3 = S(Ωb )(r̂3 − β1 ) + ξ̄ tanh + −r̂3 + β1 + ζ̄a tanh
ξ̄ ∂ν ζ̄a
∂β2
˙ ζ̂a +β3
ξ̂ = − −r̂3 + β1 + ζ̄a tanh
∂ν ζ̄a
∂β3
˙ ζ̂a +β3
ζ̂a = − −r̂3 + β1 + ζ̄a tanh (30)
∂ν ζ̄a
∂βi
β1 = γ1 ν = diag{γi } , γi > 0
∂ν
β2 = γ2 ν T
ν̇ = [ax , ay , az ]
β3 = γ3 ν
ξ̄, µ̄ ∴ cte.
MCVA 41 / 64
Estimación de la posición
MCVA 44 / 64
■ El Sistema de Posicionamiento Global Satélital (GNSS) comúnmente
conocido como Sistema de Posicionamento Global (GPS) es el
mecánismo más usado para estimar la posición.
MCVA 45 / 64
■ El GPS se basa en la recepción de señales de radio transmitidas por
un conjunto de satélites orbitando la tierra.
MCVA 46 / 64
■ Históticamente NAVSTAR proveı́a dos tipos de servicios. El sistema
de posicionamiento preciso (PPS), para usos militares, y el sistema
de posicionamiento estándar (SPS), con menor precisión.
MCVA 50 / 64
■ Se requiere saber como cambian la posición y velocidad de un punto
cuando la cámara se mueve.
MCVA 51 / 64
■ Suponga que en t = 0, los sistemas de referencia y de la cámara
coinciden, entonces
g(0) = I ∈ R4×4
Además, si en t = 0, X0 son las coordenadas de un punto con respecto
al marco de referencia global. La posición del punto en t1 con respecto
a la cámara es
X(t1 ) = R(t1 )X0 + T (t1 )
con T (t1 ) la posición de la cámara en t1 . En la representación homo-
genea
X(t1 ) = g(t1 )X0
Si la cámara se encuentra en g(t1 ), g(t2 ), · · · , g(tm ) en t1 , t2 , · · · tm
las coordenadas del punto son
MCVA 52 / 64
p
z X(t1 ) y
X(t3 )
X(t2 )
t2 z
y
z
x
x y
g(t3 , t2 )
g(t2 , t1 )
t1 x t3
g(t3 , t1 )
Se tiene
MCVA 53 / 64
La matriz esencial
p
y x
z z
z
o o
x
y
(R, T )
MCVA 54 / 64
p
y x1 x2 x
z z
ℓ1 ℓ2
z
o1 o2
e1 e2
x
y
(R, T )
λ2 x2 = Rλ1 x1 + T
MCVA 55 / 64
Considere dos proyecciones homogeneas x1 y x2 del mismo punto p
obtenidas en dos posiciones de una cámara con ubicación relativa (R, T ).
Entonces,
x⊤ bRx1 = 0, X
T b = S(X) ∀X ∈ R3
2
La matriz
E = TbR
se conoce como matriz esencial contiene información sobre la ubicación
relativa de las posiciones de la cámara.
MCVA 56 / 64
Matriz de Homografı́a
■ La escena puede ser también plana por pedazos, por ejemplo, los
pasillos dentro de un edificio.
MCVA 57 / 64
(R, T )
x1 x2
η p
X1 X2
MCVA 58 / 64
■ Sea el vector unitario η ∈ S2 normal al plano P con respecto a la
primera posición de la cámara, y d la distancia de P al centro óptico
en la primera posición de la cámara, se tiene,
η ⊤ X1 = d
■ Por lo tanto,
1 ⊤ 1 ⊤
X2 = RX1 + T = RX1 + T η X1 = (R + T η )X1
d d
■ La matriz
1 ⊤
H = (R + T η ) ∈ R3×3
d
se conoce como matriz de Homografı́a.
MCVA 59 / 64
■ A partir de x1 = λ1 X1 y x2 = λ2 X2 se obtiene
λ2
x2 = Hx1
λ1
■ b2 se tiene
Multiplicando la ecuación anterior por x
λ2 λ2
0= x b2 Hx1 , ya que b2 Hx1 = 0
6= 0, → x
λ1 λ1
■ Al definir,
s
⊤
H = H11 H21 H31 H12 H22 H32 H13 H23 H33
se puede escribir
b2 ∈ R3×9
a⊤ H s = 0, con a = x1 ⊗ x
MCVA 60 / 64
■ b2 tiene rango igual a dos, la matriz a tiene el mismo
Ya que la matriz x
rango.
■ Dados n pares de proyecciones homogeneas de puntos sobre el plano
j j
1 2
n ⊤
P , (x1 , x2 ), j = 1, · · · , n se define χ = a a · · · a , por lo
tanto
χH s = 0
MCVA 61 / 64
■ Si existen más de cuatro puntos con al menos tres no colineales se
puede utilizar estimación por mı́nimos cuadrados lineal para encontrar
mı́nimokχH 2 k2
HL = λH
|λ| = σ2 (HL )
MCVA 62 / 64
Dada una matriz
1 ⊤
H = R + Tη
d
existen como máximo dos soluciones fı́sicamente posibles dadas por
R1 = W1 U1⊤ R2 = W2 U2⊤
η1 = vb2 u1 η2 = vb2 u2
T1 = d(H − R1 )η1 T2 = d(H − R2 )η2
R3 = R1 R4 = R2
η3 = −η1 η4 = −η2
T3 = −T1 T4 = −T2
donde
h i h i
W1 = d2 Hu1 , W2 = Hv2 Hu2 Hv
Hv2 Hu1 Hv d2 Hu2
U1 = v2 u1 vb2 u1 , U2 = v2 u2 vb2 u2
MCVA 63 / 64
con
V = v1 v2 v3 ,
√ 2 √ 2 √ 2 √ 2
1−σ3 σ1 −1 1−σ3 σ1 −1
u1 = √ 2
v +
2 1
√ 2
v , u2 =
2 3
√ 2
v −
2 1
√ 2
v
2 3
σ1 −σ3 σ1 −σ3 σ1 −σ3 σ1 −σ3
y
SV D(H ⊤ H) = V ΣV ⊤ , Σ = diag{σ12 , 1, σ32 }, σ12 > 1 > σ32
MCVA 64 / 64