Slides apresentam um ambiente de desenvolvimento estilo IDE para robos móveis. O código escrito nesse ambiente é executado pelo servidor de robô do projeto Player Stage e pode funcionar num robô real também.
1. 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¸c˜ao 3D
Humberto Cardoso Marchezi e Hans-Jorg Andreas Schneebeli
Universidade Federal do Esp´ırito Santo
VIII Simp´osio Brasileiro de Automa¸c˜ao Inteligente
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
2. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Estrutura da Apresenta¸c˜ao
1 Introdu¸c˜ao
2 Projeto
Implementa¸c˜ao
3 Funcionalidades do IRCE
4 Conclus˜oes e Trabalhos Futuros
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
3. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Motiva¸c˜ao
Para desempenhar tarefas, os robˆos devem ser controlados por
software espec´ıfico, cujo desenvolvimento pode ser complexo.
Para isso, um desenvolvedor de aplica¸c˜oes com robˆos deve poder:
Se concentrar em o que fazer e n˜ao como fazer para
programar um robˆo.
Simular o software do controle de forma segura.
Evitar danos desnecess´arios a um robˆo real.
Evitar perigo para vidas humanas quando no mesmo ambiente
do robˆo.
Simular sensores e robˆos hipot´eticos antes de construir os
mesmos.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
4. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
O Projeto Player
Uma alternativa promissora ´e o Projeto Player, inicialmente
desenvolvido pela University of Southern California, que apresenta
as seguintes vantagens:
Consiste em ferramentas para desenvolvimento r´apido de
aplica¸c˜oes envolvendo um robˆos m´oveis e sensores.
´E considerado um padr˜ao de facto na comunidade que usa
c´odigo aberto em rob´otica.
Possui um n´umero significativo de usu´arios.
O projeto consiste em trˆes aplicativos principais: Player, Stage e
Gazebo.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
5. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
O Projeto Player
Player: Servidor de controle para robˆos que abstrai os
detalhes dos dispositivos rob´oticos para os controladores.
Stage: Simulador 2D que funciona em conjunto com o Player
para testar a execu¸c˜ao de programas controladores.
Gazebo: Faz o mesmo que o Stage em um mundo virtual 3D.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
6. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Defini¸c˜ao do Problema
Dificuldades ao utilizar as ferramentas do projeto P/S/G:
V´arios
terminais
devem ser
abertos;
V´arios tipos
de arquivos
devem ser
editados
manualmente.
Para resolver esses problemas, este trabalho prop˜oe a constru¸c˜ao
de um ambiente integrado para o desenvolvimento de aplica¸c˜oes
envolvendo robˆos m´oveis, referido como IRCE.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
7. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Defini¸c˜ao do Problema
Raz˜oes para uma Simula¸c˜ao 3D:
Ao utilizar um cen´ario tridimensional, a simula¸c˜ao passa a ter
mais fidelidade;
Permite a detec¸c˜ao de certos problemas que n˜ao poderiam ser
previstos por um simulador 2D como o Stage, por exemplo;
Num cen´ario bidimensional, certos detalhes poderiam n˜ao ser
representados adequadamente.
Por essa raz˜ao, o Gazebo ser´a utilizado neste trabalho.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
8. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Defini¸c˜ao do Problema
O IRCE atende os seguintes objetivos:
Gera¸c˜ao Gr´afica Interativa de Mundo Virtual com Robˆos.
Gera¸c˜ao Interativa de Arquivo de Configura¸c˜ao.
Edi¸c˜ao e Compila¸c˜ao de Arquivos de Controle de Robˆo.
Simula¸c˜ao Facilitada do Projeto.
Aumento da Agilidade do Processo de Desenvolvimento de
Controle para Robˆos M´oveis.
Apoio `a Pesquisa de Controladores Inteligentes.
Apoio ao Aprendizado de Rob´otica.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
9. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Trabalhos Relacionados
Webots:
Vantagens:
Possui um editor para o mundo virtual;
Simula¸c˜ao real´ıstica de f´ısica mecˆanica;
Permite programar robˆos nas linguagens C, C++ e Java;
Permite transferir o controle para robˆos m´oveis reais.
Desvantagens:
´E um pacote fechado, logo n˜ao permite extens˜oes e altera¸c˜oes
no c´odigo-fonte;
Custo da licen¸ca pode ser proibitivo para universidades
brasileiras.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
10. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Trabalhos Relacionados
Webots:
Vantagens:
Possui um editor para o mundo virtual;
Simula¸c˜ao real´ıstica de f´ısica mecˆanica;
Permite programar robˆos nas linguagens C, C++ e Java;
Permite transferir o controle para robˆos m´oveis reais.
Desvantagens:
´E um pacote fechado, logo n˜ao permite extens˜oes e altera¸c˜oes
no c´odigo-fonte;
Custo da licen¸ca pode ser proibitivo para universidades
brasileiras.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
11. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Trabalhos Relacionados
Webots:
Vantagens:
Possui um editor para o mundo virtual;
Simula¸c˜ao real´ıstica de f´ısica mecˆanica;
Permite programar robˆos nas linguagens C, C++ e Java;
Permite transferir o controle para robˆos m´oveis reais.
Desvantagens:
´E um pacote fechado, logo n˜ao permite extens˜oes e altera¸c˜oes
no c´odigo-fonte;
Custo da licen¸ca pode ser proibitivo para universidades
brasileiras.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
12. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Implementa¸c˜ao
A linguagem de programa¸c˜ao e as bibliotecas utilizadas para a
implementa¸c˜ao do IRCE foram preferencialmente as mesmas
utilizadas pelo Gazebo:
Linguagem de Programa¸c˜ao C/C++;
OpenGL;
wxWidgets;
TinyXML.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
13. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Implementa¸c˜ao
Arquitetura do Aplicativo segue o Padr˜ao MVC (Model - View -
Controller).
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
14. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Implementa¸c˜ao
Classes organizadas logicamente atrav´es de pacotes;
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
15. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Implementa¸c˜ao
Montagem do Mundo Virtual
Incluir diretamente o c´odigo dos modelos do Gazebo mostrou
ser demasiado complexo, pois o os modelos do Gazebo
dificultam o reuso, j´a que cont´em outras informa¸c˜oes
desnecess´arias;
Os modelos do IRCE s˜ao desenhados atrav´es do m´etodo Draw
herdado de uma classe b´asica Model;
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
16. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Implementa¸c˜ao
Montagem do Mundo Virtual
Cada modelo 3D (Model) contem um mapa de propriedades para
serializa¸c˜ao e deserializa¸c˜ao em arquivo XML o que ´e feito
separadamente pela classe XMLCommand;
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
17. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
O IRCE possui as seguintes funcionalidades principais:
Gerˆencia de Projetos IRCE;
Montagem de Mundo Virtual;
Configura¸c˜ao de Robˆo e seus Sensores;
Programa¸c˜ao de Controle;
Simula¸c˜ao.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
18. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Organiza¸c˜ao da Interface Gr´afica
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
19. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Fluxo de Trabalho
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
20. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Fluxo de Trabalho
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
21. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Fluxo de Trabalho
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
22. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Fluxo de Trabalho
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
23. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Fluxo de Trabalho
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
24. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Gerˆencia de Projeto IRCE
Um arquivo de projeto para o IRCE baseado no padr˜ao XML
foi criado;
Para criar um novo projeto: (Project - Create Project);
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
25. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Montagem do Mundo Virtual
Um mundo virtual pode ser adicionado ap´os a cria¸c˜ao do projeto
pelo menu (Virtual World - New World File);
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
26. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Montagem do Mundo Virtual
Um modelo 3D pode
ser adionado pelo menu
(Virtual World - Add
3D Model);
Ao serem selecionados, os modelos
listam as suas propriedades;
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
27. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Configura¸c˜ao de Robˆo e seus Sensores
Atrav´es do menu
(Configuration - Add
Configuration File), pode-se
adicionar um arquivo de
configura¸c˜ao ao projeto;
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
28. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Configura¸c˜ao de Robˆo e seus Sensores
Painel para a
configura¸c˜ao do robˆo e
seus sensores mostra a
configura¸c˜ao do
simulador (Gazebo) e a
configura¸c˜ao de cada
modelo (robˆo) e seus
sensores.
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
29. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Programa¸c˜ao de Controle
Um projeto IRCE pode ser compostos
por v´arios programas de controle.
Um programa de controle (em
C++ apenas), pode ser
adicionado pelo menu (Control
Programs - Add Program
File);
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
30. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Programa¸c˜ao de Controle
Painel para programa¸c˜ao de controle de um modelo (robˆo).Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
31. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Simula¸c˜ao
Uma simula¸c˜ao ´e executada pelo menu (Project - Simulation).
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
32. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Os seguintes requisitos foram implementados no IRCE:
Gerˆencia de Projeto IRCE;
Montagem do Mundo Virtual;
Configura¸c˜ao do Robˆo e seus Sensores;
Programa¸c˜ao de Controle;
Simula¸c˜ao.
O prot´otipo do ambiente ´e us´avel e pode ser utilizado pela
comunidade rob´otica como um software de c´odigo-livre.
Por outro lado, as seguintes melhorias podem ser feitas na
ferramenta proposta:
Implementar os modelos 3D restantes suportados pelo Gazebo;
Implementar a transferˆencia de controle para os respectivos
robˆos reais;
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D
33. Introdu¸c˜ao Projeto Funcionalidades do IRCE Conclus˜oes e Trabalhos Futuros
Perguntas ??????
Contato: Humberto C. Marchezi - hcmarchezi@gmail.com
Humberto Universidade Federal do Esp´ırito Santo
Um Ambiente Gr´afico para Desenvolvimento de Software de Controle para Robˆos M´oveis Utilizando Simula¸c˜ao 3D