Вы находитесь на странице: 1из 7

XIII Simpósio Brasileiro de Automação Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

FILTRO DE KALMAN ESTENDIDO BASEADO EM VISÃO COMPUTACIONAL E


ODOMETRIA APLICADO À LOCALIZAÇÃO DE ROBÔS MÓVEIS

Fabrı́cio de Oliveira Coelho∗, João Pedro Carvalho de Souza∗, Milena Faria Pinto∗,
Guilherme Marins Maciel∗, André Marcato∗

Universidade Federal de Juiz de Fora
Programa de Pós-Graduação em Engenharia Elétrica
Juiz de Fora, Minas Gerais, Brasil

Emails: fabricio.coelho2010@engenharia.ufjf.br, joao.pedro@engenharia.ufjf.br,


milenafariaa@gmail.com, guilherme.marins@engenharia.ufjf.br, andre.marcato@ufjf.edu.br

Abstract— The accurately estimated localization is critical for an autonomous robot navigation. In this
context, the present paper proposes a localization method using odometry and computational vision. The
joining of the sensor information is done by the Extended Kalman filter. The results are valid graphically
and quantitatively for location with both known and unknown starting point.

Keywords— Localization, Mobile Robotics, Computer Vision, Extended Kalman Filter.

Resumo— A estimação da localização de forma precisa é de fundamental importância para a navegação


autônoma de robôs. Neste contexto, o presente artigo propõem um método de localização utilizando odometria
e visão computacional. A junção das informações dos sensores é realizada pelo filtro de Kalman Estendido.
Os resultados obtidos são apresentados graficamente e quantitativamente, para localização com ponto inicial
conhecido e desconhecido.
Palavras-chave— Localização, Robótica Móvel, Visão Computacional, Filtro de Kalman Estendido.

1 Introdução 1.1 Contribuição

A robótica móvel destaca-se na execução das mais Dado a importância de um sistema de localização
distintas tarefas, tais como: limpeza, vigilância e na área da robótica móvel, o presente trabalho
suporte a deficientes (da Silva Lima, 2010). Uma propõem um método de localização de robôs mó-
aplicação interessante na área de robótica móvel veis em ambientes simulados, conhecidos e estáti-
encontra-se em sua utilização em áreas de riscos cos utilizando o algoritmo de filtro de Kalman Es-
ao ser humano (Lattanzi and Miller, 2017). Adi- tendido (FKE). Opta-se por utilizar visão compu-
cionalmente os custos também são mitigados nes- tacional com uma câmera convencional. Os custos
ses casos. Contudo, a robótica móvel apresenta-se dessa abordagem são reduzidos em comparação a
como um desafio, visto que, diversos problemas um laser scan sem que haja perda de generali-
realizados de maneiras simples por seres humanos dade. Este trabalho também irá localizar o robô
são custosos para robôs, entre estes citam-se a lo- nos momentos que a posição inicial de navegação
calização e a navegação. é desconhecida bem como a solução para o pro-
Segundo (Thrun et al., 2005), a localização é blema de sequestro do robô em casos especı́ficos.
um problema básico em robótica, pois todas as O trabalho divide-se em seções e subseções. A
tarefas desempenhadas necessitam da posição em Seção 1 apresenta, além da introdução, os traba-
que o robô se encontra. Para isso é necessário que lhos correlacionados ao tema. A Seção 2 aborda a
o sistema robótico extraia o mı́nimo de caracte- modelagem do robô móvel, da odometria e da vi-
rı́sticas do ambiente. Já a navegação autônoma são computacional. Na Seção 3 será apresentado
consiste em deslocar um robô por um ambiente o algoritmo FKE com o propósito de localização.
tendo como objetivo atingir determinada posição Por fim, as Seções 4 e 5 expõem os resultados e as
caracterizada pela ausência de quaisquer controle conclusões respectivamente.
humano (Figueiredo, 1999). Metodologias que de-
mandam pouco processamento sempre serão pre- 1.2 Trabalho Correlacionados
teridas para que robôs desloquem-se e localizem-se
com eficiência. Para que um robô se localize, necessita-se da ex-
Conforme indicado em (Leite et al., 2015), a tração de informações do ambiente em que está
localização de robôs é susceptı́vel a diversos ti- inserindo. Estas extrações podem ser realizadas a
pos de problemas durante a missão como citam-se partir de diversos sensores: lasers, sonares, câme-
a imprecisão e ruı́do sensorial, determinação da ras, dentre outros. Em (Fox et al., 1999) os auto-
posição inicial e sequestro (Engelson and McDer- res propõe a localização utilizando um algoritmo
mott, 1992). Este último consiste na locomoção baseado no problema de Monte Carlo (filtro de
feita por um agente externo ao robô, avaliando o Partı́culas). Os resultados alcançados utilizando o
comportamento do sistema nessas situações. filtro de partı́culas foram satisfatórios, entretanto,

