IMPLEMENTAÇÃO E ANÁLISE DE LOCALIZAÇÃO EM ROBÓTICA MÓVEL POR FILTRO DE KALMAN

Documentos relacionados
APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO

Implementação do Filtro de Kalman Estendido

Introdução. Introdução. Introdução. Introdução. Introdução. Introdução à Robótica Robótica Móvel Localização. Principais questões na Robótica

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE EM DSP

INSTITUTO TECNOLÓGICO DE AERONÁUTICA

15/05/2013. Localização I. Localização. Localização: classificação. Localização: classificação. Tipo de ambiente. Ambiente dinâmico - soluções

SSC5887 SSC5887. Histórico. Grupo de Sistemas Embarcados Evolutivos e Robóticos - SEER. Grupo de Sistemas Embarcados Evolutivos e Robóticos - SEER

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

10/11/ : Navegação Robótica. .: Sistema de Localização

7 Conclusões e desenvolvimentos futuros

Introdução à Robótica Móvel

INTRODUÇÃO À ROBÓTICA MÓVEL

SLAM II Localização e Mapeamento Simulatâneos

Data: 28/05/2010 8h as 12h. IP addresses and the port numbers of the components.

Disciplina de. Programação de Robôs Móveis SSC-0712

ESTIMADOR DE ESTADO ADAPTATIVO PARACONSISTENTE PARACONSISTENT ADAPTIVE STATE ESTIMATOR. Resumo. Abstract. Introdução

TÍTULO: FUZZY TAKAGI-SUGENO PARA IDENTIFICAÇÃO E CONTROLE INERCIAL DE UM ROBÔ MÓVEL

FUSÃO DOS DADOS DO DEAD RECKONING E DO GIROSCÓPIO USANDO O FILTRO DE KALMAN ESTENDIDO APLICADO À LOCALIZAÇÃO DE UMA CADEIRA DE RODAS MOTORIZADA

Estimativa de Posição 3D de Obstáculos para VANTs


III Encontro de Iniciação Científica e Tecnológica III EnICT ISSN: IFSP Câmpus Araraquara 19 e 20 de Setembro de 2018

CC-226 Introdução à Análise de Padrões

MP-208: Filtragem Ótima com Aplicações Aeroespaciais

LOCALIZAÇÃO DE UM ROBÔ MÓVEL BASEADA EM ODOMETRIA E MARCOS NATURAIS UTILIZANDO FILTRO DE KALMAN EXTENDIDO

Lego NXT: Navegação e Localização com sensores de distância baseados em infra-vermelhos utilizando um Extended Kalman Filter

Occupancy grid based graph-slam using the distance transform, SURF features and SGD

DETERMINAÇÃO DA POSIÇÃO DE ALVOS VIA PROCESSAMENTO DIGITAL DE IMAGENS

Este capítulo descreve os testes realizados para validar a teoria proposta pela presente dissertação.

Disciplina de Introdução aos Sistemas Robóticos SSC-5887

ESTIMAÇÃO DE POSIÇÃO E VELOCIDADE DE UM ALVO MÓVEL TERRESTRE UTILIZANDO CÂMERA EMBARCADA EM UAV

Disciplina de Programação de Robôs Móveis SSC-0712

Sistema de Controle Híbrido para Robôs Móveis Autônomos

Rastreamento de objeto e estimativa de movimento

Data: 28/05/2010 8h as 12h. IP addresses and the port numbers of the components.

IP addresses and the port numbers of the components.

Odometria e equações de movimento de um robô

INTRODUÇÃO À ROBÓTICA MÓVEL

ANÁLISE DE UM MANIPULADOR ROBÓTICO MÓVEL 1

Robótica Móvel. Simuladores de Robôs Móveis. Player/Stage/Gazebo. Localização Mapeamento SLAM Navegação. CSBC JAI # 3 Fundamentos

IA Robótica Móvel II - Locomoção e Localização

