INTRODUÇÃO À ROBÓTICA MÓVEL

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

Universidade Federal do Paraná Departamento de Informática. Reconhecimento de Padrões. Revisão de Probabilidade e Estatística

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

5COP096 TeoriadaComputação

INF 1771 Inteligência Artificial

Visualização Científica. Pedro de Botelho Marcos Março/2008. Núcleo de Computação Científica Tópicos Avançados em Computação II

Espaço Amostral ( ): conjunto de todos os

Memória Cache. Prof. Leonardo Barreto Campos 1

Capítulo 5: Aplicações da Derivada

UM TEOREMA QUE PODE SER USADO NA

Teoria dos Grafos. Edson Prestes

Navegação autônoma de robôs baseada em técnicas de mapeamento e aprendizagem de máquina

Guia de Atividades para Introdução do Powersim no Processo Ensinoaprendizagem de Equações Diferenciais Ordinárias

Universidade Federal de Pernambuco

UNIVERSIDADE DE SÃO PAULO. Faculdade de Arquitetura e Urbanismo

Probabilidade. Distribuição Exponencial

SISTEMAS ESPECIALISTAS

Probabilidade. Distribuição Exponencial

Cálculo das Probabilidades e Estatística I

Complexidade de Algoritmos. Edson Prestes

Teoria dos Grafos. Edson Prestes

CADEX. Consultoria em Logística Interna. Layout de armazém. Objectivos. Popularidade. Semelhança. Tamanho. Características

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Algoritmos e Estrutura de Dados III. Árvores

Entendendo como funciona o NAT

A abordagem do assunto será feita inicialmente explorando uma curva bastante conhecida: a circunferência. Escolheremos como y

Cadeias de Markov. Geovany A. Borges

Árvores Binárias de Busca

Sistemas de Tempo Real: Conceitos Básicos

INTRODUÇÃO À ROBÓTICA MÓVEL

Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

Modelagem Digital do Terreno

Sistema de Despacho de Serviços de Táxi

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = =

Introdução à Robótica Móvel

2. Método de Monte Carlo

Regra do Evento Raro p/ Inferência Estatística:

Memória cache. Prof. Francisco Adelton

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

Faculdade de Administração e Negócios de Sergipe

Análise Dimensional Notas de Aula

3 Arquitetura do Sistema

Aula 03 Custos de um algoritmo e funções de complexidade

Computação Gráfica. Prof. MSc. André Yoshimi Kusumoto

Universidade Federal de Goiás Instituto de Informática Processamento Digital de Imagens

MODELAGEM E SIMULAÇÃO

PLANEJAMENTO DE TRAJETÓRIAS PARA ROBÔS MÓVEIS EM AMBIENTES DESCONHECIDOS

Sistemas Distribuídos: Conceitos e Projeto Eleição de Coordenador

Arquitetura de Rede de Computadores

CAPÍTULO 3. Sistemas com Vários Componentes (Multicomponentes) em Modelos Markovianos de Decisão

COBERTURA EM UMA REDE DE SENSORES SEM FIO

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

MÉTODOS DE RESOLUÇÃO DE PROBLEMAS EM IA. Busca em espaço de estados. Estados e Operadores. Jogo dos 8. Sumário. Exemplo: jogo dos 8

BCC202 - Estrutura de Dados I

EXTRAÇÃO DE CARACTERÍSTICAS MÉTRICAS LOCAIS A PARTIR DE GRADE DE OCUPAÇÃO USANDO MÉTODO DE VOTAÇÃO PONDERADA

André Chaves Magalhães

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

Exercícios Resolvidos sobre probabilidade total e Teorema de Bayes

BC-0005 Bases Computacionais da Ciência. Modelagem e simulação

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

5.1 Modelo de uma rede óptica com conversores de comprimento de onda

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Cláudio Tadeu Cristino 1. Julho, 2014

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Sumário INTRODUÇÃO... 4 PROTOCOLO ARP...5 ARP - ADDRESS RESOLUTION PROTOCOL...5 FUNCIONAMENTO DO PROTOCOLO ARP...5 CACHE ARP... 6

Notas de aula número 1: Otimização *

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 3. Prof. Rafael Dias Ribeiro.

Tecnologia de Redes de Computadores - aula 5

APLICAÇÕES DA DERIVADA

CINEMÁTICA - É a parte da mecânica que estuda os vários tipos de movimento, sem se preocupar com as causas destes movimentos.

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