ISSN 2175 8905 1138


XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017
o custo computacional poderia se tornar um em- Este modelo foi simulado e baseia-se
pecilho na implementação caso processadores ro- em (Corke, 2011). A nova posição é computada
bustos não fossem utilizados. Com foco no desem- em espaços de tempo constante (∆t) em função
penho, vários estudos são desenvolvidos visando à das velocidades das rodas. As novas posições são
melhoria do processamento. Como exemplo o tra- encontradas a partir de incrementos conforme
balho (Li et al., 2016) propõe um método baseado mostrado na Equação 1.
em processamento paralelo que utiliza servidores      
online para a redução do tempo de localização de xt xt−1 ∆x
robôs. Nos dois casos relatados, o sensoriamento Xt =  yt  =  yt−1  + ∆y  (1)
por lasers é adotado. θt θt−1 ∆θ
Estudos envolvendo localização de robôs são
concebidos a partir da fusão de sensores como de- Os incrementos ∆x, ∆y e ∆θ correspondem
monstrado por (Paranhos, 2009), onde a localiza- aos deslocamentos realizados pelo sistema robó-
ção se mostrou eficiente devido à fusão entre as tico, os quais são apresentados pela Figura 1.
informações de um sensor GPS (Global Position
System) e um sensor inercial, tal como a IMU
(Inertial Measurement Unit). Entre outros traba-
lhos correlatos citam-se (de Medeiros et al., 2010)
e (Leite et al., 2015). O primeiro citado faz uso
de odometria associada a um sonar, enquanto o
segundo realiza a localização em um ambiente si-
mulado de robôs utilizando sonar fundido com
sensores de velocidades. Em ambos estudos, o
robô poderia apresentar dificuldades na localiza-
ção, pois eles poderiam detectar objetos no ambi-
ente e não encontrar a correspondência correta nos
mapas que são definidos previamente. As técnicas Figura 1: Deslocamento Incremental.
utilizadas em (de Medeiros et al., 2010) e (Leite
et al., 2015) basearam-se na teoria de filtro de Kal- Os termos ∆S1 e ∆S2 correspondem aos des-
man Estendido, ou FKE, para a fusão sensorial, locamentos de cada uma das rodas. Considerando
atingindo resultados satisfatórios na localização. pequenos incrementos de tempo ∆t pode-se afir-
mar que ∆S ' ∆S1 ' ∆S2 . Os deslocamentos
∆S e ∆θ dependem das velocidades e do incre-
2 Descrição do Sistema mento ∆t, logo, ∆S = v∆t e ∆θ = ω∆t. Mani-
pulando essas variáveis de acordo com a Figura 1,
O sistema é composto por um simulador de robô
tem-se:
móvel que conta com sensores de odometria e uma
∆θ
câmera. O sensor odométrico é responsável por ∆x = ∆S cos(θ + 2 )
estimar a posição, contudo possı́veis erros surgem ∆y = ∆S sin(θ + ∆θ
2 )
ao longo da navegação. Diante desta situação,
uma câmera é acoplada ao robô e através de vi- Então, o modelo incremental (g(ut , Xt−1 )) é
são computacional identificará caracterı́sticas do calculado de acordo com a Equação 2.
ambiente. Portanto, a fim de melhorar a estima-
∆S cos(θt−1 + ∆θ
     
xt xt−1 2 )
ção da posição pelo sistema robótico, o filtro de g(ut , Xt−1 ) = Xt = yt = yt−1 + ∆S sin(θt−1 + 2 )
     ∆θ 

