Você está na página 1de 30

FILTRAGEM ROBUSTA PARA NAVEGAÇÃO INERCIAL

Roberto Santos Inoue∗, Marco Henrique Terra∗, Adriano A.G. Siqueira†, Jean Mimar
Santa Cruz Yabarrena∗

Universidade de São Paulo - Departamento de Engenharia Elétrica
C.P.359 - CEP 13560-970
São Carlos, SP, Brasil

Universidade de São Paulo - Departamento de Engenharia Mecânica
C.P.359 - CEP 13560-970
São Carlos, SP, Brasil

Emails: rsinoue@sel.eesc.usp.br, terra@sc.usp.br, siqueira@sc.usp.br,


jeanmimar@gmail.com

Abstract— This paper deals with the application of robust state-space estimation of an inertial navigation
system (which comprehends attitude, velocity, position and biases). This system is developed through the
fusion of magnetometers, rate gyros, acelerometers and a receptor GPS (global positioning system). In order to
eleminate the attitude estimation singularities, the rigidy body orientation is modeled through the quaternion.
Results based on actual measures are presented to show the effectiveness of the approach we are proposing.

Keywords— Kalman Filter, Robust Filtering, Inertial Navigation.

Resumo— Este artigo estuda a aplicação de filtragem robusta em um sistema de navegação inercial completo
(atitude, velocidade, posição e biases). O sistema de navegação inercial será desenvolvido através da fusão
de magnetômetros, giroscópios, acelerômetros e de um receptor GPS (sistema global de posicionamento). Para
eliminar os problemas de singularidades na estimativa da atitude, a orientação do corpo rı́gido é modelada através
de um quatérnio. Resultados baseados em medidas reais são apresentados para mostrar a eficiência do método
proposto.

Palavras-chave— Filtro de Kalman, Filtragem Robusta, Navegação Inercial.

1 Introdução têm sido aplicadas em problemas práticos e os re-


sultados obtidos têm sido promissores. Por exem-
O desenvolvimento de sistemas de referência de plo, os filtros robustos propostos em Sayed (2001)
atitude, proa, e posição são essenciais para o con- foram utilizados em Dominguez et al. (2006) para
trole e navegação de robôs móveis e veı́culos aé- estimar o acompanhamento de trajetória da ponta
reos não-tripulados. O desenvolvimento de sen- de um dedo em interfaces homem máquina.
sores inerciais MEMS (sensores microeletromecâ- Levando em conta os resultados mencionados,
nicos, do inglês micro-electromechanical sensors) este artigo propõe a utilização da abordagem pro-
de baixo custo, tem possibilitado a utilização de posta em (Sayed, 2001) para resolver o problema
magnetômetros, giroscópios, acelerômetros basea- de estimativa robusta de um sistema de referência
dos em tecnologia MEMS e receptores GPS em sis- de atitude, proa e posição. Resultados baseados
temas de navegação inerciais completos, com me- em dados experimentais e um estudo comparativo
didas de atitude, velocidade, posição e biases, veja entre o filtro robusto considerado e o filtro de Kal-
para maiores detalhes (Jung and Tsiotras, 2007). man estendido (EKF, do inglês Extended Kalman
Filter ) serão apresentados para a validação da es-
O filtro de Kalman estendido tem sido utili-
tratégia proposta.
zado para a fusão de dados de sensores para siste-
Este artigo está organizado da seguinte forma:
mas de navegação inercial, veja por exemplo Farrel
Na Seção 2 é apresentado o sistema de referência
and Barth (1998), Roumeliotis et al. (1998), Ro-
de atitude e proa utilizando quatérnio para repre-
gers (2003), Castellanos et al. (2005) e Bijker and
sentar a atitude de um corpo rı́gido. Na Seção 3
Steyn (2008). Porém, há várias fontes de incerte-
é apresentado o sistema de referência de posição.
zas que influem no sistema de navegação inercial,
Na Seção 4 é apresentado o filtro robusto conside-
elas incluem por exemplo imprecisão dos sensores,
rado. Na Seção 5 são apresentados os resultados
alterações do ambiente externo tais como tempe-
do estudo comparativo proposto. E na Seção 6 é
ratura e rajadas de vento. Portanto, é interes-
apresentada a conclusão do artigo.
sante investigar o uso da estimativa robusta em
navegação inercial. Em Sayed (2001), Ishihara
et al. (2006) e Ishihara and Terra (2008), foram 2 Sistema de referência de atitude e proa
desenvolvidos métodos para estimativa no espaço
de estado para quando os parâmetros do modelo Nessa seção, quatérnios (Kuipers, 1998) são utili-
linear estão sujeitos a incertezas. Essas técnicas zados para obter uma representação de atitude de
um corpo rı́gido livre de singularidades. O qua- Utilizando o erro do processo (Brown and
térnio por convenção é representado por Hwang, 1997) para escrever o bias bg , tem-se
α α 1
q = cos + sen r, tal que q ∈ T, (1) ḃg = − bg + ηbg , (10)
2 2 τ
sendo r um vetor unitário, conhecido como eixo ˙
b̂g = 0, (11)
de Euler, α uma rotação sobre este eixo e T =
{q | q T q = 1, q = [q0 q T ]T , q0 ∈ R, q ∈ R3×1 }. sendo ηbg o ruı́do branco gaussiano do bias do
A multiplicação de quatérnios, representada por giroscópio e τ a constante de tempo obtida através
⊗, é dada por do gráfico da variância de Allan (IEEE, 1997).
  Substituindo (8) em (6), obtém-se
a0 b0 − a · b
a⊗b= . (2)
a0 b + b0 a + a × b 1 1
q̇ =Ξ(q)(ωg − bg ) − Ξ(q)ηg (12)
2 2
Para o problema de atitude, o quatérnio repre- 1 1
senta uma rotação do sistema de coordenadas iner- = Ω(ω̂)q − Ξ(q)ηg . (13)
2 2
cial, I, para o sistema de coordenadas do corpo,
B. Se s é um vetor expresso no sistema de coor- Combinando as equações (13) e (10), e definindo
denadas inercial I, então suas coordenadas em B o estado como x1 = [q T bTg ]T ∈ R7×1 , obtém-se
são
ẋ1 = F1 x1 + G1 η1 , (14)
b = q ⊗ s ⊗ q −1 , (3)
sendo
sendo b = [0 bT ]T , s = [0 sT ]T e q −1 =  1

[q0 , −q T ]T . Assim, pode-se escrever (3) como F1 = 2 Ω(ω̂)
04×3
,
− τ1 I3×3
03×4
 1
b = R(q)s, (4)
  
− 2 Ξ(q) 04×3 ηg
G1 = e η1 = . (15)
03×3 I3×3 ηbg
sendo R(q) a matriz de rotação dos ângulos de Eu-
ler (ψ, θ, φ), com convenção (zyx), definida como A equação de medida é dada por

R(q) = (q02 − q T q)I3×3 + 2(qq T − q0 [q × ]). (5) z1 = h1 (x1 ) + v1 , (16)

A derivada do quatérnio pode ser escrita ma- sendo h1 (x1 ) = [aT ψ]T ∈ R4×1 , v1 processo
tricialmente como gaussiano de média zero, a ∈ R3×1 a medida da
1

0

1 1 aceleração no eixo do corpo do veı́culo e ψ o ângulo
q̇ = q ⊗ = Ω(ω)q = Ξ(q)ω, (6) de proa magnético, gerado pelos magnetômetros.
2 ω 2 2
A medida da aceleração é dada por
sendo  
2g(q1 q3 − q0 q2 )
−ω T −q T
   
0 a = R(q)g =  2g(q2 q3 + q0 q1 )  , (17)
Ω(ω) = , Ξ(q) = ,
ω −[ω × ] I3×3 q0 + [q × ] g(q02 − q12 − q22 + q32 )

ω o vetor velocidade angular no sistema de co- sendo g = [0 0 g]T e g =-9.81 m/s2 . O ângulo
ordenadas fixo do corpo, [ω × ] e [q × ] as matrizes de proa por
representativas do produto vetorial  
2(q1 q2 + q0 q3 )

0 −E3 E2
 ψ = tan−1 . (18)
q02 + q12 − q22 − q32
E × =  E3 0 −E1  (7)
−E2 E1 0 Linearizando (16) em torno de x1 , tem-se

e I3×3 a matriz identidade no R3×3 . ∂z1


z1 = H1 x1 + v1 , com H1 = . (19)
As velocidades angular real ω e estimada ∂x1
ω̂ são modeladas da seguinte forma (Castellanos
et al., 2005; Roumeliotis et al., 1998) 3 Sistema de referência de posição
ω = ωg − bg − ηg , (8) Conforme mostrado em (Farrel and Barth, 1998),
ω̂ = ωg − b̂g , (9) se as velocidades no sistema de coordenadas NED
(North, East e Down), υ = [υN υE υD ]T são
sendo ωg a velocidade angular medida do giroscó- conhecidas e as posições geodéticas no sistema de
pio, bg o bias do giroscópio e ηg o ruı́do branco coordenadas LLA (latitude, longitude e altitude),
gaussiano do bias do giroscópio. p = [λ φ h]T são as desejadas, então o vetor
de variação geodética LLA é relacionado com a Substitiuindo (26 ) em (23) e em seguida em
velocidade NED da seguinte forma (28), tem-se
  1
0 0
  
λ̇
 
Rλ +h υN υ̇N
 φ̇  =  0 1  υ̇E  = RT (q)[aa − ba − ηa ]
(Rφ +h)cosλ 0   υE  ,
ḣ 0 0 −1 υD υ̇D
(20) υ 2 senλ
 
υN υD

0
 − (RφE+h)cosλ + R λ +h
sendo Rλ o raio de curvatura no meridiano em
 υE υN senλ υE υD

− 0 +  (Rφ +h)cosλ + (R φ+h )
.
uma latitude dada, g υE2
υN2

− Rφ +h − Rλ +h
a(1 − e2 )
R̂λ = , (21) (29)
(1 − e2 sen2 λ)1.5
Define-se o estado do sistema dinâmico como
R̂φ o raio transversal da curvatura, x2 = [pT T
υN bTa ]T ∈ R9×1 , η2 =
ED
a T T T
[ηa ηba ] ∈ R 6×1
como o ruı́do branco gaussi-
Rφ = , (22)
(1 − e sen2 λ)0.5
2 ano e a equação de medida observável do GPS
a = 6378137.0 m o raio equatorial, e e = 0.0818 a como z2 = h2 (x2 ) + v2 ∈ R6×1 , sendo h2 (x) =
excentricidade. [pT υN T T
ED ] , v2 o processo gaussiano de média
Como os acelerômetros MEMS medem a di- zero. Linearizando (20), (29) e (26) em torno de
nâmica da aceleração combinada com a aceleração x2 , tem-se a dinâmica linearizada
estática (gravidade da terra), a gravidade deve ser ẋ2 = F2 x2 + G2 η2 ,
removida antes da aceleração ser integrada para (30)
z2 = H2 x2 + v2 ,
obter a velocidade. Assim a equação da acelera-
ção NED é sendo
   
aN F11 F12 03×3
aN ED =  aE  = RT (q)a (23) F2 =  F21 F22 −RT (q)  ,
aD 03×3 03×3 − τ1 I3×3
 
sendo a as medidas dos acelerômetros no sistema 03×3 03×3
G2 =  −RT (q) 03×3  , H2 = I6×6
 
de coordenada do corpo rı́gido, g = −9.81 m/s2 06×3 .
a gravidade e R(q) a matriz de cossenos direto- 03×3 I3×3
res em termo do quatérnio q entre o sistema de
e F11 , F12 , F21 e F22 como mostrado em (31).
coordenada NED e do corpo rı́gido B.
A aceleração do corpo rı́gido a e a estimada
â são modeladas da seguinte forma 4 Filtro robusto

a = aa − ba − ηa , (24) Há várias fonte de incertezas que influem na lo-


â = aa − b̂a , (25) calização e determinação da atitude, elas incluem
imprecisão dos sensores, alterações do ambiente
sendo aa a aceleração medida do acelerômetro, ba externo tais como temperatura e rajadas de vento.
o bias do acelerômetro e ηa o ruı́do branco gaus- Estas incertezas violam a premissa central da for-
siano. mulação do filtro de Kalman, na qual os parâme-
Utilizando o erro do processo (Brown and tros fundamentais do modelo {Φ, G, H, R, Q} são
Hwang, 1997) para escrever o bias ba , tem-se precisos, sendo Φ = eFk T ≃ I + Fk T a matriz
1 de transição de estado. Quando esta suposição é
ḃa = − ba + ηba , (26) violada, o desempenho do filtro pode deteriorar
τ
˙ apreciavelmente.
b̂a = 0, (27)
Um maneira de modelar essas incertezas é
sendo τ a constante de tempo obtida através do considerar os parâmetros {Φ, G} como valores no-
gráfico da variância de Allan (IEEE, 1997) e ηba o minais e assumir que os valores reais variam em
ruı́do branco gaussiano do bias do acelerômetro. um certo conjunto cujos valores centrais são for-
A equação da variação da velocidade NED mados pelos parâmetros nominais. Assim, con-
como mostrado em (Farrel and Barth, 1998) é forme mostrado em (Sayed, 2001) e utilizado em
      (Inoue et al., 2008), considere o sistema de incer-
υ̇N aN 0
 υ̇E  =  aE  −  0  tezas da forma
υ̇D aD g xk+1 = (Φk + δΦk )xk + (Gk + δGk )ηk ,
(32)
2
zk = Hk xk + vk ,
 
υE senλ υN υD
− (Rφ +h)cosλ + R λ +h
 υE υN senλ υE υD

+ + (R . (28) e suas pertubações modeladas como
 (Rφ +h)cosλ
2 2
φ+h ) 
υE υN
− Rφ +h − Rλ +h [δΦk δGk ] = M ∆k [Ef Eg ], (33)
− (R υ+h)
 
0 0 N  −1 
λ
2 (Rλ + h) 0 0
υE sin λ υE −1
F11 =  0 − , F = 0 ((Rφ + h) cos λ) 0 ,
 
12

(Rφ +h)(cos λ)2 (Rφ +h)2 cos λ 
0 0 0 0 0 −1
2 2 2 2
υ (sin λ)
 
υE sin λ
− RυφE+h − (R E+h)(cos λ)2 0 2
(Rφ +h) cos λ
− υN υD
(Rλ +h) 2
φ
υE υN (sin λ)2
 υE υN υE υN sin λ υE υD

F21 = 
 Rφ +h + (Rφ +h)(cos λ) 2 0 − 2
(Rφ +h) cos λ
− (Rφ +h)2 
 e
2 2
υE
0 0 (Rφ +h)2
+ (RυN+h)2
λ
υD υE sin λ υN
 
Rλ +h −2 (Rφ +h) cos λ Rλ +h
υE sin λ υN sin λ υD υE
F22 =  (Rφ +h) cos λ + Rφ +h Rφ +h  , (31)
 
(Rφ +h) cos λ
−2 υ+h N
−2 RυφE+h 0

os ruı́dos dados por ηk = N (0, Qk ) e vk = x̂k+1|k = Φ̂k x̂k|k


N (0, Rk ).
Pk+1|k = Φk P̂k|k ΦTk + Ĝk Q̂k Ĝk ,
O modelo (33) permite o projetista restrin-
gir as fontes de distorção selecionando as entradas Kk+1 = Pk+1|k Hk+1T T
[Hk+1 Pk+1|k Hk+1 + R̂k+1 ]−1
{Ef Eg } apropriadamente (Sayed, 2001). x̂k+1|k+1 = x̂k+1|k + Kk+1 [zk+1 − h(x̂k+1|k )]
Este filtro robusto procura minimizar o erro Pk+1|k+1 = [I − Kk+1 Hk+1 Pk+1|k ]
de estimativa para o pior caso possı́vel criado pela ⋄
faixa de incertezas δΦk e δGk . As estimativas
{x̂k+1|k , x̂k+1|k+1 } no algoritmo que segue, podem
5 Resultados
ser obtidas por iterações recursivas entre os passos
2 e 3. Para o caso quando λ̂i = 0, os passos 2 e 3 Para a obtenção dos resultados foi utilizando o
são reduzidos para o tempo padrão e para as equa- sensor MNAV100CA, mostrado na Fig. 1. O pa-
ções de atualização de medida do filtro de Kalman. cote de sensores embarcados do MNAV100CA in-
O algoritmo do filtro robusto é dado abaixo: clui acelerômetros em 3 eixos, sensor de taxa an-
gular em 3 eixos e magnetômetros em 3 eixos e
Modelo de Incertezas:
um receptor GPS.
Sistema (32 ). Π0 > 0, R > 0, Q > 0 são
matrizes de ponderações.

Condições Iniciais:
x̂i0|0 = Pi0|0 HiT0 Ri−1
0
zi0
−1 T −1
Pi0|0 = (Πi0 + Hi0 Ri0 Hi0 )−1 .

Passo 1:
Se Hk+1 Mk = 0, então configure λ̂k = 0 Figura 1: MNAV - http://www.xbow.com.
(filtro não robusto). Caso contrário, seleci-
one α (tipicamente O ângulo de proa é obtido através dos mag-
T0 ≤T αf −1
≤ 1) e configure
netômetros em 3 eixos, m = [mx my mz ]T ,

λ̂k = (1 + αf ) · Mk Hk+1 Rk+1 Hk+1 Mk .

utilizando o seguinte algoritmo
Passo 2:
π
− tan−1 ( m
my ) se my > 0
 x
Substitua {Qk , Rk , Pk|k , Gk , Φk } por:  2
−1 mx
 π
π + 2 − tan ( my ) se my < 0

Q̂−1 −1 T T −1 ψ=
k = Qk + λ̂k Egk [I + λ̂k Efk Pk|k Efk ] Eg k π
se my = 0 e mx < 0
2


R̂k+1 = Rk − λ̂−1

T T
k Hk+1 Mk Mk Hk+1
0 se my = 0 e mx > 0
−1
P̂k|k = (Pk|k T
+ λ̂k Ef,k Ef,k )−1 ⋄

= Pk|k − Pk|k EfTk (λ̂−1 T −1 Os dados de saı́da do sensor MNAV100CA são


k I + Efk Pk|k Efk ) ·
obtidos no formato digital (RS-232) a uma taxa
· Efk Pk|k de 25 Hz. E os algoritmos dos filtros foram ro-
Ĝk = Gk − λ̂k Φk P̂k|k EfTk Egk dados em MATLAB a uma taxa de amostragem
T T T = 0.04 s e τ = 67.36 s para o filtro de Kalman
Φ̂k = (Φk−λ̂k Ĝk Q̂ik Egk Efk )(I−λ̂k P̂k|k Efk Efk )
estendido (Brown and Hwang, 1997) e para o filtro
robusto (Sayed, 2001).
Passo 3: As matrizes de ponderações, Q e R são coin-
Atualize {x̂k|k , Pk|k } como segue: cidentes para o EKF e o filtro robusto e foram
configuradas com os mesmos valores. As matri- Brown, R. G. and Hwang, P. Y. C. (1997). In-
zes de ponderações especı́ficas do filtro robusto, troduction to random signal and applied Kal-
M, Ef , Eg , foram selecionadas conforme variância man filtering: with Matlab exercises and so-
das matrizes Φ e G, sendo o parâmetro αf configu- lutions, 3rd edn, John Wiley & Sons, New
rado com o valor 0.5. As Figuras 2 a 5 apresentam York , USA.
os resultados obtidos.
Castellanos, J. F. G., Lesecq, S. and Marchand, N.
(2005). A low-cost air data attitude heading
5.1 Estudo comparativo
reference system for the tourism airplane ap-
Um estudo comparativo entre o EKF e o filtro plications, IEEE Sensors, Irvine, CA, USA,
Robusto é mostrado na Tabela 1. A norma L2 p. 4.
do vetor do erro de observação foi utilizada para
comparar os algoritmos: Dominguez, S. M., Keaton, T. and Sayed, A. H.
2 (2006). A robust tracking method for multi-
Ztr

1 modal wearable computer interfacing, IEEE
2
L2 [z̃(t)] =  kz̃(t)k2 dt , Transactions on Multimedia 8(5): 956–972.
(tr − t0 )
t0
Farrel, J. and Barth, M. (1998). The global
sendo k · k2 a norma Euclideana, z̃(t) o vetor de positioning system and inertial navigation,
erro da observação total, z̃1 (t) o erro de obser- McGraw-Hill.
vação da atitude e z̃2 (t) o erro de observação de
posição e o tempo do experimento é tr = 280 s. IEEE (1997). Guide and test procedure for single
axis interferometric fiber optic gyros, IEEE
Algoritmos L2 [z̃(t)] L2 [z̃1 (t)] L2 [z̃2 (t)] Std 952-1997 .
FKE 0.6260 0.5190 0.1070
FR 0.5414 0.4897 0.0516 Inoue, R. S., Terra, M. H. and Jr, V. G.
Melhoria (%) 13.527 5.6392 51.761 (2008). Robust state-space estimation for
mobile robot localization, LARS ’08. IEEE
Tabela 1: Estudo Comparativo Latin American Robotic Symposium, Salva-
dor, Brazil, pp. 85–90.
Observe que o filtro robusto obteve uma me-
lhora de 13.5 % no erro de observação total, 5.6 % Ishihara, J. Y. and Terra, M. H. (2008). Robust
no erro de observação da atitude e 51.8 % no erro state prediction for descriptor systems, Au-
de observação da posição sobre o filtro de Kalman tomatica 44(8): 2185 – 2190.
estendido. Ishihara, J. Y., Terra, M. H. and Campos, J. C. T.
(2006). Robust Kalman filter for descrip-
6 Conclusão tor systems, IEEE Transaction on Automatic
Control 51(8): 1354–1358.
Nesse artigo, um filtro robusto para o sistema de
referência de atitude, proa e posição comumente Jung, D. and Tsiotras, P. (2007). Inertial atti-
utilizados no controle e navegação de robôs mó- tude and position reference system develop-
veis e veı́culos aéreos não-tripulados, foi desenvol- ment for a small UAV, American Institute of
vido. Esse filtro minimiza os efeitos das incer- Aeronautics and Astronautics, Rohnert Park,
teza do modelo na estimativa dos valores de ati- California.
tude, proa e posição. O filtro proposto foi imple-
mentado utilizando dados experimentais do sen- Kuipers, J. B. (1998). Quaternions and rotation
sor MNAV100CA. Um estudo comparativo mos- sequences, Pricenton University Press, Prin-
trou que o filtro robusto apresentou uma melhora centon, New Jersey.
média de 13.5 % sobre o filtro de Kalman esten- Rogers, R. M. (2003). Applied mathematics in in-
dido no erro de observação total, atitude e posi- tegrated navigation systems, 2nd edn, AIAA
ção, para o caso apresentado neste artigo. Para education series, Reston, VA.
trabalhos futuros pretende-se implementar os al-
goritmos propostos em um microprocessador para Roumeliotis, S. I., Sukhatme, G. S. and Bekey,
ser embarcado em um veı́culo aéreo não-tripulado G. A. (1998). Smoother based 3d attitude
ou em um robô móvel. estimation for mobile robot localization, Te-
chnical report, USC, http://iris.usc.edu/.
Referências
Sayed, A. H. (2001). A framework for state-space
Bijker, J. and Steyn, W. (2008). Kalman filter estimation with uncertain models, IEEE
configurations for a low-cost loosely integra- Transaction on Automatic Control 46: 998–
ted inertial navigation system on an airship, 1013.
Control Engineering Practice 16: 1509–1518.
80 10 15
Filtro de Kalman Filtro de Kalman Filtro de Kalman
60 10
5
40
5
20 0
0
0

θ (graus)

φ (graus)
ψ (graus)

−20 −5 −5

−40 −10
−10
−60
−15
−80
−15
−20
−100

−120 −20 −25


0 50 100 150 200 250 0 50 100 150 200 250 0 50 100 150 200 250
Tempo (s) Tempo (s) Tempo (s)

(a) (b) (c)

Figura 2: Estimação da atitude com o EKF: (a) Guinada ψ, (b) Arfagem θ e (c) Rolagem φ
80 15 20
Filtro Robusto Filtro Robusto Filtro Robusto
60 15
10
40
10
5
20
5
0
θ (graus)

φ (graus)
0
ψ (graus)

−20 0
−5
−40 −5
−60 −10
−10
−80
−15 −15
−100

−120 −20 −20


0 50 100 150 200 250 0 50 100 150 200 250 0 50 100 150 200 250
Tempo (s) Tempo (s) Tempo (s)

(a) (b) (c)

Figura 3: Estimação da atitude com o filtro Robusto: (a) Guinada ψ, (b) Arfagem θ e (c) Rolagem φ
14.5
−21.994 −47.897 GPS
GPS GPS
Filtro de Kalman
Filtro de Kalman Filtro de Kalman 14.4
−21.996 −47.8975 Filtro Robusto
Filtro Robusto Filtro Robusto

−47.898 14.3
−21.998
Longitude (graus)
Latitude (graus)

Altitude (m)

−47.8985
−22 14.2
−47.899
−22.002 14.1
−47.8995
−22.004 14
−47.9

−22.006 13.9
−47.9005

−22.008 −47.901 13.8


0 50 100 150 200 250 0 50 100 150 200 250 0 50 100 150 200 250
Tempo (s) Tempo (s) Tempo (s)

(a) (b) (c)

Figura 4: Estimação da posição geodéticas no sistema de coordenadas LLA: (a) Latitude λ, (b) Longitude
φ e (c) Altitude h
8 10 0.6

GPS 8
6 0.4
Filtro de Kalman
6
4 Filtro Robusto
4 0.2
2
2
0
v (m/s)

vD (m/s)
v (m/s)

0
0
E
N

−2 −0.2
−2
−4
−4 −0.4
−6 −6
GPS −0.6 GPS
−8 −8 Filtro de Kalman Filtro de Kalman
Filtro Robusto Filtro Robusto
−10 −10 −0.8
0 50 100 150 200 250 0 50 100 150 200 250 0 50 100 150 200 250
Tempo (s) Tempo (s) Tempo (s)

(a) (b) (c)

Figura 5: Estimação das velocidades no sistemas de coordenadas NED: (a) υN , (b) υE e (c) υD
LOCALIZAÇÃO DE UM ROBÔ SUBTERRÂNEO PARA INSPEÇÃO DE LINHAS DE
TRANSMISSÃO

Paulo L. J. Drews Jr∗, Silvia S. C. Botelho†, Mario F. M. Campos∗



Laboratório de Visão e Robótica (VeRLab)
Departamento de Ciência da Computação (DCC) - UFMG
Belo Horizonte - MG - Brasil

Núcleo de Automação e Computação (NAUTEC)
Centro de Ciências Computacionais (C3) - FURG
Rio Grande - RS - Brasil

Emails: paulol@dcc.ufmg.br, silviacb@furg.br, mario@dcc.ufmg.br

Abstract— The present work shows a comparative between the feature-based methods SIFT and SURF, in
order to realize visual odometry to localize an energy distribution line inspection robot. Considering the sensorial
difficult of this kind of robot, this paper look for a solution to localization, seeing is not possible use GPS in
this environment. The proposed methodologies are composed by a complete system that uses only images to
estimate the robot pose. The results were satisfactory, once the accuracy and robustness was reached in real use
condition. They also show the advantage of each method.

Keywords— SIFT, SURF, Visual Odometry, Inspection Robot.

Resumo— O presente trabalho mostra um comparativo entre métodos descritores de caracterı́sticas SIFT e
SURF, a fim de realizar odometria visual para localização em um robô para inspeção de linhas de alta tensão
subterrâneas. Considerando a dificuldade de sensoriamento para este tipo de robô, este artigo busca uma solução
para sua localização, visto que não é possı́vel utilizar GPS neste tipo de ambiente. A metodologia proposta é
composta de um sistema completo de odometria, no qual se utiliza apenas imagens para reconhecer a pose do
robô. Os resultados foram satisfatórios, uma vez que a exatidão e a robustez foram alcançadas em condições
reais de operação do robô. Além disso, eles mostram as vantagens de cada método.

Keywords— SIFT, SURF, Odometria Visual, Robô de Inspeção.

1 Introdução vido em três grandes passos:

A odometria convencional é um dos métodos mais • Detecção de Caracterı́sticas na Imagem


utilizados para estimar a posição de um robô. - Neste passo são determinadas caracterı́s-
Sabe-se bem que ela proporciona uma boa pre- ticas distintivas que podem ser buscadas
cisão em movimentos curtos e permite taxas de em diferentes imagens, como por exemplo,
amostragem muito altas. A idéia fundamental da quinas(corners);
odometria é a integração de informação do movi-
mento, o qual envolve uma inevitável acumulação • Casamento de Caracterı́sticas ou
de erros. A acumulação de erros de orientação Matching - As diferentes caracterı́sticas
causa grandes erros na estimação da posição, os determinadas em imagens, precisam ser cor-
quais vão aumentando proporcionalmente com a relacionadas, ou seja, é preciso determinar as
distância percorrida pelo robô. mesmas caracterı́sticas em imagens distintas;
Esses erros são ainda maiores quando a
odometria é fornecida por dados de encoders pre- • Estimação do Movimento do Robô - Por
sos as rodas do robô devido à derrapagem, o que meio dos pares de pontos correlacionados em
acontece normalmente, em maior ou menor quan- imagens distintas, é possı́vel determinar o
tidade, dependendo da superfı́cie de movimento movimento da câmera. Assim, considerando
e da caracterı́stica da roda. Assim, a odometria conhecida a conversão do sistema de coorde-
visual surge como uma alternativa a odometria nada da câmera para o do robô, pode-se in-
convencional, por meio da qual é possı́vel estimar ferir o movimento do robô.
a posição do robô mesmo quando acontece derra-
pagem ou rotação, visto que os dados fornecidos 2 Revisão Bibliográfica
pela visão não são sensı́veis a esse tipo de ruı́do.
Porém, a odometria visual é dependente do am- Diversos trabalhos tem sido propostos para re-
biente que o robô está inserido, sendo necessário alizar odometria visual, com as mais diversas
a existência de iluminação e features visuais que abordagens para os mais diferentes tipos de ambi-
permitam ao robô determinar como está se movi- entes. Considerando a divisão da odometria visual
mentando. em três passos, foi feita uma revisão bibliográfica
O processo de odometria visual, pode ser di- para cada um dos três passos, bem como de trabal-
hos que fundem os três passos, afim de realizarem acterı́sticas, é utilizado um metódo iterativo, que
a odometria visual. se não convergir, é mantida a informação ape-
Para a determinação de caracterı́sticas o nas da odometria das rodas.O sistema é utilizado,
método mais comum é detector de Harris. O de- principalmente, em terrenos arenosos, onde ex-
tector de extremidades de Harris-Stephens (Harris iste muita derrapagem, em terrenos com desnı́veis
and Stephens, 1988), têm como intenção inicial a muito grande e ao transpor pequenos obstáculos.
localização de quinas em uma imagem por meio O trabalho proposto por (Nistér et al., 2006)
da matriz Hessiana, para posterior casamento, ou estima a odometria visual por meio de uma cabeça
matching. Embora seja um método largamente estéreo ou de uma câmera de vı́deo se movendo
utilizado, ele é muito suscetı́vel ao gradiente da junto ao robô. Tal sistema tem performance em
imagem, tornando assim difı́cil a tarefa de deter- tempo-real, tal sistema utiliza o detector de Harris
minar um limiar ótimo para determinação de cor- também. Para o matching é utilizado um método
ners. semelhante ao KLT, sem precisão de subpixel. O
Existem alguns métodos que são capazes de, método RANSAC é utilizado visando uma medida
além de determinar caracterı́sticas, também cri- robusta do movimento, tal determinado por tri-
arem descritores que têm informações relevantes angulação. Os resultados mostram o método pro-
sobre tais, de tal forma que seja possı́vel identificar posto pode ser utilizado em diversos ambientes,
elas, somente com a informação destes descritores. tendo resultados muito bons frente a INS e GPS.
Os mais importantes são o o SIFT (Lowe, 2004), o Além disso o trabalho apresenta o RANSAC como
GLOH (Mikolajczyk and Schmid, 2005), o SURF uma solução não-linear e multi-modal, visto que o
(Bay et al., 2006) e o LESH (Sarfraz and Hell- erro da odometria visual costuma ter essas carac-
wich, 2008). Tais descritores costumam ser invari- terı́sticas, provando assim que o filtro de Kalman
antes a diversas transformações, como rotação, não é suficiente para resolver o problema.
translação, escala, além de possuı́rem robustez a
ruı́do e iluminação. Para realizar o matching de 3 Metodologia
caracterı́sticas, é utilizada a distância entre os ve-
tores dos descritores, utilizando distância euclidi- Considerando um sistema de camera monocular e
ana ou de Mahalanobis (Bay et al., 2006). Assim previamente calibrado. A metodologia proposta
sendo, o tamanho do descritor tem interferência neste trabalho utilizará os seguintes passos para
direta no custo do algoritmo. determinar a odometria visual:
A última parte de um sistema de odome-
• Determinação de pontos de interesse em ima-
tria visual é a determinação do movimento, a
gens utilizando algoritmos descritores de Fea-
partir dos pares de pontos correlacionados. Ex-
tures (SIFT e SURF)
istem diversas abordagem, para a inferência do
movimento. Tal abordagem depende do tipo de • Casamento entre descritores e remoção ro-
visão a ser utilizada, monocular ou estéreo (Nistér busta de outliers
et al., 2006), de forma a se determinar a posição
3D do robô. As abordagens costumam utilizar • Determinação do movimento com visão
triangulação entre duas câmeras, ou entre pontos monocular utilizando matriz essencial
correlacionados em 3 imagens diferentes. A ma- Um diagrama para melhor ilustrar a
triz essencial também é comumente utilizada para metodologia proposta é apresentado na figura 1.
determinar a posição 3D (Choset et al., 2005), Ela mostra os passos necessários para a obtenção
por meio das matrizes R e T, que representar da pose da câmera em relação a um referencial
rotação e translação, respectivamente. A abor- inercial, assim conhecida a conversão da pose de
dagem utilizando visão estéreo além de ser maior câmera é possı́vel determinar a pose do robô. Na
precisa, ainda oferece a facilidade de não necessi- seções a seguir serão detalhados cada passo da
tar verificar pontos em 3 imagens distintas (Nistér metodologia.
et al., 2006).
O trabalho de (Maimone et al., 2007) apre-
3.1 Determinação de Pontos de Interesse em
senta uma solução de odometria visual, aplicado
Imagens Utilizando Algoritmos Descritores
a robôs com limitação de processamento e ener-
de Features (SIFT e SURF)
gia, tal informação é fundida com a odometria
das rodas e informação inercial fornecida por uma Para a determinação de pontos de interesse
IMU. O sistema utiliza um par de câmeras estéreo, nas imagens foram escolhidos os algoritmos de-
no qual tenta buscar caracterı́sticas em imagens scritores de features, tais algoritmos costumam
pelo detector de Harris, sendo buscadas com a ser invariantes a diversas caracterı́sticas presentes
maior precisão possı́vel, sem a necessidade de de- em imagens, como iluminação, rotação, escala,
terminar muitas caracterı́sticas, nem muito rapi- translação, dentre outras. Tornando assim ade-
damente, assim limitando o movimento do robô. quados a tarefa de determinação de pontos para a
Para determinar o deslocamento a partir das car- odometria visual.
de um mesmo objeto, com altas taxas de repetibil-
idade, por meio de uma localização de pontos em
uma espaço de escala. Além disso, o método é
capaz de determinar um número muito grande
de pontos, o que facilita o processo de match-
ing. O SIFT tem um desempenho superior a di-
versos algoritmos, como mostra (Mikolajczyk and
Schmid, 2005), embora sua maior limitação seja o
custo computacional elevado.

3.1.2 SURF
é outro método robusto e com baixo custo com-
putacional para extrair e descrever pontos-chaves
Figura 1: Overview do sistema proposto. de uma imagem (Bay et al., 2006). O algoritmo é
composto por 3 etapas:
O sistema permite utilizar o SURF e o SIFT, • Criação da integral da imagem: O con-
dependendo da aplicação dada ao sistema, cada ceito de integral de imagem foi desenvolvido
um com suas vantagens e desvantagens. Assim, por (Viola and Jones, 2001), tal tipo de im-
cada algoritmo será detalhado a seguir. agem permite uma implementação extrema-
mente rápida de mascaras de convolução.
3.1.1 SIFT
• Determinação de pontos de interesse
é um método robusto para extrair e descrever por meio da Fast-Hessian: Utiliza-se uma
pontos-chaves de uma imagem (Lowe, 2004). O aproximação do kernel gaussiano de segunda
algoritmo é composto por 4 etapas: ordem para determinar as caracterı́sticas de
1. Detecção de extremos no espaço de es- interesse na imagem.
cala: Nessa etapa, é feita a busca em todas
as escalas e localizações de imagens com difer- • Criação do descritor de Cada Ponto-
ença de filtros gaussianos (DOG, do inglês dif- Chave: Para determinação do descritor é
ference of gaussian), visando identificar pon- utilizado a soma das respostas do 2D Haar
tos de interesse invariáveis à escala e rotação. wavelet em diferentes orientações.

2. Localização de pontos-chaves: Para cada O SURF foi inspirado parcialmente no SIFT,


localização em que foi detectado um extremo, visando um menor custo computacional com boa
um modelo detalhado é ajustado para deter- performance. Os autores propõem 3 versões do
minar a localização exata e a escala. Pontos- descritor do ponto, porém o método de extração
chaves são selecionados baseando-se em medi- é o mesmo para todos. O versão padrão do
das de estabilidade. Nessa etapa são definidos SURF cria um descritor de 64 valores, sendo muito
os melhores pontos para o sistema de mapea- eficiente porém nao muito preciso. Uma vari-
mento, por meio de medidas de gradiente. ante deste, ainda menos custosa computacional-
mente não corrige a orientação do ponto. Existe
3. Definição de orientação: A orientação é uma terceira versão que tem um descritor de 128
definida para cada ponto chave por meio dos posições, considerando assim os diferentes sinais
gradientes locais da imagem. Toda operação, do 2D Haar wavelet.
a partir de então, será feita com relação a
dados da imagem transformados em relação
3.2 Casamento Entre Descritores e Remoção
à orientação e escala de cada ponto-chave.
Robusta de Outliers
Desta maneira, obtém-se invariância a estas
transformações. Para encontrarem-se correspondências entre
duas imagens, conhecendo-se os descritores, é
4. Descritor dos pontos-chaves: O gradi-
necessário localizar os melhores candidatos a
ente local de cada ponto-chave é medido,
serem seus equivalentes na outra imagem. Isto
utilizando-se a vizinhança do ponto. Estas
é feito procurando-se o vizinho mais próximo
medidas são transformadas para uma repre-
ou nearest neighbor do descritor do ponto entre
sentação que permite tolerância a nı́veis sig-
todos os possı́veis candidatos. Quando se procura
nificativos de distorção e mudança de ilumi-
classificar um ponto em um extenso banco de
nação.
dados de descritores para vários objetos, a busca
O algoritmo SIFT busca pontos que sejam in- exaustiva do vizinho mais próximo pode ser
variantes a mudanças de escala da imagem, possi- demorada, assim Lowe propõe o uso de uma
bilitando a detecção de pontos em diferentes visões variação do K-D Tree (Friedman et al., 1977), o
BBF (Beis and Lowe, 1997) para acelerar a busca
(Lowe, 2004). Tal abordagem é utilizada em
ambos os descritores utilizados, porém no SURF
também é utilizado o sinal do laplaciano para
eliminar falsas correlações. Assim, para realizar
matching no SURF não se utilizou o BBF, e sim
uma busca exastiva, visto que o descritor é menor
e com uso do laplaciano tornando uma medida
eficiente.
Algumas vezes, pode acontecer do par
definido pelo matching não ser o par correto, as-
sim o sistema deve ser capaz de identificar e re- Figura 2: Robô para inspeção de linhas de alta-
mover essas falsas correlações. Uma solução para tensão subterrâneas utilizado nos testes, bem
o problema é a geometria epipolar, visto que a como dois exemplos de imagens adquiridas em
única restrição geométrica entre dois pares de im- condições reais, à direita. Na parte superior,
agens não-calibrados que existe. Para tal, foi uti- mostra a rugosidade do ducto, como principal
lizada a estimação robusta da matriz fundamen- fonte de informação. Já na imagem inferior, temos
tal. Diversos métodos para estimação da matriz uma junção entre ductos, comum neste ambiente,
fundamental são encontrados na bibliografia, con- bem como o efeito ”smooth” da câmera, que difi-
tudo o método mais conhecido é o algoritmo de 8 culta a detecção de ”features”.
pontos (Hartley, 1997), que estima a matriz fun-
damental de forma linear, solucionando a equação
1. R e t, utiliza-se a matriz essencial E que é con-
hecida como sendo E = K1 F K2T , para duas im-
n
X 0 agens distintas, porém em nesse caso K é con-
||m̃i T F m̃i ||2 (1) stante, pois utiliza-se a mesma câmera em vistas
i=1
diferentes. As propriedades da matriz essencial E
O LMedS e o RANSAC são técnicas muito asseguram que ela é diagonalizavél. Consequente-
similares. Ambas as técnicas são baseadas na se- mente, é possı́vel realizar uma decomposição SVD
leção randômica de um conjunto de pontos que são da matriz. Assim, pode-se estipular o par (R, t).
usados para a estimação linear da matriz funda- Com as matrizes de translação e rotação con-
mental. A diferença entre eles é a forma de deter- hecidas determinamos a pose da câmera e, conse-
minar a melhor estimação da matriz fundamental. qüentemente, a pose do robô a menos de um fator
O LMeds calcula a distância entre os pontos e a de escala, conhecido como universal, este pode ser
linha epipolar, para cada estimação de F , para es- determinado por uma calibração da cena.
colher a melhor matriz, o método minimiza a me-
diana dos valores. Enquanto o RANSAC calcula 4 Resultados
o número de inliers, ou verdadeiras correlações,
para cada matriz F e escolhe a que maximiza esse Foi realizados testes para validar o sistema em um
número. Tendo eliminado os outliers, a matriz robô para inspeção de linhas de alta-tensão sub-
F é recalculada com o objetivo de obter melho- terrâneas, a figura 2 mostra um protótipo do robô
rar a estimação. Neste trabalho é proposto a re- que foi utilizado nos testes, bem como imagens
moção, inicialmente utilizando RANSAC e poste- da câmera presa ao mesmo em condição real de
riormente LMedS (Torr and Murray, 1997). operação. Embora na imagem do robô não es-
teja acoplado ao robô a câmera de vı́deo, foi uti-
3.3 Determinação do Movimento Com Visão lizada uma câmera de vı́deo Samsung SCD-363 no
Monocular Utilizando Matriz Essencial padrão NTSC, que permite uma taxa máxima de
29, 97 fps e tamanho da imagem de 720 × 480 pix-
Uma vez computada a matriz fundamental F els. Porém, foram utilizados frames de 320 × 240
e com a matriz de parâmetros intrinsicos da pixels, para melhorar a resposta temporal do sis-
câmera conhecidos K, pode-se determina a pose tema. O sistema foi implementado em C++ e
da câmera entre dois frames subsequentes, per- testado online, ou seja, os frames só eram pro-
mitindo assim também a reconstrução dos pontos cessados quando o sistema estava disponı́vel, caso
no espaço 3D. contrário, eram descartados.
A posição e orientação da câmera pode ser Com o sistema calibrado, foi determinado o
considerado como um par de matriz de rotação movimento do robô em uma tubulação, tal movi-
e um vetor de translação R, t. Assim, computar mento predominantemente de translação visto que
a pose do robô é equivalente a encontrar a ma- o robô pode apenas rotacionar em torno do tubo
triz de rotação e o vetor de translação da câmera ou transladar nele, devido a restrições de con-
entre duas figuras consecutivas. Para encontrar strução do mesmo. Assim, pelo robô não possuir
Figura 5: Número de caracterı́sticas detectadas
em cada frame.

Figura 3: Resultado da odometria sem remoção


de outliers, com cruz amarela representa a posição
final conhecida.

Figura 4: Resultado da odometria com remoção


de outliers por meio do RANSAC/LMedS, com
cruz amarela representa a posição final conhecida.
Figura 6: Número de correlações entre frame,
antes e após remoção de outliers.
qualquer outra fonte sensora para determinação
de posição e orientação não foi possı́vel estimar
sua trajetória de referência, porém sabe-se que ele ainda assim não tendo um resultado superior na
percorreu 2.5m (tamanho da tubulação percorrida determinação da posição. O SIFT também detec-
pelo robô). As figuras 3 e 4 mostram os resulta- tou um número maior de pontos, assim a posição
dos da odometria visual utilizando as 3 versões do determinada pela estimação robusta foi melhor,
SURF e o SIFT, primeiramente sem eliminação de chegando muito próximo ao ótimo. Já o SURF,
outliers e com eliminação. apresentou os resultados esperados, sendo mais
Outros resultados importantes estão nas Fig- rápido que o SIFT, porém detectando bem menor
uras 5, 6 e 7, resumidos pela Tabela 1. Eles caracterı́sticas (aproximadamente metade), conse-
mostram, respectivamente, o número de car- qüentemente, menos correlações foram efetuadas,
acterı́sticas determinadas pelo SURF e SIFT(o embora o resultado final tenha sido satisfatório,
número de caracterı́stica é invariante ao uso dos 3 chegando bem próximo aos 2.5m.
tipos de descritores do SURF), o número de cor-
relações realizadas, de verdadeiras correlações re- 5 Conclusão e Trabalhos Futuros
alizadas (após a remoção de outliers) e o tempo
gasto para executar todo processo para cada O artigo mostrou um sistema para realização de
frame. odometria por um sistema de câmera monocular,
Os resultados mostram a superioridade tem- utilizando algoritmos descritores de caracterı́sti-
poral do SIFT, consumindo muito mais tempo cas, permitindo assim determinar pontos na im-
de processamento que todos os tipos de SURF, agem que fossem descritivos e que pudessem ser
Tabela 1: Valores obtidos no experimento para os métodos.
Caracterı́sticas (Features) Correspondências (Matching Correspondências Verdadeiras Tempo Gasto
Método
Min. Máx. Média Desvio Padrão Min. Máx. Média Desvio Padrão Min. Máx. Média Desvio Padrão Min. Máx. Média Desvio Padrão
SIFT 37 1052 454.2042 209.1606 10 500 200.8840 134.0233 10 500 174.0858 137.5189 10 1920 760.6961 278.6214
SURF 6 250 86.9838 51.8654 6 249 58.8770 56.7450 114 420 254.7819 62.2078
USURF 80 272 177.0603 41.9013 6 250 93.0046 50.9400 6 247 63.1903 55.8975 66 283 160.8005 40.2199
SURF128 5 253 84.3712 52.9973 5 250 57.5406 57.1199 115 475 279.5638 67.9874

Computer Vision and Pattern Recognition,


IEEE Computer Society, Washington, DC,
USA, pp. 1000–1006.
Choset, H., Lynch, K. M., Hutchinson, S., Kan-
tor, G. A., Burgard, W., Kavraki, L. E. and
Thrun, S. (2005). Principles of Robot Mo-
tion: Theory, Algorithms, and Implementa-
tions, MIT Press.
Friedman, J., Bentley, J. and Finkel, R. (1977).
An algorithm for finding best matches in log-
arithmic expected time, ACM Transactions
Figura 7: Tempo de execução para cada frame.
on Mathematical Software 3(3): 209–226.
Harris, C. and Stephens, M. (1988). A combined
encontrados em outras imagens. Para a identi- corner and edge detection, Fourth Alvey Vi-
ficação da pose da câmera e, conseqüentemente sion Conference.
do robô, utilizou-se a matriz essencial, estimada
a partir da matriz fundamental. Os resultados Hartley, R. (1997). In defense of the eight-point
mostram que ambos os métodos tem uma boa re- algorithm, Transactions on Pattern Analysis
sposta ao movimento do robô, embora o ambiente and Machine Intelligence 19(6): 580–593.
não tenha muitas caracterı́sticas relevantes e a ilu-
minação seja não-uniforme (artificial). Lowe, D. (2004). Distinctive image features from
Como trabalho futuro pretende-se testar a scale-invariant keypoints, International Jour-
odometria visual em outros ambientes e um estudo nal of Computer Vision 60(2): 91–110.
mais aprofundado da necessidade de adaptação do Maimone, M., Cheng, Y. and Matthies, L. (2007).
método proposto para funcionar nestes ambientes. Two years of visual odometry on the mars
Também, a utilização de estimadores robustos de exploration rovers: Field reports, Journal of
posição e fusão sensorial com outras formas de Field Robot 24(3): 169–186.
sensores, permitindo assim uma estimação precisa
da posição. Além disso, pretende-se uma melhor Mikolajczyk, K. and Schmid, C. (2005). A perfor-
adaptação do método as restrições cinemáticas do mance evaluation of local descriptors, IEEE
robô e do ambiente, que pode reduzir significati- Transactions on Pattern Analysis e Machine
vamente o custo computacional, bem como o erro Intelligence 27(10): 1615–1630.
do método.
Nistér, D., Naroditsky, O. and Bergen, J. (2006).
Visual odometry for ground vehicle applica-
Agradecimentos tions, Journal of Field Robotics 23(1).

Este trabalho foi parcialmente suportado pela Sarfraz, M. S. and Hellwich, O. (2008). Head
CAPES e contou com o apoio dos pesquisados pose estimation in face recognition across
do VeRLab (Laboratório de Visão e Robótica) pose scenarios, International conference on
do DCC-UFMG e do NAUTEC (Núcleo de Au- Computer Vision Theory and Applications,
tomação e Computação) do C3-FURG. pp. 235–242.
Torr, P. H. S. and Murray, D. W. (1997). The de-
Referências velopment and comparison of robust meth-
ods for estimating the fundamental matrix,
Bay, H., Tuytelaars, T. and Gool, L. V. (2006). International Journal of Computer Vision
Surf: Speeded up robust features, European 24(3): 271–300.
Conference on Computer Vision, pp. 404–
417. Viola, P. and Jones, M. (2001). Rapid object de-
tection using a boosted cascade of simple fea-
Beis, J. and Lowe, D. (1997). Shape indexing tures, IEEE Conference on Computer Vision
using approximate nearest-neighbour search and Pattern Recognition 1: 511–518.
in high-dimensional spaces, Conference on
ESTIMAÇÃO DE POSIÇÃO E ORIENTAÇÃO PARA ROBÔS MÓVEIS

JOSÉ G. N. DE CARVALHO FILHO1 , LUCAS MOLINA1, 3, KAMEL BENSEBAA2, ELYSON A. N. CARVALHO1,4 E EDUARDO O. FREIRE1
1
Departamento de Engenharia Elétrica, Universidade Federal de Sergipe – DEL/UFS, São Cristóvão-SE, Brasil
E-mails: j.gilmar@click21.com.br; lmolina@ufs.br; ecarvalho@ufs.br; efreire@ufs.br

2
Departamento de Ciência da Computação, Universidade Federal de Sergipe –DCOMP/UFS, São Cristóvão-SE, Brasil
E-mails: kamel-bensebaa@ufs.br

3
Programa de Engenharia Elétrica da Universidade Federal do Rio de Janeiro – PEE/COPPE/UFRJ, Rio de Janeiro-RJ,
Brasil

4
Departamento de Engenharia Elétrica da Universidade Federal de Campina Grande – DEE/UFCG, Brasil

Abstract This paper is focused on the development of a system for estimating position and orientation based on computer vision techniques
using matching images. The system is based on the comparison of images acquired at different times to determine the angular and linear
displacement between them which in turn, are used to estimate the robot’s trajectory. The image comparison is performed using a matching points
technique based on the distance between points of interest. In this sense, the distance between interesting points are clustered into sets of distances
and the distances distribution are used to perform image matching. The developed system was evaluated by recording images from a low
resolution video camera fixed at a mobile platform.

Keywords Position and orientation estimation, Computational vision, Dead-reckoning.

Resumo Este artigo é focado no desenvolvimento de um sistema de estimação de posição e orientação baseado em técnicas de visão
computacional usando correspondência de imagens. O sistema se baseia na comparação de imagens adquiridas em diferentes instantes para
determinar os deslocamentos angular e linear entre elas e, assim, estimar a trajetória do robô. A comparação das imagens é realizada usando uma
técnica de casamento de pontos baseada nas distâncias entre os pontos de interesse. Neste sentido, as distâncias entre os pontos de interesse são
agrupadas em conjuntos de distâncias e as distribuições de distâncias destes conjuntos são usadas para realizar a correspondência das imagens. O
sistema desenvolvido foi avaliado a partir de imagens de obtidas por uma câmera de baixa resolução fixada em uma plataforma móvel.

Palavras-chave Estimação de posição e orientação, Visão computacional, Odometria.

Por conta desta maior versatilidade, muitas destas


aplicações, frequentemente, demandam um alto grau de
1 Introdução precisão e exatidão dos robôs durante a execução das tarefas
atribuídas. Estas características são obtidas, geralmente,
Atualmente, existe uma demanda generalizada e crescente através do uso de controles realimentados. Devido ao fato
pelo aumento da eficiência e pela redução de custos no setor que a posição do robô e, talvez outras variáveis de estado
industrial, por diversas razões que vão desde preocupações devem ser conhecidas durante a execução da tarefa,
ambientais até a necessidade de ser mais competitivo no estimadores podem ser aplicados como forma de aumentar
mercado globalizado. Isso tem alavancado de forma a confiabilidade dos valores de tais variáveis, medidos direta
significativa as pesquisas na área de automação, que pode ou indiretamente pelo sistema de sensoriamento do robô.
ser considerada como uma área estratégica para o Muitos métodos de localização de robôs móveis fazem
crescimento de indústrias e países. A área de robótica está uso de sensores inerciais, tais como acelerômetros e
atrelada à automação sob diversos aspectos, mas também giroscópios ou ainda sensores como GPS e bússolas
tem seus próprios nichos de crescimento, de forma que eletrônicas, porém grande parte dos métodos usados para
cresce por influência da área de automação industrial e medição da posição de robôs móveis ainda é baseada em
também devido ao setor de serviços. Nesse caso, podem ser odometria, nos quais as velocidades, linear e angular, do
destacadas aplicações como: o auxílio a pessoas com robô são integradas ao longo do tempo para determinar a sua
necessidades especiais, a substituição do homem na posição. Uma das formas mais comuns de se empregar
exploração de ambientes insalubres ou perigosos e até odometria é utilizando encoders ópticos (Carvalho-Filho et
mesmo o entretenimento. al., 2008).
Nestes casos, os robôs móveis têm um lugar de destaque, Os principais problemas dos métodos baseados em
pois não ficam restritos a um único local de operação e, por odometria consistem no fato de que, para se obter a precisão
conta disto, têm uma aplicabilidade e versatilidade muito necessária para aplicações em robótica, são necessários
maior que os robôs manipuladores, mais freqüentes nas encoders de alta resolução, os quais podem aumentar
fábricas.
significativamente os custos de implementação e que, em 2.2 Métodos Inerciais
odometria, o erro é acumulativo.
Na robótica, os sensores inerciais são muito utilizados em
Uma alternativa ao uso dos encoders ópticos é a
técnicas de localização de robôs móveis. Nos métodos
utilização de métodos baseados em visão computacional,
inerciais, as informações sobre a posição, velocidade,
que podem fornecer uma boa precisão mesmo com câmeras
altitude e direção dos robôs em relação a um referencial são
de baixa resolução. obtidas a partir de sensores como giroscópios, acelerômetros
Estes métodos frequentemente utilizam técnicas de fluxo e inclinômetros.
óptico, localização de marcos naturais ou artificiais, visão
O grande problema dos métodos inerciais é que, em
global e correspondências de imagens para localizar o robô geral, estes possuem um grande erro acumulado, ainda
no ambiente (Heinen, 2002). Porém, mesmo podendo maior que os métodos baseados em encoders ópticos, pois,
fornecer uma boa precisão, estes métodos possuem algumas
uma vez que os sensores inerciais medem a aceleração, é
limitações, tais como o tamanho do ambiente ou a
necessário integrar duas vezes a medida para estimar o
necessidade de marcos naturais ou artificiais, que podem
deslocamento.
restringir sua aplicabilidade a certos ambientes ou tarefas.
Neste artigo é apresentado um sistema de estimação de
posição e orientação para robôs móveis baseado em técnicas 2.3 Métodos Baseados em Medições Absolutas
de visão computacional usando correspondência de imagens.
Este sistema baseia-se na comparação de imagens adquiridas Alguns métodos de localização de robôs móveis utilizam
em diferentes instantes para determinar os deslocamentos medições absolutas para localizar o robô no ambiente, em
angular e linear entre elas e, assim, estimar a trajetória do geral, obtidas a partir de sensores como bússolas eletrônicas
robô. ou receptores GPS.
É importante ressaltar que o foco deste artigo é a A bússola eletrônica é um aparelho que calcula a
apresentação de um novo método de correspondência de diferença angular entre a orientação do dispositivo e o norte
imagens baseado na utilização das distâncias entre os pontos magnético. Assim, através da utilização de bússolas
de interesse obtidos, para medição de deslocamento de robôs eletrônicas, é possível obter a orientação do robô em relação
móveis. Para tanto foi utilizado um método conveniente para ao norte magnético.
a escolha dos pontos de interesse, necessários para analisar a Embora a utilização de bússolas eletrônicas em robôs
funcionalidade da técnica de correspondência de imagens seja uma opção viável, poucos têm sido os casos, na prática,
desenvolvida e comprovar a aplicabilidade do sistema. a recorrer a sistemas de localização baseados nesse tipo de
dispositivo. Isto se deve, em grande parte, ao fato de a
bússola fornecer apenas informação azimutal e possuir uma
2 Métodos Utilizados para Estimação de Posição e susceptibilidade considerável a interferências externas, tais
Orientação como proximidade a materiais ferromagnéticos e fugas
magnéticas dos motores elétricos (Santos, 2002).
Existem diversos métodos para estimação de posição e O GPS (Global Positioning System) é uma rede de
orientação de robôs móveis encontrados na literatura, satélites artificiais em órbita da Terra utilizados para
todavia, neste artigo serão discutidos apenas alguns dos fornecer as coordenadas de algum ponto do planeta através
métodos mais utilizados em localização de robôs móveis. de um aparelho receptor dos sinais de rádio emitidos por
estes satélites.
A utilização de sistemas de GPS é uma das formas mais
2.1 Métodos Baseados em Encoders Ópticos fáceis de obter a localização de robôs móveis, pois através
Em geral, os métodos que utilizam encoders ópticos para destes sistemas é possível obter a posição absoluta de um
estimar a posição e orientação de robôs móveis obtêm os robô. Atualmente, estes sistemas têm um erro em torno de
deslocamentos angular e linear através da integração das 10 metros (podendo chegar a até alguns centímetros), porém
velocidades angular e linear no tempo. o alto custo de implementação restringe significativamente
O que diferencia estes métodos é, principalmente, a seu uso (Santos, 2002).
forma como as velocidades são medidas. Tais velocidades
são calculadas a partir da medição da velocidade em cada 2.4 Métodos baseados em Visão Computacional
roda, usando um disco com furos, geralmente acoplado
diretamente ao eixo do motor, e um par emissor/receptor de Os métodos que utilizam visão computacional para estimar a
infravermelho. posição podem ser divididos segundo o critério do
Apesar de amplamente usados em robôs móveis devido a posicionamento da câmera em on-board, quando esta é
sua simplicidade, os métodos baseados em encoders ópticos posicionada a bordo do robô, ou off-board, quando a câmera
não realizam uma medição adequada da velocidade quando é posicionada fora do robô (Carvalho et al., 2006).
na presença de erros não-sistemáticos, sobretudo em Os métodos que utilizam a câmera posicionada em
ambientes não-estruturados, como, por exemplo, quando há algum ponto do ambiente (off-board) podem estimar a
deslizamento das rodas. Esse erro de medição é acumulativo posição do robô de forma direta, ou seja, estes métodos não
na determinação da trajetória do robô devido à natureza precisam medir um outro atributo do robô, a exemplo da
integrativa do método. velocidade, e estimar a posição a partir dele (Carvalho et al.,
2006 ).
Esses métodos têm a sua utilização restrita a ambientes
pequenos e sem objetos que possam encobrir a visualização
do robô, devido ao campo de visão limitado da câmera,
como é o caso do futebol de robôs, onde os agentes se
movem em uma superfície pequena e plana e a visualização
da bola e dos robôs não é obstruída (Andrade et al., 2006).
Em muitos dos métodos que utilizam câmeras a bordo do
robô (on-board) são utilizadas técnicas baseadas em fluxo
óptico para estimar a posição de robôs móveis (Campbell, et
al., 2005).
Os métodos que utilizam câmeras on-board são usados Figura 1: a) Superfície utilizada durante os experimentos b) Esquema da
em várias aplicações, sobretudo naquelas em ambientes plataforma móvel.
externos, podendo fornecer uma boa estimação da posição
nestas aplicações, onde o uso de uma câmera off-board é Uma observação importante sobre a escolha do tamanho
inviável (Campbell, et al., 2005). Todavia, como os métodos do segmento recortado é que sua dimensão deve ser
baseados em fluxo óptico não medem diretamente o suficientemente grande para que, considerando a velocidade
deslocamento, os erros inerentes às medições da velocidade e aceleração máxima do robô em que a câmera for fixada,
e do tempo, necessários para estimar o deslocamento, são seja possível garantir que haja uma região de interseção
entre este segmento recortado e o anterior que possibilite
propagados.
fazer a correspondência entre eles.
Assim, como o deslocamento estimado está em função
da velocidade e do tempo, a incerteza inerente a este
deslocamento estimado é dada pela equação 1. 3.2 Algoritmo Proposto
( , )∴ = + (1)
Neste artigo é proposta uma técnica de correspondência de
Onde ( , ) é o deslocamento estimado e , e pontos baseada nas distâncias entre pontos de interesse das
são as incertezas do deslocamento, da velocidade e do imagens. Esta técnica agrupa as distâncias entre os pontos
tempo, respectivamente. de interesse em “conjuntos de distâncias” e compara os
conjuntos de duas imagens a partir dos coeficientes de
3 Sistema Proposto correlação das distribuições de distâncias dos “conjuntos de
distâncias”.
O objetivo principal deste trabalho é avaliar a técnica
Neste trabalho é apresentado um sistema de estimação de
proposta. Por conta disso, os pontos de interesse das
posição e orientação baseado em visão computacional
imagens foram obtidos de forma simples, utilizando uma
objetivando aplicações em robótica. O funcionamento deste
segmentação da imagem em regiões, a qual é muito
sistema baseia-se na comparação de imagens, obtidas em
apropriada para a superfície em que foram realizados os
instantes diferentes, para determinar os deslocamentos
experimentos.
angular e linear entre elas e, assim, estimar a trajetória do
O algoritmo usado para estimar a posição e orientação é
robô.
dividido em três partes:
Deste modo, as imagens que vão sendo obtidas por uma
câmera voltada para a superfície sobre a qual o robô se  Obtenção dos pontos de interesse;
locomove são comparadas aos pares e, a partir dos valores  Correspondência de imagens;
de deslocamentos obtidos em cada comparação, a trajetória  Estimação dos deslocamentos linear e angular.
é estimada. Nas seções subseqüentes são descritas cada uma das
Os pares de imagens comparadas são formados por uma etapas mencionadas acima.
imagem atual (Ia), obtida no instante em que o par de
imagens começará a ser processado pelo algoritmo e uma
imagem de referência (Ir), que é a “imagem atual” da 3.3 Obtenção dos Pontos de Interesse
comparação anterior.
Inicialmente, o histograma da imagem é equalizado como
descrito em (Gonzalez e Woods, 2002) para aumentar o
3.1 Preparação dos Dados contraste e facilitar a segmentação, em seguida é aplicado o
limar de segmentação ao histograma equalizado.
A partir de uma câmera de baixa resolução fixada em uma Para a escolha do limiar é aplicado ao histograma da
plataforma móvel, foram obtidas imagens da superfície imagem o método ótimo de limiarização proposto em
sobre a qual a plataforma se deslocava. Na figura 1 são (Kapur et al., 1985), o qual maximiza o somatório das
mostradas uma imagem desta superfície e o esquema da entropias das classes agrupadas.
plataforma móvel. Uma vez que as imagens foram segmentadas, aplica-se
As imagens obtidas foram então recortadas de modo a um separador de regiões a elas. Neste trabalho foi utilizado
selecionar apenas um segmento quadrado do centro das o "general procedure outlined" apresentado em (Haralick e
imagens. Em seguida, os segmentos selecionados foram Shapiro, 1992).
convertidos em imagens em níveis de cinza.
Nesta etapa, além do separador de regiões, é aplicada distribuição de distâncias associadas aos pontos de Ia e de Ir
uma filtragem às imagens para eliminar as menores regiões, correspondentes a linha e a coluna, respectivamente, em que
de forma que as regiões com “massa” (número de pixels) o elemento está.
menor que um determinado limiar são descartadas. Quando um coeficiente é o maior da linha e da coluna
Durante os experimentos foi observado que um bom em que está, os pontos de Ia e Ir associados à linha e à
valor para o limiar pode ser obtido através da eq. 2: coluna em que o coeficiente está, respectivamente, são
= (2) correspondentes.
Quando o maior coeficiente de uma linha da matriz de
Onde M é a massa média das regiões. coeficientes não é o maior de sua respectiva coluna, o ponto
Depois que as imagens foram separadas em regiões, são de Ia associado a esta linha é descartado.
obtidas as coordenadas do centro de massa de cada uma Ao final, os pontos de Ir cujos correspondentes não
delas, as quais correspondem às coordenadas dos pontos de
foram encontrados também são descartados.
interesse das imagens.

3.5 Obtenção dos Deslocamentos Linear e Angular


3.4 Correspondência de Imagens
Depois que é feita a correspondência entre as imagens, são
Após serem obtidos os pontos de interesse das imagens, são gerados vetores a partir dos pontos de interesse que não
calculadas as distâncias entre todos os pontos de cada
foram eliminados.
imagem. Estas distâncias são agrupadas em “conjuntos de
Esses vetores são gerados de tal forma que para cada
distâncias”, os quais correspondem às distâncias entre um
vetor gerado a partir dos pontos de Ia existe um equivalente
ponto da imagem e todos os outros, de forma que a cada
em Ir. Na fig. 3.a são mostrados alguns exemplos destes
ponto da imagem é associado um conjunto de distâncias.
vetores.
Na fig. 2.a é mostrado um exemplo de um conjunto de
pontos de uma imagem.

Figura 2: a) Conjunto de distâncias do ponto P b) Distribuição de


distâncias de um conjunto de distâncias Figura 3: a) Vetores correspondentes b) Distribuição de diferenças de fase

Além disso, na fig. 2.a também são representadas em Como pode ser observado na fig. 3.a, o deslocamento
vermelho as distâncias que formam o conjunto de distâncias angular entre as imagens é igual à diferença de fase entre os
do ponto P que está indicado. Vale lembrar que, para cada vetores correspondentes. Então, é obtido um conjunto de
ponto da imagem é gerado um conjunto de distâncias similar diferenças de fase entre os pares de vetores correspondentes
a este. Em seguida, cada ponto da imagem atual (Ia) é e, a partir deste conjunto, obtêm-se o deslocamento angular
comparado com os pontos da imagem de referência (Ir), entre as imagens.
tomando como parâmetro seus conjuntos de distâncias. Na figura 3.b é mostrado um exemplo de uma
Para comparar os conjuntos de distâncias são obtidas as distribuição de diferenças de fase.
distribuições de distâncias de cada conjunto, as quais são Apesar da distribuição de diferenças de fase mostrada na
similares a códigos de barras. Estes “códigos de barras” são figura 4.b não possuir um comportamento gaussiano, com o
gerados atribuindo uma barra vertical nos pontos da abscissa intuito de simplificar os cálculos, a distribuição será
que estão contidos no conjunto de distâncias. Na fig. 2.b é aproximada por uma gaussiana e o valor do deslocamento
mostrada a distribuição de distâncias de um desses angular foi considerado como sendo a média da distribuição.
conjuntos. Desta forma, para obter o valor do deslocamento
Então, calcula-se o coeficiente de correlação entre as angular, a primeira estimativa da média da “gaussiana” é
curvas das distribuições dos conjuntos de distâncias que calculada como sendo a mediana da distribuição, então, é
estão sendo comparados, fornecendo, assim, um índice que obtido o desvio padrão da distribuição a partir da eq. 3.
mede a similaridade entre estes dois “códigos de barras”, ou A = √2πσ (3)
seja, entre esses dois conjuntos de distâncias. Onde A é a área da curva da distribuição de diferenças de
Deste modo, é gerada uma matriz de coeficientes de fase, a qual é obtida numericamente e σ é o desvio padrão.
correlação, na qual cada linha está associada a um ponto de Uma vez que foram obtidos os valores da primeira
Ia e cada coluna a um ponto de Ir. Assim, cada elemento da estimativa da média (µ) e de σ, a média é recalculada como
matriz é o coeficiente de correlação entre as curvas de
sendo a média da distribuição de diferenças de fase dentro deslocamentos não variam de forma abrupta e a inclusão de
do intervalo (µ − 2σ, µ + 2σ). filtros de Kalman aumentaria significativamente a
Depois que o deslocamento angular é estimado, os complexidade do sistema, optou-se por atribuir a média dos
pontos de Ia são rotacionados de modo que as duas imagens, últimos valores para estimar os deslocamentos quando a
Ia e Ir, não apresentem mais deslocamento angular. correspondência das imagens não é bem sucedida.
Em seguida, calcula-se a diferença entre as coordenadas
x e y dos pontos correspondentes. Então, são obtidas outras
duas distribuições semelhantes à distribuição de diferenças 4 Resultados
de fase, sendo uma de deslocamento horizontal e outra de
deslocamento vertical. Para avaliar o funcionamento do sistema foram realizados
Em seguida, aplica-se a essas distribuições a mesma vários experimentos, dos quais, devido ao tamanho limitado
técnica empregada para estimar o deslocamento angular e, do artigo, apenas alguns são descritos a seguir.
assim, são obtidos os deslocamentos horizontal e vertical Durante os experimentos foram utilizados os parâmetros
entre as imagens. mostrados na tabela 1 e o número de pontos de interesse e
Um fato ao qual se deve estar atento é que, a cada nova de pontos correspondentes obtidos foram em torno de 70 e
comparação, é adotado um novo sistema de eixos de 50, respectivamente.
coordenadas, como é mostrado na fig. 4. Tabela 1: Parâmetros do sistema
PARÂMETROS VALORES
Dimensões da imagem obtida 480x320 px
Dimensões da imagem processada 300x300 px
Limiar de segmentação 62
Taxa de aquisição de imagens da câmera 30 quadros/s
Taxa de aquisição de imagens do sistema 3 quadros/s
Relação entre pixel e centímetros 17,7 px/cm
Nos dois primeiros experimentos o sistema foi testado
Figura 4: Trajetória hipotética de um robô
utilizando apenas duas imagens obtidas em instantes
diferentes. Isso foi feito para permitir que os deslocamentos
Por conta desta mudança constante no eixo de
angular e linear também pudessem ser calculados
coordenadas, o deslocamento linear total não será a soma
manualmente, de modo a fornecer outra medição, bastante
direta dos deslocamentos parciais (deslocamentos estimados
confiável, para avaliar os resultados obtidos pela técnica de
em cada comparação).
correspondência de imagens desenvolvida.
Nas equações 4, 5 e 6 são apresentadas as fórmulas
O primeiro experimento realizado consistiu em estimar
utilizadas para calcular os deslocamentos totais, tanto
os deslocamentos angular e linear a partir de dois quadros
angular quanto linear. Estas fórmulas atualizam o valor dos
adquiridos de forma consecutiva sem deslocamento da
deslocamentos a cada nova comparação feita entre Ia e Ir.
plataforma, a fim de analisar a resposta do sistema para o
= +∆ (4) caso de o robô estar parado. Na tabela 2 são mostrados os

= + ∙ θ + ∆
(5) valores de deslocamentos obtidos neste experimento.

= + ∙ θ + (6) Tabela 2: Resultado do Experimento 1

D. Angular D. Vertical D. Horizontal
Onde = ∆ + ∆ , é o deslocamento angular do
Analítico 0° 0 px 0 px
robô, é o deslocamento linear horizontal, é o
Sistema 0° 0 px 0 px
deslocamento linear vertical, é o instante de amostragem e
∆ , ∆ e ∆ são os deslocamentos angular, horizontal e No segundo experimento foram estimados os
vertical parciais, respectivamente. deslocamentos linear e angular entre dois quadros obtidos
Uma observação importante é que, algumas vezes, a em diferentes instantes e posições. Os resultados obtidos
comparação entre duas imagens pode não ser bem sucedida, neste experimento encontram-se na tabela 3.
em geral por causa de ruídos na imagem causados por
Tabela 3: Resultado do Experimento 2
vibrações da câmera. Nesses casos, as curvas de distribuição
de diferenças de fase e de deslocamentos horizontal e D. Angular D. Vertical D. Horizontal
vertical deixam de ser unimodais. Nesse trabalho, esses Analítico 11,2° 1,15 cm -1,84 cm
casos foram detectados a partir do fato de que, como a Sistema 10,9° 1,13 cm -1,86 cm
distribuição é aproximada por uma gaussiana, quase toda a No terceiro experimento, as imagens capturadas pela
área da curva se concentra no intervalo (µ − 2σ, µ + 2σ) e câmera a bordo da plataforma, a qual sofreu um
os deslocamentos linear e angular foram estimados a partir deslocamento angular e linear, foram processadas pelo
dos valores anteriores. sistema para que este pudesse estimar as trajetórias
Na literatura existem diversas técnicas que podem ser executadas.
utilizadas para estimar o valor dos deslocamentos angular e Na fig. 5 são apresentadas as trajetória estimadas pelo
linear nesses casos, tais como os filtros de Kalman. Porém, sistema (em azul) e a posição final esperada (em vermelho).
como esses casos não são tão frequentes, os valores de
a) sistema, o que restringiu o uso do mesmo a alguns tipos de
5
superfície.
D is tâ ncia (cm )
2.5
0 Principalmente pela falta de um hardware adequado, ou
-2.5
-5
seja, de um robô com câmera e sensores inerciais
-5 5 15 25
Distância (cm)
35 45 55
embarcados e encoders nas rodas, não foi possível realizar
c)
b)
10 os experimentos necessários para comparar o sistema
40 0 desenvolvido com outros baseados nas técnicas mais
-10 utilizadas em localização de robôs móveis.
D is tâ nc ia (cm )

