33
Introdu¸c˜ ao Projeto Funcionalidades do IRCE Conclus˜ oes e Trabalhos Futuros Um Ambiente Gr´ afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸ ao 3D Humberto Cardoso Marchezi e Hans-Jorg Andreas Schneebeli Universidade Federal do Esp´ ırito Santo VIII Simp´ osio Brasileiro de Automa¸ ao Inteligente Humberto Universidade Federal do Esp´ ırito Santo Um Ambiente Gr´ afico para Desenvolvimento de Software de Controle para Robˆ osM´oveisUtilizandoSimula¸c˜ ao 3D

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Embed Size (px)

Citation preview

Page 1: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Um Ambiente Grafico para Desenvolvimento de

Software de Controle para Robos Moveis

Utilizando Simulacao 3D

Humberto Cardoso Marchezi e Hans-Jorg Andreas Schneebeli

Universidade Federal do Espırito Santo

VIII Simposio Brasileiro de Automacao Inteligente

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 2: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Estrutura da Apresentacao

1 Introducao

2 ProjetoImplementacao

3 Funcionalidades do IRCE

4 Conclusoes e Trabalhos Futuros

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 3: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Motivacao

Para desempenhar tarefas, os robos devem ser controlados porsoftware especıfico, cujo desenvolvimento pode ser complexo.Para isso, um desenvolvedor de aplicacoes com robos deve poder:

Se concentrar em o que fazer e nao como fazer paraprogramar um robo.

Simular o software do controle de forma segura.

Evitar danos desnecessarios a um robo real.Evitar perigo para vidas humanas quando no mesmo ambientedo robo.Simular sensores e robos hipoteticos antes de construir osmesmos.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 4: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

O Projeto Player

Uma alternativa promissora e o Projeto Player, inicialmentedesenvolvido pela University of Southern California, que apresentaas seguintes vantagens:

Consiste em ferramentas para desenvolvimento rapido deaplicacoes envolvendo um robos moveis e sensores.

E considerado um padrao de facto na comunidade que usacodigo aberto em robotica.

Possui um numero significativo de usuarios.

O projeto consiste em tres aplicativos principais: Player, Stage eGazebo.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 5: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

O Projeto Player

Player: Servidor de controle para robos que abstrai osdetalhes dos dispositivos roboticos para os controladores.

Stage: Simulador 2D que funciona em conjunto com o Playerpara testar a execucao de programas controladores.

Gazebo: Faz o mesmo que o Stage em um mundo virtual 3D.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 6: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Definicao do Problema

Dificuldades ao utilizar as ferramentas do projeto P/S/G:

Variosterminaisdevem serabertos;

Varios tiposde arquivosdevem sereditadosmanualmente.

Para resolver esses problemas, este trabalho propoe a construcaode um ambiente integrado para o desenvolvimento de aplicacoesenvolvendo robos moveis, referido como IRCE.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 7: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Definicao do Problema

Razoes para uma Simulacao 3D:

Ao utilizar um cenario tridimensional, a simulacao passa a termais fidelidade;

Permite a deteccao de certos problemas que nao poderiam serprevistos por um simulador 2D como o Stage, por exemplo;

Num cenario bidimensional, certos detalhes poderiam nao serrepresentados adequadamente.

Por essa razao, o Gazebo sera utilizado neste trabalho.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 8: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Definicao do Problema

O IRCE atende os seguintes objetivos:

Geracao Grafica Interativa de Mundo Virtual com Robos.

Geracao Interativa de Arquivo de Configuracao.

Edicao e Compilacao de Arquivos de Controle de Robo.

Simulacao Facilitada do Projeto.

Aumento da Agilidade do Processo de Desenvolvimento deControle para Robos Moveis.

Apoio a Pesquisa de Controladores Inteligentes.

Apoio ao Aprendizado de Robotica.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 9: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Trabalhos Relacionados

Webots:Vantagens:

Possui um editor para o mundo virtual;

Simulacao realıstica de fısica mecanica;

Permite programar robos nas linguagens C, C++ e Java;

Permite transferir o controle para robos moveis reais.

Desvantagens:

E um pacote fechado, logo nao permite extensoes e alteracoesno codigo-fonte;

Custo da licenca pode ser proibitivo para universidadesbrasileiras.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 10: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Trabalhos Relacionados

Webots:Vantagens:

Possui um editor para o mundo virtual;

Simulacao realıstica de fısica mecanica;

Permite programar robos nas linguagens C, C++ e Java;

