INTRODUÇÃO À ROBÓTICA MÓVEL

Documentos relacionados
INTRODUÇÃO À ROBÓTICA MÓVEL

Introdução à Robótica Móvel

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

Mapeamento. IA368-W Métodos Estocásticos em Robótica Móvel. Profs. Eleri Cardozo Eric Rohmer FEEC/Unicamp

INTRODUÇÃO À ROBÓTICA MÓVEL

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

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

INTRODUÇÃO À ROBÓTICA MÓVEL

Seminário de Robótica Bruno de Abreu Silva

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

Protótipo de um Simulador de um Aspirador de Pó, Utilizando Algoritmo de Busca e Agentes Inteligentes, em Ambientes com Barreiras

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

GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira

ALGORITMO DE MAPEAMENTO USANDO MODELAGEM PROBABILÍSTICA

Inteligência Artificial

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

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

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

Cinemática de Robôs Móveis

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

Informática I. Aula 21. Aula 21-07/11/06 1

CAPÍTULO Robôs industriais. 2. Classificação dos robôs. industriais. 3. Sensores. 4. Acionamento e controle de robôs

Buscas Informadas ou Heurísticas - Parte II

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

AI-34D Instrumentação Industrial Física Aplicações Dinâmica de Rotação

Lista 1 Sistemas Inteligentes (INE5633) 2014s2. Cap. 2 - Russel & Norvig - Exercícios selecionados (respostas em azul)

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

Otimização por Colônia de Formigas (ACO)

SCC Capítulo 10 Métodos de Amostragem e Avaliação de Algoritmos

Física Geral - Laboratório. Aula 2: Organização e descrição de dados e parâmetros de dispersão e correlação

Métodos Numéricos - Notas de Aula

Inteligência Artificial

Algoritmos de roteamento

Redes Neurais (Inteligência Artificial)

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

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

Física Geral - Laboratório. Aula 3: Estimativas e erros em medidas diretas (I)

TÍTULO: TESTE DE CONTROLADOR PARA UM ROBÔ DE EQUILÍBRIO DINÂMICO CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA. SUBÁREA: Engenharias

Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)

Enunciados dos Exercícios Cap. 2 Russell & Norvig

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega

SISTEMAS DE INFORMAÇÕES GEOGRÁFICAS Aula 5. SIG- Eng. Cartográfica Prof. Luciene Delazari

Inteligência Artificial - IA. Resolução de problemas por meio de busca

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

Inteligência Artificial

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

Transcrição:

INTRODUÇÃO À ROBÓTICA MÓVEL Aula 20 Edson Prestes Departamento de Informática Teórica http://www.inf.ufrgs.br/~prestes prestes@inf.ufrgs.br

Exploração baseada em Fronteiras Método desenvolvido por Brian Yamauchi [1] e testado usando um robô NOMAD 200 equipado com laser e sonar. Assume que o mundo está sendo modelado por uma grade de ocupação bayesiana. A idéia básica é identificar as fronteiras entre as áreas abertas já observadas pelo robô e as áreas desconhecidas. Em seguida, ir em direção à fronteira escolhida As fronteiras entre as áreas desconhecidas e as áreas ocupadas previamente conhecidas não são de interesse para o robô.

Exploração baseada em Fronteiras Uma fronteira é detectada da seguinte forma: Qualquer célula explorada, associada ao espaço vazio, adjacente a uma célula desconhecida é rotulada como uma célula de fronteira. Células de fronteira adjacentes são agrupadas em regiões de fronteira. Qualquer região de fronteira com uma quantidade de células acima de um limiar pré-definido (da ordem do tamanho do robô) é considerada fronteira.

Exploração baseada em Fronteiras Mapa Atual Regiões de Fronteira Fronteiras Figuras extraídas de [1]