2 Fundamentação Conceitual

6 Construção de Cenários

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Roteiro 3 Modelagem relacional

Roteamento em Redes de Computadores

Árvores Binárias de Busca

Os caracteres de escrita

Métodos de mapeamento para fenômenos qualitativos e quantitativos

Lógica e Raciocínio. Decisão sob Risco Probabilidade. Universidade da Madeira.

Técnicas de Cartografia Digital

Projeto de Máquinas de Estado

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI

Busca. Pesquisa sequencial

Disciplina: Unidade III: Prof.: Período:

Avaliação de Desempenho

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

AULA 15 Plugin Preenchimento de Células

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

Ensaio de Emissão Acústica Aplicado em Cilindros sem Costura para Armazenamento de Gases

Organização e Arquitetura de Computadores I

Aulas 22 & 23. Controle de Fluxo e de Congestionamento. Eytan Modiano MIT

Transcrição:

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

REPRESENTAÇÃO DO AMBIENTE Decomposição Aproximada - Occupancy Grid Figuras Extraída de [6]

REPRESENTAÇÃO DO AMBIENTE Decomposição Aproximada 2 m -trees 2 m -tree oferece uma decomposição hierárquica do espaço Ω (definido no inicio da decomposição retangulóide) na forma de uma árvore de grau 2 m, onde m é a dimensão do espaço de configurações. Cada nó da árvore é um retangulóide rotulado de vazio, ocupado ou misto. A raiz da árvore é Ω e apenas as células mistas podem ter filhos, cuja quantidade é 2 m. Se m=2, a árvore é chamada quadtree. Se m=3 ela é chamada octree.

REPRESENTAÇÃO DO AMBIENTE Decomposição Aproximada 2 m -trees A altura h da árvore determina a resolução da decomposição. Valores altos de h levam a células pequenas e possuem impacto direto na eficiência do processo de planejamento. O número máximo de folhas é 2 mh Em geral, a decomposição de um nó na árvore ocorre se este for misto e se sua profundidade for menor que um valor prédefinido. As células mistas com profundidade igual a máxima permitida são rotuladas como ocupadas.

REPRESENTAÇÃO DO AMBIENTE Decomposição Aproximada 2 m -trees

REPRESENTAÇÃO DO AMBIENTE Decomposição Aproximada - 2 m -trees Figura Extraída de [1]

REPRESENTAÇÃO DO AMBIENTE Decomposição Aproximada - Células de tamanho variável Grade de Ocupação x Quadtree 17787 células x 2290 células

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica As decomposições fixa e adaptativa impõem um conhecimento a priori do mundo, além do que desconsideram detalhes sobre o ambiente. A decomposição topológica concentra-se nos aspectos mais relevantes do ambiente, evitando medidas diretas das propriedades geométricas do ambiente. Uma representação topológica é um grafo G=(V,A), composto por um conjunto de vértices V e um conjunto de arestas A.

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica Os vértices representam áreas do ambiente, com características distingüíveis. Por exemplo, uma intersecção de corredores, uma T-junction. As arestas mostram as conexões entre as diferentes áreas do ambiente e informam ao robô quais são atingíveis a partir de uma dada. É comum associar comportamentos específicos ou comandos às arestas de forma que o robô consiga se deslocar de um local para outro. Os vértices podem estar associados a áreas de diferentes tamanhos.

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica Figura Extraída de [1]

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica Para que um robô consiga navegar robustamente em um ambiente ele deve possuir mecanismos para : detectar a sua posição corrente em termos de vértices do grafo topológico; permitir uma navegação entre os vértices do grafo topológico. Devido ao nível de abstração da representação do ambiente, é difícil determinar com exatidão a localização espacial do robô.

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica Figura Extraída de [1]

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica - RoadMaps A abordagem roadmap captura a conectividade do espaço livre do robô na forma de uma rede de curvas unidimensionais. Uma vez que o roadmap é construído, ele é usado como um conjunto de caminhos padrão. De acordo com Choset[7], roadmaps são exemplos de decomposição topológica. Existem vários tipos de roadmaps : grafos de visibilidade; diagramas de voronoi, etc.

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica Diagrama de Voronoi É uma abordagem que tende a maximizar a distância entre o robô e os obstáculos presentes no ambiente (clearance). Considere. Para qualquer, faça e O diagrama de Voronoi do espaço livre

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica Diagrama de Voronoi O diagrama de Voronoi consiste em um conjunto finito de segmentos de retas e curvas, chamados arcos. Um arco é um segmento de reta se ele corresponder a um conjunto de configurações que estão mais próximas de um mesmo par de arestas que compõem os obstáculos do ambiente. Um arco é uma curva se ele corresponder a um conjunto de configurações que estão mais próximas de um mesmo par consistindo de pelo menos um vértice que compõe os obstáculos do ambiente.

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica Diagrama de Voronoi e delimitam uma região, onde qualquer q possui card(near(q))=1. Figura Extraída de [2]

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica Diagrama de Voronoi Figura Extraída de [2]

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica Diagrama de Voronoi Planejamento usando o Diagrama de Voronoi é como segue: Computa Computa e e identifica os arcos de que contenham estes pontos Busca em uma seqüência de arcos A 1, A 2, A p de forma que e e para todo i {1,2,, p-1}, A i e A i+1, compartilham um mesmo vértice. Se a busca termina com sucesso então retorna juntamente com a seqüência de arcos que os conecta.

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica Diagrama de Voronoi Figura Extraída de [2]

REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica Diagrama de Voronoi Os caminhos produzidos pelo diagrama de Voronoi não são ótimos no que se refere ao seu comprimento do caminho total. Uma fraqueza do uso deste tipo de representação está associada ao uso de sensores de curto alcance que podem fazer com que o robô não consiga sentir obstáculos a sua volta. De acordo com [1], uma das principais vantagens é a facilidade em seguir os arcos de Voronoi através de simples regras de controle.

REPRESENTAÇÃO DO AMBIENTE Decomposição Contínua Usado como representação 2D de ambientes indoor. É considerado como método de decomposição contínua exata [1]. O custo de armazenamento é proporcional à densidade de objetos presentes no ambiente. Os objetos do ambiente real são modelados através de primitivas geométricas.

REPRESENTAÇÃO DO AMBIENTE Decomposição Contínua Figura extraída de [1]

REPRESENTAÇÃO DO AMBIENTE Decomposição Contínua O uso de sensores do tipo laser permite extrair linhas mais facilmente que sensores sonar. Figura extraída de [1]

REPRESENTAÇÃO DO AMBIENTE Decomposição Contínua Múltiplos retornos de sensores do tipo sonar permitem estimar a estrutura de objetos simples. Figuras extraída de [8]

REPRESENTAÇÃO DO AMBIENTE Decomposição Contínua Em geral, mapas baseados em características são usados em conjunto com Filtro de Kalman. Filtro de Kalman representa as características através de um vetor de posições e uma matriz de covariança.

BIBLIOGRAFIA [1] Siegwart, R. Nourbakhsh, I. R. Introduction to Autonomous Mobile Robots, MIT Press, 2004. [2] Latombe, J. C. Robot Motion Planning, Kluwer Academic Publishers, 1991. [3] Bailey, T., Nebot, E. Localisation in large-scale environment. Robotics and Autonomous Systems, v.37, 2001. [4] Elfes, A. Sonar-based real world mapping and navigation. IEEE Journal of Robotics and Automation, v. RA-3, n.3, p.249-265, 1987 [5] Elfes, A. Using occupancy grids for mobile robot perception and navigation. Computer Magazine, june, 1989.

BIBLIOGRAFIA [6] Prestes, E. Navegação Exploratória baseada em problemas de valores de contorno, Tese de Doutorado, UFRGS, 2003. [7] Choset, H. Lynch, K.M., Hutchinson, S., Kantor, G., Burgard, W., Kavraki, L. E., Thrun, S. Principle of Robot Motion ; Theory, Algorithms, and Implementation. [8] Leonard, J.J., Durrant-Whyte, H. F., Cox, I. J. Dynamic Map Building for an Autonomous Mobile Robot. IEEE IROS, 1990

Grades de Ocupação Amplamente usada na área de Robótica. O ambiente real é representado por um conjunto de células de mesmo tamanho. Cada célula está associada a uma região quadrada do ambiente. É um exemplo de decomposição aproximada do ambiente.

Grades de Ocupação Figura extraída de [1]

Grades de Ocupação Permitem facilmente integrar as leituras dos sensores do robô para gerar mapas. Isto é feito usando uma teoria formal de evidência como Bayes ou Dempster-Shape, ou heurísticas, como HIMM. É possível usar as grades de ocupação como sensores virtuais para algoritmos de tratamento de obstáculos. A atualização do mapa exige um modelo do sensor do robô.