Kalman Estendido é utilizado combinando as ca- θt θt−1 ∆θ


racterı́sticas tanto da odometria quanto da visão (2)
computacional. Em que ut corresponde ao vetor que repre-
As subseções a seguir apresentam a modela- senta as unidades de controle. É importante res-
gem matemática de todos os elementos que estão saltar que as variáveis v e ω não sofrem com ne-
inseridos neste trabalho: robô, odometria e câ- nhum ruı́do.
mera.
2.2 Modelo Odométrico
2.1 Modelo do Robô
O robô P3DX possui um sensor odométrico aco-
O modelo utilizado para representar o desloca- plado à suas rodas, estimando a posição quando o
mento do robô provê a posição Xt = (xt yt θt )T a sistema robótico se desloca. Entretanto os dados
partir da posição Xt−1 = (xt−1 yt−1 θt−1 )T con- são ruidosos, tornando necessário a sua utilização
siderando as unidades de controles impostas ao em concomitância a outro sensor para a melho-
robô v e ω, velocidades linear e angular respecti- ria da qualidade. A informação de movimento é
vamente. O robô simulado é a base robótica com definida apenas pela diferença da posição passada
tração diferencial P3DX (Suriyon et al., 2011). com a posição atual (Thrun et al., 2005).

1139
XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017
O movimento consiste em dividir o desloca-
mento realizado pelo robô em 3 movimentos bá-
sicos conforme apresentado na Figura 2. Pri-
meiro rotacionando-o (δrot1 ), depois deslocando-o
(δtrans) até o ponto xt e yt , e por fim, realizando
a última rotação (δrot2). Definindo a posição no Figura 3: AR Code.
instante t como Xt = [xt yt θt ] e no instante t − 1
como Xt−1 = [xt−1 yt−1 θt−1 ], os 3 movimentos de marcadores M = {m1 , m2 , ...}. Cada um des-
podem ser descritos de acordo com as Equações 3, ses elementos é caracterizado pela posição global
4 e 5. no mapa mj,x e mj,y .
De posse da distância euclidiana (r) e o ân-
gulo (φ) de orientação do robô até o marcador,
define-se o vetor Z como o conjunto de marca-
dores observados quando o robô se encontra na
posição Xt = [xt yt θt ]T . O modelo para um mar-
cador qualquer i associado ao AR Code j presente
no mapa e pertencente ao vetor Zt no instante t
é definido pela função h(xt , yt , θt ), conforme mos-
trado na Equação 7.
 q 
(mj,x − xt )2 + (mj,y − yt )2
rti
   
σ 2
h = Zit = =  +  2r
   
φit −1 mj,y − yt
tan − θt σφ
Figura 2: Modelo de Movimento. (Adaptado de mj,x − xt
Thrun et al., 2006). (7)
As variáveis σr2 e σφ2 pertencem ao vetor Ec
  e correspondem aos ruı́dos gaussianos com média
