LOCALIZAC˘AO DE ROB~ OS M^ OVEIS EM TERRENOS ...victorcosta/pdfs/Macharet_2009b_SBAI.pdfUma das...

6
LOCALIZA ¸ C ˜ AO DE ROB ˆ OS M ´ OVEIS EM TERRENOS IRREGULARES Douglas G. Macharet * , Mario F. M. Campos * , Armando A. Neto * , V´ ıctor C. da S. Campos * * Universidade Federal de Minas Gerais Departamento de Ciˆ encia da Computa¸ c˜ao Laborat´oriodeVis˜aoComputacionaleRob´otica Belo Horizonte, MG, Brasil Emails: [email protected], [email protected], [email protected], [email protected] Abstract— A fundamental premise for a mobile robot to perform its tasks is the knowledge of its location. This article addresses the estimating of the attitude of mobile robots navigating in environments with uneven terrain. From the information of different sensors and using the UKF for the calculation of attitude it was possible to obtain good results for the localization in outdoor environments. Keywords— Localization, Inertial Navigation, UKF. Resumo— Uma premissa fundamental para que um robˆo m´ ovel consiga executar suas tarefas ´ e que ele possua conhecimento de sua localiza¸c˜ao. Portanto, este artigo aborda o c´ alculo da atitude de robˆ os m´oveis navegando em ambientes que possuem terrenos irregulares. A partir das informa¸c˜oes provindas de diferentes sensores e utilizando-se o UKF para o c´alculo da atitude foi poss´ ıvel obter bons resultados para a localiza¸c˜ ao em ambientes externos. Palavras-chave— Localiza¸c˜ao,Navega¸ c˜ao Inercial, UKF. 1 Introdu¸c˜ ao Atualmente, grandes avan¸cos est˜ ao sendo obtidos na rob´ otica m´ ovel. ´ Area essa, respons´ avel por estu- dar os robˆ os m´ oveis, aqueles que podem locomover- se no ambiente em que est˜ ao inseridos. Robˆ os oveis possuem diversas aplica¸c˜ oes, por exemplo aexplora¸c˜ ao de ambientes perigosos ou de dif´ ıcil acesso para o ser humano. Uma das principais linhas de pesquisa na ´ area da rob´ otica m´ ovel est´ a ligada ao estudo de como prover uma maior autonomia aos robˆ os, principalmente nas quest˜ oes ligadas ` a sua loco- mo¸ ao, ou seja, dimuindo a necessidade de aux´ ı- lio/acompanhamento humano das tarefas designa- das aos robˆ os. Existem duas divis˜ oes b´ asicas de pesquisa ba- seadas no ambiente onde o robˆ o ir´ a trafegar. Uma aborda agentes que se locomovem principalmente no interior de edifica¸ oes, a chamada navega¸c˜ ao indoor, enquanto a outro trata da locomo¸c˜ ao de robˆ os em ambientes externos, como por exemplo campos, estradas e outros, essa sendo chamada de navega¸c˜ ao outdoor. Durante a navega¸c˜ ao de um robˆ o em um am- biente interno, a condi¸ ao do piso ´ e de pouca (ou nenhuma) relevˆ ancia para suas tomadas de deci- oes, pois n˜ ao ´ e esperado que se encontrem buracos, rochas ou outros tipos de imperfei¸c˜ oes mais graves durante a trajet´ oria. a em um ambiente externo o relevo do ter- reno exerce grande influˆ encia na navega¸ ao do robˆ o. Dentre os problemas encontrados em um ambiente externo, podemos citar como os principais: bura- cos, aclives/declives e diferentes tipos de terreno (e.g. brita, areia, asfalto, grama). Estando em um ambiente outdoor o robˆ o ao se locomover tende a ocupar posi¸c˜ oes dispostas nas trˆ es dimens˜ oes do espa¸ co, al´ em de poder as- sumir qualquer orienta¸c˜ ao ao longo dos trˆ es eixos de rota¸ ao, o que o leva a apresentar seis graus de liberdade. Sua configura¸c˜ ao passa a ser represen- tada pelo vetor x y z φ θ ψ T , onde φ corresponde ao ˆ angulo de rolamento (roll ), θ ao ˆ angulo de arfagem (pitch )e ψ angulo de guinada (yaw ) do robˆ o. Portanto, o problema de localiza¸c˜ ao a ser abor- dado est´ a na determina¸ ao da posi¸c˜ ao e orienta¸c˜ ao do robˆ o no espa¸ co ao navegar em um ambiente externo. 2 Trabalhos Relacionados Sistemas que envolvem o c´ alculo da localiza¸c˜ ao do robˆ o s˜ ao bastante pesquisados na ´ area de Ro- otica e Vis˜ ao Computacional, uma vez que essa informa¸c˜ ao ´ e fundamental. Logo, ´ e poss´ ıvel se encontrar v´ arias referˆ encias relacionadas ao tema deste trabalho. A localiza¸ ao de um robˆ e uma tarefa di- ıcil, principalmente em terrenos irregulares. A localiza¸ ao baseada somente nas informa¸ oes de odometria produz resultados com alto n´ ıvel de erro, entretanto, ainda ´ e vastamente utilizada para na- vega¸ oes em um plano (2D). Por´ em, sua utiliza¸c˜ ao se torna extremamente limitada quando se deseja saber a posi¸c˜ ao no espa¸co (3D). Para amenizar os problemas inerentes ` a odo- metria, a solu¸c˜ ao ´ e incorporar novos sensores ao sistema e realizar uma fus˜ ao dos dados coletados, obtendo uma localiza¸ ao mais robusta e precisa.

