disciplina de programação de robôs móveis...
TRANSCRIPT
1
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
Março 2012
1
Prof. Fernando Santos Prof. Fernando Santos OsórioOsório
Email: Email: fosoriofosorio [at] { [at] { icmcicmc. . uspusp. . brbr , , gmailgmail. com }. com }
EstagiárioEstagiário PAE: PAE: DiogoDiogo Correa Correa -- correa.dso [at] gmail.com (LRM)correa.dso [at] gmail.com (LRM)
Web: http://www.icmc.usp.br/~fosorio/Web: http://www.icmc.usp.br/~fosorio/
Wiki ICMC: Wiki ICMC: http://wiki.icmc.usp.br/index.php/SSChttp://wiki.icmc.usp.br/index.php/SSC--712712
ouou http://wiki.icmc.usp.br/index.php/SSChttp://wiki.icmc.usp.br/index.php/SSC--712(fosorio)712(fosorio)
USP - ICMC - SSC – LRM (Lab. de Robótica Móvel)SSC 0712 (PRM) - 1o. Semestre 2012
Disciplina de
Programação de Robôs Móveis
SSC-0712
Aula 02Aula 02
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
Fev. 2012
2
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
2
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
Fev. 2012
3
Objetivos da Disciplina
Programação de Robôs Móveis
� Objetivos
� Programa
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.
- 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.
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
Fev. 2012
4
2. Programa e Conteúdos
Programação de Robôs Móveis� Cronograma de Aulas
A01 - 02/03 - Apresentação da Disciplina.Introdução: Programação de Robôs Móveis (PRM).
A02 - 09/03 – Robôs Móveis: Sensores, Atuadores, Plataformas Robóticas. Ferramentas.
A03 - 16/03 – Robôs Móveis: Sensores, Atuadores, Plataformas Robóticas. Ferramentas.
Simulação de Robôs Móveis.
A04 - 23/03 – Robôs Móveis: Ferramentas de Simulação e de Controle de Robôs.
A05 - 30/03 – Laboratório de Programação de Robôs Móveis: Práticas.
*** - 02 a 07 de Abril: SEM AULA - Semana Santa (04/04)
A06 - 13/04 – Laboratório de Programação de Robôs Móveis: Práticas.
A07 - 20/04 - Laboratório de Programação de Robôs Móveis: Práticas.
A08 - 27/04 – Chek-Point 01: Apresentação dos Resultados e Andamento dos Trabalhos.
*** 27/04 - DATA MÁXIMA PARA TRANCAMENTO DE MATRÍCULA EM DISCIPLINAS
A09 - 02/05 - Laboratório de Programação de Robôs Móveis: Práticas.
A10 - 09/05 - Laboratório de Programação de Robôs Móveis: Práticas.
A11 - 16/05 – Laboratório de Programação de Robôs Móveis: Práticas.
A12 - 23/05 – Chek-Point 02: Apresentação dos Resultados e Andamento dos Trabalhos.
A13 - 30/05 - Laboratório de Programação de Robôs Móveis: Práticas.
A14 - 06/06 – Laboratório de Programação de Robôs Móveis: Práticas.
A15 - 13/06 - Laboratório de Programação de Robôs Móveis: Práticas.
A16 - 20/06 - Apresentação de Trabalhos Finais: Competição de Robôs
A17 - 27/06 - Apresentação de Trabalhos Finais: Competição de Robôs
*** - 04/07 - Final do Semestre
3
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
Fev. 2012
6. Robôs Móveis Autônomos
Robôs Móveis Autônomos
Referências Complementares...
Exemplos de Aplicações desenvolvidas no LRM no ICMC
Fotos Picasa:
http://picasaweb.google.com/fosorio/USPICMCLRMLaboratorioDeRoboticaMovel#
SemComp 2009 Robôs Móveis e Veículos Autônomos
5
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
Fev. 2012
6. Robôs Móveis Autônomos
Robôs Móveis Autônomos
Referências Complementares...
Exemplos de Aplicações desenvolvidas no LRM no ICMC
Veículos Autônomos – CARINA II (http://www.lrm.icmc.usp.br/carina/)
6
4
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
Fev. 2012
6. 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
7
Velodyne HDL-32E
http://lrm.icmc.usp.br/wiki/index.php/Velodyne_HDL-32E
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 8
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
5
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 9
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
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 10
Simuladores de Robôs Móveis
Aria/Saphira• Desenvolvido pela MobileRobots
• Simula e controla robôs Pioneer
• Exige licença
• SO: Linux e Windows
Carmen• Desenvolvido na CMU
• Simula e controla robôs móveis
• Gratuito e código aberto
• SO: Linux
6
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 11
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.
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 12
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
7
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa Robô Móvel Robô Móvel –– Modelo BásicoModelo Básico
13
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa Robô Móvel Robô Móvel –– Modelo BásicoModelo Básico
14
� Sensores internos: observam o estado do
robô (odometria, GPS, giroscópios).
� Sensores externos: observam o estado do
ambiente (câmeras,
sonares, lasers).
� Atuadores: alteram o estado do robô e do
ambiente (rodas, pernas, garras).
Odômetro (encoder)
Sonares
Laser
CâmeraGPS
8
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
Fluxo de desenvolvimento de
software
15
Simulação Testes em robôs
de pequeno porte
Testes em robôs
de grande porte
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa Simulação
16
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
9
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
17
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
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
18
Testes em robôs de pequeno porte
10
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo CorreaTestes 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
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 20
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.
11
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 21
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
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 22
Programa de controle
A imagem não pode ser exibida. Talvez o computador não tenha memória suficiente para abrir a imagem ou talvez ela esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer o x vermelho, poderá ser necessário excluir a imagem e inseri-la novamente. CameraLaserSonarOdometriaMotores
Programa do usuárioPrograma do usuárioPrograma do usuárioPrograma do usuárioAquisição de dados dos sensoresComandos para os motoresPCIUSBSerialESerialCanbusE
PlanejamentoDeslocamentodesejado
12
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 23
Player
SerialCanbusE
PlayerPlayerPlayerPlayerA imagem não pode ser exibida. Talvez o computador não tenha memória suficiente para abrir a imagem ou talvez ela esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer o x vermelho, poderá ser necessário excluir a imagem e inseri-la novamente. CameraLaserSonarOdometriaMotores
Programa Programa Programa Programa do usuáriodo usuáriodo usuáriodo usuárioAquisiçãode dadosdos sensoresComandospara omotorPCIUSBSerialE
PlanejamentoDeslocamentodesejado
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 24
Abstração de hardware
Programado usuárioServidorServidorServidorServidorPlayerPlayerPlayerPlayer BibliotecaBibliotecaBibliotecaBibliotecaCliente doCliente doCliente doCliente doPlayerPlayerPlayerPlayerC/C++C#JavaTclPythonRubyLispOctave
HardwareDo RobôSimuladorStageSimuladorGazeboServidorServidorServidorServidorPlayerPlayerPlayerPlayerServidorServidorServidorServidorPlayerPlayerPlayerPlayer
A imagem não pode ser exibida. Talvez o computador não tenha memória suficiente para abrir a imagem ou talvez ela esteja corrompida. Reinicie o computador e abra o arquivo novamente. Se ainda assim aparecer o x vermelho, poderá ser necessário excluir a imagem e inseri-la novamente.
13
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 25
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
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 26
Gazebo - Simulação 3D
14
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 27
Gazebo v0.8
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo CorreaSimulação de Robôs MóveisSimulação de Robôs Móveis
28
Simulador 3D Gazebo
15
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo CorreaSimulação de Robôs MóveisSimulação de Robôs Móveis
29
Simulador 3D Gazebo
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo CorreaSimulação de Robôs MóveisSimulação de Robôs Móveis
30
Simulador 3D Gazebo
16
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
CaRINA – Percepção
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo CorreaPlayer/Stage
17
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo CorreaGazebo
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo CorreaGazebo
18
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
SBIA 2010
# 35
Player/Stage
Robot
LaserScan
EmptyCorridor
Obstacles:representedin black
USP – ICMC - SSC0712 - Turma 2012/1Programação de Robôs MóveisProf. Fernando Osório / Diogo Correa
Fev. 2012
36
INFORMAÇÕES SOBRE A DISCIPLINA
USP USP -- Universidade de São Paulo Universidade de São Paulo -- São Carlos, SPSão Carlos, SPICMC ICMC -- Instituto de Ciências Matemáticas e de Computação Instituto de Ciências Matemáticas e de Computação
SSC SSC -- Departamento de Sistemas de ComputaçãoDepartamento de Sistemas de Computação
Prof. Fernando Santos OSÓRIO Prof. Fernando Santos OSÓRIO -- Laboratório LRMLaboratório LRM
PAE Diogo Ortiz Correa PAE Diogo Ortiz Correa -- Mestrando LRMMestrando LRM
Web institucional: Http://www.icmc.usp.br/ssc/Web institucional: Http://www.icmc.usp.br/ssc/
Página pessoal: Http://www.icmc.usp.br/~fosorio/Página pessoal: Http://www.icmc.usp.br/~fosorio/EE--mailmail: : fosoriofosorio[[atat]{ ]{ icmcicmc..uspusp..brbr, gmail.com } # , gmail.com } # correacorrea..dsodso[[atat]gmail.com]gmail.com
Disciplina de Programação de Robôs MóveisDisciplina de Programação de Robôs Móveis
Web Disciplinas: Http://www.icmc.usp.br/~fosorio/Web Disciplinas: Http://www.icmc.usp.br/~fosorio/
WikiWiki ICMC: http://wiki.icmc.usp.br/index.ICMC: http://wiki.icmc.usp.br/index.phpphp/SSC/SSC--712712
> Programa, Material de Aulas, Critérios de Avaliação,> Programa, Material de Aulas, Critérios de Avaliação,
> Material de Apoio, Trabalhos Práticos> Material de Apoio, Trabalhos Práticos