Grades de Ocupação Figura extraída de [2] Figura extraída de [6] I região associada à leitura. Objeto pode estar em qualquer posição nesta área. II região vazia. III região coberta pelo sensor, mas desconhecida. IV região fora do campo de visão do sensor.

Grades de Ocupação Distribuição típica do sinal emitido por um sensor sonar Figura extraída de [3]

Grades de Ocupação - Bayes Um método muito usado para atualizar a grade de ocupação é converter as leituras dos sensores em probabilidades usando o Teorema de Bayes. Elfes e Moravec foram os pioneiros em 1980 no uso de probabilidades para atualizar a grade. Nesta abordagem o modelo do sensor gera uma probabilidade condicional da forma P(A B).

Grades de Ocupação - Bayes Sensores TOF Sonar podem observar se uma célula c em particular está ocupada ou vazia. Este estado pode ser visto como um evento H={H, H} ou H={ocupado, vazio}. A probabilida da ocorrência de H é representada por P(H) de forma que 0 P(H) 1. Conhecendo P(H), sabemos P( H), pois P( H)=1-P(H). Esta probabilidade é chamada incondicional já que independe das leituras feitas pelos sensores do robô.

Grades de Ocupação - Bayes Dada uma leitura s, a probabilidade de uma célula c estar ocupada, ou seja, de ocorrer o evento H=ocupado é denotada por P(H s). A probabilidade P(H s) é calculada através da regra de Bayes da seguinte forma P(s H) consiste na probabilidade da leitura s ter sido obtida dado que a célula c está ocupada. Esta probabilidade está relacionada ao modelo do sensor usado. Slides sobre Probabilidade

Grades de Ocupação - Bayes Um modelo simples mostrado em [2] é definido como segue: Para a região I Para a região II Tanto P(s vazia) quanto P(s ocupada) são armazenadas para cada célula.

Grades de Ocupação - Bayes Considere a célula (marcada abaixo) com distância r=3.5 e =0. Usando as equações associadas ao modelo do sensor definidas para a região II obtemos P(s vazia)=0.825 P(s ocupada)=0.175 Figura extraída de [2]

Grades de Ocupação - Bayes Considere a célula (marcada abaixo) com distância r=6 e =5. Usando as equações associadas ao modelo do sensor definidas para a região I obtemos P(s ocupada)=0.52 P(s vazia)=0.48 Figura extraída de [2]

Grades de Ocupação - Bayes A probabilidade P(H s) é calculada por mais especificamente P(ocupada) e P(vazia) correspondem a probabilidade prévia (prior probability). Como não conhecemos o estado da célula previamente, é assumido que P(ocupada)=P(vazia)=0.5

Grades de Ocupação - Bayes Usando Sabendo que P(s ocupada)=0.52 e P(s vazia)=0.48 e P(ocupada)= P(vazia)=0.5 Temos P(ocupada s)=0.52 P(vazia s)=0.48 Isto ocorreu devido a probabilidade prévia ser 0.5. Em geral P(s H) é diferente de P(H s) Figura extraída de [2]

Grades de Ocupação - Bayes O método para calcular a probabilidade condicional a partir de várias leituras é definido como Devido a independência das leituras pode ser simplificado para Um problema nesta abordagem é a necessidade de armazenar todas as probabilidades P(s i H)

Grades de Ocupação - Bayes Através de P(H s)p(s) = P(s H)P(H) podemos escrever de forma recursiva, como

Grades de Ocupação - Bayes Considere três leituras feitas nos instantes t1, t2 e t3 como apresentado abaixo (exemplo extraído de [2])

Grades de Ocupação - Bayes No passo 1 de atualização usando temos Assumindo

Grades de Ocupação - Bayes No passo 2 de atualização usando temos Onde P (S t2 O) =0.69,P(S t2 E) =0.31

Grades de Ocupação - Bayes No passo 3 de atualização usando temos Onde

Grades de Ocupação -HIMM O método HIMM Histogramic In Motion Mapping [6] foi desenvolvido por Borenstein e Koren na universidade de Michigan. A principal motivação para o desenvolvimento do método foi o tratamento dinâmico de obstáculos. O método bayesiano consumia muito tempo de processamento.

