Film

INTRODUÇÃO À ROBÓTICA MÓVEL

Description
INTRODUÇÃO À ROBÓTICA MÓVEL Aula 20 Edson Prestes Departamento de Informática Teórica Exploração baseada em Fronteiras Método desenvolvido por Brian
Categories
Published
of 26
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
INTRODUÇÃO À ROBÓTICA MÓVEL Aula 20 Edson Prestes Departamento de Informática Teórica 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 [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 , [3] L. Romero. Construcción de Mapas y Localización de Robots Móviles. PhD Thesis, disponível em ~lromero/. [4] Borenstein, J. Everett, H.R, Feng, L. Where am I? Sensors and methods for Mobile Robot Positioning, disponível para download em position.htm
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks