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

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

Implementação de uma rotina para seguir um segmento de reta (FollowLine)

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

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

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

Implementação do Filtro de Kalman Estendido

SLAM II Localização e Mapeamento Simulatâneos

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE EM DSP

5 Equacionamento do Filtro de Kalman

3 Filtro de Kalman Discreto

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

2 Cinemática 2.1 CINEMÁTICA DA PARTÍCULA Descrição do movimento

7 Conclusões e desenvolvimentos futuros

Modelação, Identificação e Controlo Digital

Cinemática de Robôs Móveis

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

Departamento de Física da Faculdade de Ciências da Universidade de Lisboa T2 FÍSICA EXPERIMENTAL I /08 FORÇA GRAVÍTICA

1 ESCOLA POLITÉCNICA DA USP Sensores Eduardo L. L. Cabral ESCOLA POLITÉCNICA DA USP

Figura 71 Nivelamento da base

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

2.1. Construção da Pista

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

4 Controle de motores de passo

Integração de Dados Visuais e Inerciais Para o Equilíbrio de Um Robô Humanóide

IA368-W Métodos Estocásticos em Robótica Móvel

5 Filtro de Kalman Aplicado ao Modelo de Schwartz e Smith (2000)

Exercícios de programação

5 Resultados Introdução

Rastreamento de objeto e estimativa de movimento

2 Modelos de sintetização de séries temporais de atenuação por chuva

2 SIFT (Scale Invariant Feature Transform)

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

1. Estudo do pêndulo

é a distância entre um determinado ponto da linha

VIAGENS COM GPS. O GPS permite saber a posição de um lugar à superfície da Terra através das coordenadas geográficas (latitude, longitude e altitude).

p( y θ ) depende de um parâmetro desconhecido θ.

7. Controlo Adaptativo

Espaço x Espaço inicial x o

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

PGF Mecânica Clássica Prof. Iberê L. Caldas

Apêndice ao Roteiro do Experimento Força de Atrito Variável

θ depende de um parâmetro desconhecido θ.

4 APLICAÇÃO DO MODELO E RESULTADOS

Prof. MSc. David Roza José 1/35

SISTEMAS ROBÓTICOS AUTÓNOMOS

Introdução. Walter Fetter Lages

REFINAMENTOS DE MEDIDAS DE GPS DE POSIÇÃO DE UM VEÍCULO USANDO MEDIDAS DE SISTEMA DE NAVEGAÇÃO INERCIAL

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE USANDO SENSORES MARG

Teoria de Eletricidade Aplicada

Mecânica e Ondas. Docentes da disciplina: João Seixas e Mario J. Pinheiro MeMEC Departmento de Física e Instituto de Plasma e Fusão Nuclear,

Estimação de Estados em Sistemas de Potência

Métodos Não Paramétricos

AGA Análise de Dados em Astronomia I 7. Modelagem dos Dados com Máxima Verossimilhança: Modelos Lineares

Física e Química A Bloco II Teste Sumativo 2C 14/12/2011

3 Projetos experimentais

Série IV - Momento Angular (Resoluções Sucintas)

PMR2560 Visão Computacional Detecção de bordas. Prof. Eduardo L. L. Cabral

ROBÓTICA PLANEJAMENTO DE TRAJETÓRIAS. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial

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

Instituto Superior de Engenharia de Lisboa Engenharia Informática e de Computadores

Modelagem Cinemática de Robôs Industriais. Prof. Assoc. Mário Luiz Tronco

Controle Preditivo com Múltiplos Modelos para a Acomodação de Falhas

Controlo por Computador. Primeiro Teste

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

SLAM Visual. Fernando Zuher Mohamad Said Cavalcante Orientadora: Profª. Drª. Roseli Romero Mestrado em Computação, ICMC-USP

9 Relações para redução das velocidades de propagação de chama turbulentas no motor em velocidades de chama laminares dos combustíveis

Translação e Rotação Energia cinética de rotação Momentum de Inércia Torque. Física Geral I ( ) - Capítulo 07. I. Paulino*