Algoritmo Array Rápido para Filtragem de Sistemas Lineares Sujeitos a Saltos Markovianos com Variação Estruturada dos Parâmetros no Tempo

Desenvolvimento de um Protótipo e de Metodologias de Controlo de uma Cadeira de Rodas Inteligente

MODELOS ELÉTRICOS PARA PREDIÇÃO DO TEMPO DE VIDA DE BATERIAS DE LITHIUM ÍON POLÍMERO 1

SISTEMA PARA PREVER A CHEGADA DE ÔNIBUS NOS PONTOS DE PARADA Felipe Saraiva da Costa¹, André Castelo Branco Soares².

3 Filtro de Kalman Discreto

SISTEMAS ROBÓTICOS AUTÓNOMOS

MP-208: Filtragem Ótima com Aplicações Aeroespaciais

Biblioteca para comunicação ciente de localização geográfica entre dispositivos móveis

Filtro de Kalman. Teoria e Aplicação para Iniciantes. Prof. Dr. Marco Antonio Leonel Caetano. M&V Consultoria e Treinamento

Disciplina de Robôs Móveis Autônomos SSC-5888

( ) ( ) ( ) ( ) 2. = σ

Mapeamento e Localização para o kit Robótico RoboDeck

O sistema de suspensão deve ser representado pelo modelo físico ilustrado abaixo:

Assim, a rápida acumulação de erros pequenos pode causar o fracasso de quase todos os métodos para resolver o problema de SLAM.

Fusão de Dados de Múltiplos Sensores para Estimação do Nível da Interface Óleo/Água em Processos de Separação

CONSTRUÇÃO DE UM ROBÔ MÓVEL COMO RECURSO DIDÁTICO NOS CURSOS DE ENGENHARIA

Localização de robôs móveis baseados em balizas

MouseCam: aplicação de controle do mouse via câmera

Robótica Móvel Inteligente: Aplicações da Inteligência Artificial nas Pesquisas em Robótica

Temas Principais: Tipos de Robôs Sensores e Atuadores Modelos Sensoriais Modelos Cinemáticos Controle Robótico: Controle Reativo Controle


Grupo de Sistemas Embarcados Evolutivos e Robóticos - SEER

RASTREAMENTO E PREDIÇÃO DE MOVIMENTO UTILIZANDO FILTRO DE KALMAN

MP-208: Filtragem Ótima com Aplicações Aeroespaciais

Implementação de controlador PID fuzzy para otimização do controle de posição de um servomotor DC

!"$# %$'& (#) *+! *,$ -) -#.+/ &$0 $"$# 1 ' #$4!*.+5 #76$8 8'9

MEDIÇÃO VIRTUAL DE VAZÃO PARA SISTEMAS SUB-AMOSTRADOS UTILIZANDO O FILTRO DE KALMAN

Algoritmo para Determinação e Classificação de Distúrbios Múltiplos em Sistemas Elétricos 79

Implementação de rotinas básicas de controlo do movimento de um robô (GoToXYTheta)

4 Desenvolvimento de Algoritmos de controle

Representações da Crença e Mapas Localização Probabilística baseada em Mapas Exemplos de outros Sistemas de Localização Bibliografia Recomendada

Figura 1 - Robô GP8 da Seegrid.

Correção de Odometria de Robôs Móveis Usando Visão Computacional

Desenvolvimento de uma metodologia para avaliação da demanda e capacidade de carga nos principais aeroportos brasileiros

Localização georeferenciada de alvos via processamento de imagens

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE USANDO SENSORES MARG

SENSOR VIRTUAL BASEADO EM FUSÃO DE DADOS PARA ESTIMAÇÃO DA INTERFASE ÓLEO- ÁGUA EM PROCESSOS DE SEPARAÇÃO

UMA ABORDAGEM HÍBRIDA PARA LOCALIZAÇÃO E MAPEMANETO SIMULTÂNEOS PARA ROBÔS MÓVEIS COM SONARES ATRAVÉS DO FILTRO DE KALMAN ESTENDIDO