Grades de Ocupação -HIMM O método HIMM usa o modelo de sonar mostrado na figura abaixo O modelo usado considera que apenas as células no eixo acústico são importantes. Isto gera uma quantidade muito menor de atualizações das células no cone de visão. Neste modelo são consideradas as taxa de atualização das células. Figura extraída de [6] Cada célula armazena um valor entre 0 e 15.

Grades de Ocupação -HIMM Uma célula da grade é atualizada sempre que o eixo acústico está sobre ela. Uma célula da grade é atualizada sempre que o eixo acústico está sobre ela. Se esta célula estiver na região associada à leitura feita pelo sensor, então ela será incrementada de 3 unidades. Figura extraída de [6] Se ela estiver a uma distância menor que a distância fornecida pela leitura do sensor, então ela é decrementada de 1 unidade.

Grades de Ocupação -HIMM Este processo coleta apenas uma pequena amostra do ambiente, a qual é dependente da velocidade do robô. Figura extraída de [2]

Grades de Ocupação -HIMM Um exemplo de funcionamento é apresentado abaixo. Figura extraída de [2]

Grades de Ocupação -HIMM Uma das desvantagens do HIMM é que cada célula é atualizada no máximo duas vezes. Isto faz com que cada célula tenha um grau de certeza igual a 6, o que corresponde a menos da metade do valor máximo permitido. Para tratar obstáculos dinâmicos o valor armazenado na célula é levado em consideração para ponderar a força de reação. Robôs com alta velocidade podem ter dificuldades para reagir adequadamente aos obstáculos presentes no ambiente. Para tratar este problema foi proposta uma nova forma de atualização dos valores na grade, chamada Growth Rate Operator.

Grades de Ocupação -HIMM Quando um elemento é atualizado como ocupado, o GRO é aplicado usando uma máscara de peso. min(15,23) Figuras extraídas de [2] Calculando o valor de atualização da usando a máscara.

Grades de Ocupação -HIMM Um exemplo de mapa gerado pelo método HIMM é ilustrado abaixo Mapa produzido Figura extraída de [6] Considerando threshold=12

BIBLIOGRAFIA [1] Prestes, E. Navegação Exploratória baseada em problemas de valores de contorno, Tese de Doutorado, UFRGS, 2003. [2] Murphy, R.. Introduction to AI Robotics, MIT Press, 2000. [3] Siegwart, R. Nourbakhsh, I. R. Introduction to Autonomous Mobile Robots, MIT Press, 2004. [4] Neal, R. M. Probabilistic Inference using Markov Chain Monte Carlo Methods. Technical Report (CRG-TR-93-1). University of Toronto, 1993. [5] Thrun, S., Burgard, W., Fox, D. Probabilistic Robotics, MIT Press, 2005. [6] Borenstein, J., Koren, Y. Histogramic In-Motion Mapping for mobile robot obstacle avoidance, IEEE Journal of Robotics and Automation, vol. 7, no. 4, 1991.

Probabilidade Considere X1, X2,... Xn variáveis aleatórias que podem assumir valores dentro de um conjunto discreto. Por exemplo Podemos ter um modelo probabilistítico completamente especificado pela probabilidade de união (joint probabilities) para cada possível associação de valores para as variáveis aleatórias.

Probabilidade Assumindo A={1,2,...,m} e B={m+1,m+2,...,n}, a probabilidade associada a um subconjunto de variáveis (probabilidade marginal) é dada por Por exemplo, P(Clear,Rising)= P(Clear,Rising,Dry)+ P(Clear,Rising,Wet) P(Clear,Rising)= 0.4 + 0.07 = 0.47

Probabilidade A probabilidade condicional para um subconjunto de variáveis, dado os valores para outro subconjunto (disjunto), é definida por Por exemplo,

Probabilidade Usando a probabilidade condicional chegamos ao Teorema de Bayes Probabilidade inversa P (x y) = Probabilidade a posteriori P (y x)p (x) P (y) Probabilidade a priori Quando estamos lidando com múltiplas variáveis aleatórias, temos P ({x i : i A} {x j : j B}) = P ({x j : j B} {x i : i A})P ({x i : i A}) P ({x j : j B})

Probabilidade Considerando 2 variáveis aleatórias, sabemos que a probabilidade marginal P (x) = Usando a probabilidade condicional y P (x, y) P (x y) =P (x, y)/p (y) Chegamos ao Teorema da Probabilidade Total (caso discreto) P (x) = y P (x y)p(y) Retorno