TRABALHO Nº 1 DETERMINAÇÃO DO COMPRIMENTO DE ONDA DE UMA RADIAÇÃO DUPLA FENDA DE YOUNG

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

Física Geral (2013/1) Aula 3: Estimativas e erros em medidas diretas (I)

Modelagem Cinemática de Robôs Industriais. Prof. Assoc. Mário Luiz Tronco

Introdução Regressão linear Regressão de dados independentes Regressão não linear. Regressão. Susana Barbosa

6 Controlador de Estado

Estimação da Resposta em Frequência

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

Introdução à Robótica Industrial p. 1/23

Como modelar matematicamente o sistema Elo Flexível. Projetar um controlador LQR ótimo para o sistema. Atenuar as vibrações ajustando o controlador.

Universidade Estadual de Santa Cruz

G3 FIS /06/2013 MECÂNICA NEWTONIANA B NOME:

3 Técnicas de medição do escoamento

Equipe de Física. Física. Movimento Circular

Olimpíadas de Física Seleção para as provas internacionais. Prova Experimental B

CENTRO DE CIÊNCIAS E TECNOLOGIA AGROALIMENTAR UNIDADE ACADÊMICA DE TECNOLOGIA DE ALIMENTOS DISCIPLINA: FÍSICA I ROTAÇÃO. Prof.

Notação Científica. n é um expoente inteiro; N é tal que:

Emparelhamento de Objectos Representados em Imagens usando Técnicas de Optimização

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

Experimento 4 Forças Centrais

Estimação de Velocidade do Motor com Controle Vetorial sem Sensor, Utilizando Filtro Estendido de Kalman com Estimação da Covariância dos Ruídos.

Filtragem linear. jorge s. marques, questão: como remover artefactos?

Tratamento estatístico de observações

Circuitos RC com corrente alternada. 5.1 Material. resistor de 10 Ω; capacitor de 2,2 µf.

4 e 6/Maio/2016 Aulas 17 e 18

Estudo do Movimento Amortecido de um Sistema Massa-Mola

Métodos Não Paramétricos


Escola Secundária com 3º ciclo D. Dinis 12º Ano de Matemática A Tema III Trigonometria e Números Complexos. 6º Teste de avaliação versão A.

Detecção Robusta de Movimento de Câmera em Vídeos por Análise de Fluxo Ótico Ponderado

ACIONAMENTO DE UMA ARTICULAÇÃO ROBÓTICA 3D POR SERVOMOTORES

IA368-W Métodos Estocásticos em Robótica Móvel

Transcrição:

Faculdade de Engenharia da Universidade do Porto Localização de robôs móveis baseados em balizas Sandro Augusto Costa Magalhães Tiago José Ferreira Mendonça VERSÃO FINAL Trabalho realizada no âmbito da unidade curricular de Sistemas Robóticos Autónomos Docentes: Vitor Pinto e António Moreira 23 de dezembro de 2017