DESENVOLVIMENTO DE AMBIENTE VIRTUAL DE SIMULACÃO PARA AUXILIAR O PROCESSO DE ENSINO-APRENDIZAGEM DE ROBÓTICA NA ENGENHARIA

Rodrigo Pereira David. Técnica de Estimação de Canal Utilizando Símbolos Pilotos em Sistemas OFDM. Dissertação de Mestrado

IDENTIFICAÇÃO DE MARCADORES DE PAVIMENTAÇÃO NA ORIENTAÇÃO DE CEGOS. André Zuconelli 1 ; Manassés Ribeiro 2

Emparelhamento-Filtragem na Localização de Robots Móveis

7 Experimentos. Figura 2 Sensor Inercial (Xsens) Figura 3 Sensor GPS (Garmin) Figura 1 Robô Ambiental Híbrido

Modelo de previsão de partida de ônibus utilizando cadeias de Markov de alcance variável

5 Testes e Resultados

UM MODELO DE UNIDADE DE MEDIDA INERCIAL UTILIZANDO 3 ACELERÔMETROS

Introdução. Introdução. Introdução. Locomoção. Introdução. Introdução à Robótica Robótica Móvel Locomoção

Introdução. Introdução. Introdução. Locomoção. Introdução. Introdução à Robótica Robótica Móvel Locomoção

Introdução. Introdução Exemplo. Introdução. Representação do Ambiente Exemplo. Representação do Ambiente. Mapeamento e Localização Simultâneos

AVALIAÇÃO DE CONVERSORES BOOST OPERANDO EM PARALELO EMPREGANDO A TÉCNICA INTERLEAVED E CONTROLADOS DIGITALMENTE

1. Introdução. 1.1.Objetivo

Disciplina de Robôs Móveis Autônomos SSC-5888

Robô Móvel Colaborativo

4 Análise de Dados. 4.1.Procedimentos

parte da teoria Engº Luis Paulo Reis parte da teoria + aulas práticas Sítio Web:

APRESENTAÇÃO DA DISCIPLINA

Modelagem de Ambientes para Robô Móvel baseado em Rede Neural Hierárquica e Visão Omnidirecional

AVALIAÇÃO SOBRE A INCLUSÃO DE ESTIMADORES BASEADOS EM FILTRAGEM DE KALMAN EM SISTEMAS DE CONTROLE VIA REDE

Sumário. Simulação (1) Simulação (2) Simulação (3) Inteligência Artificial Distribuída (1) Ambientes de Simulação Baseados em Agentes

Estratégia para medição de orientação baseado em sensores MARG para aplicações Wearable PROPOSTA DE TRABALHO DE GRADUAÇÃO

Transcrição:

IMPLEMENTAÇÃO E ANÁLISE DE LOCALIZAÇÃO EM ROBÓTICA MÓVEL POR FILTRO DE KALMAN Claudiney Calixto da Silva (PG), Juliano Augusto Pereira (PG) Divisão de Ciência da Computação - Instituto Tecnológico de Aeronáutica (ITA) Praça Marechal Eduardo Gomes, 50 - Vila das Acácias - CEP: 12228-901 São José dos Campos SP Brasil {ccalixto,julianop}@comp.ita.br Resumo. Este artigo apresenta a verificação de estimativas de posição continuadas de um robô móvel utilizando quatro sensores (três sonares e um odômetro). Essas estimativas são realizadas por meio de um algoritmo, computacionalmente eficiente, de formulação recursiva denominado Filtro de Kalman. O robô tem capacidade de locomover-se em ambientes estáticos e reconhecer tanto a sua posição inicial, quanto a dos obstáculos do ambiente. Com base nessas informações, o Filtro de Kalman é utilizado para estimar a posição real do robô em ambientes discretizados, compensando os erros acumulados obtidos pelas informações sensoriais. Abstract. This paper presents the verification of continuous positioning estimation for a mobile robot using four sensors (three sonars and one odometer). These estimations are performed by a computationally efficient algorithm, with recursive formulation called Kalman Filter. The robot has the capability of moving on static environments, knowing its initial position and all environment obstacles. According to this information, the Kalman Filter is used to estimate the actual robot position on discrete environments, compensating accumulated errors provided by sensorial information. 1. INTRODUÇÃO A Robótica Móvel representa uma linha de pesquisa focada no controle de veículos autônomos e semiautônomos, com ênfase nos problemas relacionados à locomoção, em ambientes dinâmicos e estáticos. Esses ambientes direferenciam-se, respectivamente, pela possibilidade de movimentação ou não dos objetos neles contidos. Para operar nesses ambientes, o robô deve ser capaz, autonomamente, de utilizar e adquirir conhecimentos sobre os mesmos, obter estimativas de localização, reconhecer obstáculos e responder a diferentes situações que possam ocorrer, devendo essas funcionalidades operar em conjunto. Essas características, enquadradas nas tarefas de planejamento de missões, geração de mapas, locomoção e localização em mapas, constituiem-se em problemas típicos de robótica móvel presentes em todos os projetos [1;2]. Dentre essas funcionalidades, a localização destaca-se como essencial, para os sistemas de controle de navegação em quaisquer ambientes. Existem três formas de localização: a local, onde se estima a posição por meio de um estado inicial conhecido; a global, onde se estima a posição sem conhecer o estado inicial; e o seqüestro, onde o estado inicial é conhecido e o intermediário não [3]. Entende-se por estado a variável que definirá, de modo único, a localização de um objeto móvel no mapa, ao longo do tempo. Em 1960, Rudolph. E. Kalman [4] publicou um artigo que descrevia uma solução recursiva para o problema de filtragem de dados discretos num sistema linear, e na robótica móvel, muitos

grupos de pesquisa têm utilizado o Filtro de Kalman e suas extensões para modelar e propagar incertezas na posição do robô, quanto a sua localização local. O presente artigo apresenta os resultados dos testes, realizados em simulação, da implementação de uma técnica de localização por Filtro de Kalman para Robôs Móveis, onde assumese a existência de um mapa preciso do ambiente e as informações sensoriais obtidas dos sensores de proximidade, visando avaliar a eficiência deste Filtro na resolução de problemas inerentes a localização. Na implementação, utilizou-se a linguagem Java com o objetivo de facilitar a integração com o simulador, Java Mobile Robot (JMR) [5]. Ela resultou numa aplicação Cliente/Servidor, com interface de visualização. Dividido em seções, este artigo possui uma introdução; uma seção 2 descrevendo os conceitos do Filtro de Kalman; uma seção 3 apresentando a implementação do filtro e a obtenção de parâmetros para o mesmo; uma seção 4 exibindo os resultados mais contundentes obtidos pelo experimento; e, por último, uma seção 5 abordando algumas conclusões. 2. FILTRO DE KALMAN O Filtro de Kalman, apresentado por Rudolph. E. Kalman [4], é um algoritmo recursivo ótimo, utilizado para prever os estados de um sistema dinâmico, baseado na medição da confiabilidade dos dados observados a partir de uma matriz denominada Matriz de Covariâncias, calculada a cada novo processo de estimação que se utiliza o filtro. A partir de uma posição inicial conhecida, este algoritmo combina todos os dados disponíveis, adicionados ao conhecimento anterior do sistema e de seus dispositivos, para produzir uma estimativa das variáveis desejadas, de tal sorte que, o erro seja reduzido estatisticamente ao longo do tempo. 2.1 O Algoritmo Discreto do Filtro de Kalman O Filtro de Kalman utiliza um processo de controle por realimentação, ou seja, estima-se o estado do processo num dado instante, e então se obtém o feedback, sob a forma de medidas geralmente ruidosas. Assim, as equações para o Filtro de Kalman dividem-se em dois grupos distintos para atualização das equações: o grupo de tempo e o de medição. As equações de tempo são responsáveis por projetar, com antecedência, as estimativas da covariância do estado atual e do erro, visando obter, a priori, as da próxima etapa. Já as equações de medição, responsáveis pelo feedback, incorporam uma nova medida na estimativa a priori, visando obter, a posteriori, uma estimativa melhorada. As equações de atualização podem também ser visualizadas como equações de predição, e as de medição como equações de correção, atuando em ciclos, conforme mostrado na Figura 1 abaixo. Equações de Atualização (Predição) Equações de Medição (Correção) Figura 1. O ciclo do Filtro de Kalman

