Clei 2010 Tutorial - Slides Parte II

968 views
856 views

Published on

Tutorial CLEI 2010 - Assuncion - Paraguay
Outubro 2010
LRM - ICMC - USP São Carlos
INCT-SEC
Titulo: "Robôs Móveis e Veículos Autônomos: Pesquisa, Desenvolvimento e Desafios na área da Inteligência

Published in: Technology, News & Politics
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
968
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
32
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Clei 2010 Tutorial - Slides Parte II

  1. 1. 19/10/2010 Robôs Móveis e Veículos Autônomos: Pesquisa, Desenvolvimento e Desafios na área da Inteligência Artificial Denis F. Wolf Fernando S. Osório Kalinka R. J. Castelo Branco Universidade de São Paulo – USP - ICMC Grupo de Sistemas Embarcados, Evolutivos e Robóticos - SEER Laboratório de Robótica Móvel - LRM INCT – Sistemas Embarcados Críticos CLEI 2010 #1 Laboratório de Robótica Móvel – ICMC/USP Desafios da Inteligência Artificial: Pesquisa e Desenvolvimento de Robôs Móveis e Veículos Autônomos Denis F. Wolf Fernando S. Osório Kalinka R. J. Castelo Branco Universidade de São Paulo – USP - ICMC Grupo de Sistemas Embarcados, Evolutivos e Robóticos - SEER Laboratório de Robótica Móvel - LRM Parte II INCT – Sistemas Embarcados Críticos 2 1
  2. 2. 19/10/2010 Robótica Móvel • Simuladores de Robôs Móveis • Player/Stage/Gazebo • Algoritmos Inteligentes para Robôs Móveis • Localização • Mapeamento • SLAM • Navegação CLEI 2010 #3 Robótica Móvel - Desenvolvimento Simulação Testes em robôs Testes em robôs de pequeno porte de grande porte 2
  3. 3. 19/10/2010 Robótica Móvel - Desenvolvimento Simulação Validação inicial dos algoritmos desenvolvidos utilizando simuladores de robôs e sensores. Vantagens: - Possibilidade irrestrita de experimentos - Economia de tempo de desenvolvimento - Evita danos aos robôs e sensores Robótica Móvel - Desenvolvimento Testes em robôs de pequeno porte Validação do sistema em ambientes reais de escala reduzida. Vantagens: - Ambientes e informações reais para validação dos sistemas desenvolvidos - Facilita a logística dos experimentos - Diminui a chance de danos aos robôs e sensores 3
  4. 4. 19/10/2010 Robótica Móvel - Desenvolvimento Testes em robôs de grande porte Validação do sistema em ambientes e situações reais. Características: - Ambientes e informações reais para validação dos sistemas desenvolvidos - Logística complexa - Possibilidade de danos aos robôs e sensores Simuladores de Robôs Móveis Carmen • Desenvolvido na CMU • Simula e controla robôs móveis • Gratuito e código aberto • SO: Linux Aria/Saphira • Desenvolvido pela MobileRobots • Simula e controla robôs Pioneer • Exige licença • SO: Linux e Windows CLEI 2010 #8 4
  5. 5. 19/10/2010 Simuladores de Robôs Móveis Microsoft Robotics Studio • Desenvolvido pela Microsoft • Simula e controla robôs móveis • Simulação física (3D) • 3 tipos de licença • SO: Windows Webots • Desenvolvido pela Cyberbotics • Simula e controla robôs móveis • Simulação física (3D) • Exige licença • SO: Linux, Windows e Mac. CLEI 2010 #9 Player/Stage/Gazebo • Player • Sistema para controle de robôs móveis • Suporta diversos tipos de robôs e sensores • Stage • Simulador de robôs móveis e sensores • Ambientes bidimensionais • Compatível com Player • Gazebo • Simulador de alta fidelidade • Ambientes em 3 dimensões • Compatível com Player CLEI 2010 # 10 5
  6. 6. 19/10/2010 História do Player • Projeto iniciado em 2000 na University of Southern California. • Hoje em dia, seu core básico continua sendo desenvolvido pelos autores originais, apesar de diversos pesquisadores de diferentes instituições contribuem para o projeto. • Atualmente, o Player é utilizado por diversas empresas e universidades em 5 continentes. + 3.000 downloads por mês. CLEI 2010 # 11 Características do Player • Software livre • Modelo Cliente/Servidor • Desenvolvido para sistemas Linux/Unix • Comunicação baseada em sockets • Clientes em: C, C++, Java, Python etc • Interface de alto nível para acesso ao hardware • Suporta grande quatidade de plataformas robóticas e sensores comerciais CLEI 2010 # 12 6
  7. 7. 19/10/2010 Programa de controle A imagem não pode ser exibida. Talv ez o computador não tenha memória suficiente para abrir a imagem ou talv ez ela esteja corrompida. Reinicie o computador e abra o arquiv o nov amente. Se ainda assim aparecer o x v ermelho, poderá ser necessário excluir a imagem e inseri-la nov amente. o ráusu od amargorP o ráusu od amargorP oiiiiráusu od amargorP o ráusu od amargorP ICP aremaC BSU oãçisiuqA resaL sodad ed serosnes sod l ai r e S ranoS otnemajenalP airtemodO sodnamoC so arap serotom o t n e m a c ol s e D o d aj e s e d serotoM l ai r e S subnaC CLEI 2010 # 13 Player A imagem não pode ser exibida. Talv ez o computador não tenha memória suficiente para abrir a imagem ou talv ez ela esteja corrompida. Reinicie o computador e abra o arquiv o nov amente. Se ainda assim aparecer o x v ermelho, poderá ser necessário excluir a imagem e inseri-la nov amente. reyalP amargorP ICP oiiiráusu od o ráusu od o ráusu od aremaC BSU oãçisiuqA resaL sodad ed serosnes sod l ai r e S ranoS otnemajenalP airtemodO sodnamoC o arap rotom o t n e m a c ol s e D o d aj e s e d serotoM l ai r e S subnaC CLEI 2010 # 14 7
  8. 8. 19/10/2010 Abstração de hardware A imagem não pode ser exibida. Talv ez o computador não tenha memória suficiente para abrir a imagem ou talv ez ela esteja corrompida. Reinicie o computador e abra o arquiv o nov amente. Se ainda assim aparecer o x v ermelho, poderá ser necessário excluir a imagem e inseri-la nov amente. acetoilbiB erawdraH rod vreS rod vreS rodiiiivreS rod vreS od etneilC ôboR oD reyalP reya P reyallllP reya P reya P ++C/C rodalumiS rodivreS #C amargorP egatS reya P reyallllP reya P reya P avaJ oiráusu od lcT nohtyP ybuR psiL rodalumiS evatcO obezaG rod vreS rod vreS rodiiiivreS rod vreS reyalP CLEI 2010 # 15 Modelo Cliente/Servidor • Clientes podem se conectar a múltiplos servidores • Servidores aceitam conexão de múltiplos clientes • Operação remota 8
  9. 9. 19/10/2010 Modelo Cliente/Servidor • Clientes podem se conectar a múltiplos servidores • Servidores aceitam conexão de múltiplos clientes • Operação remota Modelo Cliente/Servidor • Clientes podem se conectar a múltiplos servidores • Servidores aceitam conexão de múltiplos clientes • Operação remota 9
  10. 10. 19/10/2010 Gazebo - Simulação 3D Robô Pioneer 3 AT Gazebo - Simulação 3D Veículo de testes 10
  11. 11. 19/10/2010 Gazebo - Simulação 3D Veículo e ambiente de testes Robótica Móvel • Simuladores de Robôs Móveis • Player/Stage/Gazebo • Sistemas Robóticos Móveis Inteligentes • Localização • Mapeamento • SLAM • Navegação CLEI 2010 # 22 11
  12. 12. 19/10/2010 Robôs Móveis - Características Um robô móvel é uma máquina capaz de extrair informação do ambiente e usar seu conhecimento sobre o mesmo para se locomover com um propósito definido. Ronald Arkin Principais características: • Mobilidade • Capacidade de percepção • Autonomia • Inteligência CLEI 2010 # 23 Robôs Móveis - Aplicações Guia de museu Mapeamento de minas Verificação da qualidade da água Navegação autônoma CLEI 2010 # 24 12
  13. 13. 19/10/2010 Problemas • Sensores são limitados e imprecisos. • Atuadores são limitados e imprecisos. • O ambiente e o estado interno do robô são parcialmente observáveis. • Ambientes reais são dinâmicos e imprevisíveis. CLEI 2010 # 25 Modelo Básico CLEI 2010 # 26 13
  14. 14. 19/10/2010 Robótica Móvel • Simuladores de Robôs Móveis • Player/Stage/Gazebo • Sistemas Robóticos Móveis Inteligentes • Localização • Mapeamento • SLAM • Navegação CLEI 2010 # 27 Localização Estimar a posição do robô em um ambiente Destino previamente conhecido, utilizando informações obtidas por sensores. ? ? ? CLEI 2010 # 28 14
  15. 15. 19/10/2010 Robôs Móveis - Aplicações Guia de museu Mapeamento de minas Verificação da qualidade da água Navegação autônoma CLEI 2010 # 29 Localização - Problemas Efeito da imprecisão das informações dos sensores: Trajeto real Odometria CLEI 2010 # 30 15
  16. 16. 19/10/2010 Localização - Problemas Efeito da imprecisão das informações dos sensores: ++++++ GPS --------- Odometria CLEI 2010 # 31 Localização – Tipos de problemas Tracking • Posição inicial é conhecida • Busca local (correção de odometria) Localização global • Posição inicial não é conhecida • Busca global CLEI 2010 # 32 16
  17. 17. 19/10/2010 Localização - Soluções Framework básico: Filtro de Bayes Representação da posição do robô • Distribuição Normal (Filtro de Kalman) • Malha de células (Grid / Markov) • Partículas/Amostras (Monte Carlo) CLEI 2010 # 33 Filtro de Bayes Nova Observação Deslocamento Estimativa estimativa (diminuição do robô anterior de incerteza) (aumento de incerteza) CLEI 2010 # 34 17
  18. 18. 19/10/2010 Filtro de Kalman • Uma das primeiras implementações práticas do filtro de Bayes (1960). • Hipóteses para utilização do filtro: • Erro médio de cada variável igual a zero; • Erro independente para cada variável; • Modelo linear de evolução do sistema; • Relacionamento linear entre variáveis de estado e variáveis medidas. • Se as hipóteses acima não forem cumpridas, a optimalidade não é assegurada. CLEI 2010 # 35 Filtro de Kalman Algoritmo filtro de Kalman( µt-1, Σt-1, ut, zt): Predição: 1. µ t = At µt −1 + Bt ut 2. Σ t = At Σ t −1 AtT + Rt Correção: −1 1. K t = Σ t Ct (Ct Σ t Ct + Qt ) T T 2. µt = µ t + K t ( zt − Ct µ t ) 3. Σ t = ( I − K t Ct )Σ t 4. Return µt, Σt CLEI 2010 # 36 18
  19. 19. 19/10/2010 Localização – Filtro de Kalman (EKF) Atuação (movimento do robô): aumento de incerteza Percepção (sensores): diminuição da incerteza CLEI 2010 # 37 Localização - Filtro de Kalman CLEI 2010 # 38 19
  20. 20. 19/10/2010 Filtro de Kalman - Avaliação • Não é ótimo. • Pode divergir de acordo a não-linearidade. • Altamente Eficiente: complexidade polinomial com as dimensões de medição k e de estado n: O(k2.376 + n2 ) •Funciona surpreendentemente bem, mesmo quando as suposições básicas são violadas! • Adequado para tracking (busca local) CLEI 2010 # 39 Localização – Malha de células Atuação (movimento do robô): aumento de incerteza Percepção (sensores): diminuição da incerteza CLEI 2010 # 40 20
  21. 21. 19/10/2010 Localização – Malha de células Posição do robô: ( x, y,θ ) CLEI 2010 # 41 Localização - Exemplo CLEI 2010 # 42 21
  22. 22. 19/10/2010 Malha de Células - Avaliação • Possibilita localização global. • Precisão depende das dimensões das células • Altíssima demanda computacional CLEI 2010 # 43 Localização – Partículas (Monte Carlo) • Cada partícula representa a possibilidade do robô estar naquela posição especifica. • É atribuído um peso a cada partícula proporcional a sua chance de representar a posição do robô. • Partículas com peso baixo são excluídas. • Dado número suficiente de partículas, é provado que o método converge. CLEI 2010 # 44 22
  23. 23. 19/10/2010 Filtro de Partículas CLEI 2010 # 45 Propagação das Partículas CLEI 2010 # 46 23
  24. 24. 19/10/2010 Filtro de Partículas - Exemplo CLEI 2010 # 47 Filtro de Partículas - Simulação CLEI 2010 # 48 24
  25. 25. 19/10/2010 Filtro de Partículas •Algoritmo bastante eficiente computacionalmente • Possibilita localização global • Implementação relativamente simples CLEI 2010 # 49 Robótica Móvel • Simuladores de Robôs Móveis • Player/Stage/Gazebo • Sistemas Robóticos Móveis Inteligentes • Localização • Mapeamento • SLAM • Navegação CLEI 2010 # 50 25
  26. 26. 19/10/2010 Mapeamento Criar um modelo do ambiente a partir da localização do robô e das informações obtidas por sensores. CLEI 2010 # 51 Tipos de Mapas • Mapas métricos: representam propriedades geométricas do ambiente de forma quantitativa. • Mapas topológicos: representam a conectividade entre determinados locais do ambiente. Normalmente são utilizados grafos nessa representação. CLEI 2010 # 52 26
  27. 27. 19/10/2010 Mapeamento Métrico – Grade de ocupação • Dividir o espaço em células e estimar a probabilidade de ocupação de cada célula individualmente baseado na informação obtida pelos sensores. • Ao final, cada célula é classificada como ocupada, livre ou indefinido. CLEI 2010 # 53 Grade de Ocupação Mapa: occupancy grid CLEI 2010 # 54 27
  28. 28. 19/10/2010 Grade de Ocupação CLEI 2010 # 55 Mapa baseado somente na odometria CLEI 2010 # 56 28
  29. 29. 19/10/2010 Robótica Móvel • Simuladores de Robôs Móveis • Player/Stage/Gazebo • Sistemas Robóticos Móveis Inteligentes • Localização • Mapeamento • SLAM • Navegação CLEI 2010 # 57 Localização e Mapeamento Simultâneos O SLAM é um dos maiores desafios da robótica móvel. Dados: • Deslocamento do robô • Informações obtidas pelos sensores Deve-se estimar: • O mapa do ambiente • A localização/trajetória do robô CLEI 2010 # 58 29
  30. 30. 19/10/2010 SLAM Summer School CLEI 2010 # 59 SLAM – Associação de Dados Incerteza na localização é propogada no mapa CLEI 2010 # 60 30
  31. 31. 19/10/2010 SLAM - Incerteza Robot pose uncertainty Erros na associação de referências no mapa são catastróficos. CLEI 2010 # 61 Mapeamento e Localização CLEI 2010 # 62 31
  32. 32. 19/10/2010 Mapeamento e Localização CLEI 2010 # 63 SLAM – Filtro de Kalman • Consiste em estimar a posição do robô e dos landmarks com o filtro de Kalman. • As posição do robô e dos landmarks são correlacionadas através da matriz de covariância CLEI 2010 # 64 32
  33. 33. 19/10/2010 SLAM – Filtro de Kalman CLEI 2010 # 65 SLAM – EKF - Complexidade  x   σx σxy σxθ σxl σxl σxl  2 L    1 2 N   y   σxy σy σyθ σyl σyl σyl  2 L  θ  σ  1 2 N σyθ σθ2 σθl σθl L σθl    xθ 1 2 N  Bel xt , mt ) = (  l1 , σxl1 σyl σθl σl2 σl l L σl l   l  σ  1 1 1 12 1N  2   xl2 σyl 2 σθl 2 σl l 12 σl22 L σl l 2N  M  M M M M M O M      lN  σxlN  σyl σθl σl l σl l N N 1N 2N L σl2  N  Um mapa com N landmarks estimará 2N+3 variáveis e terá uma matriz de covariância de 2N+3 x 2N+3 elementos. CLEI 2010 # 66 33
  34. 34. 19/10/2010 FastSLAM Idéia básica: utilizar um filtro de partículas para estimar a posição do robô e o mapa do ambiente. Vantagens: Modelos de percepção e controle não-lineares ☺ Permite diferentes associações de dados em paralelo ☺ Estima toda a trajetória do robô on-line ☺ Desvantagem: Número de partículas necessário cresce exponencialmente com o número de variáveis. CLEI 2010 # 67 FastSLAM 3 particulas mapa da particule 1 mapa da particula 3 mapa da particula 2 CLEI 2010 # 68 34
  35. 35. 19/10/2010 FastSLAM CLEI 2010 # 69 FastSLAM - Resultados FastSLAM Odometria CLEI 2010 # 70 35
  36. 36. 19/10/2010 SLAM - Multirrobô Posição inicial desconhecida. CLEI 2010 # 71 Localização e Mapeamento – Robô Guia de Museu CLEI 2010 # 72 36
  37. 37. 19/10/2010 Localização e Mapeamento em Ambientes Urbanos Problemas: • Complexidade • Escala • Irregularidade do terreno • Difícil representação CLEI 2010 # 73 Plataforma Experimental CLEI 2010 # 74 37
  38. 38. 19/10/2010 Localização – Monte Carlo Solução: • Grande número de partículas • Criação de áreas semi-ocupadas. • Obtenção de pitch e roll por uma unidade de medida inercial • Depois de localizar o robô, estima-se a trajetória utilizando o filtro de partículas no sentido contrário. CLEI 2010 # 75 Localização – Monte Carlo CLEI 2010 # 76 38
  39. 39. 19/10/2010 Localização - Resultados CLEI 2010 # 77 Localização – Filtro de Partículas e GPS • Cada partícula representa uma possível trajetória completa do robô • É atribuído um peso a cada partícula de acordo com sua proximidade do GPS. • Partículas que divergem do GPS recebem peso baixo e são eliminadas. Pontos do GPS partículas CLEI 2010 # 78 39
  40. 40. 19/10/2010 Mapeamento - Resultados CLEI 2010 # 79 Mapeamento - Resultados CLEI 2010 # 80 40
  41. 41. 19/10/2010 Mapeamento - Resultados Parte do campus da USC CLEI 2010 # 81 Mapeamento – Aquisição de dados CLEI 2010 # 82 41
  42. 42. 19/10/2010 CLEI 2010 # 83 Outras Representações para Mapas 3D CLEI 2010 # 84 42
  43. 43. 19/10/2010 Mapas 3D CLEI 2010 # 85 Robótica Móvel • Simuladores de Robôs Móveis • Player/Stage/Gazebo • Sistemas Robóticos Móveis Inteligentes • Localização • Mapeamento • SLAM • Navegação CLEI 2010 # 86 43
  44. 44. 19/10/2010 Planejamento de Trajetória A*: mapas métricos (grid) Planejamento de Trajetória Dijkstra: mapas métricos/topológicos (grafos) 44
  45. 45. 19/10/2010 Campos Potencias CLEI 2010 # 89 Desvio de obstáculos Vector Field Histogram 45
  46. 46. 19/10/2010 Desvio de obstáculos Vector Field Histogram Continuamos Amanhã... Veículos Autônomos Inteligentes CLEI 2010 # 92 46
  47. 47. 19/10/2010 OBRIGADO! Laboratório de Robótica Móvel www.lrm.icmc.usp.br Denis Fernando Wolf – denis@icmc.usp.br Fernando Santos Osório - fosorio@icmc.usp.br Kalinka R. J. C. Branko - kalinka@icmc.usp.br CLEI 2010 # 93 47

×