Exploração baseada em Fronteiras A escolha da fronteira a visitar pode ser feita de diferentes maneiras: a fronteira mais próxima; fronteira mais distante, maior fronteira, etc. Após a escolha da fronteira, a posição a ser alcançada é determinada pelo centróide das posições associadas às celulas da região da fronteira escolhida. O algoritmo usado por Yamauchi para ir em direção à fronteira é baseado em uma busca em profundidade na grade. Durante a navegação do robô, é usado um algoritmo reativo de desvio de obstáculos.

Exploração baseada em Fronteiras Figuras extraídas de [1]

Exploração baseada em Fronteiras Outro exemplo de Mapa construído (7.3m x13m). Mapeamento feito em meia hora. Figura extraída de [1]

Exploração Programação Dinâmica Proposto por Leonardo Romero [2,3]. O algoritmo é baseado na técnica de programação dinâmica, comumente chamada de iteração valorada. O ambiente de teste usado é indoor e estático. Em cada passo o robô tenta alcançar a mais próxima região não explorada que minimiza um valor de custo, chamado custo de navegação. O custo de navegação é elaborado de forma a lidar com as limitações perceptivas do robô mantendo-o a uma distância fixa das paredes do ambiente.

Exploração Programação Dinâmica O processo de exploração é dividido nos seguintes passos: 1) Processa a leitura fornecida pelos sensores e atualiza a probabilidade de ocupação das células do mapa. 2) Atualiza o espaço de navegação de acordo com as mudanças ocorridas no mapa 3) Escolhe o próximo movimento usando iteração valorada. 4) Executa o movimento; 5) Obtém as leituras do sensor e corrige os erros de odometria 6) Vai para o passo 1.

Exploração Programação Dinâmica No inicio da exploração do ambiente, todas as células possuem probabilidade de ocupação P(O)=0.5. Uma célula é não-explorada quando P(O) está próxima de 0.5, no intervalo [P emin,p emax ]. Uma célula está ocupada quando P(O) alcança um limiar dado por P omax e continua ocupada enquanto está acima de P omin. Um célula é livre quando P(O)<P omin. Isto binariza o mapa, em um mapa de células livres e ocupadas.

Exploração Programação Dinâmica Espaço de navegação Cada célula armazena seu tipo e sua distância d min em relação à célula ocupada mais próxima Exemplo definido para uma célula classificada como ocupada. Figura extraída de [2]

Exploração Programação Dinâmica A construção do espaço de viagem é feito da seguinte forma: 1) Todas as células livres são classificadas como far. 2) Se uma célula c muda de livre para ocupado, faça As células em volta da célula c, de acordo com o raio do robô, são classificadas como ocupadas. Para as outras células dentro a um raio Dw. Se o (tipo(d)=travel) ou (tipo(d)=far) ou ((tipo(d) = warning) and (dist(d)< d min (d) ) então d min (d) Ãdist(d) e tipo (d) Ãwarning Para as outras células a uma distância maior que Dw. Se tipo(d)=far então tipo (d) Ãtravel.

Exploração Programação Dinâmica 3) Se uma célula c muda de ocupado para livre, faça Dada uma célula d dentro do circulo de raio Dt centrado em c, então tipo (d) Ã far Para cada célula d ocupada dentro do círculo de raio 2Dt centrado em c, repete-se o passo 2. Isto realça o efeito das células ocupadas na vizinhança de c. 4) Repete-se os passos 2 e 3 até que o processo de construção do mapa termine.

Exploração Programação Dinâmica Células far Células ocupadas Células Warning Células Travel Figura extraída de [3]

Exploração Programação Dinâmica A exploração do ambiente é feito usando duas variáveis V e M associadas à cada célula (x,y). V(x,y) - representa o custo de navegação da célula em direção à célula não explorada mais próxima e M(x,y) - representa o movimento ótimo a partir da célula (x,y) para as células vizinhas. O custo é dado de acordo com o tipo da célula, as células do tipo warning e far têm custo maior que as células travel.