1 Introdução No âmbito deste trabalho, pretende-se localizar um robô de futebol robótico dentro do campo. Para tal, vai-se recorrer à localização absoluta baseada em balizas colocadas, estrategicamente, nos cantos do campo e que são observadas por uma câmara rotativa existente sobre o robô. Dado o facto de este método de localização ser tipicamente intermitente e estarmos num ambiente abundantemente ruidos, vai-se recorrer à odometria para fazer a estimação da pose do veículo em cada momento. Há, por conseguinte, a necessidade de se recorrer ao filtro de Kalman estendido para se fazer uma correta e ponderada fusão dos dados. Tendo em conta o problema exposto, vai-se procurar resolver o problema da localização do robô recorrendo dois métodos diferentes. Numa primeira fase, vai-se resolver o problema, recorrendo a uma situação ideal, utilizando a triangulação e a trilateração em simultâneo. Numa segunda fase, vai-se considerar que temos sensores mais limitados que permitem obter apenas a distância à baliza ou o ângulo à baliza estando limitados à utilização de apenas um dos métodos. Numa segunda parte do problema, assume-se que o robô está equipado com uma câmara omnidirecional, sendo assim capaz de visualizar as quatro balizas do campo em simultâneo. Esta parte será dividida numa metodologia semelhante à apresentada anteriormente. Por fim, vai-se procurar resolver novamente este último problema, assumindo que as posições das balizas são obtidas no referencial do robô. 2 Robô com câmara rotativa Tal como referido na secção 1, nesta situação, o robô é apenas capaz de detetar uma baliza em cada iteração. Sabe-se ainda que devido à resolução da câmara e à resolução do campo, em cada posição o robô apenas consegue observar duas balizas. Tendo isto em consideração, para este caso de estudo, assume-se que o robô está sempre a observar, alternadamente, as balizas 1 e 2, colocadas em (5; 2,5) e (5; 2,5). A amplitude da câmara também permite saber que, em qualquer posição da sua trajetória rotativa, esta é capaz de observar sempre uma das duas balizas. Assim sendo, para efeitos de simulação, criou-se uma variável de contagem entre 1 e 100, que especifica que cada baliza é observada em metade das contagens. O robô descreve uma trajetória circular aleatória, nomeadamente em velocidades linear e angular, estipulando-se que esta se inicia sempre no ponto (2,5; 2,5) com uma covariância do erro de estado inicial P, matriz identidade de dimensão 3, apenas com elementos da diagonal não nulos e de amplitude 10^-3. Por sua vez, o estado estimado apresenta inicialmente coordenadas (2; 0), de forma a forçar a existência de erro inicial e avaliar a convergência do procedimento de localização. 1

Cada iteração do seu percurso é marcada por dois momentos. Num primeiro instante, procedese à estimação da sua posição. Sabendo as velocidades linear e angular que caraterizam o seu movimento, é possível obter os deslocamentos linear e angular, respetivamente. Com base nestas entradas, estima-se a pose do veículo recorrendo ao seguinte modelo de transição de estado: x re = x re + v cos (θ re + ω Δt 2 ) Δt y re = y re + v sin (θ re + ω Δt 2 ) Δt θ re = θ re + ω Δt Contudo, as entradas podem surgir afetadas por erros, pelo que é conveniente definir o grau de incerteza associado às mesmas, refletido na matriz Q: Q = [ (σ min.δd + 1 Δd + α 2 Δθ) 2 0 0 (σ min.δθ + 3 Δd + α 4 Δθ) 2] Com base nestes pressupostos, aplica-se um previsor de kalman. Como tal, tem-se de calcular primeiro o gradiente da matriz de estado e de entrada e depois a matriz de covariância do erro de estado. f x = ω Δt 1 0 v Δt sin (θ re + 2 ) ω Δt 0 1 v Δt cos (θ re + 2 ) [ 0 0 1 ] ω Δt v Δt cos (θ re + ) Δt 2 2 sin (θ ω Δt r e + 2 ) f U = ω Δt sin (θ re + 2 ) Δt v Δt 2 cos (θ ω Δt r e + 2 ) [ 0 1 ] P = f X P f X T + f U Q f U T Posto isto, num segundo momento e dado que é assegurada pelo menos uma observação por cada iteração do ciclo da trajetória, avança-se para a correção da posição do robô, recorrendo a um filtro de Kalman estendido. Inicialmente, realiza-se a medição da distância e do ângulo à baliza para se conseguir localizar o robô no mundo. Estes parâmetros podem ser obtidos da seguinte forma: = (x p x r ) 2 + (y p y r ) 2 θ p = arctan2(y p y r, x p x r ) Onde x r e y r são as coordenadas da posição verdadeira do robô. Daqui resulta que z = [ θ p ] T. Tal como seria esperado, os sensores têm associado um ruído de medição, que geralmente pode ser modelado como branco gaussiano de média nula. Portanto, é necessário definir o grau 2

