SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Mais conteúdo relacionado

Semelhante a Desenvolvimento de software robótico 3D

Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareFábio Nogueira de Lucena
 
Apresentação - Representação de Ambientes com recursos de Realidade Aumentada
Apresentação - Representação de Ambientes com recursos de Realidade AumentadaApresentação - Representação de Ambientes com recursos de Realidade Aumentada
Apresentação - Representação de Ambientes com recursos de Realidade AumentadaGil Ambrósio Lopes Júnior
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introduçãoFelipe Lyra
 
Introdução à Computação Aplicada
Introdução à Computação AplicadaIntrodução à Computação Aplicada
Introdução à Computação AplicadaRodolfo Almeida
 
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...Christopher Cerqueira
 
Internet das Coisas com Android things e Machine Learning
Internet das Coisas com Android things e Machine LearningInternet das Coisas com Android things e Machine Learning
Internet das Coisas com Android things e Machine LearningAlvaro Viebrantz
 
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...Christopher Cerqueira
 
Tema 10 Automação Da Engenharia
Tema 10   Automação Da EngenhariaTema 10   Automação Da Engenharia
Tema 10 Automação Da Engenhariabruno2003sp
 
Parceiros Lecom - Apresentacao Conceitual RPA
Parceiros Lecom - Apresentacao Conceitual RPAParceiros Lecom - Apresentacao Conceitual RPA
Parceiros Lecom - Apresentacao Conceitual RPAEduardo Britto
 
As melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de softwareAs melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de softwareRafael Souza
 
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisSimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisCaio Ribeiro Pereira
 
Unidade 1.1 Introdução ao Software
Unidade 1.1 Introdução ao SoftwareUnidade 1.1 Introdução ao Software
Unidade 1.1 Introdução ao SoftwareJuan Carlos Lamarão
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHPFlávio Lisboa
 

Semelhante a Desenvolvimento de software robótico 3D (20)

Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de software
 
Apresentação - Representação de Ambientes com recursos de Realidade Aumentada
Apresentação - Representação de Ambientes com recursos de Realidade AumentadaApresentação - Representação de Ambientes com recursos de Realidade Aumentada
Apresentação - Representação de Ambientes com recursos de Realidade Aumentada
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introdução
 
Introdução à Computação Aplicada
Introdução à Computação AplicadaIntrodução à Computação Aplicada
Introdução à Computação Aplicada
 
C poli c definitivo
C poli c definitivoC poli c definitivo
C poli c definitivo
 
Palestra realidade aumentada
Palestra   realidade aumentadaPalestra   realidade aumentada
Palestra realidade aumentada
 
Programação Robótica com RobotExpert
Programação Robótica com RobotExpertProgramação Robótica com RobotExpert
Programação Robótica com RobotExpert
 
Curso Básico Android - Aula 01
Curso Básico Android - Aula 01Curso Básico Android - Aula 01
Curso Básico Android - Aula 01
 
Tese de mestrado
Tese de mestradoTese de mestrado
Tese de mestrado
 
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...Introdução à utilização de openFrameworks para  o desenvolvimento de aplicaçõ...
Introdução à utilização de openFrameworks para o desenvolvimento de aplicaçõ...
 
Internet das Coisas com Android things e Machine Learning
Internet das Coisas com Android things e Machine LearningInternet das Coisas com Android things e Machine Learning
Internet das Coisas com Android things e Machine Learning
 
WRVA 2015
WRVA 2015WRVA 2015
WRVA 2015
 
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...
Construção de interfaces on-demand baseadas em Realidade Aumentada Projetiva ...
 
Tema 10 Automação Da Engenharia
Tema 10   Automação Da EngenhariaTema 10   Automação Da Engenharia
Tema 10 Automação Da Engenharia
 
Parceiros Lecom - Apresentacao Conceitual RPA
Parceiros Lecom - Apresentacao Conceitual RPAParceiros Lecom - Apresentacao Conceitual RPA
Parceiros Lecom - Apresentacao Conceitual RPA
 
As melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de softwareAs melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de software
 
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas OperacionaisSimulaRSO - Simulador de Recursos de Sistemas Operacionais
SimulaRSO - Simulador de Recursos de Sistemas Operacionais
 
Unidade 1.1 Introdução ao Software
Unidade 1.1 Introdução ao SoftwareUnidade 1.1 Introdução ao Software
Unidade 1.1 Introdução ao Software
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 

Mais de Humberto Marchezi

Anomaly Detection in Seasonal Time Series
Anomaly Detection in Seasonal Time SeriesAnomaly Detection in Seasonal Time Series
Anomaly Detection in Seasonal Time SeriesHumberto Marchezi
 
Building Anomaly Detections Systems
Building Anomaly Detections SystemsBuilding Anomaly Detections Systems
Building Anomaly Detections SystemsHumberto Marchezi
 
Getting Started with Machine Learning
Getting Started with Machine LearningGetting Started with Machine Learning
Getting Started with Machine LearningHumberto Marchezi
 
C++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing FrameworkC++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing FrameworkHumberto Marchezi
 

Mais de Humberto Marchezi (7)

Anomaly Detection in Seasonal Time Series
Anomaly Detection in Seasonal Time SeriesAnomaly Detection in Seasonal Time Series
Anomaly Detection in Seasonal Time Series
 
Building Anomaly Detections Systems
Building Anomaly Detections SystemsBuilding Anomaly Detections Systems
Building Anomaly Detections Systems
 
Getting Started with Machine Learning
Getting Started with Machine LearningGetting Started with Machine Learning
Getting Started with Machine Learning
 
Machine Learning Basics
Machine Learning BasicsMachine Learning Basics
Machine Learning Basics
 
C++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing FrameworkC++ Unit Test with Google Testing Framework
C++ Unit Test with Google Testing Framework
 
NHibernate
NHibernateNHibernate
NHibernate
 
Padroes de desenho
Padroes de desenhoPadroes de desenho
Padroes de desenho
 

Desenvolvimento de software robótico 3D

  • 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