−1 yt − yt−1 0 e variância σr2 , σφ2 para distância e ângulo na
δ̂rot1 = tan − θt−1 (3)
xt − xt−1 extração dos AR codes, respectivamente.
p
δ̂trans = (xt−1 − xt )2 + (yt−1 − yt )2 (4) 3 Filtro de Kalman Estendido
δ̂rot2 = θt − θt−1 − δ̂rot1 (5)
O filtro de Kalman é uma técnica recursiva vol-
O modelo definido pelas Equações 3, 4 e 5 le- tada para sistemas dinâmicos, lineares que estão
vam em consideração apenas as leituras da odo- submetidos à ruı́dos (Kalman et al., 1960). A odo-
metria no instante t − 1 e t. O valor obser- metria e a câmera estão sob efeitos de ruı́dos gaus-
vado pelo sensor odométrico Mo é modelado pela sianos, entretanto seus respectivos modelos não
Equação 6, onde Mi = (δ̂rot1 δ̂trans δ̂rot2 )T e são lineares. Neste contexto, é necessário utilizar
Eo = (rot1 trans rot2 )T . A matriz Eo repre- o filtro de Kalman Estendido.
senta ruı́dos gaussianos para cada movimento . A O algoritmo FKE pode ser dividido em duas
média de cada ruı́do modelado é igual a zero e a fases: predição e atualização. Neste trabalho, a
2 2 2 primeira faz uma estimativa do estado a partir da
variância é igual a σrot1 , σtrans e σrot2 , respecti-
vamente. odometria. Já a segunda, consiste em atualizar a
Mo = Mi + Eo (6) predição, ou seja, corrigir o estado encontrado na
primeira fase. O sistema em que o FKE atuará na
2.3 Modelo da Câmera localização é definido nas Equações 8 e 9 (Thrun
et al., 2005), onde o sistema define a posição atual
Um método alternativo de sensoriamento que ob- (Xt ) dada as observações (Zt ) realizadas pela câ-
jetiva auxiliar a localização de robôs é a visão mera.
computacional (Suriyon et al., 2011). Algoritmos Xt = g(ut , Xt−1 ) + Eo (8)
de visão computacional, através de uma câmera,
podem detectar caracterı́sticas artificiais denomi- Zt = h(Xt ) + Ec (9)
nadas AR codes (Augmented Reality Code), Fi- Para se obter a posição Xt a partir da mo-
gura 3. Além de identificar caracterı́sticas, esses delagem do robô é necessário utilizar os sensores
algoritmos são capazes de estimar posição e orien- odométricos a partir do modelo de odometria. A
tação relativa, sendo empregado em diversos tra- função h corresponde ao modelo de observação da
balhos de robótica (Carvalho et al., 2016). câmera. Ambas funções são não lineares e foram
A contribuição do uso do AR Code na locali- definidas nas seções 2.2 e 2.3. Já as variáveis Eo e
zação é a associação do marcador artificial com o Ec correspondem aos ruı́dos gaussianos de odome-
seu respectivo mapa preestabelecido, já que os AR tria e de observação, respectivamente. A variável
codes distribuı́dos no ambientes serão únicos. O ut corresponde às unidades de controle, velocidade
mapa é definido previamente como um conjunto linear e angular.

1140
XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017
3.1 Fase de Predição 3.2 Fase de Atualização
A primeira fase do FKE utiliza apenas o modelo A segunda fase é responsável por corrigir a estima-
odométrico e é formada por duas Equações apre- tiva realizada pela predição. Esta fase só acontece
sentadas em 10 e 15. caso alguma observação feita pela câmera exista.
Neste sentindo, nas condições em que a câmera
X̄t = g(ut , X̄t−1 ) (10) não capture nenhum AR code a predição é a me-
Na Equação 10 realiza-se a predição da posi- lhor estimativa para o estado do sistema.
ção (X̄t ) a partir da posição anterior (X̄t−1 ) sub- A fase de atualização visa encontrar a posição
metidos à determinados sinais de controle (ut ). A (X̄t ) por estimação corrigindo a posição encon-
predição da posição é encontrada somando os in- trada na fase de predição. Primeiramente deve-se
crementos ∆x, ¯ ∆y ¯ à posição anterior (X̄t−1 ).
¯ e ∆θ obter o ganho de Kalman (Kt ) conforme mostrado
Pode-se chegar aos incrementos para o modelo de na Equação 19.
movimento a partir da Figura 2 conforme as Equa- Kt = Σ̄t H0t (Ht Σ̄t H0t + Qt )−1 (19)
ções 11, 12 e 13.
Na Equação 19, Ht (Equação 20) corresponde
¯ = δtrans cos(θt−1 + δrot1 )
∆x (11) ao jacobiano da função de observação (Equação 7)
¯ = δtrans sin(θt−1 + δrot1 ) para cada um dos i marcadores encontrados pela
∆y (12)
câmera. Já a matriz Qt corresponde à matriz di-
¯ = δrot1 + δrot2
∆θ (13) agonal de covariâncias do modelo da câmera.
Então a nova posição é dada pela função ∂hi1 ∂hi1 ∂hi1 x̄t − mj,x ȳt − mj,y
   