Transcript of LOCALIZAC˘AO DE ROB~ OS M^ OVEIS EM TERRENOS ...victorcosta/pdfs/Macharet_2009b_SBAI.pdfUma das...

  • LOCALIZAÇÃO DE ROBÔS MÓVEIS EM TERRENOS IRREGULARES

    Douglas G. Macharet∗, Mario F. M. Campos∗, Armando A. Neto∗, V́ıctor C. da S.Campos∗

    ∗ Universidade Federal de Minas GeraisDepartamento de Ciência da Computação

    Laboratório de Visão Computacional e RobóticaBelo Horizonte, MG, Brasil

    Emails: [email protected], [email protected], [email protected], [email protected]

    Abstract— A fundamental premise for a mobile robot to perform its tasks is the knowledge of its location.This article addresses the estimating of the attitude of mobile robots navigating in environments with uneventerrain. From the information of different sensors and using the UKF for the calculation of attitude it was possibleto obtain good results for the localization in outdoor environments.

    Keywords— Localization, Inertial Navigation, UKF.

    Resumo— Uma premissa fundamental para que um robô móvel consiga executar suas tarefas é que ele possuaconhecimento de sua localização. Portanto, este artigo aborda o cálculo da atitude de robôs móveis navegandoem ambientes que possuem terrenos irregulares. A partir das informações provindas de diferentes sensores eutilizando-se o UKF para o cálculo da atitude foi posśıvel obter bons resultados para a localização em ambientesexternos.

    Palavras-chave— Localização, Navegação Inercial, UKF.

    1 Introdução

    Atualmente, grandes avanços estão sendo obtidosna robótica móvel. Área essa, responsável por estu-dar os robôs móveis, aqueles que podem locomover-se no ambiente em que estão inseridos. Robôsmóveis possuem diversas aplicações, por exemploa exploração de ambientes perigosos ou de dif́ıcilacesso para o ser humano.

    Uma das principais linhas de pesquisa naárea da robótica móvel está ligada ao estudo decomo prover uma maior autonomia aos robôs,principalmente nas questões ligadas à sua loco-moção, ou seja, dimuindo a necessidade de aux́ı-lio/acompanhamento humano das tarefas designa-das aos robôs.

    Existem duas divisões básicas de pesquisa ba-seadas no ambiente onde o robô irá trafegar. Umaaborda agentes que se locomovem principalmenteno interior de edificações, a chamada navegaçãoindoor, enquanto a outro trata da locomoção derobôs em ambientes externos, como por exemplocampos, estradas e outros, essa sendo chamada denavegação outdoor.

    Durante a navegação de um robô em um am-biente interno, a condição do piso é de pouca (ounenhuma) relevância para suas tomadas de deci-sões, pois não é esperado que se encontrem buracos,rochas ou outros tipos de imperfeições mais gravesdurante a trajetória.

    Já em um ambiente externo o relevo do ter-reno exerce grande influência na navegação do robô.Dentre os problemas encontrados em um ambienteexterno, podemos citar como os principais: bura-cos, aclives/declives e diferentes tipos de terreno(e.g. brita, areia, asfalto, grama).

    Estando em um ambiente outdoor o robô aose locomover tende a ocupar posições dispostasnas três dimensões do espaço, além de poder as-sumir qualquer orientação ao longo dos três eixosde rotação, o que o leva a apresentar seis graus deliberdade. Sua configuração passa a ser represen-tada pelo vetor

    [x y z φ θ ψ

    ]T , onde φcorresponde ao ângulo de rolamento (roll), θ aoângulo de arfagem (pitch) e ψ o ângulo de guinada(yaw) do robô.

    Portanto, o problema de localização a ser abor-dado está na determinação da posição e orientaçãodo robô no espaço ao navegar em um ambienteexterno.

    2 Trabalhos Relacionados

    Sistemas que envolvem o cálculo da localizaçãodo robô são bastante pesquisados na área de Ro-bótica e Visão Computacional, uma vez que essainformação é fundamental. Logo, é posśıvel seencontrar várias referências relacionadas ao temadeste trabalho.

    A localização de um robô é uma tarefa di-f́ıcil, principalmente em terrenos irregulares. Alocalização baseada somente nas informações deodometria produz resultados com alto ńıvel de erro,entretanto, ainda é vastamente utilizada para na-vegações em um plano (2D). Porém, sua utilizaçãose torna extremamente limitada quando se desejasaber a posição no espaço (3D).

    Para amenizar os problemas inerentes à odo-metria, a solução é incorporar novos sensores aosistema e realizar uma fusão dos dados coletados,obtendo uma localização mais robusta e precisa.

  • Um dos sensores mais utilizados é uma IMU(Borenstein and Feng, 1996), que na maioria doscasos possui três giroscópios e três acelerômetros,dispostos de maneira mutuamente ortogonal. Oprincipal problema na utilização desse sensor estános rúıdos associados aos sinais medidos, como obias que provoca, entre outros efeitos, o problemade deriva (ou drift) no processo de integração dosdados.

    Existem várias técnicas que podem ser utiliza-das para a realização da fusão de dados fornecidospor sensores, dentre as mais conhecidas podemoscitar Filtros de Part́ıculas, Filtragem Complemen-tar e Filtro de Kalman.

    Filtros de Part́ıculas (e.g. Monte Carlo Locali-zation (MCL)) são comumente utilizados para se re-alizar a localização no plano (2D) (Fox et al., 2001),e principalmente em ambientes internos. Entre-tanto, o custo computacional da técnica é proporci-onal ao número de part́ıculas sendo utilizado, logo,ao lidar com localização no espaço (3D) a quanti-dade de part́ıculas cresce bastante, assim como acomplexidade.

    Uma outra técnica interessante é a FiltragemComplementar, que permite o casamento de si-nais confiáveis em diferentes faixas de freqüência.Esta técnica foi utilizada com sucesso em proces-sos de navegação aérea, conforme visto em (Iscoldet al., 2007), tendo como principais vantagens, obaixo custo computacional e a simplicidade doajuste dos parâmetros do algoritmo. A principaldificuldade em utilizar essa técnica está na ne-cessidade de se construir o sistema utilizando-sesensores que forneçam informações em freqüênciascomplementares.

    Já o Filtro de Kalman (Filtro de Kalman(Kalman Filter, ou KF), Filtro de Kalman Es-tendido (Extended Kalman Filter, ou EKF), Filtrode Kalman Unscented (Unscented Kalman Filter,ou UKF), etc) possui eficácia comprovada, e é umadas técnicas mais utilizadas atualmente. Podemosencontrar em (Liu et al., 2005) um sistema com-posto por uma IMU e também um GPS. A fusãodos dados dos sensores foi feita utilizando-se umKF padrão, que é utilizado para sistemas lineares.Também temos o uso de IMU/GPS em (Walchkoand Mason, 2002), onde foi utilizado o EKF.

    Já em (Zhang et al., 2005) temos a adição deum novo sensor, uma bússola digital, útil princi-palmente no cálculo do ângulo de guinada do robô.A fusão das informações de IMU/GPS/bússola foirealizada com o uso do UKF, também uma imple-mentação do KF para sistemas não-lineares.

    3 Metodologia

    3.1 Filtro de Kalman

    O KF é um estimador ótimo para sistemas linea-res, entretanto, a maior parte das aplicações em

    robótica são constitúıdas por sistemas não linea-res, como é o caso desse trabalho. Consideradoessas dificuldades, uma das especializações do KFpara sistemas não lineares desenvolvida foi o UKF(Julier and Uhlmann, 1997).

    A partir de uma gaussiana n-dimensional demédia v (estaremos representando essa variável porum vetor de estados ~x de dimensão n) e possuindocovariância P, temos 2n+ 1 pontos Sigma que sãoobtidos a partir das Equações (1):

    X [0] = ~x, (1a)

    X [i] = ~x+(√

    (n+ λ)P)

    [i]∀i = 1,...,n,

    (1b)

    X [i] = ~x−(√

    (n+ λ)P)

    [i−n]∀i = n+1,...,2n.

    (1c)

    A notação [i] significa a i-ésima coluna damatriz resultante do cálculo de

    √(n+ λ)P . O

    fator λ é definido de acordo com a Equação (2),

    λ = α2(n+ κ)− n, (2)

    onde α e κ são fatores de escala que determinam adistância em que os pontos Sigma estarão dispersosda média. Geralmente assume-se para α um valorpositivo pequeno (e.g., 10−3), já κ costuma ter seuvalor fixado em κ = 0.

    Cada ponto Sigma possui associado a si doispesos, representados por w[i]m e w

    [i]c , calculados a

    partir das Equações (3), com β = 2 ótimo paradistribuições gaussianas:

    w[0]m =λ

    n+ λ, (3a)

    w[0]c =λ

    n+ λ+ (1− α2 + β), (3b)

    w[i]m = w[i]c =

    12(n+ λ)

    ∀i = 1,...,2n. (3c)

    Os pontos Sigma calculados são então propa-gados por uma função f(•) (Equação (4)),

    Υ[i] = f(X [i]). (4)

    O novo estado (~x ′) e sua covariância (P ′)podem então ser calculados pela Equação (5) eEquação (6), respectivamente,

    ~x ′ =2n∑i=0

    w[i]mΥ[i], (5)

    P ′ =2n∑i=0

    w[i]c (Υ[i] − ~x ′)(Υ[i] − ~x ′)T . (6)

    O UKF possui algumas vantagens em relaçãoao EKF. Ambos possuem a mesma complexidadeassintótica, e para sistemas não lineares o UKFproduz resultados tão bons ou melhores que o EKF(Thrun et al., 2005). Além disso o UKF não neces-sita da computação das jacobianas, aumentandoassim sua facilidade de implementação.

  • 3.2 Cálculo da Atitude

    Decidiu-se que o vetor de estados deveria conterapenas as informações de localização (x, y, z) e ori-entação (φ, θ, ψ), tendo então a forma apresentadana Equação (7),

    ~x =[x y z φ θ ψ

    ]T. (7)

    O vetor de controle a ser utilizado contém asinformações de gx, gy e gz, que correspondem àsvelocidades angulares em torno dos eixos de ro-lamento, arfagem e guinada, respectivamente, esão obtidas pelos giroscópios da Unidade de Medi-ção Inercial (Inertial Measurement Unit, ou IMU),além do valor da velocidade linear v fornecido pelaodometria.

    Temos então o vetor de entrada do modeloapresentado na Equação (8),

    ~u =[gx gy gz v

    ]T. (8)

    Os valores gx, gy, gz e v são recuperados noinstante de tempo t. Utilizando então as infor-mações passadas através do vetor de controle éposśıvel calcular a estimativa do estado atual àpartir das Equações (9), são elas:

    xt = xt−1 + cosψt cos θtv∆t, (9a)yt = yt−1 + sinψt cos θtv∆t, (9b)zt = zt−1 + sin θv∆t, (9c)φt = φt−1 + (gx + gy tan θt−1 sinφt−1+

    gz tan θt−1 cosφt−1)∆t, (9d)θt = θt−1 + (gy cosφt−1 − gz sinφt−1)∆t, (9e)

    ψt = ψt−1 +(gy

    sinφt−1cos θt−1

    − gzcosφt−1cos θt−1

    )∆t.

    (9f)

    O cálculo de ψt apresenta pontos de singulari-dade para θt−1 = ±π/2, entretanto, esse fato nãoserá relevante no contexto desse trabalho, uma vezque o robô não deve obter tais valores de pitchdurante sua navegação.

    O próximo passo a ser realizado é a etapa decorreção, que ocorre a partir dos valores presentesno vetor de observações. As informações fornecidassão xGPS e yGPS obtidos do Global PositioningSystem (GPS), os valores das acelerações nos trêseixos locais dados pelos acelerômetros da IMU, etambém o valor absoluto de orientação ψb fornecidopela bússola.

    A bússola retorna valores no intervalo [0, 2π[,onde o 0 representa o Norte magnético da Terrae os valores aumentam no sentido horário, porém,no sistema geométrico convencional é consideradoque um giro no sentido anti-horário deve produzirvalores positivos de orientação, logo, temos entãoque ψb = π/2− ψbr, onde ψbr significa o valor rawde orientação retornado pela bússola.

    Além disso, um outro fator relacionado à bús-sola e que deve ser tratado é o fato de que o Norte

    magnético referenciado pela bússola não necessari-amente é o Norte geográfico da Terra (true north).Essa diferença entre os valores que o campo mag-nético da Terra sofre é chamada de variação oudeclinação magnética, e está diretamente ligadaao tempo e localização no globo terrestre. Paraobtermos o valor do Norte real, basta realizarmoso cálculo Norte Real = Norte Magnético - Varia-ção, onde o valor da variação para localização ondeocorreu o desenvolvimento desse trabalho possuivalor de ≈ 21, 7◦.

    O vetor de observação é representado pelaEquação (10),

    ~z =[xGPS yGPS ax ay az ψb

    ]T.(10)

    Os valores estimados para x, y e ψ na etapa depredição são avaliados diretamente pelos valoresda observação xGPS , yGPS e ψb. Os valores de φ, θsão corrigidos através do cálculo de φa e θa, obtidosa partir das Equações (12) e (11), respectivamente,

    θa = arcsin(axgr

    ), (11)

    φa = arcsin(

    ay−gr cos θa

    ). (12)

    Os cálculos baseiam-se no vetor aceleração dagravidade, entretanto durante experimentos reali-zados observou-se que os valores φa e θa podemobter valores maiores que a aceleração da gravi-dade (g ≈ 9, 78m/s2) caso o terreno onde o robôtrafega seja extremamente acidentado, o que gerauma inconsistência trigonométrica nas Equações(12) e (11). Para solucionar tal problema optou-se por realizar os cálculos utilizando como valordo vetor aceleração da gravidade a resultante dasacelerações, gr =

    √a2x + a2y + a2z.

    Ao utilizarmos dados fornecidos por aparelhosde GPS é preciso lidar com dois problemas: quedade sinal (são necessários no mı́nimo quatro satélitespara que a posição possa ser calculada) e o efeitodenominado random walk (quando o receptor seencontra em baixas velocidades (ou parado), evalores aleatórios dentro de um raio passam a serobservados).

    É proposto então um modelo para o cálculodinâmico da variância do GPS. Optou-se por de-senvolver um modelo próprio, uma vez que as in-formações de qualidade fornecidas pelo GPS nãose mostraram confiáveis.

    As variâncias individuais das informações obti-das a partir do GPS (xGPS , yGPS) serão calculadasem cada instante de tempo e fornecidas à matrizde covariância, onde as variâncias serão iguais paraas duas informações e são inversamente proporcio-nais ao número de satélites e à velocidade do robôem um dado momento. Os valores para os demaissensores são constantes no tempo e foram definidosde forma emṕırica.

  • A parcela da variância associada à influênciado números de satélites (Cn) e velocidade (Cv) sãocalculadas separadamente através das Equações(13) (n sendo o número de satélites viśıveis) e (14)(v sendo a velocidade linear do robô) respectiva-mente, e depois somadas para se obter o valor davariância dos valores obtidos do GPS e que devemser atribúıdas à matriz de covariância, Equação(15), onde:

    Cn =

    {Pn×Mn

    n se n > 3,∞ caso contrário

    , (13)

    Cv =

    {Pv×Mv

    v se ≥ vmin,∞ caso contrário

    , (14)

    CGPS = Cn + Cv. (15)

    Temos que Pn + Pv = 1, e representam a por-centagem de influência no sistema que se desejaatribuir a cada fator (número de satélites, velo-cidade), e Mn e Mv representam valores médiosesperados no sistema para esses mesmos fatores.

    4 Experimentos

    Para o cálculo da sua atitude o robô utiliza os dadosfornecidos por uma IMU, um GPS, uma bússoladigital, além de informações da Odometria do robô,a Figura 1 apresenta a disposição dos sensoressobre a plataforma. Durante os experimentos orobô navegou pelo ambiente guiado através de umjoystick.

    Figura 1: Recursos utilizados no trabalho.

    4.1 Experimento 1

    Este experimento possui como principal objetivoavaliar o método utilizado para o cálculo da vari-ância das informações do GPS quando ocorre umaperda de sinal ou quando o robô está trafegandoa uma velocidade muito baixa (ou se encontraparado).

    Deve-se salientar que em nenhum momentodurante a realização desse experimento o robô pos-súıa um número menor que sete satélites em visada,logo, para a verificação do método será adotadoque a partir de um dado momento o robô não re-cebia mais o sinal de nenhum satélite, simulandoassim uma queda completa de sinal.

    As imagens da Figura 2 apresentam a trajetó-ria estimada para a navegação realizada pelo robôdurante o experimento.

    −150 −100 −50 0 50

    −200

    −150

    −100

    −50

    0

    X (m)

    Y (

    m)

    MetodologiaGPS

    Figura 2: Trajetória realizada no Experimento 1.

    A Figura 3 mostra em destaque os momentosem que a baixa velocidade do robô fez com quê asinformações obtidas do GPS sofressem do efeito derandom walk (os dados do GPS foram ligados parauma melhor visualização). O cálculo da variân-cia baseada na informação de velocidade produziubons resultados, reduzindo drasticamente (e em al-guns casos eliminando completamente) a influênciado random walk, exibindo caminhos mais suavese realistas para o trajeto realizado e mostrando-se uma forma eficaz de melhorar a estimativa delocalização do robô.

    −1 −0.5 0 0.5 1 1.5 2

    −2

    −1.5

    −1

    −0.5

    0

    0.5

    X (m)

    Y (

    m)

    MetodologiaGPS

    13 13.5 14 14.5 15 15.5 16 16.5 17

    −42.5

    −42

    −41.5

    −41

    −40.5

    −40

    −39.5

    −39

    X (m)

    Y (

    m)

    MetodologiaGPS

    Figura 3: Tratamento do efeito de random walk.

    A próxima etapa consistiu em simular a quedado sinal durante um determinado peŕıodo de tempo,verificando-se que a partir dos valores calculadospara a variância os dados fornecidos pelo GPSpassam a ser ignorados na etapa de correção.

    A Figura 4 exibe os resultados obtidos paraa simulação de queda de sinal É posśıvel observarque um pequeno erro na orientação gera grandes er-ros na localização, onde grande parte do erro aquiobservado está relacionado à odometria, esse fatofica bem evidente na figura que destaca o ińıcio dotrajeto, onde nota-se o erro na estimativa de deslo-camento do robô, erro esse devido principalmente àcaracteŕıstica irregular do terreno. Entretanto, tãologo o sinal do GPS se torna dispońıvel novamentea trajetória já começa a ser corrigida.

    O robô trafegou por uma distância de ≈ 200msem utilizar o sinal do GPS, e no instante ante-rior ao sinal se tornar novamente dispońıvel haviauma diferença entre a localização atual e a locali-zação calculada utilizando-se o GPS durante todoo percurso de 30, 6m.

  • −150 −100 −50 0 50

    −200

    −150

    −100

    −50

    0

    X (m)

    Y (

    m)

    MetodologiaSem SinalGPS

    −40 −20 0 20 40

    −80

    −70

    −60

    −50

    −40

    −30

    −20

    −10

    0

    10

    X (m)

    Y (

    m)

    MetodologiaSem SinalGPS

    −120 −110 −100 −90 −80 −70 −60 −50 −40

    −210

    −200

    −190

    −180

    −170

    −160

    −150

    −140

    X (m)

    Y (

    m)

    MetodologiaSem SinalGPS

    Figura 4: Trajeto completo do Experimento 1 edestaque do ińıcio e final da simulação de quedade sinal.

    É posśıvel concluir então que apesar de o sis-tema conseguir lidar de forma satisfatória comas baixas velocidades do robô e quedas do sinal,a ausência da correção fornecida pelo GPS porum longo peŕıodo de tempo pode prejudicar sig-nificativamente a localização do robô, entretanto,assim que os dados do GPS retornam é posśıvelrapidamente realizar a correção da trajetória.

    4.2 Experimento 2

    Durante a realização desse experimento o robôtrafegou por um ambiente com maiores variaçõesde relevo, sendo a principal uma grande subida queo robô deveria primeiramente subir e, em seguida,descer.

    É posśıvel observar através dos gráficos presen-tes na Figura 5 os valores dos ângulos de orientaçãoestimados para o robô. As imagens da Figura 6exibem os valores de localização calculados pelosistema e a sua disposição no mundo.

    0 100 200 300 400 500 600 700−6

    −4

    −2

    0

    2

    4

    6

    8

    10

    12

    14

    Tempo (s)

    Rol

    l (gr

    aus)

    (a) Roll

    0 100 200 300 400 500 600 700−20

    −15

    −10

    −5

    0

    5

    10

    15

    Tempo (s)

    Pitc

    h (g

    raus

    )

    (b) Pitch

    0 100 200 300 400 500 600 700−450

    −400

    −350

    −300

    −250

    −200

    −150

    −100

    Tempo (s)

    Yaw

    (gr

    aus)

    (c) Yaw

    Figura 5: Ângulos de orientação calculados para oExperimento 2.

    A Figura 7 exibe a variação do movimento dorobô nas três dimensões, onde nota-se claramente

    −80 −60 −40 −20 0 20

    0

    20

    40

    60

    80

    100

    X (m)

    Y (

    m)

    MetodologiaGPS

    (a) (b)

    Figura 6: Trajetória realizada no Experimento 2.

    a subida e descida realizada pelo robô durante anavegação, os eixos do gráfico encontram-se forade escala para uma melhor vizualização do deslo-camento vertical realizado.

    −100−80

    −60−40

    −200

    20

    40 −200

    2040

    6080

    100120

    0

    1

    2

    3

    4

    5

    6

    7

    8

    Y (m)X (m)

    Z (

    m)

    Figura 7: Variação de altura obtida durante arealização do Experimento 2.

    O valor de altura também pode ser obtido apartir do GPS, entretanto, esse valor possui umagrande variação, não condizendo com o real deslo-camento do robô, sendo uma das razões da sua nãoincorporação ao sistema. A Figura 8 apresenta acomparação entre a altura calculada pela metodolo-gia e o valor retornado do GPS. É posśıvel observarque a diferença entre o valor do ponto mais alto emais baixo dado pelo GPS é de ≈ 25m, um valornão condizente com a movimentação efetivamenterealizada pelo robô.

    0 100 200 300 400 500 600 700−15

    −10

    −5

    0

    5

    10

    Tempo (s)

    Altu

    ra (

    m)

    MetodologiaGPS

    Figura 8: Comparativo entre a variação de alturaestimada e o valor fornecido pelo GPS no tempopara o Experimento 2.

  • As Figuras 9 apresentam os valores de vari-ância obtidos através da metodologia. Observa-seque a variância de x e y possuem comportamentosemelhante, destacando-se três picos resultados daatribuição de uma maior variância aos dados doGPS nesses momentos da trajetória. É posśıveltambém observar que o comportamento da variân-cia de y é menos suave que x, isso foi observadoprincipalmente devido à uma pequena variaçãolateral proveniente do GPS.

    É posśıvel também verificar pela Figura 9(c)que o erro agregado a z tende a aumentar rapi-damente, isso era esperado uma vez que o valorestimado para z não possui valor de correção. Issotende a ser um problema, uma vez que se o robônavegar por longas distâncias o erro em z podeaumentar até se tornar inutilizável.

    0 100 200 300 400 500 600 7000

    0.002

    0.004

    0.006

    0.008

    0.01

    0.012

    Tempo (s)

    Variância

    (m

    2)

    (a) X

    0 100 200 300 400 500 600 7000

    0.002

    0.004

    0.006

    0.008

    0.01

    0.012

    Tempo (s)

    Variância

    (m

    2)

    (b) Y

    0 100 200 300 400 500 600 7000

    0.02

    0.04

    0.06

    0.08

    0.1

    0.12

    0.14

    0.16

    0.18

    Tempo (s)

    Va

    riâ

    nci

    a (

    m2)

    (c) Z

    Figura 9: Variância das variáveis de localizaçãodurante o Experimento 2.

    Logo, foi posśıvel estimar a variação tridimen-sional da posição do robô baseando-se apenas nosdados de orientação e velocidade do robô. Entre-tanto, apesar de produzir resultados satisfatórios,deve-se considerar que a falta de um sensor decorreção para a altura fará com quê a navegaçãopor um longo peŕıodo de tempo acumule grandeincerteza.

    5 Conclusões e Trabalhos Futuros

    Os resultados obtidos para a localização do robôforam satisfatórios, uma vez que através das ima-gens de satélites é posśıvel observar que o caminhoestimado através da fusão sensorial realizada com autilização da metodologia proposta possui grandefidelidade ao caminho real realizado pelo robô. Apartir da reconstrução pós navegação da trajetóriarealizada pelo robô também foi posśıvel verificar aprecisão nos valores calculados para os ângulos deorientação.

    Apesar de o robô utilizado nos experimentosser classificado como um robô all terrain, seu sis-

    tema de direção skid-steer mostrou-se altamenteineficiente para aplicações em ambientes externos.A bússola se mostrou extremamente senśıvel avariações magnéticas, o que levou à necessidadeentão de montá-la o mais distante posśıvel de ou-tros equipamentos que pudessem interferir em suasmedições.

    Como direção futura pretende-se adicionar umnovo sensor ao sistema, um alt́ımetro. O principalobjetivo é a redução do erro no cálculo da variaçãode altitude. Após feito isso, deseja-se realizar ex-perimentos com o sistema acoplado a um véıculode maior porte, no caso um carro, onde seria pos-śıvel verificar o comportamento do sistema em umtrajeto de maior escala.

    Referências

    Borenstein, J. and Feng, L. (1996). Gyrodometry:A New Method for Combining Data from Gy-ros and Odometry in Mobile Robots, Proce-edings of IEEE International Conference onRobotics and Automation, pp. 423–428.

    Fox, D., Thrun, S., Burgard, W. and Dellaert,F. (2001). Particle Filters for Mobile Ro-bot Localization, in A. Doucet, N. de Freitasand N. Gordon (eds), Sequential Monte CarloMethods in Practice, Springer, New York.

    Iscold, P., de Oliveira, G. R. C., Neto, A. A.,Pereira, G. A. S. and Torres, L. A. B. (2007).Desenvolvimento de Horizonte Artificial paraAviação Geral baseado em Sensores MEMS, VCongresso Brasileiro de Engenharia Inercial,Rio de Janeiro.

    Julier, S. and Uhlmann, J. K. (1997). A newextension of the kalman filter to nonlinearsystems, Proceedings of The 11th Int. Symp.on Aerospace/Defense Sensing, Simulationand Controls, Multi Sensor Fusion, Trackingand Resource Management.

    Liu, B., Adams, M. and Ibañez-Guzmán, J. (2005).Multi-aided Inertial Navigation for GroundVehicles in Outdoor Uneven Environments,Proceedings of IEEE International Conferenceon Robotics and Automation.

    Thrun, S., Burgard, W. and Fox, D. (2005). Pro-babilistic Robotics, The MIT Press.

    Walchko, K. J. and Mason, P. A. C. (2002). Iner-tial navigation, Florida Conference on RecentAdvances in Robotics.

    Zhang, P., Gu, J., Milios, E. E. and Huynh, P.(2005). Navigation with IMU/GPS/DigitalCompass with Unscented Kalman Filter, Pro-ceedings of IEEE International Conference onMechatronics & Automation.