Anais do 12O Encontro de Iniciação Científica e Pós-Graduação do ITA – XII ENCITA / 2006
Instituto Tecnológico de Aeronáutica, São José dos Campos, SP, Brasil, Outubro, 16 a 19, 2006.
UM SOFTWARE PARA TESTE DOS CONTROLES DE VÔO DO
VEÍCULO TRIPHIBIUS EM CENÁRIOS VIRTUAIS
Marcos Vinícius Melo Sampaio
ITA – Instituto Tecnológico de Aeronáutica
Praça Marechal Eduardo Gomes, 50
H8 – C, 304
Vila das Acácias, São José dos Campos – SP
CEP 12.228 – 462
Bolsista PIBIC – CNPq
[email protected]
Adilson Marques da Cunha
ITA – Instituto Tecnológico de Aeronáutica
Praça Marechal Eduardo Gomes, 50
Vila das Acácias, São José dos Campos – SP
CEP 12.228 – 901
[email protected]
Resumo. O projeto TRIPHIBIUS consiste num Veículo Experimental capaz de atuar ora como um carro de alta
performance, ora como um avião anfíbio. Ele deve poder decolar e pousar em pistas curtas, ter um piloto automático
e um sistema de navegação, e operar em diversos tipos de terreno. Buscando diminuir o desperdício de recursos
durante as suas fases de ensaio em vôo, desenvolveu-se um Software que visa hospedar com eficiência as manobras
realizadas pelo Veículo. Este artigo estuda a viabilidade da substituição da biblioteca gráfica do Cenário Virtual,
que atualmente utiliza Java3D, pela GL4Java; a fim de ganhar desempenho e utilizar o Simulador em aplicativos do
tipo BROWSER de Internet.
Palavras chave: Carro Anfíbio-Voador, Engenharia de Software, Linguagem Java.
1. Introdução
O Projeto do Veículo Experimental do Tipo Carro Anfíbio Voador – TRIPHIBIUS tem por objetivo
propiciar o desenvolvimento e a construção de um veículo que seja capaz de comportar-se como: 1) um
carro confortável e seguro nas estradas; 2) uma aeronave de pequeno porte e de alto desempenho em
baixas e médias velocidades, com modernos equipamentos de navegação, comunicação e segurança; e 3)
um barco com casco, que permita amerissar e decolar da água.
O TRIPHIBIUS deverá ser capaz de transportar, de porta a porta, de uma a quatro pessoas; voar a
uma velocidade aproximada de 400 km/h; operar em pistas curtas; permitir o comando interno de abertura
ou recolhimento das asas e o prosseguimento da viagem por terra; navegar por lugares alagados como
rios, praias ou lagoas; e abrigar-se dentro de uma garagem comum, evitando com isso, despesas de
estacionamento.
Em caso de viagens longas, condições meteorológicas adversas ou necessidade de pousos
intermediários freqüentes, o veículo TRIPHIBIUS poderá transformar-se facilmente de Aeronave em
Carro ou Barco, ou vice-versa.
O veículo TRIPHIBIUS poderá pousar em pistas curtas, estrategicamente construídas ao lado de
estradas; continuar a sua viagem por terra, ou até mesmo decolar de uma outra região qualquer, onde e
quando as condições meteorológicas permitirem.
Este Projeto representa a continuação e o aperfeiçoamento dos Projetos desenvolvidos em anos
anteriores, também com Bolsas do PIBIC, pelos alunos Márcio Endo, Guilherme Dalphian, João
Henrique, e Alex Lopes Pereira, este último com Bolsa oriunda do Projeto CNS/ATM – IEC / ITA.
Este Projeto parte dos resultados obtidos pelos Bolsistas anteriores e dos Trabalhos Finais da
Disciplina de Graduação do ITA CES-63 Sistemas Embarcados, que vem sendo ministrada pelo Prof. Dr.
Adilson Marques da Cunha, nos últimos oito anos (1999 - 2006) para os alunos de Graduação dos Cursos
de Engenharia Eletrônica e Computação do 5° Ano do ITA.
2. Atividades de capacitação
As atividades realizadas no segundo semestre de 2005 visaram à formação e à capacitação do aluno
pesquisador na área em que esta pesquisa se encontra inserida: Programação Orientada a Objetos em
Java, com destaque para a biblioteca GL4Java.
Anais do XII ENCITA 2006, ITA, Outubro, 16-19, 2006.
Descreve-se abaixo, resumidamente, algumas das tarefas realizadas durante o primeiro período de
atividades.
2.1. Applet DesenhaTriangulos
O Applet DesenhaTriangulos, mostrado na Fig. 1, desenha e classifica triângulos de qualquer tipo, a
partir de dados de entrada fornecidos pelo usuário.
Figura 1. Applet DesenhaTriangulos: Triângulo Escaleno.
2.2. Calculadora
A Calculadora, exibida na Fig. 2, utiliza tratamento de eventos e alguns componentes básicos do
pacote gráfico Swing, como botões e campos de texto.
Figura 2. Calculadora.
Anais do XII ENCITA 2006, ITA, Outubro, 16-19, 2006.
2.3. Chat
Dois programas constituem o Módulo Chat: um faz o papel de Servidor, mostrado nas Figuras 3 e 4,
e o outro de Cliente, Figuras 5 e 6. Além de apresentarem uma interface gráfica mais complexa, eles
utilizam recursos muito importantes da Linguagem Java, como os Sockets, capazes de gerar conexões
para a transmissão de informações.
Figura 3. Servidor: Guia de Mensagens do Servidor.
Figura 4. Servidor: Guia de Clientes.
Figura 5. Configuração do Cliente.
Anais do XII ENCITA 2006, ITA, Outubro, 16-19, 2006.
Figura 6. Interface do Cliente.
2.4. Cenário 3D
O Módulo Cenário 3D, apresentado na Fig. 7, consiste de um mapa simples feito com recursos da
biblioteca GL4Java, como o desenho de formas primitivas e o mapeamento de texturas.
Figura 7. Cenário 3D usando GL4Java.
3. Limitações da biblioteca GL4Java
O trabalho com a biblioteca OpenGL para Java evidenciou algumas limitações que desencorajaram o
seu uso. Dentre elas destacam-se: o nível das funções oferecidas, o limitado suporte a carregamento de
objetos no cenário, e a estagnação do desenvolvimento desta API.
Esta biblioteca basicamente faz um mapeamento completo do OpenGL 1.2 e do GLU 1.2. Sendo
assim, existe a necessidade de manipulação direta de polígonos e matrizes de transformação. Já em
interfaces de alto nível, como a desenvolvida pela Sun, trabalha-se com conceitos de grafos de cena e
câmeras.
Anais do XII ENCITA 2006, ITA, Outubro, 16-19, 2006.
Ao contrário do Java3D, que possui carregadores de objetos para os principais formatos – 3DS, OBJ,
VRML, X3D, NWN, e FLT –, o GL4Java limita-se a arquivos OBJ. Esta funcionalidade foi desenvolvida
por programadores independentes, não sendo, na verdade, um recurso nativo. Programas externos como
Wings3D e 3DWin podem converter arquivos em diversos padrões, em particular, arquivos 3DS em OBJ.
Dentre as metas da equipe de desenvolvimento encontra-se a implementação de grafos de cena e
melhorias na estabilidade, porém, o último release candidate data de dezembro de 2001. Assim, não se
pode concluir se eles vão realmente retomar as atividades. Inclusive, o site oficial do projeto [01] está
desativado há meses.
4. Análise de desempenho
Com o intuito de mensurar a performance das duas interfaces em estudo, realizou-se uma análise de
desempenho entre ambas. Para os testes efetuados, utilizaram-se computadores equipados com
processadores dos dois maiores fabricantes atuais – Intel e AMD. A Tab. 1 abaixo mostra, com maiores
detalhes, suas configurações:
Tabela 1. Configurações das máquinas utilizadas na análise.
Computador 1
Processador
Intel Pentium 4 2.26 GHz
Memória
512 MB DDR 400 MHz
Placa de Vídeo
NVIDIA GeForce4 MX 4000 64 MB
Placa Mãe
ASUS P4S800D-X
Sistema Operacional
Microsoft Windows XP SP2
Computador 2
AMD Athlon XP 2200+ 1.79 GHz
384 MB DDR 333 MHz
NVIDIA GeForce4 MX 440 64 MB
ASUS A7V8X-MX SE
Microsoft Windows XP SP1
Ao todo foram feitos três testes em ambientes particulares [02]. O primeiro trabalha com modelos
padrões da ferramenta GLUT, Fig. 8. O segundo cria uma cena objetos carregados a partir de arquivos
OBJ. Por fim, o terceiro analisa o desempenho com o mapeamento de diversas texturas. Abaixo, seguem
os principais resultados obtidos:
Figura 8. Teste 1.
Figura 9. Testes realizados com o computador 1.
Anais do XII ENCITA 2006, ITA, Outubro, 16-19, 2006.
Figura 10. Testes realizados com o computador 2.
Como se pode observar nas Figuras 9 e 10, o GL4Java apresentou um desempenho superior ao do
Java3D no geral, mas essa diferença já não é tão crítica quanto os valores obtidos em testes com versões
anteriores [02]. Além disso, em cenas com carregamento de objetos externos utilizando a biblioteca
OpenGL para Java houve uma maior demanda de processamento e uma queda na qualidade da imagem.
Este fato poderia trazer um efeito contrário ao desejado, já que o Cenário Virtual contém diversos
modelos construídos no programa 3D Studio.
5. Conclusões
Vários fatores contribuíram para que não houvesse a substituição da atual API. Em primeiro lugar, os
recentes ganhos de performance do Java3D supriram satisfatoriamente a principal necessidade do projeto.
Em segundo, as limitações da outra interface dificultariam o aprimoramento do Simulador, pois,
conforme a complexidade do Cenário aumentasse, a manutenção do código-fonte ficaria inviável. Por
fim, a estagnação do desenvolvimento da biblioteca GL4Java poderia deixar futuros problemas sem
perspectiva de solução.
Para versões futuras, sugere-se um aprimoramento da Dinâmica de Vôo do Software Simulador tendo
em vista a acomodação de movimentos mais realistas do Veículo.
6. Agradecimentos
Os autores agradecem ao CNPq, pelo financiamento de uma bolsa de Iniciação Científica, e ao Eng.
Alex Lopes Pereira, por toda a sua paciência e assistência prestada.
7. Referências
[01] – OpenGL for Java Open Source Project – http://www.jausoft.com/gl4java/
[02] – Labor Computer Graphics der Fachhochschule Stralsund – http://www.micg.et.fhstralsund.de/Java3D
[03] – Deitel, H. M., Deitel, P. J., 2002, “Java, Como Programar”, BOOKMAN, 1386p.
[04] – Horstmann, C. S., Cornell, G., 2000, “Core Java 2: Volume 1 – Fundamentals”, MAKRON
BOOKS, 676p.
[05] – NeHe Productions – http://nehe.gamedev.net/
[06] – CUNHA, Adilson Marques da; Pereira, ALEX Lopes. "Um Protótipo de Software de Mapa Móvel
para o TRIPHIBIUS no Ambiente CNS/ATM", Relatório Final, Programa Institucional de Bolsas de
Iniciação Científica - PIBIC, ITA, São José dos Campos, SP, 2002.
[07] – CUNHA, Adilson Marques da; Silva, JOÃO HENRIQUE de Almeida e. "Um Protótipo de
Software para o Desenvolvimento do Mapa Móvel do Cenário de Testes dos Controles de Vôo do
Veículo Experimental Carro Anfíbio Voador - TRIPHIBIUS", Relatório Final, Programa Institucional de
Bolsas de Iniciação Científica - PIBIC, ITA, São José dos Campos, SP, 2001.
[08] – CUNHA, Adilson Marques da; DALPIAN, Guilherme Martini. "Projeto de Software para o
Sistema de Controle de um Carro Anfíbio Voador", Relatório Final, Programa Institucional de Bolsas de
Iniciação Científica - PIBIC, ITA, São José dos Campos, SP, 1999.
[09] – CUNHA, Adilson Marques da; ENDO, Márcio. "Projeto de Software para o Sistema de Controle
de um Carro Anfíbio Voador", Relatório Final, Programa Institucional de Bolsas de Iniciação Científica PIBIC, ITA, São José dos Campos, SP, 1999.
Download

XII ENCITA - Marcos Vinicius Melo Sampaio