0
o(δrot1 , δtrans , δrot2 ), explicitada na Equação 14.  ∂ x̄
t ∂ ȳt ∂ θ̄t  rti rti
Ht =  =
 
∂hi2   ȳt − mj,y mj,x − x̄t

 ∂hi2 ∂hi2 
2 2 −1
¯ rti rti
 
∆x ∂ x̄t ∂ ȳt ∂ θ̄t
¯  (14)
o(δrot1 , δtrans , δrot2 ) = X̄t = X̄t−1 +  ∆y (20)
¯
∆θ O cálculo do ganho de Kalman no algoritmo
implementado considera todos AR codes presentes
A equação 15 é denominada erro de predição e
no ângulo de abertura da câmera, essa caracterı́s-
quantifica como está a estimativa da posição dada
tica garante uma melhoria na estimativa da posi-
pelo algoritmo.
ção. Após encontrar o ganho de Kalman, realiza-
Σ̄t = Gt Σt−1 GT
t + Rt (15) se a atualização do erro de predição e estima-se a
posição (X̄t ), conforme Equações 21 e 22.
O FKE manipula as não linearidades obtidas
nos modelos através do jacobiano. Considerando X̄t = X̄t + Kt (Zt − h(X̄t )) (21)
que as unidades de controle são constantes e não
dependem da posição, o termo Gt (Equação 16) Σ̄t = (I − Kt Ht )Σ̄t (22)
corresponde ao jacobiano da função de desloca-
Na Equação 21, o termo h(X̄t ) corresponde
mento (g) do robô em relação à posição X̄t (Equa-
à observação feita pelo robô utilizando a posição
ção 2). Já a matriz Rt é definida através da Equa-
estimada na fase de predição e o marcador identifi-
ção 17.
cado pela câmera. A parcela Zt −h(X̄t ) é denomi-
∂g1 ∂g1 ∂g1 nada inovação, ou seja, mostra o quanto o ganho
 
 ∂ x̄t ∂ ȳt ∂ θ̄t   ¯
 de Kalman deve ser efetivo na atualização do X̄t .
 ∂g 1 0 −∆y
2 ∂g2 ∂g2  ¯  Neste sentido, esta parcela compara a observação
Gt =   = 0 1 ∆x
  
 ∂ x̄t ∂ ȳt ∂ θ̄t  real com uma observação realizada do ponto esti-
 ∂g ∂g ∂g  0 0 1
3 3 3 mado na fase de predição.
∂ x̄t ∂ ȳt ∂ θ̄t
(16) 3.3 Algoritmo FKE

Rt = Ot Mt OT
t (17) O filtro de Kalman Estendido baseado na localiza-
ção, necessita de dois parâmetros na sua iniciali-
A variável Ot (Equação 18) é o jacobiano do
zação. O primeiro é uma posição inicial estimada
modelo de movimento utilizado na odometria con-
e o segundo é um erro de predição que deverá ser
forme mostrado na Equação 14 e Mt é a matriz di-
diferente de 0. Ao final do algoritmo, para que
agonal de covariâncias definida pelos ruı́dos gaus-
a recursividade seja aplicada, define-se a posição
sianos relacionados à odometria que estão presen-
estimada e o erro de predição conforme as Equa-
tes no modelo do sistema (Eo ).
ções 23 e 24.
∂o1 ∂o1 ∂o1 X̄t−1 = X̄t (23)
   ¯