de incerteza inerente a tais medições, calculando-se a matriz R que define as covariâncias dos erros de medição. R = [ σ r 2 0 0 σ φ 2 ] Antes de calcular o ganho do filtro de Kalman estendido, resta calcular o gradiente da matriz das medidas, que é dada por h X = [ x p x r y p y r 2 Por fim, calcula-se o filtro de acordo com y p y r 0 x p x r 2 1 ] K = P h X T ( h X P h X T + R) 1 P = (I 3 K h X ) P Estabelecido o ganho do filtro e atualizada a covariância do erro de estado, segue-se com a correção da estimativa da pose do veículo. Tendo em conta a atual posição estimada e a baliza a observar, calculam-se os valores esperados para a distância linear e angular, Z e : _e = (x p x r_e ) 2 + (y p y r_e ) 2 θ p_e = arctan2(y p y r_e, x p x r_e ) Por último, retifica-se a estimação de estado: X e = X e + K [Z Z e ] 2.1 Trilateração e Triangulação Neste primeiro caso, pretende-se proceder à localização do robô no ambiente de simulação tirando partido da observação de balizas com possibilidade de medição da distância e do ângulo simultaneamente. Como tal, consiste na implementação de todo o procedimento anteriormente enunciado, isto é, da estimação da posição com base no modelo de transição de estado com posterior atualização das coordenadas com base na observação realizada. Neste caso, existem duas balizas para observação, sendo, por isso, as medições repartidas alternada e equitativamente pelas duas balizas tendo em conta o número total de iterações do ciclo de trajetória. Adicionalmente, considera-se que o desvio padrão do erro que afeta as medições é tal que resulta na seguinte matriz R: R = [ ( 0,05) 2 0 0 (θ p 0,01) 2] 3

Relativamente à covariância do erro das entradas Δd e Δθ, definiu-se a seguinte matriz Q, tendo a sua calibração sido feita de forma a promover simultaneamente a velocidade de convergência do procedimento e a sensibilidade ao ruído: Q = [ 0.12 0 0 0.05 2] Tendo por base todas estas premissas, procedeu-se a simulações em Matlab. Com as configurações enunciadas, obteve-se o seguinte resultado para um dos casos testados: Figura 1 - Estimação da pose do robô através da medição da distância e ângulo a baliza Por análise do gráfico obtido, facilmente se percebe que a divergência inicialmente forçada entre a estimação e a pose real do veículo é anulada ao fim de poucas iterações, sendo que, após se intersetarem, a posição estimada tem a capacidade de seguir continuamente a localização do robô, corroborando as covariâncias definidas para os erros de medição e a robustez do algoritmo. 2.2 Medição de Ângulo e Distância Neste momento, pretende-se impor limitações à capacidade de medição dos sensores. Assim, apenas é possível obter a medição do ângulo ou da distância às balizas, mas não os dois simultaneamente. As restintas premissas anteriormente estabelecidas continuam a ser aplicáveis, nomeadamente as observações intercaladas entre balizas. Em termos concetuais, para cumprir o requisito pretendido o algoritmo mantêm-se similar ao implementado anteriormente. Os únicos pontos de intervenção residem na fase de correção. 4

Pelo facto de apenas se obter um parâmetro de medição, a matriz de covariância do erro da mesma terá dimensão 1 1, sendo que esse valor indica a incerteza linear ou angular conforme o parâmetro considerado. Naturalmente, também os vetores Z e Z e têm apenas um elemento. Sendo assim, no caso em que apenas é permitido a medição do ângulo, consideram-se os seguintes parâmetros: Q = [ 0.012 0 0 0.005 2] R = [σ φ 2 ] h X = [ y p y r 2 x p x r 2 1] Figura 2 - Estimação da pose do robô através da medição do ângulo a baliza 5

Para a medição da distância, estabelece-se a seguinte configuração: Q = [ 32 0 0 0.01 2] R = [σ r 2 ] h X = [ x p x r y p y r 0] Figura 3 - Estimação da pose do robô através da medição da distância a baliza Tendo em conta a limitação imposta, nesta situação já é patente a menor capacidade de seguimento da trajetória do veículo em ambos os casos. Não constituindo uma situação tão idílica como a inicialmente definida, o procedimento de localização apresenta uma maior dificuldade em convergir para a localização pretendida e, se eventualmente o faz, acabar por se afastar num ponto posterior. Para obter os resultados explicitados, foi imperativo proceder ao ajuste da matriz Q. As covariâncias definidas para o exemplo prévio beneficiavam, de forma equilibrada, ambos os parâmetros de entrada do modelo de transição de estado. Neste contexto, perante um limite de medição de parâmetros, é conveniente atribuir maior relevância a um em detrimento do outro, caso contrário as divergências tornam-se muito mais significativas. Após alguns testes experimentais, estes constituíram os resultados mais satisfatórios. 6