3. IMPLEMENTAÇÃO PARA SIMULAÇÃO Como descrito anteriormente, a implementação baseou-se nas características do Simulador de robótica utilizado, o Java Mobile Robots (JMR) [5] e contemplou uma artiquetura divida em três módulos, apresentados na Figura 2 abaixo. (B) (A) (C) Figura 2. Arquitetura Implementada para Simulação A Figura 2 (A), apresenta a tela do simulador, que ilustra o Mundo Simulado numa visão aérea e a Posição do Robô. Um comportamento foi implementado, para interceptar as leituras dos Sonares e do Odômetro e as enviar para um Módulo Servidor, conforme ilustrado na Figura 2 (B). O Filtro de Kalman é executado nesse Módulo Servidor e o seus resultados são apresentados em tempo de execução, numa resolução maior, na Interface, conforme apresentado na Figura 2 (C). O Módulo de Interface é responsável pela execução do filtro e apresentação dos resultados discretizados. O Módulo Servidor encarrega-se da comunicação entre o Simulador e a Interface, e o Módulo de Comportamento informa a velocidade atual e a orientação do robô para o servidor, que por sua vez, comunica-se com a Interface. 3.1 Obtenção dos Parâmetros para Simulação As estimativas do Filtro de Kalman basearam-se em informações odométricas obtidas a partir das velocidades imediatas de deslocamento e rotação. Porém, devido as incertezas nas leituras das mesmas, utilizou-se também sonares, permitindo o reconhecimento da posição real do robô, ao detectar-se obstáculos conhecidos por um modelo do mundo, previamente fornecido. No experimento descrito neste artigo, as leituras dos Sonares S0, S3 e S6, conforme ilustrado na Figura 3, foram utilizadas para corrigir as estimativas de posição do Filtro de Kalman. Assim que um obstáculo, com posição conhecida, é detectado por esses Sonares, efetua-se a média do valor de suas leituras estimando-se a posição atual. Esse posição, torna-se parâmetro do próximo passo do algoritmo de Kalman implementado.

Figura 3. Ilustração Representativa dos Ângulos de Sonar em Relação ao Eixo x-y 4. ANÁLISE DOS RESULTADOS OBTIDOS Depois de realizar mais de 50 testes, sob condições variadas, selecionou-se os 3 resultados que mais realçavam a eficiência da aplicação do Filtro de Kalman, para estimar-se a posição do robô, e também o quanto as leituras dos sonares foram úteis para correção das estimativas do filtro. Todos os gráficos, obtidos nos testes, demonstram a trajetória do Robô num ambiente discretizado, onde cada Ponto, nas coordenadas X e Y, representa uma unidade de deslocamento no Plano. Por meio da análise desses testes, pôde-se notar, que enquanto as estimativas baseavam-se apenas em dados odométricos, com uma trajetória sinuosa, os resultados não eram aceitáveis para a estimação da posição real do robô. Porém, uma solução aceitável, foi encontrada por meio da utilização de leituras sensoriais para atualização do valor estimado, simulando-se uma reinicialização dos parâmetros do filtro, conforme demonstrado na Figura 4 abaixo. Os losângos da figura ilustram os instantes em que se executou a reinicialização do filtro. 65 55 45 35 25 15 5-5 -15-32 -22-12 -2 8 18 28 38 48 58 68 78 Real Odometro Refresh Estimado Figura 4. Aplicação do Filtro numa Trajetória Sinuosa