∆x

¯
  −∆y 0 
 ∂δrot1 ∂δtrans ∂δrot2
 ∂o2 ∂o2 ∂o2   δ̂trans Σ̄t−1 = Σ̄t (24)
¯

Ot =  = ¯ ∆y
   
 ∂δrot1 ∂δtrans ∂δrot2   ∆y 0  Uma estrutura esquemática com as variáveis
∂o3 ∂o3 ∂o3 δ̂trans
  
∂δrot1 ∂δtrans ∂δrot2 1 0 1 do filtro de Kalman Estendido implementado com
(18) propósitos de navegação está na Figura 4.

1141
XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017

7
Caminho Verdadeiro
6 Odometria

y (m)
4

2 4 6 8
x (m)

Figura 6: Estimativa da posição via odometria.

1.5
Erro em x

Erro (m)
1
Erro em y
0.5

0
0 200 400 600 800 1000 1200 1400

|θ °t -θ °true |
Figura 4: Fluxograma do proposto filtro de Kal- 2

man Estendido.
0
0 200 400 600 800 1000 1200 1400
Tempo (passos)

4 Resultados Figura 7: Erros absolutos para odometria.

A simulação do algoritmo apresentado na seção


3 foi realizada utilizando o software Matlab. O plausı́vel, já que não há nenhuma correção da odo-
robô percorrerá um caminho aleatório pelo ambi- metria, ou seja, a resposta dada pelo sensor odo-
ente onde os AR codes foram distribuı́dos. Por métrico é a estimativa da posição.
se tratar de uma simulação, a variável tempo foi
discretizada em passos de tamanho ∆t conforme 4.2 Caso 2: Filtro de Kalman Estendido
apresentado na seção 2. O próximo resultado corresponde à aplicação do
O modelo de câmera utilizado foi o Microsoft algoritmo filtro de Kalman Estendido na locali-
LifeCam HD-5000 com um ângulo de abertura de zação do robô e o resultado é mostrado nas Fi-
66o a mesma utilizada em (Suriyon et al., 2011). guras 8 e 9. Vale ressaltar que o trajeto tomado
Foram distribuı́dos pelo pelo mapa 16 AR codes neste Caso 2 é o mesmo apresentado seção 4.1.
estáticos conforme mostrado na Figura 5 em um
ambiente de dimensões 10m × 8m. Neste trabalho
não foram considerados obstáculos que represen- 7 Caminho Verdadeiro
FKE
tassem chances de colisão. O ponto inicial de na- 6

vegação é Xi = [0.5 0.5 0]T . Já o ponto final de 5

navegação é simbolizado pelo desenho de um robô


y (m)

4
nas Figuras correspondentes aos resultados.
3

2 4 6 8
x (m)

Figura 8: Estimativa da posição via FKE.

Figura 5: Ambiente Simulado. Em comparação com a estimativa da posição


utilizando a odometria, percebe-se erros menores.
É possı́vel afirmar que no inı́cio da navegação, a
4.1 Caso 1: Odometria câmera realiza poucas observações e a localização
é dada pela odometria. Entretanto, com o decor-
O primeiro resultado corresponde à localização rer do tempo, os AR codes aparecem no campo de
utilizando somente a informação da odometria. visão da câmera e a localização é corrigida.
Os resultados correspondentes ao primeiro caso es- Comparando os resultados encontrados pela
tão nas Figuras 6 e 7. odometria com o FKE, observou-se a queda no
Analisando a Figura 6, é possı́vel perceber que erro absoluto como resumido na Tabela 1 nos Ca-
ao longo do tempo de movimentação do robô a di- sos 1 e 2.
ferença entre a posição verdadeira e a dada pela Como é de se esperar o número de marcadores
odometria vão se distanciando. Este resultado é influenciam na estimativa da posição. Deseja-se