Exploração Programação Dinâmica Se a célula (x,y) é não-explorada então V(x,y)=0 Se a célula (x,y) é explorada então V(x,y) Ã 1 e M(x,y)=(0,0) Para todas as células livres (x,y) (x r,y r ) do espaço de viagem faça Onde Cost(r 1,r 2 ) é o custo de movimentação da célula r 1 para a célula r 2 Após a convergência tem-se a política ótima. A exploração termina quando V(x,y)= 1

Exploração Programação Dinâmica A função Cost(r 1,r 2 ) é definida por: C(x,y) é o custo associado ao tipo da célula (travel, far, warning). Dist (r 1,r 2 ) é a distância entre as células r 1 e r 2 que pode ser 1 ou K rot é o custo da rotação que o robô deve fazer para alcançar a célula

Exploração Programação Dinâmica Em um cenário onde existem muitas metas ou fronteiras a serem exploradas, é possível que uma celula muito distante da posição corrente do robô seja escolhida para ser explorada. Isto pode acontecer devido às constantes de custo. Para evitar isto, Romero[3] propõe uma mudança na inicialização do algoritmo de exploração. Apenas a celula não explorada mais próxima do robô terá seu valor V=0. Figura extraída de [3]

Exploração Programação Dinâmica Figura extraída de [3]

Odometria and Métodos de Dead-Reckoning Odometria permite boa precisão em curtas distâncias e possui baixo custo. Porém, devido à integração incremental do movimento do robô, ela leva ao acumulo de erros proporcional à distância navegada. Odometria é fundamental para dar uma estimativa do deslocamento do robô.

Odometria and Métodos de Dead-Reckoning Erros sistemáticos e não sistemáticos Odometria é baseada na idéia de que as revoluções da rodas do robô podem ser convertidas em deslocamento linear relativo ao chão. Esta idéia é limitada, pois considere o caso onde o robô está navegando por um chão sujo de óleo. Além disso, existem outras fontes de erros que podem gerar imprecisões na conversão das revolução em deslocamento linear: erros sistemáticos e não sistemáticos.

Odometria and Métodos de Dead-Reckoning Fontes de Erros Sistemáticos Diâmetro desigual das rodas; Medida do diâmetro modelado difere da medida do diâmetro real; Desalinhamento das rodas; Resolução finita do encoder; Taxa de amostragem das leituras do encoder finita,etc.

Odometria and Métodos de Dead-Reckoning Fontes de Erros Não-Sistemáticos Navegação em pisos irregulares; Derrapagem das rodas devido à: Presença de óleo no chão; Acelerações bruscas; Manobras rápidas; Forças externas (interação com objetos), etc.

Odometria and Métodos de Dead-Reckoning Erros sistemáticos e não-sistemáticos Na maioria das superfícies de ambientes internos erros sistemáticos contribuem mais para erros de odometria que erros não sistemáticos. Em superfícies irregulares, erros-não sistemáticos são dominantes. Erros não-sistemáticos podem aparecer inesperadamente. Portanto são mais difíceis de serem modelados.

Odometria and Métodos de Dead-Reckoning Erros sistemáticos e não-sistemáticos Figura extraída de [4]

BIBLIOGRAFIA [1] Yamauchi, B. A Frontier-based approach for Automonous Exploration. IEEE International Symposium on Computational Intelligence in Robotics and Automation (IEEE CIRA), Monterey, CA, July 1997, pp. 146-151 [2] L. Romero, E. Morales, L.E. Sucar. A Robust Exploration and Navigation Approach for Indoor Mobile Robots Mergind Local and Global Strategies. LNCS :Advances in Artificial Intelligence, vol : 1952/2000, pp-389-398, 2000. [3] L. Romero. Construcción de Mapas y Localización de Robots Móviles. PhD Thesis, disponível em http://faraday.fie.umich.mx/ ~lromero/. [4] Borenstein, J. Everett, H.R, Feng, L. Where am I? Sensors and methods for Mobile Robot Positioning, 1996. disponível para download em http://www-personal.umich.edu/~johannb/ position.htm