USP - ICMC - SSC LRM (Lab. de Robótica Móvel) SSC 0712 (PRM) - 1o. Semestre 2014 Disciplina de SSC-0712 1 Fev. 2014 Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Estagiário PAE: Daniel Sales e Vitor Utino (LRM) Web: http://www.icmc.usp.br/~fosorio/ Wiki ICMC: http://wiki.icmc.usp.br/index.php/ssc-712 ou http://wiki.icmc.usp.br/index.php/ssc-712-2014(fosorio) Aula 02 Aula 02 - Introdução Agenda: 1. Robôs Móveis * Sensores * Atuadores 2. Programação e Uso de Robôs Móveis * Arduino * SRV1 * Pioneer P3-AT, DX e Erratic Era-Mobi 3. Player-Stage, Gazebo, MORSE 2 Fev. 2014 1
Objetivos da Disciplina Objetivos Introduzir conceitos básicos sobre hardware e software de robôs móveis (RM). Familiarizar o aluno com os sensores e atuadores mais comuns utilizados na robótica móvel. Estudo de arquiteturas e softwares de controle de RM. Implementação em laboratório de algoritmos de navegação para a solução de problemas clássicos da robótica móvel. Programa 3 Fev. 2014 - Descrição e análise de características dos sensores e atuadores mais utilizados na área de robótica móvel; - Estudo das arquiteturas de robôs móveis; - Estudo de algoritmos de navegação e de cooperação de robôs móveis; - Estudo e utilização da ferramenta Player/Stage para o controle de robôs; - Desenvolvimento de projetos em laboratório utilizando simuladores de robôs móveis na solução de problemas. Robôs Móveis Autônomos Robôs Móveis Autônomos Exemplos de Aplicações... 4 Março 2012 2
Robôs Móveis Empresas & Empregos Jan. 2014 5 Robôs Móveis Autônomos: na prática... 6 Fev. 2014 3
Robôs Móveis Autônomos: na prática... LRM Lab. de Robótica Móvel do ICMC/USP INCT-SEC Instituto Nacional de Sistemas Embarcados Críticos CRob-SC/USP Centro de Robótica de São Carlos 7 Fev. 2014 7 Robôs Móveis Autônomos Robôs Móveis Autônomos Exemplos de Aplicações desenvolvidas no LRM no ICMC Veículos Autônomos CARINA II (http://www.lrm.icmc.usp.br/carina/) Videos: https://www.youtube.com/user/lrmicmc 8 Fev. 2014 4
Robôs Móveis Autônomos Robôs Móveis Autônomos Referências Complementares... Exemplos de Aplicações desenvolvidas no LRM no ICMC Sensores http://lrm.icmc.usp.br/wiki/index.php/velodyne_hdl-32e Velodyne HDL-32E 9 Fev. 2014 Robótica Móvel Simuladores de Robôs Móveis Player / Stage ROS / Gazebo MORSE (Blender) Microsoft Robotics Studio 10 Sistemas Robóticos Móveis Inteligentes Localização Mapeamento SLAM Planejamento de Trajetórias Seguimento de Trajetórias / Navegação Fev. 2014 5
Robótica Móvel - Simuladores Por que usar simuladores? Economia de recursos financeiros Economia de tempo Evitar danos aos robôs e sensores Evitar acidentes Aperfeiçoamento de hardware e software 11 Fev. 2012 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 # 12 6
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. # 13 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 # 14 7
ROS/Gazebo ROS Sistema para controle de robôs móveis Suporta diversos tipos de robôs e sensores Orientado a serviços (publish/subscribe) Visualização (Logs, dados em tempo real) Pacotes: Implementações em Robótica Gazebo Simulador de alta fidelidade (integração c/ros) Ambientes em 3 dimensões (3D) Simulação Física (Cinemática) Amplamente usado (DARPA Robotics Challenge) # 15 MORSE MORSE Sistema para controle de robôs móveis: Terrestres, Aquáticos, Aéreos, Humanóides Suporta diversos tipos de robôs e sensores Usa o Blender (OpenGL-based Game Engine) para visualização/simulação 3D Usa scripts em Python Permite integração com o ROS # 16 http://www.openrobots.org/morse/ 8
Robô Móvel Modelo Básico 17 Robô Móvel Modelo Básico Sensores internos: observam o estado do robô (odometria, GPS, giroscópios). Câmera GPS Sensores externos: observam o estado do ambiente (câmeras, sonares, lasers). Laser Atuadores: alteram o estado do robô e do ambiente (rodas, pernas, garras). Sonares Odômetro (encoder) 18 9
Fluxo de desenvolvimento de software Simulação Testes em robôs de pequeno porte Testes em robôs de grande porte 19 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 20 10
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 21 Fev. 2012 Testes em robôs de pequeno porte 22 11
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 23 Fev. 2012 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. # 24 12
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 # 25 Programa de controle Camera Laser Sonar Odometria Motores PCI USB Serial Serial Canbus Programa do usuário Aquisição de dados dos sensores Comandos para os motores Planejamento Deslocamento desejado # 26 13
Player Camera PCI Player Programa do usuário Laser Sonar Odometria Motores USB Serial Serial Canbus Aquisição de dados dos sensores Comandos para o motor Planejamento Deslocamento desejado # 27 Abstração de hardware Hardware Do Robô Servidor Player Biblioteca Cliente do Player Simulador Stage Simulador Gazebo Servidor Player Servidor Player C/C++ C# Java Tcl Python Ruby Lisp Octave Programa do usuário # 28 14
Modelo Cliente/Servidor Clientes podem se conectar a múltiplos servidores Servidores aceitam conexão de múltiplos clientes Diferentes programas/processos/threads podem processar dados de diferentes sensores do mesmo servidor. Operação remota # 29 Gazebo - Simulação 3D # 30 15
Gazebo # 31 Simulação de Robôs Móveis Simulador 3D Gazebo 32 16
Simulação de Robôs Móveis Simulador 3D Gazebo 33 Simulação de Robôs Móveis Simulador 3D Gazebo 34 17
CaRINA Percepção Player/Stage 18
Gazebo Gazebo 19
Player/Stage Empty Corridor Robot Laser Scan Obstacles: represented in black # 39 INFORMAÇÕES SOBRE A DISCIPLINA USP - Universidade de São Paulo - São Carlos, SP ICMC - Instituto de Ciências Matemáticas e de Computação SSC - Departamento de Sistemas de Computação Prof. Fernando Santos OSÓRIO - Laboratório LRM PAE Daniel Sales - Doutorado do LRM / ICMC Web institucional: Http://www.icmc.usp.br/ssc/ Página pessoal: Http://www.icmc.usp.br/~fosorio/ E-mail: fosorio [at] { icmc.usp.br, gmail.com } 40 Fev. 2014 Disciplina de Web Disciplinas: Http://www.icmc.usp.br/~fosorio/ Wiki ICMC: http://wiki.icmc.usp.br/index.php/ssc-712 > Programa, Material de Aulas, Critérios de Avaliação, > Material de Apoio, Trabalhos Práticos 20