INTRODUÇÃO À ROBÓTICA MÓVEL

Click here to load reader

  • date post

    30-Jun-2022
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of INTRODUÇÃO À ROBÓTICA MÓVEL

RAula15Aula 15
Decomposição Aproximada – 2m-trees ¢ 2m-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 2m, 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 é 2m.
¢ Se m=2, a árvore é chamada quadtree. Se m=3 ela é chamada octree.
REPRESENTAÇÃO DO AMBIENTE Decomposição Aproximada – 2m-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 é 2mh
¢ 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 – 2m-trees
REPRESENTAÇÃO DO AMBIENTE
Decomposição Aproximada - 2m-trees
Grade de Ocupação x Quadtree 17787 células x 2290 células
REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica l As decomposições fixa e adaptativa impõem um
conhecimento a priori do mundo, além do que desconsideram detalhes sobre o ambiente.
l A decomposição topológica concentra-se nos aspectos mais relevantes do ambiente, evitando medidas diretas das propriedades geométricas do ambiente.
l 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 l Os vértices representam áreas do ambiente, com
características distingüíveis. Por exemplo, uma intersecção de corredores, uma T-junction.
l 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.
l É comum associar comportamentos específicos ou comandos às arestas de forma que o robô consiga se deslocar de um local para outro.
l 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 l 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.
l 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 l A abordagem roadmap captura a conectividade do
espaço livre do robô na forma de uma rede de curvas unidimensionais.
l Uma vez que o roadmap é construído, ele é usado como um conjunto de caminhos padrão.
l De acordo com Choset[7], roadmaps são exemplos de decomposição topológica.
l Existem vários tipos de roadmaps : grafos de
visibilidade; diagramas de voronoi, etc.
REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica – Diagrama de Voronoi l É uma abordagem que tende a maximizar a distância entre
o robô e os obstáculos presentes no ambiente (clearance).
l Considere . Para qualquer , faça
e
REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica – Diagrama de Voronoi l O diagrama de Voronoi consiste em um
conjunto finito de segmentos de retas e curvas, chamados arcos.
l 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.
l 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.
Decomposição Topológica – Diagrama de Voronoi
e delimitam uma região, onde qualquer q possui card(near(q))=1.
REPRESENTAÇÃO DO AMBIENTE
REPRESENTAÇÃO DO AMBIENTE
Figura Extraída de [2]
Decomposição Topológica – Diagrama de Voronoi l 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 A1, A2, … Ap de forma que e e para todo i ∈ {1,2, …, p-1} , Ai e Ai+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
REPRESENTAÇÃO DO AMBIENTE
REPRESENTAÇÃO DO AMBIENTE Decomposição Topológica – Diagrama de Voronoi l Os caminhos produzidos pelo diagrama de Voronoi não
são ótimos no que se refere ao seu comprimento do caminho total.
l 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.
l 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 l Usado como representação 2D de ambientes indoor.
l É considerado como método de decomposição contínua exata [1].
l O custo de armazenamento é proporcional à densidade de objetos presentes no ambiente.
l 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 l 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 l 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 l Em geral, mapas baseados em características são
usados em conjunto com Filtro de Kalman.
l Filtro de Kalman representa as características através de um vetor de posições e uma matriz de covariança.
BIBLIOGRAFIA l [1] Siegwart, R. Nourbakhsh, I. R. Introduction to Autonomous Mobile
Robots, MIT Press, 2004.
l [2] Latombe, J. C. Robot Motion Planning, Kluwer Academic Publishers, 1991.
l [3] Bailey, T., Nebot, E. Localisation in large-scale environment. Robotics and Autonomous Systems, v.37, 2001.
l [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
l [5] Elfes, A. Using occupancy grids for mobile robot perception and navigation. Computer Magazine, june, 1989.
BIBLIOGRAFIA l [6] Prestes, E. Navegação Exploratória baseada em problemas de valores de
contorno, Tese de Doutorado, UFRGS, 2003.
l [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.
l [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 l Amplamente usada na área de Robótica.
l O ambiente real é representado por um conjunto de células de mesmo tamanho.
l Cada célula está associada a uma região quadrada do ambiente.
l É um exemplo de decomposição aproximada do ambiente.
Grades de Ocupação
Figura extraída de [1]
Grades de Ocupação l Permitem facilmente integrar as leituras dos sensores do
robô para gerar mapas.
l Isto é feito usando uma teoria formal de evidência como Bayes ou Dempster-Shape, ou heurísticas, como HIMM.
l É possível usar as grades de ocupação como sensores virtuais para algoritmos de tratamento de obstáculos.
l A atualização do mapa exige um modelo do sensor do robô.
Grades de Ocupação
I – região associada à leitura. Objeto pode estar em qualquer posição nesta área.
II – região vazia.
IV – região fora do campo de visão do sensor.
Figura extraída de [2] Figura extraída de [6]
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 l Um método muito usado para atualizar a grade de
ocupação é converter as leituras dos sensores em probabilidades usando o Teorema de Bayes.
l Elfes e Moravec foram os pioneiros em 1980 no uso de probabilidades para atualizar a grade.
l Nesta abordagem o modelo do sensor gera uma probabilidade condicional da forma P(A|B).
Grades de Ocupação - Bayes l Sensores TOF Sonar podem observar se uma célula c em
particular está ocupada ou vazia.
l Este estado pode ser visto como um evento H={H,¬ H} ou H={ocupado, vazio}.
l A probabilida da ocorrência de H é representada por P(H) de forma que 0· P(H)· 1.
l Conhecendo P(H), sabemos P(¬ H), pois P(¬ H)=1-P(H).
l Esta probabilidade é chamada incondicional já que independe das leituras feitas pelos sensores do robô.
Grades de Ocupação - Bayes l 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).
l A probabilidade P(H|s) é calculada através da regra de Bayes da seguinte forma
l 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 l Um modelo simples mostrado em [2] é definido como segue:
l Para a região I
l Para a região II
l Tanto P(s|vazia) quanto P(s|ocupada) são armazenadas para cada célula.
Grades de Ocupação - Bayes l Considere a célula (marcada abaixo) com distância
r=3.5 e ®=0. l 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 l Considere a célula (marcada abaixo) com distância r=6
e ®=5. l 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 l A probabilidade P(H|s) é calculada por
mais especificamente
P(ocupada)=P(vazia)=0.5
Grades de Ocupação - Bayes l Usando l Usando
l Sabendo que P(s|ocupada)=0.52 e P(s| vazia)=0.48 e P(ocupada)= P(vazia)=0.5
l Temos P(ocupada|s)=0.52 l P(vazia|s)=0.48
l 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 l O método para calcular a probabilidade condicional a
partir de várias leituras é definido como
l Devido a independência das leituras pode ser simplificado para
l Um problema nesta abordagem é a necessidade de armazenar todas as probabilidades P(si|H)
Grades de Ocupação - Bayes l Através de P(H| s)P(s) = P(s|H)P(H) podemos escrever
de forma recursiva, como
Grades de Ocupação - Bayes l Considere três leituras feitas nos instantes t1, t2 e t3
como apresentado abaixo (exemplo extraído de [2])
Grades de Ocupação - Bayes l No passo 1 de atualização usando
temos
Assumindo
P (St2 |O) = 0.69, P (St2 |E) = 0.31
Grades de Ocupação - Bayes l No passo 2 de atualização usando
temos
Onde
Grades de Ocupação - Bayes l No passo 3 de atualização usando
temos
Onde
Grades de Ocupação -HIMM l O método HIMM – Histogramic In Motion Mapping [6] foi
desenvolvido por Borenstein e Koren na universidade de Michigan .
l A principal motivação para o desenvolvimento do método foi o tratamento dinâmico de obstáculos.
l O método bayesiano consumia muito tempo de processamento.
Grades de Ocupação -HIMM l O método HIMM usa o modelo de sonar mostrado na figura
abaixo
Figura extraída de [6]
l O modelo usado considera que apenas as células no eixo acústico são importantes.
l Isto gera uma quantidade muito menor de atualizações das células no cone de visão.
l Neste modelo são consideradas as taxa de atualização das células.
l Cada célula armazena um valor entre 0 e 15.
Grades de Ocupação -HIMM l Uma célula da grade é atualizada sempre que o eixo acústico
está sobre ela.
l Uma célula da grade é atualizada sempre que o eixo acústico está sobre ela.
l Se esta célula estiver na região associada à leitura feita pelo sensor, então ela será incrementada de 3 unidades.
l Se ela estiver a uma distância menor que a distância fornecida pela leitura do sensor, então ela é decrementada de 1 unidade.
Figura extraída de [6]
Grades de Ocupação -HIMM l 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 l Um exemplo de funcionamento é apresentado abaixo.
Figura extraída de [2]
Grades de Ocupação -HIMM l 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.
l Para tratar obstáculos dinâmicos o valor armazenado na célula é levado em consideração para ponderar a força de reação.
l Robôs com alta velocidade podem ter dificuldades para reagir adequadamente aos obstáculos presentes no ambiente.
l 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 l Quando um elemento é atualizado como ocupado, o
GRO é aplicado usando uma máscara de peso.
min(15,23)
Figuras extraídas de [2]
Grades de Ocupação -HIMM l Um exemplo de mapa gerado pelo método HIMM é
ilustrado abaixo
Figura extraída de [6]
Mapa produzido C o n s i d e r a n d o threshold=12
BIBLIOGRAFIA l [1] Prestes, E. Navegação Exploratória baseada em problemas de
valores de contorno, Tese de Doutorado, UFRGS, 2003.
l [2] Murphy, R.. Introduction to AI Robotics, MIT Press, 2000.
l [3] Siegwart, R. Nourbakhsh, I. R. Introduction to Autonomous Mobile Robots, MIT Press, 2004.
l [4] Neal, R. M. Probabilistic Inference using Markov Chain Monte Carlo Methods. Technical Report (CRG-TR-93-1). University of Toronto, 1993.
l [5] Thrun, S., Burgard, W. , Fox, D. Probabilistic Robotics, MIT Press, 2005.
l [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 l Considere X1, X2,... Xn variáveis aleatórias que podem assumir valores
dentro de um conjunto discreto. Por exemplo
l 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 l 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 l A probabilidade condicional para um subconjunto de variáveis, dado
os valores para outro subconjunto (disjunto), é definida por
l Por exemplo,
P ({xi : i A}|{xj : j B}) = P ({xj : j B}|{xi : i A})P ({xi : i A})
P ({xj : j B})
Probabilidade l Usando a probabilidade condicional chegamos ao Teorema de Bayes
Quando estamos lidando com múltiplas variáveis aleatórias, temos
P (x|y) = P (y|x)P (x)
P (y) Probabilidade a prioriProbabilidade a posteriori
Probabilidade inversa
l Considerando 2 variáveis aleatórias, sabemos que a probabilidade marginal
l Usando a probabilidade condicional
l Chegamos ao Teorema da Probabilidade Total (caso discreto)
P (x) =
Retorno