1142
XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017
0.8
Erro em x tretanto, a medida em que o robô se movimenta a

Erro (m)
0.6
Erro em y
0.4 estimativa da localização é melhorada. No fim da
0.2
0
missão, os erros são pequenos quando comparados
0 200 400 600 800 1000 1200 1400
5
aos do inı́cio.
|θ °t -θ °true | 4

2 4
1 Erro em x

Erro (m)
0
0 200 400 600 800 1000 1200 1400 2
Erro em y
Tempo (passos)

0
0 200 400 600 800 1000 1200

Figura 9: Erros absolutos para o FKE. 60

|θ °t -θ °true |
40

o 20
Caso xm (m) ym (m) θm
0
1 0.40 0.53 1.73 0 200 400 600
Tempo (passos)
800 1000 1200

2 0.06 0.07 0.95


Figura 12: Erros absolutos para a posição inicial
Tabela 1: Erros absolutos médios. desconhecida.

um número reduzido de marcadores, a localização Ressalta-se que o Caso 3 necessita de um am-


é fortemente influenciada pelo ângulo de abertura biente que possuam AR Codes no campo de visão
da câmera. A realização dos testes, utilizando o da câmera para que a fase de atualização do FKE
modelo comercial Genius WideCam F100 com ân- corrija a posição do sistema robótico.
gulo de abertura de 120o resultou na redução de
aproximadamente 50% de erro absoluto médio nas 4.4 Caso 4: Filtro de Kalman Estendido com Se-
coordenadas x e y. A Figura 10 corresponde aos questro de Robôs
erros absolutos médios deste processo.
Dado os resultados apresentados na seção 4.3, é
0.8
Erro em x
interessante simular o sequestro mencionado na
Erro (m)

0.6
0.4
Erro em y Seção 1. O robô inicia a navegação do ponto
0.2 Xi , entretanto, no meio da missão, o dispositivo é
0

6
0 200 400 600 800 1000 1200 1400 deslocado de maneira instantânea para a posição
Xs = [0.5 6 3π T
2 ] . As Figuras 13 e 14 mostram os
|θ °t -θ °true |

2 resultados.
0
0 200 400 600 800 1000 1200 1400
Tempo (passos)

6
Figura 10: Erros absolutos para o FKE.
5

4
y (m)

4.3 Caso 3: Filtro de Kalman Estendido com 3


Posição Inicial Desconhecida
2
Caminho Verdadeiro
A próxima localização destina-se a realizar o mo- 1
FKE
vimento sem que o robô saiba sua localização ini- 0 2 4 6
cial. Para o teste desta seção definiu-se a estima- x (m)
tiva inicial de Xi = [4 4 0]T e as Figuras 11 e 12 Figura 13: Estimativa da posição via FKE com
apresentam os resultados deste Caso 3. sequestro de robôs.

7
Caminho Verdadeiro 3
Erro em x
6 FKE
Erro (m)

2
Erro em y
1
5
0
y (m)

0 50 100 150 200 250 300 350 400


4 200
|θ °t -θ °true |

3
100

2
0
0 50 100 150 200 250 300 350 400
1 Tempo (passos)

2 4 6 8
x (m) Figura 14: Erros absolutos para o sequestro de
Figura 11: Estimativa da posição via FKE. robôs.

Quando a posição inicial é desconhecida o Para o Caso 4, percebe-se que o robô conse-
robô começa com grandes erros na localização, en- gue se localizar após ser sequestrado. Contudo, há

