Disciplina de Programação de Robôs Móveis...

18
1 USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando Osório / Diogo Correa Março 2012 1 Prof. Fernando Santos Prof. Fernando Santos Osório Osório Email: Email: fosorio fosorio [at] { [at] { icmc icmc. . usp usp. . br br , , gmail gmail. com } . com } Estagiário Estagiário PAE: PAE: Diogo Diogo 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/SSC http://wiki.icmc.usp.br/index.php/SSC-712 712 ou ou http://wiki.icmc.usp.br/index.php/SSC http://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 02 Aula 02 USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. 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

Transcript of Disciplina de Programação de Robôs Móveis...

Page 1: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 2: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 3: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 4: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 5: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 6: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 7: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 8: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 9: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 10: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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.

Page 11: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 12: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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.

Page 13: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 14: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 15: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 16: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 17: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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

Page 18: Disciplina de Programação de Robôs Móveis SSC-0712osorio.wait4.org/SSC0712/Aula02-PRM-2012.pdf · USP – ICMC - SSC0712 - Turma 2012/1 Programação de Robôs Móveis Prof. Fernando

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