Com a execução do Filtro de Kalman numa trajetória que não apresenta mudanças bruscas de direção, notou-se que a estimativa aproximava-se mais do real e à medida que obstáculos eram encontrados, as informações sensoriais obtidas foram utilizadas, melhorando-se, ainda mais, a estimativa de posição, conforme mostrado na Figura 5 abaixo. 100 90 80 70 60 50 40 30 20 10 0-2 8 18 28 38 48 58 68 78 88 98 108 Real Odometro Refresh Estimado Figura 5. Aplicação do Filtro numa Trajetória pouco Sinuosa Quando simulou-se um atuador perfeito, ou seja, livre de ruídos, numa superfície que não produzia atritos, pôde constatar que somente a odometria era suficiente para se estimar a posição do robô. Porém, tal condição somente pode ocorrer em simulações. Conforme demonstrado na Figura 6 abaixo, as trajetórias real, estimada pelo odômetro e a estimada pelo filtro, foram praticamente coincidentes. 110 100 90 80 70 60 50 40 30 20 10 0 0 10 20 30 40 50 60 70 80 90 100 Real Odometro Refresh Estimado Figura 6. Aplicação do Filtro em condições Perfeitas

5. CONCLUSÃO O simulador Java Mobile Robots (JMR) mostrou-se uma boa aplicação de simulação para Robótica Móvel. Com ele, tornou-se possível elaborar uma implementação didática do Filtro de Kalman, com apresentação de resultados em tempo de execução. Tal característica, otimizou o tempo de realização de testes e aumentou a credibilidade dos resultados. Com base na Análise dos resultados obtidos pelo Filtro de Kalman, pôde-se constatar que ele é uma ferramenta eficiente para reduzir os erros acumulados por sensores de odometria. Porém em trajetórias longas e sinuosas, houve a necessidade de se utilizar leituras dos sonares, como auxílio ao filtro. Além disso, pôde-se constatar que, quanto menor for a precisão do odômetro utilizado, maior será a importância das correções de posição estimadas pelo Filtro de Kalman. Com este artigo verificou-se que, a utilização de sensores de proximidade, como sonares, é de fundamental importância para o melhoramento das estimativas do Filtro de Kalman na simulação em Robôs Móveis. Por isso, recomenda-se a utilização de todas informações sensoriais disponíveis para a execução do Filtro de Kalman, de forma a aumentar a precisão em suas estimativas de posição e reduzir as incertezas produzidas pelos ruídos nos sensores. AGRADECIMENTOS Agradecemos aos alunos de Pós-Graduação do Instituto Tecnológico de Aeronáutica (ITA), Marco A. Braga, Evandro Henrique e Robson S. Mendonça, pela colaboração durante a execução dos experimentos, e aos Profs. Carlos H. C. Ribeiro e Adilson Marques da Cunha, por toda orientação oferecida. REFERÊNCIAS [1] Borenstein J. and Feng, L. (1996), "Gyrodometry: A New Method for Combining Data from Gyros and Odometry in Mobile Robots." Proceedings of the 1996 IEEE International Conference on Robotics and Automation, Minneapolis, Minnessota, Apr. 22-28, 1996, pp. 423-428. [2] Borenstein, J., Everett, H.R., Feng, L., and Wehe, D. (1996) "Mobile Robot Positioning: Sensors and Techniques." Invited paper for the Journal of Robotic Systems, Special Issue on Mobile Robots. Vol. 14, No. 4, April 1997, pp. 231-249. [3] Ribeiro, H. C. (2003). Fundamentos Computacionais de Robótica Móvel. Notas de Aula, 1º Sem 2003. Instituto Tecnológico de Aeronáutica - ITA. São José dos Campos - SP. [4] Kalman, E. Rudolph. (1960), "A New Approach to Linear Filtering and Prediction Problems", Transactions of the ASME: Journal of Basic Engineering, vol 82, Series D, pp. 35-45. [5] Baeza, Ignacio Iborra; Ortega, Miguel Angel Lozano; López Domingo Gallardo. (2001) JMR 1.0 - Manual do Programador.