Robótica Móve Inteigente: Da Simuação às Apicações no Mundo Rea Denis Fernando Wof Universidade de São Pauo USP - ICMC Eduardo do Vae Simões Grupo de Sist. Embarcados, Evoutivos e Robóticos Fernando Santos Osório LRM Laboratório de Robótica Móve Onofre Trindade Junior I CT Sistemas Embarcados Críticos Robótica Móve Inteigente: Da Simuação às Apicações no Mundo Rea Denis Fernando Wof Universidade de São Pauo USP - ICMC Eduardo do Vae Simões Grupo de Sist. Embarcados, Evoutivos e Robóticos Fernando Santos Osório LRM Laboratório de Robótica Móve Onofre Trindade Junior I CT Sistemas Embarcados Críticos 1
Robótica Móve Simuadores de Robôs Móveis Payer/Stage/Gazebo Sistemas Robóticos Móveis Inteigentes Locaização Mapeamento SLAM Navegação # 3 Fundamentos Robótica Móve - Simuadores Por que usar simuadores? Economia de recursos financeiros Economia de tempo Evitar danos aos robôs e sensores Evitar acidentes Aperfeiçoamento de hardware e software # 4 Fundamentos 2
Simuadores de Robôs Móveis Carmen Desenvovido na CMU Simua e controa robôs móveis Gratuito e código aberto SO: Linux Aria/Saphira Desenvovido pea MobieRobots Simua e controa robôs Pioneer Exige icença SO: Linux e Windows # 5 Fundamentos Simuadores de Robôs Móveis Microsoft Robotics Studio Desenvovido pea Microsoft Simua e controa robôs móveis Simuação física (3D) 3 tipos de icença SO: Windows Webots Desenvovido pea Cyberbotics Simua e controa robôs móveis Simuação física (3D) Exige icença SO: Linux, Windows e Mac. # 6 Fundamentos 3
Payer/Stage/Gazebo Payer Sistema para controe de robôs móveis Suporta diversos tipos de robôs e sensores Stage Simuador de robôs móveis e sensores Ambientes bidimensionais Compatíve com Payer Gazebo Simuador de ata fideidade Ambientes em 3 dimensões Compatíve com Payer # 7 Fundamentos História do Payer Projeto iniciado em 2000 na University of Southern Caifornia. Hoje em dia, seu core básico continua sendo desenvovido peos autores originais, apesar de diversos pesquisadores de diferentes instituições contribuem para o projeto. Atuamente, o Payer é utiizado por diversas empresas e universidades em 5 continentes. + 3.000 downoads por mês. # 8 Fundamentos 4
A imagem não pode ser exibida. Tavez o computador não tenha memória suficiente para abrir a imagem ou tavez ea esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer o x vermeho, poderá ser necessário excuir a imagem e inseri-a novamente. 26/07/2009 Características do Payer Software ivre Modeo Ciente/Servidor Desenvovido para sistemas Linux/Unix Comunicação baseada em sockets Cientes em: C, C++, Java, Python etc Interface de ato níve para acesso ao hardware Suporta grande quatidade de pataformas robóticas e sensores comerciais # 9 Fundamentos Programa de controe Camera PCI Programa do usuário Laser USB Aquisição de dados dos sensores Sonar Odometria Motores Seria Seria Canbus Comandos para os motores Panejamento Desocamento desejado # 10 Fundamentos 5
A imagem não pode ser exibida. Tavez o computador não tenha memória suficiente para abrir a imagem ou tavez ea esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer o x vermeho, poderá ser necessário excuir a imagem e inseri-a novamente. A imagem não pode ser exibida. Tavez o computador não tenha memória suficiente para abrir a imagem ou tavez ea esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer o x vermeho, poderá ser necessário excuir a imagem e inseri-a novamente. 26/07/2009 Payer Camera PCI Payer Programa do usuário Laser USB Aquisição de dados dos sensores Sonar Odometria Motores Seria Seria Canbus Comandos para o motor Panejamento Desocamento desejado # 11 Fundamentos Abstração de hardware Hardware Do Robô Servidor Payer Bibioteca Ciente do Payer Simuador Stage Simuador Gazebo Servidor Payer Servidor Payer C/C++ C# Java Tc Python Ruby Lisp Octave Programa do usuário # 12 Fundamentos 6
Modeo Ciente/Servidor Cientes podem se conectar a mútipos servidores Servidores aceitam conexão de mútipos cientes Diferentes programas/processos/threads podem processar dados de diferentes sensores do mesmo servidor. Operação remota # 13 Fundamentos Gazebo - Simuação 3D # 14 Fundamentos 7
Gazebo v0.8 # 15 Fundamentos Payer/Stage # 16 Fundamentos 8
Robótica Móve Simuadores de Robôs Móveis Payer/Stage/Gazebo Sistemas Robóticos Móveis Inteigentes Locaização Mapeamento SLAM Navegação # 17 Fundamentos Robôs Móveis - Características Um robô móve é uma máquina capaz de extrair informação do ambiente e usar seu conhecimento sobre o mesmo para se ocomover com um propósito definido. Ronad Arkin Principais características: Mobiidade Capacidade de percepção Autonomia Inteigência # 18 Fundamentos 9
Robôs Móveis - Apicações Guia de museu Mapeamento de minas Verificação da quaidade da água Navegação autônoma # 19 Fundamentos Probemas Sensores são imitados e imprecisos. Atuadores são imitados e imprecisos. O ambiente e o estado interno do robô são parciamente observáveis. Ambientes reais são dinâmicos e imprevisíveis. # 20 Fundamentos 10
Modeo Básico # 21 Fundamentos Robótica Móve Simuadores de Robôs Móveis Payer/Stage/Gazebo Sistemas Robóticos Móveis Inteigentes Locaização Mapeamento SLAM Navegação # 22 Fundamentos 11
Locaização Estimar a posição do robô em um ambiente previamente conhecido, utiizando informações obtidas por sensores. Destino??? # 23 Fundamentos Robôs Móveis - Apicações Guia de museu Mapeamento de minas Verificação da quaidade da água Navegação autônoma # 24 Fundamentos 12
Locaização - Probemas Efeito da imprecisão das informações dos sensores: Trajeto rea Odometria # 25 Fundamentos Locaização - Probemas Efeito da imprecisão das informações dos sensores: ++++++ GPS --------- Odometria # 26 Fundamentos 13
Locaização Tipos de probemas Tracking Posição inicia é conhecida Busca oca (correção de odometria) Locaização goba Posição inicia não é conhecida Busca goba # 27 Fundamentos Locaização - Souções Framework básico: Fitro de Bayes Representação da posição do robô Distribuição Norma (Fitro de Kaman) Maha de céuas (Grid / Markov) Partícuas/Amostras (Monte Caro) # 28 Fundamentos 14
Fitro de Bayes Nova estimativa Observação (diminuição de incerteza) Desocamento do robô (aumento de incerteza) Estimativa anterior # 29 Fundamentos Fitro de Kaman Uma das primeiras impementações práticas do fitro de Bayes (1960). Hipóteses para utiização do fitro: Erro médio de cada variáve igua a zero; Erro independente para cada variáve; Modeo inear de evoução do sistema; Reacionamento inear entre variáveis de estado e variáveis medidas. Se as hipóteses acima não forem cumpridas, a optimaidade não é assegurada. # 30 Fundamentos 15
Fitro de Kaman Agoritmo fitro de Kaman( µ t-1,σ t-1, u t, z t ): Predição: 1. 2. µ t = tµ t 1 A + B u Σt = A Σ A + R t t 1 T t Correção: T T 1. Kt = ΣtCt ( CtΣtCt + Qt ) 2. µ t = µ t+ K t ( zt Ctµ t ) 3. Σ = ( I K C ) Σt t 4. Returnµ t,σ t t t t t t 1 # 31 Fundamentos Locaização Fitro de Kaman (EKF) Atuação (movimento do robô): aumento de incerteza Percepção (sensores): diminuição da incerteza # 32 Fundamentos 16
Locaização - Fitro de Kaman # 33 Fundamentos Fitro de Kaman - Avaiação Não é ótimo. Pode divergir de acordo a não-inearidade. Atamente Eficiente: compexidade poinomia com as dimensões de medição k e de estado n: O(k 2.376 + n 2 ) Funciona surpreendentemente bem, mesmo quando as suposições básicas são vioadas! Adequado para tracking (busca oca) # 34 Fundamentos 17
Locaização Maha de céuas Atuação (movimento do robô): aumento de incerteza Percepção (sensores): diminuição da incerteza # 35 Fundamentos Locaização Maha de céuas Posição do robô: ( x, y, θ) # 36 Fundamentos 18
Locaização - Exempo # 37 Fundamentos Maha de Céuas - Avaiação Possibiita ocaização goba. Precisão depende das dimensões das céuas Atíssima demanda computaciona # 38 Fundamentos 19
Locaização Partícuas (Monte Caro) Cada partícua representa a possibiidade do robô estar naquea posição especifica. É atribuído um peso a cada partícua proporciona a sua chance de representar a posição do robô. Partícuas com peso baixo são excuídas. Dado número suficiente de partícuas, é provado que o método converge. # 39 Fundamentos Fitro de Partícuas # 40 Fundamentos 20
Propagação das Partícuas # 41 Fundamentos Fitro de Partícuas - Exempo # 42 Fundamentos 21
Fitro de Partícuas - Simuação # 43 Fundamentos Fitro de Partícuas Agoritmo bastante eficiente computacionamente Possibiita ocaização goba Impementação reativamente simpes # 44 Fundamentos 22
Robótica Móve Simuadores de Robôs Móveis Payer/Stage/Gazebo Sistemas Robóticos Móveis Inteigentes Locaização Mapeamento SLAM Navegação # 45 Fundamentos Mapeamento Criar um modeo do ambiente a partir da ocaização do robô e das informações obtidas por sensores. # 46 Fundamentos 23
Tipos de Mapas Mapas métricos: representam propriedades geométricas do ambiente de forma quantitativa. Mapas topoógicos: representam a conectividade entre determinados ocais do ambiente. Normamente são utiizados grafos nessa representação. # 47 Fundamentos Mapeamento Métrico Grade de ocupação Dividir o espaço em céuas e estimar a probabiidade de ocupação de cada céua individuamente baseado na informação obtida peos sensores. Ao fina, cada céua é cassificada como ocupada, ivre ou indefinido. # 48 Fundamentos 24
Grade de Ocupação Mapa: occupancy grid # 49 Fundamentos Grade de Ocupação # 50 Fundamentos 25
Mapa baseado somente na odometria # 51 Fundamentos Robótica Móve Simuadores de Robôs Móveis Payer/Stage/Gazebo Sistemas Robóticos Móveis Inteigentes Locaização Mapeamento SLAM Navegação # 52 Fundamentos 26
Locaização e Mapeamento Simutâneos O SLAM é um dos maiores desafios da robótica móve. Dados: Desocamento do robô Informações obtidas peos sensores Deve-se estimar: O mapa do ambiente A ocaização/trajetória do robô # 53 Fundamentos Sam Summer Schoo # 54 Fundamentos 27
SLAM Fitro de Kaman Consiste em estimar a posição do robô e dos andmarks com o fitro de Kaman. As posição do robô e dos andmarks são correacionadas através da matriz de covariância # 55 Fundamentos SLAM Fitro de Kaman # 56 Fundamentos 28
29 SLAM EKF - Compexidade Um mapa com N andmarks estimará 2 +3 variáveis e terá uma matriz de covariância de 2 +3 x 2 +3 eementos. # 57 Fundamentos = 2 2 2 2 2 2 2 1 2 1 2 2 1 2 2 2 2 1 1 2 1 1 1 1 2 1 2 1 2 1, ), ( y x y x y x y x y y y y y xy x x x x xy x t t y x m Bex θ θ θ θ θ θ θ θ θ θ θ θ FastSLAM Idéia básica: utiizar um fitro de partícuas para estimar a posição do robô e o mapa do ambiente. # 58 Fundamentos Vantagens: Modeos de percepção e controe não-ineares Permite diferentes associações de dados em paraeo Estima toda a trajetória do robô on-ine Desvantagem: Número de partícuas necessário cresce exponenciamente com o número de variáveis.
FastSLAM 3 particuas mapa da particue 1 mapa da particua 3 59 # 59 Fundamentos mapa da particua 2 FastSLAM # 60 Fundamentos 30
FastSLAM - Resutados FastSLAM Odometria # 61 Fundamentos SLAM - Mutirrobô Posição inicia desconhecida. # 62 Fundamentos 31
Locaização e Mapeamento Robô Guia de Museu # 63 Fundamentos Locaização e Mapeamento em Ambientes Urbanos Probemas: Compexidade Escaa Irreguaridade do terreno Difíci representação # 64 Fundamentos 32
Pataforma Experimenta # 65 Fundamentos Locaização Monte Caro Soução: Grande número de partícuas Criação de áreas semi-ocupadas. Obtenção de pitch e ro por uma unidade de medida inercia Depois de ocaizar o robô, estima-se a trajetória utiizando o fitro de partícuas no sentido contrário. # 66 Fundamentos 33
Locaização Monte Caro # 67 Fundamentos Locaização - Resutados # 68 Fundamentos 34
Locaização Fitro de Partícuas e GPS Cada partícua representa uma possíve trajetória competa do robô É atribuído um peso a cada partícua de acordo com sua proximidade do GPS. Partícuas que divergem do GPS recebem peso baixo e são eiminadas. Pontos do GPS partícuas # 69 Fundamentos Mapeamento - Resutados # 70 Fundamentos 35
Mapeamento - Resutados # 71 Fundamentos Mapeamento - Resutados Parte do campus da USC # 72 Fundamentos 36
Mapeamento Aquisição de dados # 73 Fundamentos # 74 Fundamentos 37
Outras Representações para Mapas 3D # 75 Fundamentos Mapas 3D # 76 Fundamentos 38
Mapeamento 3D ICMC/USP ICMC Boco 1 # 77 Fundamentos Mapeamento de Terreno # 78 Fundamentos 39
Mapeamento de Terreno # 79 Fundamentos Mapeamento de Terreno # 80 Fundamentos 40
Cassificação de Terreno Redes Neurais # 81 Fundamentos Cassificação de Terreno Redes Neurais # 82 Fundamentos 41
Projeto Veícuo Autônomo # 83 Fundamentos Robótica Móve Simuadores de Robôs Móveis Payer/Stage/Gazebo Sistemas Robóticos Móveis Inteigentes Locaização Mapeamento SLAM avegação # 84 Fundamentos 42
Panejamento de Trajetória A*: mapas métricos (grid) # 85 Fundamentos Dijkstra: mapas métricos/topoógicos (grafos) Campos Potencias # 86 Fundamentos 43
Vector Fied Histogram - VFH # 87 Fundamentos Navegação Visua # 88 Fundamentos 44
OBRIGADO! Http://www.icmc.usp.br/~rm Denis Fernando Wof Eduardo do Vae Simões Fernando Santos Osório Onofre Trindade Junior denis@icmc.usp.br simoes@icmc.usp.br - fosorio@icmc.usp.br - otjunior@icmc.usp.br # 89 FINAL 45