Permite transferir o controle para robos moveis reais.

Desvantagens:

E um pacote fechado, logo nao permite extensoes e alteracoesno codigo-fonte;

Custo da licenca pode ser proibitivo para universidadesbrasileiras.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 11: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Trabalhos Relacionados

Webots:Vantagens:

Possui um editor para o mundo virtual;

Simulacao realıstica de fısica mecanica;

Permite programar robos nas linguagens C, C++ e Java;

Permite transferir o controle para robos moveis reais.

Desvantagens:

E um pacote fechado, logo nao permite extensoes e alteracoesno codigo-fonte;

Custo da licenca pode ser proibitivo para universidadesbrasileiras.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 12: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Implementacao

A linguagem de programacao e as bibliotecas utilizadas para aimplementacao do IRCE foram preferencialmente as mesmasutilizadas pelo Gazebo:

Linguagem de Programacao C/C++;

OpenGL;

wxWidgets;

TinyXML.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 13: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Implementacao

Arquitetura do Aplicativo segue o Padrao MVC (Model - View -Controller).

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 14: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Implementacao

Classes organizadas logicamente atraves de pacotes;

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 15: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Implementacao

Montagem do Mundo Virtual

Incluir diretamente o codigo dos modelos do Gazebo mostrouser demasiado complexo, pois o os modelos do Gazebodificultam o reuso, ja que contem outras informacoesdesnecessarias;

Os modelos do IRCE sao desenhados atraves do metodo Drawherdado de uma classe basica Model;

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 16: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Implementacao

Montagem do Mundo Virtual

Cada modelo 3D (Model) contem um mapa de propriedades paraserializacao e deserializacao em arquivo XML o que e feitoseparadamente pela classe XMLCommand;

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 17: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

O IRCE possui as seguintes funcionalidades principais:

Gerencia de Projetos IRCE;

Montagem de Mundo Virtual;

Configuracao de Robo e seus Sensores;

Programacao de Controle;

Simulacao.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 18: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Organizacao da Interface Grafica

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 19: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Fluxo de Trabalho

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 20: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Fluxo de Trabalho

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 21: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Fluxo de Trabalho

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 22: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Fluxo de Trabalho

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 23: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Fluxo de Trabalho

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 24: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Gerencia de Projeto IRCE

Um arquivo de projeto para o IRCE baseado no padrao XMLfoi criado;

Para criar um novo projeto: (Project - Create Project);

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 25: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Montagem do Mundo Virtual

Um mundo virtual pode ser adicionado apos a criacao do projetopelo menu (Virtual World - New World File);

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 26: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Montagem do Mundo Virtual

Um modelo 3D podeser adionado pelo menu(Virtual World - Add

3D Model);

Ao serem selecionados, os modeloslistam as suas propriedades;

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 27: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Configuracao de Robo e seus Sensores

Atraves do menu(Configuration - Add

Configuration File), pode-seadicionar um arquivo deconfiguracao ao projeto;

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 28: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Configuracao de Robo e seus Sensores

Painel para aconfiguracao do robo eseus sensores mostra aconfiguracao dosimulador (Gazebo) e aconfiguracao de cadamodelo (robo) e seussensores.

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 29: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Programacao de Controle

Um projeto IRCE pode ser compostospor varios programas de controle.

Um programa de controle (emC++ apenas), pode seradicionado pelo menu (Control

Programs - Add Program

File);

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 30: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Programacao de Controle

Painel para programacao de controle de um modelo (robo).Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 31: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Simulacao

Uma simulacao e executada pelo menu (Project - Simulation).Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 32: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Os seguintes requisitos foram implementados no IRCE:

Gerencia de Projeto IRCE;

Montagem do Mundo Virtual;

Configuracao do Robo e seus Sensores;

Programacao de Controle;

Simulacao.

O prototipo do ambiente e usavel e pode ser utilizado pelacomunidade robotica como um software de codigo-livre.Por outro lado, as seguintes melhorias podem ser feitas naferramenta proposta:

Implementar os modelos 3D restantes suportados pelo Gazebo;

Implementar a transferencia de controle para os respectivosrobos reais;

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Page 33: Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D

Introducao Projeto Funcionalidades do IRCE Conclusoes e Trabalhos Futuros

Perguntas ??????

Contato: Humberto C. Marchezi - [email protected]

Humberto Universidade Federal do Espırito Santo

Um Ambiente Grafico para Desenvolvimento de Software de Controle para Robos Moveis Utilizando Simulacao 3D