D is tâ nc ia (cm )
-20 Como trabalho futuro propõe-se uma avaliação mais
15
-30
rigorosa do método, com o intuito de obter respostas a
-40
respeito de aspectos como o número mínimo de pontos
-10 -50
necessário para se aplicar o método desenvolvido, a
-60
comparação do sistema proposto com os métodos mais
-40 -30 -20 -10 0 -60 -40 -20 0 20
Distância (cm) Distância (cm) utilizados em localização de robôs móveis, a caracterização
Figura 5: Trajetórias estimada pelo sistema (azul) e posições finais do método e análise dos problemas causados por má
esperadas (vermelho). iluminação e pela vibração da câmera, e o desenvolvimento
Na fig. 5, foram utilizados círculos com um traço escuro de técnicas para obtenção de pontos de interesse em imagens
na direção radial para indicar a orientação da plataforma em que não apresentem, necessariamente, regiões bem
alguns pontos da trajetória. Na tabela 4 são apresentados os definidas, aumentando a aplicabilidade do método aqui
resultados do terceiro experimento. desenvolvido para ambientes externos, por exemplo.
Tabela 4: Resultado do Experimento 3
Erro Angular ( °) Erro Linear (cm) Referências Bibliográficas
Trajetória a +1,12 2,5
Trajetória b -0,93 2,3 Andrade, B. T.; Matos, L. N. ; Freire, E. O. Um Sistema de
Trajetória c +2,06 5,1 Visão Computacional para Robôs Móveis. XXVI
Na tabela 4, o erro angular é dado pela diferença entre o Congresso da SBC, Campo Grande, MS, 2006.
deslocamento angular esperado e o estimado. De forma Campbell, J.; Sukthankar, R.; Nourbakhsh, I.; Pahwa, A. “A
análoga, o erro linear é dado pela diferença entre o Robust Visual Odometry and Precipice Detection
deslocamento linear esperado e o estimado. System Using Consumer-grade Monocular Vision”.
IEEE International Conference on Robotics and
Automation, Barcelona, Spanha, Abril, 2005.
5 Conclusões Carvalho-Filho, J. G. N.; Carvalho, E. A. N.; Molina, L.;
Freire, E. O.; Luciano, Benedito, L. A.. “High
Neste artigo foi desenvolvido um sistema de estimação de Resolution Analogical Measurement of the Angular
posição e orientação baseado em uma técnica de Velocity of a Motor Using a Low Resolution Optical
correspondência de imagens, também apresentada neste Encoder”. Workshop Robocontrol`08. Bauru, dezembro
trabalho. de 2008.
O sistema proposto foi submetido a vários testes, nos Carvalho, E. A. N.; Sá, Alan, Alves, E.; Freire, E. O.;
quais o movimento de uma plataforma móvel simulou Matos, L. N.; Luciano, B. Estimação de Parâmetros
movimentos típicos de robôs móveis. Os resultados obtidos para Navegação de um Robô Móvel a partir de Dados
foram promissores, comprovando a aplicabilidade da técnica Obtidos por um Sistema de Visão Computacional”. XVI
desenvolvida. Congresso Brasileiro de Automação, 2006.
Gonzalez, R. C.; Woods, R. E. “Digital Image Processing”.
Duas vantagens importantes do sistema proposto é que
Second Edition. Editora Prantice Hall, ISBN 0-201-
ele se aplica a robôs sem restrições holonômicas, como pode
18075-8, 2002
ser observado na figura 5.b e sua medição não é afetada pelo
Haralick, Robert M., and Linda G. Shapiro, Computer and
deslizamento das rodas.
Robot Vision, Volume I, Addison-Wesley, 1992, pp.
A técnica proposta neste trabalho mostrou-se promissora 28-48.
ao encontrar a relação entre as imagens consecutivas Heinen, F. J. “Sistema de Controle Híbrido para Robôs
adquiridas pela câmera a bordo do robô móvel, fornecendo Móveis Autônomos”. Dissertação de Mestrado,
assim uma forma de realizar a medição de posição e Universidade do Vale do Rio dos Sinos, 2002.
orientação deste. Entretanto, a técnica desenvolvida depende Kapur, J. N.; Sahoo, P. K.; Wong, K. C. “A new method for
da obtenção dos pontos de interesse com o menor índice de gray-level picture thresholding using the entropy of the
erro possível. histogram. Computer Vision, Graphics, and Image
Como o foco deste artigo é a apresentação de um novo Processing”. Vol. 29, 1985, pp. 273-285.
método de correspondência de imagens baseado na Santos, Frederico M.; Silva, Valter F.; Almeida, Luís.
utilização das distâncias entre os pontos de interesse obtidos, “Auto-localização em pequenos robôs móveis e
para realizar a medição do deslocamento de um robô móvel, autônomos: O caso do robô Bulldozer IV”, revista
optou-se por utilizar técnicas simples para obtenção dos Electrónica e Telecomunicações 3(6), Abril 2002.
pontos de interesse, para diminuir a complexidade do
FUSÃO DE DADOS DE SENSORES PARA ESTIMAÇÃO DE POSIÇÃO E
ORIENTAÇÃO DO APM AEROMÓVEL

Marcela Gonçalves dos Santos∗, Walter Fetter Lages∗



Universidade Federal do Rio Grande do Sul - Departamento de Engenharia Elétrica

Emails: marcela@ece.ufrgs.br, fetter@ece.ufrgs.br

Abstract— APMs (Automated People Movers) are light vehicles used to move people in urban areas, imple-
menting a concept similar to a horizontal elevator. The Aeromóvel system is an APM system where the vehicle
is moved by air flow and requires its position to be known with a precision better then 10cm. In order to ensure
such a precision, this papers proposes a data fusion system, integrating data from different sensors by using an
extended Kalman filter. The system uses data from optical encoders in the train wheels and GPS data to estimate
the vehicle position and orientation. Since the vehicle has two trucks, with four independent wheels each one,
the proposed method groups the wheels in pairs. Each pair of wheels is used to compute an estimate of position
and orientation that is fused with estimations from other pairs of wheels and the GPS receiver. Simulated results
are presented to show the effectiveness of the approach.

Keywords— Automatic people mover, APM, Aeromóvel, Extended Kalman filter, Sensor fusion, Global po-
sitioning system, GPS, Localization.

Resumo— APMs (Automated People Movers) são veı́culos leves destinados a movimentar pessoas em ambien-
tes urbanos, em um conceito semelhante a um elevador, porém movendo-se na horizontal. O sistema Aeromóvel é
um sistema de APM onde o veı́culo é movido a ar e requer que a sua posição seja conhecida com precisão melhor
do que 10cm. Afim de garantir essa precisão, este trabalho propõe um sistema que integra os dados de diferentes
sensores através do filtro de Kalman Estendido. O sistema proposto utiliza os dados obtidos de encoders ópticos
presentes nas rodas do trem juntamente com os dados de um receptor GPS para estimar a posição e orienta-
ção. Como o veı́culo possui dois conjuntos de eixos com quatro rodas independentes cada, a estratégia proposta
aqui agrupa as rodas em pares. Cada par de rodas fornece uma estimativa da posição e orientação do veı́culo
que é fundida juntamente com as estimativas obtidas pelas demais rodas e pelo GPS. Resultados simulados são
apresentados afim de ser verificar a validade do sistema proposto.

Palavras-chave— Automatic people mover, APM, Aeromóvel, filtro de Kalman estendido, fusão de sensores,
Sistema de Posicionamento Global, GPS, Localização.

1 Introdução luta em relação à Terra.


Existe um grande número de trabalhos
O sistema Aeromóvel é um sistema de APM (Au- que utilizam GPS para estimação de posição
tomated People Mover ) onde o veı́culo é movido a e orientação de veı́culos autônomos (Rezaei e
ar e requer que a sua posição veı́culo seja conhe- Sengupta, 2007),(Kao, 1991),(Hemerly e Schad,
cida com precisão melhor do que 10cm. 2004),(Everett, 1995),(Roy et al., 1999). A pre-
O problema da localização de um veı́culo cisão do GPS pode ser afetada por alguns erros
autônomo pode ser resumido como a capacidade que estão relacionados com as condições atmosfé-
do veı́culo de estimar sua posição tendo como in- ricas, a quantidade de prédios e árvores existentes
formações uma representação do ambiente onde na área na qual está se utilizando o sistema.
ele está inserido e a leitura de seus sensores (de Mi- Afim de garantir a precisão requerida, este
randa e Ribeiro, 2006). trabalho propõe um sistema que integra os dados
A localização pode ser realizada de forma re- de diferentes sensores através do filtro de Kalman
lativa e/ou absoluta (Borenstein et al., 1996). A Estendido. O sistema proposto utiliza os dados
localização relativa utiliza valores de posição e ori- obtidos de encoders ópticos presentes nas rodas
entação obtidas em instantes anteriores para assim do trem juntamente com os dados de um receptor
estimar valores atuais da localização do veı́culo em GPS para estimar a posição e orientação. Como o
relação a uma localização inicial. Já a localização veı́culo possui dois conjuntos de eixos com quatro
absoluta não necessita de valores calculados ante- rodas independentes cada, a estratégia proposta
riormente e calcula a localização global do veı́culo. aqui agrupa as rodas em pares. Cada par de rodas
Pode-se citar a odometria como um método de fornece uma estimativa da posição e orientação do
localização relativa. Esse método está sujeito a er- veı́culo que é fundida juntamente com as estima-
ros que são acumulados ao longo da sua aplicação tivas obtidas pelas demais rodas e pelo GPS.
pois a posição atual depende da medição do ins-
tante anterior (Filho e Campos, 2002), tornando 2 Modelagem do Veı́culo
esse método ineficiente quando utilizado isolada-
mente. Um exemplo de localização absoluta é o Para se determinar a pose de um veı́culo autônomo
GPS (Global Positioning System). Esse sistema é necessário a determinação de um modelo cine-
permite obter a posição do veı́culo de forma abso- mático adequado. Um modelo cinemático é um
modelo que descreve o veı́culo em função da velo- que em notação matricial fica como demonstrado
cidade e orientação das rodas, considerando como em (3).
estado apenas a posição e orientação do veı́culo.    
O modelo utilizado neste trabalho considera o veı́- ẋc cosθc 0
culo como sendo um corpo rı́gido dotado de rodas  ẏc  =  senθc 0  u (3)
que não sofrem deformação e que movimentam- θ̇c 0 1
se no plano horizontal e satisfazem à condição
com u sendo o vetor definido de acordo com (4) e
de rolamento sem deslizamento, ou seja, tanto as
w o ruı́do de processo que segue uma distribuição
componentes de velocidade paralela e ortogonal ao
gaussiana e possui média nula e variância conhe-
plano a roda são nulas.
cida.
Porém a condição de rolamento sem desliza-  T
u= v ω (4)
mento não é satisfeita pelo carro modelado neste
trabalho, a solução encontrada foi dividir as rodas onde v é a velocidade do veı́culo na direção do
em pares e obter a posição e orientação do carro seu eixo de simetria, denominada velocidade linear
através de cada par e por meio de odometria. Os e ω a velocidade angular, ambas com relação ao
dados obtidos por meio de odometria são integra- sistema de coordenadas {X0 , Y0 }.
dos com a localização do veı́culo obtidas através
do receptor GPS. 3 Sistema Proposto
Seja o veı́culo da Figura 1, deseja-se estabele-
cer seu modelo cinemático de postura. O modelo É proposto um sistema de localização de veı́culos
cinemático de postura descreve o veı́culo em fun- que faz uso da fusão de dados obtidos de um GPS e
ção da velocidade e orientação das rodas, conside- encoders. Os dados obtidos por esses sensores são
rando como estado apenas a posição e orientação integrados através do filtro de Kalman estendido.
do veı́culo. O veı́culo utilizado é o carro existente na linha
piloto do sistema Aeromóvel da cidade de Porto
Alegre - RS (Fig. 3). As rodas apresentam uma
curvatura em sua interface de rolagem e são en-
gastadas ao eixo com o objetivo de manter a esta-
bilidade do trem em curvas. O sistema Aeromóvel
utiliza rodas independentes, o que proporciona ao
veı́culo a possibilidade de realizar curvas com raios
muito menores que veı́culos com conjuntos de ei-
xos tradicionais (Britto, 2008).

(a) Veı́culo. (b) Linha piloto.


Figura 1: Definição dos sistemas de coordenadas.

Figura 2: Aeromóvel Porto Alegre (Cortesia Ae-


A posição e orientação do veı́culo da Figura 1 romóvel Brasil S.A.).
são descritas por
 T
x= xc yc θc (1)
3.1 Odometria
onde xc e yc são coordenadas do centro de massa Uma das técnicas mais simples para estimação
do veı́culo e θc é o ângulo de orientação do veı́- de posição (e orientação) consiste em contar-se a
culo. Além do sistema de coordenadas inercial quantidade de pulsos obtidos a partir dos enco-
é estabelecido o sistema de coordenadas {Xc , Yc } ders de cada roda em um certo intervalo de tempo
associado ao centro de massa do carro. (Borenstein et al., 1997). Assumindo-se que não
A velocidade linear do veı́culo da Figura 1 há escorregamento e conhecendo-se o raio das ro-
pode ser escrita em termos da posição e orientação das (r) e a resolução do encoder que é o número
do mesmo, ou seja de pulsos por volta dos encoders (N ), pode-se cal-
 cular o deslocamento angular de cada roda pode
ẋc = vcosθc
 ser obtido através de (5 - 6)
ẏc = vsenθc (2)
N Pd (k)
∆ϕd (k) = 2πr (5)

θ̇c = ω

N
Aplicando-se (9) ao modelo (3), obtém-se o
N Pe (k) vetor s.
∆ϕe (k) = 2πr (6)
N  T
sij = ẋij ẏij θ̇ij (10)
com ∆ϕd (k) e ∆ϕd (k) sendo o deslocamento li-
near e N Pd (k) e N Pe (k) o número de pulsos ob- onde (ẋij , ẏij ) são componentes da velocidade li-
tidos nos encoders das rodas direita e esquerda near do carro na direção x e y e θ̇ij a velocidade
respectivamente, no intervalo de tempo entre kT angular do carro, ambas com relação ao sistema
e (k+1)T, onde T é o perı́odo de amostragem e k de coordenadas {Xij , Yij }.
é o instante de amostragem. Substituindo-se (10) em (11).
Neste trabalho as rodas foram separadas em
pares, com uma roda localizada a direita (roda ẋij = s + Ẑ T sẐ ×c Pij (11)
i, i = 1,3,5,7) e uma localizada a esquerda (roda
j, j = 2,4,6,5.5), operando com acionamento di- onde c Pij a posição de origem do sistema {Xc , Yc }
ferencial. Um sistema de coordenadas para cada em relação ao sistema {Xij , Yij } dada por c Pij =
par de rodas {Xij , Yij } foi definido (Figura 3). A [lij senβi 0 0]T , Ẑ o versor da coordenada θ, que
origem deste sistema pode ser escolhida de forma indica a orientação do carro e dado por [0 0 1]T e
arbitrária, para este trabalho foi escolhido o ponto × denota o produto vetorial.
de intersecção entre o eixo de simetria e o eixo das Substituindo-se (10) em (11) e integrando-se
rodas e aponta na direção do movimento da roda. chega-se ao vetor xij , que é a posição e orientação
veı́culo estimadas pelo par de rodas ij.
 T
xij = xcij ycij θcij (12)

onde xcij e ycij são coordenadas do centro de


massa do veı́culo e θcij o ângulo de orientação do
veı́culo a partir do par de rodas ij, através de odo-
metria.

4 Localização baseada em GPS

O receptor GPS trabalha com o sistema de co-


ordenadas geográficas,usadas para medir posição
sobre a superfı́cie da Terra. Nesse sistema as co-
ordenadas são latitude e a longitude.
Figura 3: Definição dos sistemas de coordenadas De posse da latitude e longitude do ponto ini-
de cada par de roda. cial e do ponto final de uma determinada traje-
tória é possı́vel determinar a distância entre esses
pontos e assim determinar sua posição e orienta-
De posse do deslocamento angular da roda di- ção. Existem duas maneiras de se realizar este
reita (∆ϕi ) e roda esquerda (∆ϕj ) em um dado cálculo: rhumb line navigation e great circle navi-
intervalo de tempo é possı́vel obter o deslocamento gation.
linear e angular do carro tendo como referência o Para se exemplificar os métodos de cálculo da
ponto no centro do eixo axial das rodas (7). distância entre dois pontos tendo como dados a
latitude e longitude de cada um deles, considere
(∆ϕi + ∆ϕj )
∆D(k) = λ1 e λ2 a latitude do ponto inicial e do ponto final
2 respectivamente e φ1 e φ2 a longitude do ponto
(∆ϕi − ∆ϕj ) inicial e do ponto final respectivamente.
∆ω(k) = (7)
b A rhumb line (linha loxodrômica) é uma li-
com b sendo a distância axial entre as rodas. nha que intercepta vários meridianos com um ân-
gulo constante. Para se determinar a distância
E a velocidade linear e angular tendo o mesmo
entre dois pontos através desse método utiliza-se
ponto como referência dada por:
as equações (13-14).
∆D(k) λ2 − λ1
vij = DistanciaAB = tan−1 (cosκ ) (13)
T φ2 − φ1
∆ω(k)
wij = (8)
T onde
φ1 + φ 2
κ= (14)
formando assim o vetor uij (9) 2
 T Já o método great circle navigation faz uso
uij = vij ωij (9) da linha ortodrômica que é um segmento circular
na superfı́cie terrestre que define a menor distân- dida. Esses ruı́dos possuem média nula e cova-
cia entre dois pontos. A determinação da distân- riância conhecida e são descorrelacionados, além
cia entre dois pontos através deste método é feita disso satisfazem as relações (19-21).
através de (15 - 16)

D = cos−1 (sin φ1 sin φ2 +cos φ1 cos φ2 cos(λ1 −λ2 )) E{w(k)wT (k)} = Pw (k)δ(k − i) (19)
(15) E{v(k)v T (k)} = Pv (k)δ(k − i) (20)
DRT erra E{w(k)v T (i)} = 0 (21)
DistanciaAB = π (16)
180
E{·} é o operador valor esperado e Pw (k) e Pv (k)
onde RT erra é o raio da Terra. são matrizes diagonais formadas pelas variâncias
A longitude geográfica é o ângulo medido de w(k) e v(k), respectivamente.
ao longo do equador da Terra, tendo origem em O EKF é implementado utilizando-se matrizes
um meridiano de referência (o meridiano de Gre- jacobianas de f e h que são obtidas através de line-
enwich), e extremidade no meridiano do lugar. arização de tais funções em torno de uma estima-
Na Conferência Internacional Meridiana, reali- tiva do estado no instante k. Assim expandindo-se
zada em Washington em outubro de 1884, foi de- em série de Taylor as equações (17-18) em torno da
finida como variando de 0 a 180◦ (Oeste de Gre- estimativa do estado no instante k e desprezando-
enwich) e de 0 a -180◦ (Leste). se os termos de ordem superior tem-se (22-23).
A latitude é o ângulo medido ao longo do me- x(k +1) ≈ f (x̂(k|k), u(k))+F (k)[x(k)− x̂(k|k)]+w(k)
ridiano do lugar, com origem no equador e extre- (22)
midade no zênite do lugar. Zênite é o ponto supe-
rior da esfera celeste, segundo a perspectiva de um
observador estacionado num plano sobre a Terra, y(k) ≈ h(x̂(k|k), u(k)) + H(k)[x(k) − x̂(k|k)] + v(k)
o exato ponto acima de sua cabeça projetado na (23)
abóboda celeste, ou a intersecção da vertical su- onde
perior do lugar com a esfera celeste. A latitude
˛
∂f (x(k), u(k)) ˛˛
F (k) = (24)
então pode variar entre -90◦ e 90◦ . O sinal ne- ∂x(k) ˛
x(k)=x̂(k|k)
gativo indica latitudes do hemisfério sul e o sinal ˛
∂h(x(k), u(k)) ˛˛
positivo hemisfério norte. H(k) =
∂x(k) ˛
x(k)=x̂(k|k)

4.1 Filtro de Kalman


O filtro de Kalman (Kalman, 1960) é um estima- T T
K(k) = P (k|k−1)H (H(k)P (k|k−1)H (k)+Pv (k))
−1
(25)
dor recursivo ótimo com relação a diversos crité-
rios que calcula uma estimativa de variância mı́- P (k|k) = (I − K(k)H(k))P (k|k − 1) (26)
nima para um estado que evolui no tempo a partir
de observações relacionadas linearmente com este
estado. O problema de estimação utilizando-se o x̂(k|k) = x̂(k|k − 1) + K(k)[y(k) − h(x̂(k|k − 1), u(k))] (27)

filtro de Kalman pode ser resumido da seguinte


forma: deseja-se encontrar uma estimativa do ve- x̂(k + 1|k) = f (x̂(k|k), u(k)) + w(k) (28)
tor de estado (x̂) dado o modelo do sistema, as
T
condições iniciais do estado e da matriz de cova- P (k + 1|k) = F (k)P (k|k)F (k) + Pw (k) (29)

riância dos ruı́dos a que está sujeito o processo e


as medições, bem como uma sequência de entrada Assim tem-se uma maneira de se obter o es-
u e as medições y. A fusão de dados através do tado estimado x̂(k|k) a partir de x̂(k|k − 1) e da
filtro de Kalman visa integrar a informação pro- medida y(k) para um sistema não-linear como o
veniente de vários sensores para assim construir descrito pelas equações (17 - 18). Onde a fusão
uma estimativa mais precisa, mais robusta. de dados de sensores está justamente na utilização
Para sistemas não lineares utiliza-se o filtro de de informações provenientes de diferentes sensores
Kalman Estendido (EKF,Extended Kalman Fil- para a formação do vetor y(k).
ter ). O EKF consiste em linearizar de forma ana-
lı́tica o sistema em torno da estimativa do estado. 4.2 Integração dos sistemas
Seja o modelo não linear descrito por (17 e
18). Os sistemas que irão ser integrados para obtenção
da pose do veı́culo é formado por encoders e um
x(k + 1) = f (x(k), u(k)) + w(k) (17) receptor GPS, a integração será realizada por meio
y(k) = h(x(k), u(k)) + v(k) (18) do filtro de Kalman Estendido.
Definidas essas equações para se realizar a fu-
As incertezas do sistema são modeladas pelo são de dados via filtro de Kalman para este sis-
ruı́do do processo w(k), já v(k) é o ruı́do de me- tema, deve-se escrever o sistema de acordo com
as equações de Kalman, ou seja, definir as funções E as suas derivadas parciais com relação a es-
f (x(k), u(k)) e h(x(k), u(k)). Onde x(k) é o vetor timativa de x (x̂(k)).
de estado, y(k) é o vetor de observação e u(k) é  
a entrada do sistema, todos discretizados. Sendo 0 0 −vsenθc
x(k + 1) a discretização de x(t), tem-se F (k) =  0 0 vcosθc  (39)
0 0 0
xc (k + 1) = xc (k) + v(k)cosθc (k)T + w1 (k) (30)
 
1 0 0
 0 1 0 
yc (k + 1) = yc (k) + v(k)senθc (k)T + w2 (k) (31)
 
 0 0 1 
 
 1 0 0 
 
 0 1 0 
θc (k + 1) = θc (k) + ω(k)T + w3 (k) (32)  
 0 0 1 
As expressões (30-32) podem ser escritas no 
 1 0 0 

espaço de estados na forma  
H(k) =   0 1 0  (40)

x(k + 1) = f (x(k), u(k)) + w(k) (33)  0 0 1 
 
 1 0 0 
então 
 0 1 0 

 
v(k)cosθc (k)
 
 0 0 1 
f (x(k), u(k)) =  v(k)senθc (k)  (34)
 
 1 0 0 
ω
 
 0 1 0 
e   0 0 1
w1 (k)
w(k) =  w2 (k)  (35)
5 Resultados de Simulação
w3 (k)
O vetor de observação y(k) pode ser descrito Utilizou-se um perı́odo de amostragem de 0.05s,
por durante um intervalo de 160s. O ruı́do de me-
y(k) = h(x(k), k) + v(k) (36) dida segue uma distribuição gaussiana, bem como
  o ruı́do de processo. Tendo como o vetor de en-
xc (k) trada do sistema (41). Foram utilizados os parâ-
 yc (k)


 metros que podem ser vistos na Figura 4 e com
 θc (k)


 r igual a 0.2546 m e b igual a 1.75 m foram de-
 xc12 (k)


 terminados os valores de l, α e β de cada roda.
 yc12 (k) 
 
 θc12 (k) 
 
 xc34 (k) 
 
 yc34 (k)
h(x(k), u(k)) =  (37)


 θc34 (k) 
 
 xc56 (k) 
 
 yc56 (k) 
 
 θc56 (k) 
 
 xc78 (k) 
 
 yc78 (k) 
θc78 (k)
e  
vGP S1 (k)
 vGP S2 (k)  Figura 4: Dimensões do carro.
 
 vGP S3 (k) 
 
 vODO1 (k)  " #

 vODO2 (k) 
  20
 0.5π , k ≤ 80


  
 vODO3 (k) 

 vODO4 (k) 
 u(k) = " # (41)
 20
 −0.5π , k > 80.
  
 vODO5 (k)  

v(k) =   (38)
 vODO6 (k) 

 vODO7 (k)  O ruı́do de medida tem a covariância dada
 
 vODO8 (k) 
  por Pw =diag[0.8,0.8,4], já o ruı́do de medida v(t),
 vODO9 (k) 
  tem a covariância dada por Pv =diag[0.04, 0.04, 4,
 vODO10 (k)  2rπ/Np , 2rπ/Np , 4, 2rπ/Np , 2rπ/Np , 4, 2rπ/Np ,
 
 vODO11 (k) 
  2rπ/Np , 4, 2rπ/Np , 2rπ/Np , 4], que contém o des-
 vODO12 (k)  vio padrão dos elementos do vetor de observação,
vODO13 (k) com Np igual a 512.
O valor inicial da estimativa da posição e da baseada em técnica bayesiana para localiza-
orientação do veı́culo é dada pela tripla ([0 0 45◦ ]) ção de robôs móveis, XIV Congresso Brasi-
e o comportamento das estimativas podem ser vis- leiro de Automática 17: 391 – 408.
tos na Figuras (5a, 5b), na qual pode-se ver tam-
bém o valor nominal da posição e orientação. Everett, H. R. (1995). Sensors for mobile robots:
theory and application, A. K. Peters, Ltd.,
30
Trajetoria estimada Natick, MA, USA.
20
Nominal
Odometros e GPS (Kalman)
Filho, J. H. V. e Campos, M. F. M. (2002). Uma
10
metodologia de correção automática de erros
de odometria durante a navegação do robô,
Y[m]

−10
XIV Congresso Brasileiro de Automática .
−20
Hemerly, E. M. e Schad, V. R. (2004). Sistema
−30
−15 −10 −5 0
X[m]
5 10 15 de navegação de baixo custo baseado na fu-
são ins/gps usando filtro de kalman, XV Con-
(a) Posição.
gresso Brasileiro de Automática 1.
Orientacao estimada
7
Kalman, R. E. (1960). A new approach to linear
6

Nominal
Odometros e GPS (Kalman)
filtering and prediction problems, Transacti-
5

4
ons of the ASME–Journal of Basic Enginee-
ring 82(Series D): 35–45.
Theta[rad]

1
Kao, W.-W. (1991). Integration of gps and dead-
0 reckoning navigation systems, Vehicle Navi-
−1
0 20 40 60 80
t[s]
100 120 140 160 180
gation and Information Systems Conference,
1991 2: 635–643.
(b) Orientação.
Rezaei, S. e Sengupta, R. (2007). Kalman filter-
Figura 5: Posição e orientação estimadas. based integration of dgps and vehicle sensors
for localization, Control Systems Technology,
IEEE Transactions on 15(6): 1080–1088.

6 Considerações Finais Roy, N., Burgard, W., D. Fox, D. e Thrun, S.


(1999). Coastal navigation-mobile robot na-
Neste trabalho foi feita a modelagem do veı́culo vigation with uncertainty in dynamic envi-
autônomo da Figura 1. Foi implementado um sis- ronments, Robotics and Automation, 1999.
tema de localização deste veı́culo. Se propôs re- Proceedings. 1999 IEEE International Con-
alizar fusão de dados de sensores utilizados para ference on 1: 35–40 vol.1.
localização de veı́culos, para o estudo apresentado
neste trabalho os sensores foram encoders ópticos
presentes nas rodas e receptores GPS. Para a fu-
são dos dados dos sensores utilizou-se o filtro de
Kalman estendido.

Referências

Borenstein, J., Everett, H. R. e Feng, L. (1996).


Where am i? Sensors and methods for mobile
robot positioning, University of Michigan.

Borenstein, J., Everett, H. R., Feng, L. e Wehe,


D. (1997). Mobile robot positioning: Sensors
and techniques, Journal of Robotic Systems
pp. 231–249.

Britto, J. F. F. H. (2008). Modelo Computacional


do sistema Aeromóvel de transportes, Disser-
tação (mestrado em engenharia mecânica),
Universidade Federal do Rio Grande do Sul.

de Miranda, F. L. N. e Ribeiro, C. H. C. (2006).


Extração automática de mapas de atributos
ESTIMAÇÃO DE POSIÇÃO E VELOCIDADE DE ROBÔS MÓVEIS COM RESTRIÇÕES HOLONÔMICAS UTILIZANDO
SENSORES DE FLUXO ÓPTICO E FILTRO ALFA-BETA.

LUCAS MOLINA1,2, MATHEUS A. MOURA1, ELYSON A. N. CARVALHO1,3, EDUARDO O. FREIRE1


1
Departamento de Engenharia Elétrica da Universidade Federal de Sergipe – DEL/UFS, São Cristóvão-SE, Brasil.
E-mails: lmolina@ufs.br; mtmoura1@Hotmail.com.br; ecarvalho@ufs.br; efreire@ufs.br

2
Programa de Engenharia Elétrica da Universidade Federal do Rio de Janeiro – PEE/COPPE/UFRJ, Rio de Janeiro-RJ,
Brasil.

3
Departamento de Engenharia Elétrica da Universidade Federal de Campina Grande – DEE/UFCG, Brasil.

Abstract This paper presents a state estimation system (position and velocity) of a mobile robot, using a low cost optical flow sensor
with an α-β filter. The limitations of the sensor during the execution of distinct trajectories are presented, and the viability of its application
in robots with holonomic restrictions is shown. The position information given by the optical flow sensor is incremental and of low
resolution, which generates an error propagation in determining the position of the robot and makes the information about velocity
unusable by a state feedback system. The use of α-β filter as a solution to these problems is proposed.

 State Estimation, Optical Flow Sensor, α-β filter, Odometry, Mobile Robots.
Keywords

Resumo  Neste trabalho é apresentado um sistema de estimação de estados (posição e velocidade) de um robô móvel, utilizando um
sensor de fluxo óptico de baixo custo juntamente com um filtro α-β. São apresentadas as limitações do sensor ao executar trajetórias
distintas e comprovada a viabilidade de aplicação deste tipo de sensor para robôs com restrições holonômicas. A informação de posição
disponibilizada pelo sensor de fluxo ótico é de baixa resolução e incremental, o que gera uma propagação de erro na determinação da
posição do robô e inviabiliza a utilização da velocidade em uma realimentação de estado. A utilização do filtro α-β é proposta como uma
solução para estes problemas.

 Estimação de Estados, Sensor de Fluxo Óptico, Filtro α-β, Odometria, Robôs Móveis.
Palavras-chave

1. Introdução do mais usado é a odometria, no qual as velocidades,


linear e angular do robô, são integradas ao longo do
As aplicações envolvendo robôs móveis autônomos tempo para determinar a sua posição (Carvalho-Filho et
vêm crescendo significativamente nos últimos anos. Um al., 2008).
dos fatores que impulsionam esse crescimento é a gran- Os sensores de fluxo óptico, encontrados em mouses
de diversidade de tarefas que podem ser executadas por ópticos, possuem a capacidade de informar o desloca-
estes tipos de robôs, graças à sua capacidade de loco- mento executado por estes. Estes sensores foram utili-
moção, diferentemente dos manipuladores industriais. A zados em (Palacin et al., 2006; Bradshaw et al., 2007;
utilização de robôs móveis vem crescendo em diversos Ng, 2003) para fornecer informações sobre o posicio-
setores, como, por exemplo, em segurança industrial, namento do robô em relação ao ambiente. Entretanto,
operações de resgate e tarefas cooperativas. A correta devido à sua natureza incremental o sistema de medição
execução destas tarefas está estritamente ligada à per- fornece apenas informações quantizadas sobre a posição
cepção sensorial do robô na interação agente-ambiente, do robô, o que aumenta o erro acumulado.
onde a posição e velocidade do robô em relação ao A informação de velocidade, essencial para o fun-
ambiente são essenciais para o correto funcionamento cionamento do sistema de controle, não é disponibiliza-
de um sistema de controle autônomo. da por estes sensores, e sua obtenção não é abordada em
A variedade de estruturas mecânicas existentes atu- (Palacin et al., 2006; Bradshaw et al., 2007). Além
almente para um robô móvel é fruto de anos de pesquisa disso, a diferenciação da posição no tempo para a ob-
nesta área. Dentre elas destacam-se os veículos terres- tenção da velocidade fornece informações imprecisas
tres, por sua maior aplicabilidade e entre estes uma sobre a mesma, comprometendo o funcionamento do
maior atenção é dada aos robôs móveis com rodas, pela sistema de navegação.
simplicidade eletro-mecânica quando comparados a Sendo assim, neste artigo é proposto um sistema de
outras estruturas. estimação para contornar estes problemas.
A navegação destes veículos consiste em determinar A organização deste artigo é descrita a seguir. A Se-
uma função contínua que respeite suas restrições cine- ção 1 é esta introdução. A Seção 2 é uma breve descri-
máticas e evolua no tempo, segundo as restrições im- ção do sensor e de seu funcionamento. Na Seção 3 o
postas pelo problema quanto à posição e orientação sensor é utilizado para medir o posicionamento de um
iniciais e finais e quanto à velocidade do movimento. robô móvel em relação ao ambiente e estimar a veloci-
Nesse sentido, um dos grandes desafios da robótica é dade pelo método de diferenciação no tempo. Na Seção
determinar com exatidão a localização de um robô mó- 4 é apresentado o método de estimação de posição e
vel durante a sua operação. Existem diversos métodos velocidade utilizando o filtro α-β. Os resultados obtidos
para determinar a localização de robôs móveis. O méto- com este método também são apresentados nesta seção.
Por fim são apresentadas as conclusões e possíveis mento relativo entre os quadros captados pelo dispositi-
trabalhos futuros na Seção 5, seguida dos agradecimen- vo CMOS.
tos e das referências bibliográficas utilizadas. Movimento

2. O Sensor de fluxo óptico Estado Estado


0 1

Problemas na determinação da posição de robôs móveis


Movimento
incluem os erros sistemáticos introduzidos pelos dispo-
sitivos mecânicos utilizados e erros não sistemáticos Figura 2. Autômato G cujo estado caracteriza a resposta do
causados por terrenos irregulares, ou mesmo pelo escor- sensor ao movimento observado.
regamento das rodas no chão, nos casos de terrenos de
baixo atrito (Bonarini et al., 2004; Borenstein et al., O sensor encontrado no mouse óptico apresenta três
1996). Esse último é, em especial, bastante prejudicial importantes características (Palacin et al., 2006; Brad-
para o caso da estimação de posição baseada em enco- shaw et al., 2007):
ders, onde as medições são feitas no eixo do motor (ou • A informação fornecida pelo sensor de fluxo
da roda) independente dela deslizar ou não no chão. óptico tem sua precisão diminuída ao medir desloca-
O sensor existente no mouse óptico utiliza o fluxo mento em superfícies refletoras e superfícies transparen-
óptico para a determinação do seu deslocamento. Posi- tes, o que resulta em erro na medição do fluxo óptico.
cionando corretamente este sensor em um robô móvel é • Existe uma limitação de altura para o funcio-
possível determinar a posição do robô sem estar susce- namento do sistema baseado na estrutura do sensor do
tível a erros devidos ao deslize das rodas no piso, por mouse óptico entre 2,3 e 2,5 mm do solo até o sensor.
exemplo. • Baixo nível de erro associado às linearizações
Inicialmente desenvolvidos em 1999 pela Agilent das equações feitas pelo DSP para obtenção dos deslo-
Technologies, estes chips possuem uma pequena câmera camentos equivalentes.
CMOS voltada para baixo (Figura 1), que captura ima- A informação de posição na saída do sensor é equi-
gens (16x16) que são então processadas no mesmo valente ao estado do autômato G apresentado na Figura
dispositivo (Palacin et al., 2006). 2 (General description, 2003) onde a mudança de esta-
do desse autômato significa a ocorrência de desloca-
mento do sensor em relação à superfície. Quatro autô-
matos como este são utilizados para caracterizar o mo-
vimento do sensor no plano Cartesiano, dois para o
movimento no eixo x (Gxa e Gxb) e outros dois para o
movimento no eixo y (Gya e Gyb). Os deslocamentos no
eixo x e y calculados pelo sensor são desacoplados.

Figura 1. Ilustração do sensor de fluxo óptico utilizado neste


trabalho.

Este sensor determina matematicamente a variação


dos quadros capturados pela câmera, obtendo assim
informações sobre o movimento realizado pelo disposi-
tivo em relação ao ambiente.
Fluxo óptico é a distribuição bidimensional da velo-
cidade aparente do movimento dos padrões de intensi-
dade no plano da imagem e está associado a um campo
de vetores velocidade, podendo ser convertido em veto- Figura 3. Trajetória do estado de Gya e Gyb para um deslocamento
res de deslocamento (Laureano et al., 2004). No caso do em y com sentido: a) Positivo. b) Negativo.
mouse, a informação que é disponibilizada pelo sensor é
diretamente o deslocamento. O sentido do deslocamento na direção y é determi-
As imagens adquiridas são processadas utilizando nado pela relação entre as transições de estado de Gya e
um processador digital de sinal (DSP), localizado no Gyb. O deslocamento do sensor em um dado sentido
mesmo circuito integrado que a câmera CMOS. Esse adotado como positivo, gera uma mudança de estado
DSP calcula a variação de deslocamento em quadratura em Gya e depois a mesma mudança ocorre em Gyb (Figu-
x e y (horizontal e vertical), fornecendo na saída do ra 3.a). Para o mesmo deslocamento só que em sentido
sensor uma informação incremental sobre o posiciona- contrário, é observada uma mudança de estado, primei-
ro em Gyb, depois em Gya (Figura 3.b). O mesmo vale
para o sentido do deslocamento no eixo x, só que com A partir dos resultados da tabela 1, é possível obter
relação às transições de estado dos autômatos Gxa e Gxb. uma constante de calibração para cada eixo (x e y),
Essa defasagem possibilita determinar o sentido do apenas dividindo o somatório do número de transições
deslocamento da plataforma móvel em relação ao ambi- observadas nos mesmos, pelo somatório das respectivas
ente. distâncias percorridas em centímetros. Os valores obti-
A velocidade de deslocamento afeta diretamente o dos experimentalmente para estas constantes foram Kx =
intervalo de tempo entre as transições de estado dos 15,98 Transições/cm e Ky = 16,63 Transições/cm.
autômatos. Quanto mais rápido for o movimento do
robô, menor será o tempo discorrido entre duas transi-
ções. Vale salientar que o intervalo entre as transições
ocorridas em Gxa e Gxb é o mesmo, já que estes possuem
o mesmo comportamento só que defasados a depender a) b)
do sentido. O mesmo vale para Gya e Gyb.

3. Estimação de posição e velocidade utilizando um


sensor de mouse óptico (sensor de fluxo óptico).
c) d)
Conforme explicado na Seção 2, a informação sobre o
deslocamento do sensor é disponibilizada de forma
discreta e incremental. Assim, a partir da contagem do
número de transições de estados ocorrida em Gy e Gx,
juntamente com as considerações a respeito do sentido Figura 4. Movimento linear: a) Eixo x. b) Eixo y. c) Em diagonal.
do deslocamento (Seção 2), é possível calcular a magni- d) Em circunferência.
tude do movimento efetuado pelo sensor e, consequen-
temente, a posição do robô no ambiente. Para tanto, é Com as constantes determinadas e a contagem de
necessário estabelecer uma relação entre o número de pulsos do sensor durante um movimento qualquer é
transições observadas e o deslocamento em centímetros possível obter a distância percorrida pelo mesmo em
realizado pelo robô móvel. ambas as direções desacopladas e em centímetros.

3.1 Calibração do sistema de medição 3.1.2 Movimento apenas angular – Rotação


Para calibrar corretamente o sensor é necessário avaliar Nos experimentos realizados apenas com a rotação do
a sua resposta em todas as possíveis situações às quais sensor foram considerados os dois comportamentos
ele possa vir a ser submetido. Utilizando uma platafor- possíveis: rotação no sentido horário (Figura 5.a) e
ma móvel, foram realizados diversos experimentos rotação no sentido anti-horário (Figura 5.b).
considerando apenas movimento linear, apenas movi-
mento angular e a composição destes. Os resultados são
apresentados a seguir.

3.1.1 Movimento apenas linear – Translação


Os movimentos com deslocamento apenas linear podem Figura 5. Movimento angular: a) Sentido horário. b) Sentido anti-
horário.
ser de quatro tipos: translação no eixo x (Figura 4.a),
translação no eixo y (Figura 4.b), uma reta com transla- Considerando uma rotação de 360o no sensor em
ção em x e y (Figura 4.c) e uma circunferência (Figura ambos os sentidos, foram observadas em média 8 tran-
4.d). Em todos os casos a plataforma móvel foi desloca- sições de estado em cada um dos eixos (x e y), o que
da somente linearmente, ou seja, sem rotação na mes- evidencia a insensibilidade do sensor a movimentos
ma, como ilustrados na figura 4. puramente angulares, tornando a calibração do mesmo
Foram realizados diversos experimentos nas quatro para esta situação desnecessária.
situações ilustradas. Os resultados obtidos para a conta- Isso se deve à baixa resolução das imagens captura-
gem média de transições de estado observadas em cada das e à proximidade do sensor do solo, o que impossibi-
uma das trajetórias são apresentados na tabela 1. lita a percepção de movimentos deste tipo, quando o
sensor está localizado no centro de rotação.
Tabela 1. Experimentos com translação.
Transições Transições Distância Distância 3.1.3 Movimento combinado – Em arco
Movimento
x (no) y (no) x (cm) y (cm)
Os movimentos combinados ocorrem quando existe
Figura 4.a 0 1826 0 100
deslocamento linear e angular ao mesmo tempo. Dois
Figura 4.b 1770 0 100 0 tipos de movimento compõem este conjunto: translação
Figura 4.c 871 909 60 60 no eixo x e rotação no eixo y (Figura 6.a) e rotação no
Figura 4.d 1084 1148 70 70 eixo x e translação no eixo y (Figura 6.b). Foram reali-
zados experimentos em ambas as situações.
sua posição de partida. O resultado obtido é apresentado
na Figura 8.a.

Figura 7. Robô com tração diferencial evidenciando o posiciona-


Figura 6. Movimento em arco: a) Translação no eixo x e rotação no
mento dos sensores no robô.
eixo y. b) Translação no eixo y e rotação no eixo x.
Com a informação de posição (Figura 8.a) é possível
estimar a velocidade de forma direta, utilizando o con-
Os resultados obtidos para a contagem média de
transições de estado observadas em cada uma das traje- ceito de derivada como segue:
tórias são apresentados na tabela 2.     1
  1


Tabela 2. Experimentos com movimento composto.
onde y(k) e y(k-1) são a posição atual e a anterior do
Transições Transições Distância Distância robô, capturada pelo sensor e dt é o intervalo de tempo
Movimento
x (no) y (no) x (cm) y (cm) entre as amostras. A velocidade estimada através da
Figura 6.a 1778 7 185,34 0 equação 1, para o deslocamento apresentado na Figura
Figura 6.b 6 1808 0 157,08 8.a, está ilustrada na Figura 8.b.

Comparando os resultados das tabelas 1 e 2 é possí-


vel notar uma diferença entre a quantidade de transições
observadas para uma mesma distância percorrida pelo
sensor. As constantes de conversão Kx e Ky, calculadas
para os valores da tabela 2 são 9,6 e 11,5, respectiva-
mente. Esses valores são bem menores que os obtidos
através de movimentos puramente lineares, o que indica
uma resolução muito menor na medição do sensor para
este tipo de deslocamento, o que caracteriza a necessi-
dade de uma calibração diferenciada nesses casos.

3.2 Restrições holonômicas


A calibração diferenciada do sensor para os movimen-
tos em arco (Figura 6) faz necessário um método mais
sofisticado para a conversão de número de transições de
estado para centímetros. Entretanto, a depender do posi-
cionamento do sensor no robô, este tipo de movimento
não ocorrerá caso o mesmo possua restrições holonômi-
cas, mais especificamente em robôs com tração diferen-
cial (Figura 7). Para robôs com tração diferencial, o uso
dos valores de Ky e Kx obtidos na seção 3.1.1 é suficien- Figura 8. a) Posição estimada pelo método direto. b) Velocidade
te para estimar o movimento do sensor. estimada pelo método direto.
Considerando ainda o posicionamento dos sensores
(S1 e S2) indicados na Figura 7, é possível determinar o
movimento do robô através apenas de uma composição 4. Estimação de posição e velocidade utilizando o
dos movimentos observados no eixo y de cada um dos Filtro α-β.
sensores, já que as restrições holonômicas apresentadas
impossibilitam movimentos de translação no eixo x do
mesmo. A medição de posição obtida na Seção 3 possui um erro
de quantização associado a ela devido à natureza discre-
ta do sensor. Além disso, assim como nos encoders
3.3 Estimação direta de posição e velocidade ópticos, tradicionalmente utilizados para estimar a posi-
Nos experimentos que seguem, o sensor é submetido a ção do robô através de odometria, a informação de
movimentos considerando as restrições holonômicas posição é incremental, o que gera um erro acumulado
citadas na seção 3.2, o que faz necessário somente a que aumenta proporcionalmente à duração do movimen-
observação do deslocamento do sensor no eixo y. to.
Observando o sentido do movimento através da defa- Esses erros na determinação da posição são propaga-
sagem entre as transições de estado de Gya e Gyb é pos- dos e amplificados no cálculo da velocidade. O resulta-
sível estimar a posição relativa do sensor em relação à do é uma medição de velocidade muito sensível às vari-
ações abruptas de posição devido às limitações de reso-
lução do sensor, o que impossibilita a utilização dessa A relação ótima entre os parâmetros α-β é obtida pela
variável na realimentação de estados de um controlador, equação:
sem que se coloque em risco o desempenho do sistema
%  22  (  4√1  ( 13
de navegação.
No intuito de aumentar a confiabilidade da informa- Combinando as equações 12 e 13, os valores ótimos
ção obtida na Seção 3 é proposta a utilização do filtro α- dos parâmetros α-β podem ser obtidos explicitamente
β como uma etapa de pós-processamento. em termos de Λ, através das equações 14 e 15 que
seguem:
4.1 Filtro α-β !Λ 8Λ  Λ 4√Λ 8Λ#
( 14
8
O filtro α-β é uma solução ótima do filtro de Kalman
para processos estacionários em espaço de estados (Ka- Λ 4Λ  Λ√Λ 8Λ
β 15
lata et al., 1997). As equações são simplificadas em 4
relação ao filtro de Kalman, pois no cálculo do modelo
os seguintes parâmetros são considerados constantes 4.2 Estimação utilizando Filtro α-β
(Kalata et al., 1997):
Aplicando o filtro α-β aos dados do experimento de-
• Período de amostragem; monstrado na Figura 8, são obtidas as curvas de posição
• Variância do ruído medido; e velocidade ilustradas nas Figuras 9.a e 9.b, respecti-
• Aceleração. vamente. Através da análise dos gráficos da Figura 9 é
Considerando o deslocamento relativo entre o sensor possível observar a eficiência do processo de estimação
e o ambiente descrito como y(k) e supondo este deslo- utilizando o filtro α-β, principalmente no que diz respei-
camento linear, as seguintes equações descrevem esse to à velocidade, cuja variância do erro de medição di-
movimento. minuiu consideravelmente.

 1         2
 1     3
Onde T0 é período de amostragem e w(k) é a
aceleração desconhecida do movimento observado pelo
sensor.
O deslocamento do sensor é observado a partir dos
dados medidos pelo mesmo. Essas medidas podem ser
modeladas pela equação:
    4
onde n(k) é o ruído de medição, cuja distribuição deve
poder ser modelada por uma gaussiana para garantir a
otimalidade da estimação.
Considerando o caso específico deste trabalho, as
equações do filtro α-β utilizadas são apresentadas a
seguir:
Equações do Movimento Linear:
 1     5
Medição:
Figura 9. a) Posição estimada pelo método direto e filtro α-β.
    6 b) Velocidade estimada pelo método direto e filtro α-β.
Predição:
 1|  |  | 7 Um resultado semelhante ao apresentado na Figura 9
pode ser observado também na Figura 10, onde todo o
Estimação: experimento é repetido para uma trajetória com mais
 1| 1   1| Α 8 oscilações nas grandezas estimadas.
 1| 1  | Β 9
6. Conclusões e trabalhos futuros
onde:
Α  α!"  1   1|# 10
Neste trabalho foi apresentado um método de medição e
% estimação de posição e velocidade, utilizando o sensor
Β !  1   1|# 11
 " de fluxo óptico presente nos mouses comerciais. O
De acordo com (Kalata et al., 1997), o índice Λ é dado funcionamento do sensor foi exaustivamente verificado
por: para todas as possíveis formas de deslocamento para as
quais ele pudesse ser submetido (Figuras 4, 5 e 6), com
β
Λ  12 o intuito de obter uma calibração adequada para o sen-
1α sor utilizado. Um dos resultados mais importantes obti-
Para o caso de robôs sem restrições holonômicas o
estudo do número de sensores a utilizar para melhor
definir as trajetórias realizadas por ele e o posiciona-
mento relativo entre estes sensores também é um traba-
lho a ser considerado posteriormente.

Agradecimentos

Os autores gostariam de agradecer ao CNPq, à


CAPES e ao CENPES/PETROBRAS pelo suporte fi-
nanceiro e aos colegas pesquisadores do Departamento
de Engenharia Elétrica da Universidade Federal de
Sergipe que contribuíram com este trabalho.

Referências Bibliográficas

Bonarini, A.; (2004) A Kinematic-independent Dead-


Figura 10. a) Posição estimada pelo método direto e filtro α-β.
reckoning Sensor for Indoor Mobile Robotics.
b) Velocidade estimada pelo método direto e filtro α-β. IEEE/RSJ International Conference on Intelligent
Robots and Systems. Japão.
dos através destes experimentos é a pequena diferença Borenstein, J.; Everett, H. R.; Feng, L. (1996) Where
entre a contagem de transições de estado observada para am I? Sensors and Methods for Mobile Robot
uma mesma distância, o que permitiu a obtenção de Kx Positioning.
e Ky, para movimentos lineares (Figura 4), que conver- Bradshaw, J.; (2007) On the Development of an
tem diretamente o número de transições de estados em Enhanced Optical Mouse Sensor for Odometry and
centímetros através de uma simples divisão (Seção 3). Mobile Robotics Education. 39th Southeastern
Contudo, o método proposto como alternativa de Symposium on System Theory. Annapolis.
baixo custo ao uso de encoders convencionais apresen- Carvalho-Filho, J. G. N.; Carvalho, E. A. N.; Molina,
L.; Freire, E. O.; Luciano, Benedito, L. A.. (2008)
tou resultados com alta variância para o ruído de esti- “High Resolution Analogical Measurement of the
mação de velocidade (Figura 8). Nesse contexto, o Angular Velocity of a Motor Using a Low
Filtro α-β é apontado como uma solução ótima no sen- Resolution Optical Encoder”. Robocontrol`08.
tido da minimização da variância do ruído de medição. Freire, E. O. (2002) Controle de Robôs Móveis por
Após a etapa de pós-processamento utilizando o esti- Fusão de Sinais de Controle Usando Filtro de
mador ótimo (Figuras 9 e 10), pode ser observada uma Informação Descentralizado. PhD thesis.
atenuação considerável nesse ruído, que se não tratado Gamarra, Daniel F. T. (2008) Controle da Navegação de
corretamente, poderia comprometer o desempenho de um Robô Móvel em um Corredor com
um sistema de controle quando essas variáveis fossem Redundância de Controladores.
utilizadas como realimentação de estado. General description.(2003). PAN101B CMOS Optical
Entretanto, o sensor apresentou uma resolução dife- Navegation Sensor. Pixart Imaging INC.
renciada para os casos de movimento composto por Kalata, P. R.; Murphy, K. M. (1997) Alpha-Beta Target
Tracking and Track Rate Variations. Proc. of the
translação e rotação, o que impossibilita o uso de Kx e 29th Southeastern Symposium on System Theory,
Ky em robôs sem restrições holonômicas. Como traba- p. 70-74.
lho futuro, é proposto o desenvolvimento de uma estra- Kim, S.; Jeong, I.; Lee, S. (2007) Mobile Robot
tégia de decisão para determinação do tipo de movimen- Velocity Estimation Using an Array of Optical
to executado pelo robô (translação, rotação ou arco), e Flow Sensors. International Conference on Control,
partir desta informação escolher as constantes de con- Automation and Systems.
versão mais adequadas. Laureano, G. T.; De Paiva, M. S. V. (2004) Detecção de
Todos os experimentos foram realizados com ape- Obstáculos Utilizando Fluxo Óptico em Seqüências
nas um sensor estimando a posição e a velocidade na de Imagens.
direção y, pois com esta informação, proveniente de Ng, T.W. (2003) The optical mouse as a two-
dois sensores dispostos como ilustrado na Figura 7, é dimensional displacement sensor, Sensors and
possível determinar facilmente o deslocamento, orienta- Actuators A, vol. 107, pg. 21–25.
ção e as velocidades linear e angular de um robô como Palacin, J.; Valgañon, I.; Pernia, R. (2006) The optical
um todo (Freire, 2002). Entretanto, a adequação de um mouse for indoor mobile robot odometry
robô para carregar um par de sensores como este, não é measurement. Sensors and Actuators A, vol. 126,
trivial e requer certa precisão no posicionamento dos pg. 141–147.
mesmos para garantir a confiabilidade dos dados. Como Thakoor, Sarita, et al (2004) Insect-Inspired Optical-
um segundo trabalho futuro é proposto o estudo da Flow Navigation Sensors; NASA’s Jet Propulsion
propagação das incertezas de posicionamento do sensor Laboratory.
no robô móvel nos dados obtidos por eles.

Você também pode gostar