1143
XIII Simpósio Brasileiro de Automação Inteligente
Porto Alegre – RS, 1o – 4 de Outubro de 2017
uma necessidade que o sistema de visão computa- Figueiredo, M. (1999). Navegação Autônoma de
cional observe AR Codes para que a localização Robôs, Livro da VII ERI (Escola de Informá-
volte a ser eficiente. tica da SBC).

Fox, D., Burgard, W., Dellaert, F. and Thrun,


5 Conclusões S. (1999). Monte carlo localization: Effi-
cient position estimation for mobile robots,
É possı́vel verificar que o filtro de Kalman Esten-
AAAI/IAAI 1999(343-349): 2–2.
dido é eficiente para o problema da localização de
robôs. A modelagem matemática dos elementos Kalman, R. E. et al. (1960). A new approach to li-
que compõe o problema permitiram a implemen- near filtering and prediction problems, Jour-
tação do algoritmo. nal of basic Engineering 82(1): 35–45.
O uso da visão computacional associam os
marcadores extraı́dos do ambiente com o mapa Lattanzi, D. and Miller, G. (2017). Re-
preestabelecido de forma satisfatória. As câme- view of robotic infrastructure inspection
ras, se comparadas à sensores lasers scans, pos- systems, Journal of Infrastructure Systems
suem um custo menor tornando este trabalho mais p. 04017004.
interessante do ponto de vista econômico.
Leite, D., Figueiredo, K. and Vellasco, M. (2015).
O trabalho também obteve sucesso em soluci-
Localização por Kalman Estendido Aplicado
onar os problemas correspondentes à posição ini-
a Mapas Baseados em Marcos Com e Sem
cial desconhecida e o sequestro do robô para casos
Correspondência Conhecida, XII Simpósio
especı́ficos. Nos dois casos, os erros médios abso-
Brasileiro de Automação Inteligente (SBAI).
lutos tendem aumentar, entretanto, quando novos
AR codes são observados o robô começa a corrigir Li, C.-Y., Li, I.-H., Chien, Y.-H., Wang, W.-Y.
sua posição. and Hsu, C.-C. (2016). Improved monte carlo
Para trabalhos futuros, pretende-se migrar do localization with robust orientation estima-
ambiente de simulação para a prática para que o tion based on cloud computing, Evolutionary
algoritmo proposto seja consolidado. Computation (CEC), 2016 IEEE Congress
on, IEEE, pp. 4522–4527.
Agradecimentos
Paranhos, P. M. (2009). Sensores GPS e Inercial
Os autores agradecem ao suporte da CAPES, por um Filtro de Kalman, PhD thesis, PUC-
CNPq, FAPEMIG, UFJF, PPEE, ANEEL e Rio.
CTG. Suriyon, T., Keisuke, H. and Choompol, B.
(2011). Development of guide robot by using
Referências qr code recognition, The Second TSME In-
ternational Conference on Mechanical Engi-
Carvalho, J. P., Jucá, M., Menezes, A., Mar- neering, Vol. 21.
cato, A., Bessa, A. d. S. and Olivi, L. (2016).
Landing a uav in a dynamical target using Thrun, S., Burgard, W. and Fox, D. (2005). Pro-
fuzzy control and computer vision, CBA2016, babilistic robotics (intelligent robotics and
pp. 2636–2641. autonomous agents).

Corke, P. (2011). Robotics, vision and con-


trol: fundamental algorithms in MATLAB,
Vol. 73, Springer.

da Silva Lima, D. (2010). Localização Absoluta


de Robôs Móveis em Ambientes Industriais,
Faculdade de Engenharia da Universidade do
Porto, Porto, Portugal.

de Medeiros, I. P., Buonocore, L. and Júnior, C.


L. N. (2010). Localização de robô móvel ba-
seada em filtro de kalman estendido usando
um sonar.

Engelson, S. P. and McDermott, D. V. (1992).


Error correction in mobile robot map lear-
ning, Robotics and Automation, 1992. Proce-
edings., 1992 IEEE International Conference
on, IEEE, pp. 2555–2560.

1144

Вам также может понравиться