3 Robô com câmara omnidirecional Quando se dispõe de uma câmara omnidirecional, esta possibilita a visualização simultânea das 4 balizas distribuídas pelo universo de simulação. Em termos algorítmicos, esta observação simultânea permite que que, em cada iteração do ciclo, ocorra a atualização da estimação de forma sequencial ao longo de todas as balizas, não existindo uma observação intermitente tal como constatado anteriormente. Nesse sentido, o procedimento deve ser atualizado de forma a incluir os dois elementos de localização adicionais e, em cada iteração, realizar, consecutivamente, quatro momentos de atualização da estimativa de localização. A metodologia de teste da rotina de localização é análoga ao caso anterior, isto é, primeiro assume-se um cenário ideal em que se mede distância e ângulo a cada baliza e, num segundo instante, impõe-se uma limitação a apenas um dos parâmetros. Sendo assim, obtiveram-se os seguintes resultados: Figura 5 - Estimação da pose do robô através da medição da distância e ângulo às 4 balizas Figura 4 - Estimação da pose do robô através da medição do ângulo e distância, respetivamente, às 4 balizas Numa breve análise, imediatamente se denota a melhoria introduzida pela capacidade de correção simultânea em todas as balizas. Esta proliferação de medições torna o procedimento muito mais robusto e eficiente assegurando a sua convergência para o ponto pretendido num número muito reduzido de iterações, mesmo nas situações em que se limita a utilização de apenas um elemento de correção. 7

4 Observações no referencial do robô Neste último caso, o objetivo reside na estimação da localização do robô, que se assume com uma câmara omnidirecional, através da observação simultânea de todas as balizas, contudo com a consideração estas são obtidas em coordenadas do referencial do robô e não na referência lobal, como até então considerado. Como tal, é necessário proceder à alteração da estrutura das matrizes utilizadas no decorrer do procedimento de localização, de forma a quês tas reproduzam a alteração das coordenadas de referência. Para o efeito, existem duas soluções possíveis, sendo que neste caso não se optou pela obtenção das mesmas por intermédio de uma transformação homogénea, embora se reconheça esse método como igualmente válido. Em primeiro lugar, estas variações apenas se repercutem na fase de correção da estimativa de localização, pelo que o primeiro momento de previsão se mantém inalterado. Na fase de correção, as medidas admitidas apresentam as seguintes coordenadas estimadas no referencial do robô: x epr = (x p x er ) cos(θ) + (y p y er )sin (θ) y epr = (y p y er ) cos(θ) (x p x er )sin (θ) em que (x p, y p ) representa a posição da baliza a considerar e (x er, y er ) as coordenadas estimadas da localização do veículo. θ simboliza a orientação do robô no referencial global. Sendo assim: Consequentemente: Z e = [ x e p r y ] representa a saída esperada do sensor de medição ep r Z = [ x pr y pr ] representa a saída real h X = [ cos (θ) sen(θ) y e p r ] sin (θ) cos (θ) x ep r Com base nisto, procedeu-se à reformulação do código concebido e ajustes necessários. Após simulação, resultaram os seguintes dados. 8

Figura 6 - Estimação da localização do robô com medidas a balizas obtidas no referencial do mesmo Comparativamente com a solução obtida no referencial global, esta não sugere uma convergência tão imediata, constatando-se que a estimativa apenas se tende a aproximara da posição verdadeira já próximo do final da trajetória. Esta discrepância pode ser resultado de uma menor precisão na definição das matrizes de covariância dos erros, acabando, inevitavelmente por se refletir na estimativa da posição global do robô. 9