Simulação do controle de tráfego de automóveis em uma malha rodoviária urbana: Versão 3.0

Documentos relacionados
CONSIDERAÇÕES BÁSICAS SOBRE PROJETO DE MUSEU DE ARTES VISUAIS 1

SISTEMA GERENCIAL PARA AUTOMAÇÃO DE FORÇA DE VENDAS USANDO DISPOSITIVOS MÓVEIS BASEADOS EM PALM OS

RELATÓRIO DEFINIÇÃO. Resumo

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

MÓDULO 2 Topologias de Redes

Agenda. Requisitos para desenvolvimento do sistema de informação DW-e IS. Comparação de plataformas de integração. Requisitos de sistema

Supervisório Remoto aplicado em Dispositivo Móvel na Plataforma NI LabVIEW

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

DOCUMENTAÇÃO SISTEMA DE ADMINISTRAÇÃO DE CONSULTÓRIO MÉDICO

Desenvolvimento de um sistema de leilão utilizando JavaServer Pages

Métricas de Software

Disciplina: Unidade III: Prof.: Período:

Classificação de Ativo Orçamento e Provisão de Despesa

Inteligência Artificial

Sistema de Gestão Avícola SYSAVES. O sistema SYSAVES controla todo o processo, desde a saída dos

ENG1000 Introdução à Engenharia

CATÁLOGO DE APLICAÇÕES Rateio CC Contas a Pagar

Curso de extensão em Blender Prof. Luiz Gonzaga Damasceno

MVM Mattos Virtual Machine. Andrey de Oliveira Prof. Mauro Marcelo Mattos, Doutor FURB 2012/2

Prof. Vinícius C. Patrizzi ESTRADAS E AEROPORTOS

Sefaz Virtual Ambiente Nacional Projeto Nota Fiscal Eletrônica

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

Guião do Trabalho Laboratorial Nº 1 Criação do Modelo do Mundo no ABB RobotStudio

Protótipo de Linígrafo Micro-controlado

Universidade Federal do Paraná - Setor de Ciências da Terra

Análise de Requisitos

Programação WEB. Prof. André Gustavo Duarte de Almeida www3.ifrn.edu.br/~andrealmeida. Aula II jquery UI

Arquitecturas de Software Enunciado de Projecto

MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS

Engenharia de Software II

Sobre o Visual C

Solucionando problemas de impressão

Orientação a Objetos

Animação e Visualização Tridimensional

PLANIFICAÇÃO INTRODUÇÃO ÀS TECNOLOGIAS DE INFORMAÇÃO BLOCO I

Autoria: Fernanda Maria Villela Reis Orientadora: Tereza G. Kirner Coordenador do Projeto: Claudio Kirner. Projeto AIPRA (Processo CNPq /2010-2)

Banco de Dados I. Prof. Edson Thizon

2 Segmentação de imagens e Componentes conexas

ENGENHARIA DE SOFTWARE

Conteúdo programático

Tutorial. Georreferenciamento de Imagens. versão /08/2008. Autores: Rafael Bellucci Moretti, Vitor Pires Vencovsky

Orientações para Inscrição do Grupo e Projeto de Pesquisa

MANUAL DO USUÁRIO. Figura 1: Tela de Apresentação do FaçaCalc.

Esta melhoria depende de execução do update de base U_UPDFIN, conforme procedimento para implementação.

Critérios de avaliação das rotas cicláveis Fonte: I-CE & GTZ (2009); MINISTÉRIO DAS CIDADES, (2007a).

MODELO SUGERIDO PARA PROJETO DE PESQUISA

APRESENTAÇÃO TRIMBLE S3. Conheça a eficiência e a sofisticação da TRIMBLE S3

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

FastCube 2.0 Programmer Manual

II Semana de Ciência e Tecnologia do IFMG campus Bambuí II Jornada Científica 19 a 23 de Outubro de 2009

Arquitetura de referência de Streaming sob demanda para desktop (ODDS) DELL

Figura 4.1: Diagrama de representação de uma função de 2 variáveis

Análise de Processos. Por José Luís Carneiro

e Autorizador Odontológico

Disponibilizada a rotina Vale Presente (LOJA830) no módulo Controle de Lojas (SIGALOJA), assim como já é utilizada no módulo Front Loja (SIGAFRT).

Introdução à Programação de Computadores Parte I

EDITAL PARA INSCRIÇÃO DE TRABALHOS NO III CURSO DE EXTENSÃO SOBRE O TRABALHO DO ASSISTENTE SOCIAL NA EDUCAÇÃO DO IFMG

Recensão digital Dezembro de 2013

Os salários de 15 áreas de TI nas cinco regiões do Brasil

Algoritmos e Programação II

Fundamentos de Programação. Diagrama de blocos

JAVA Express com Lógica. Subtítulo

REITORA Ulrika Arns. VICE-REITOR Almir Barros da Silva Santos Neto. DIRETOR DO NTIC Leonardo Bidese de Pinho

Georreferenciamento (registro) de imagens no QGIS *

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Como utilizar a tecnologia a favor da sua central de atendimento

Sistemas de Informação

Diagrama de Componentes e Implantação

RETIFICAÇÃO DE EDITAL DO PROCESSO LICITATÓRIO Nº. 045/2.016 DEPARTAMENTO DE COMPRAS E LICITAÇÕES

Conceitos básicos sobre computadores

Gestão de Actas Escolares. Manual Utilizador. (Versão 4)

Departamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota

Prof. Neckel FÍSICA 1 PROVA 1 TEMA 2 PARTE 1 PROF. NECKEL POSIÇÃO. Sistema de Coordenadas Nome do sistema Unidade do sistema 22/02/2016.

Matrizes de Transferência de Forças e Deslocamentos para Seções Intermediárias de Elementos de Barra

Aula Prática 1 - Gerador Van de Graaff e interação entre corpos carregados

SOFTWARE DE CONTROLE DE ENTREGAS USANDO DISPOSITIVOS MÓVEIS E WEB SERVICE SOBRE A PLATAFORMA.NET

Navig lança unidade móvel para treinamento de motoristas

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Conhecendo o Delphi 2010

COMO SELECIONAR O RAID ADEQUADO PARA UMA SAN EQUALLOGIC

Deswik.Sched. Sequenciamento por Gráfico de Gantt


REITORA Ulrika Arns. VICE-REITOR Almir Barros da Silva Santos Neto. DIRETOR DO NTIC Leonardo Bidese de Pinho

SISTEMA OPERACIONAL - ANDROID

LOGO DO WEBSITE DA FUTURA APP

Resolução Comentada Unesp

PLANILHA DE NIVELAMENTO

TUTORIAL PROCESSOS DE INSTALAÇÃO DO MYMIX MOBILE

CATEGORIA 2 INICIATIVAS DE INOVAÇÃO

INF1007: Programação 2 9 Tipos Abstratos de Dados. (c) Dept. Informática - PUC-Rio 1

Portal dos Convênios - Siconv

Seminário: Uso de Simuladores no Ensino da Robótica

Introdução à orientação a objetos

Gerenciador de Ambiente Laboratorial - GAL Manual do Usuário Módulo Controle de Qualidade Analítico

OI CLOUD SEJA BEM-VINDO!

Transcrição:

Trabalho de Conclusão de Curso Simulação do controle de tráfego de automóveis em uma malha rodoviária urbana: Versão 3.0 Ederson André Savi Orientador: José Roque Voltolini da Silva

Roteiro Introdução Objetivos do trabalho Fundamentação teórica 1ª versão de Freire (2004) 2ª versão de Ranghetti (2007) Desenvolvimento Implementação Conclusão Extensões

Introdução Simuladores, uma nova perspectiva no estudo do trânsito. Buscam a melhor solução para a mobilidade de veículos. Também visam diminuir o quadro de poluição sonora, atmosférica e a fadiga dos usuários. Duas versões já desenvolvidas por Freire (2004) e Ranghetti (2007) na Furb. Este trabalho propõem-se como uma extensão ao simulador de Freire (2004) e Ranghetti (2007).

Introdução Compatibilidade com o editor de malhas viárias de Perondi. Padrão de arquitetura Model View Controller (MVC).

Objetivos do trabalho Estender o trabalho desenvolvido por Freire (2004 Versão 1) e Ranghetti (2007 Versão 2) Reformular a estrutura de dados. Disponibilizar a visualização em perspectiva. Permitir velocidades diferente por carro. Permitir definição de rotas para determinados carros.

Trabalho de Conclusão de Curso FUNDAMENTAÇÃO TEÓRICA

Fundamentação Teórica Simuladores de trânsito de veículos Trânsito é a utilização das vias por pessoas, veículos e animais, isolados ou em grupos, conduzidos ou não, para fins de circulação, parada, estacionamento e operação de carga ou descarga. (DENATRAN, 2004). São ferramentas de análise do tráfego de bastante utilidade para a área civil.

Fundamentação Teórica Grafos Grafos é um conjunto de arestas e vértices que podem ser interligados de várias maneiras. Mesma estrutura de grafos usada pelo Editor Gráfico de Malhas Viárias (EGMR) de Perondi (2007).

Fundamentação Teórica Grafos Estrutura de dados no EGMR de Perondi.

Fundamentação Teórica Computação gráfica e a API JoGL A computação gráfica é a área da ciência da computação que estuda a geração, manipulação e interpretação de imagens por meio de computadores. JoGL é descrita como uma biblioteca que faz a ligação entre a linguagem Java e a OpenGL.

Fundamentação Teórica Computação gráfica e a API JoGL Com a JoGL é possível integrar a Abstract Window Toolkit (AWT) e Swing, que são as bibliotecas de interface gráfica para os usuários do ambiente Java, com a OpenGL. Atualmente a JoGL provê acesso à versão OpenGL 2.0.

Fundamentação Teórica Protótipo de simulação do controle de tráfego de automóveis em uma malha rodoviária urbana de Freire (2004) Simulador de trânsito de veículos em uma malha rodoviária. A malha rodoviária é carregada a partir de um arquivo texto. Visualização gráfica em duas dimensões. O trajeto do veículo é de forma aleatória.

Fundamentação Teórica Simulação de veículos trafegando, de Freire (2004)

Fundamentação Teórica Protótipo de simulação do controle de tráfego de automóveis em uma malha rodoviária urbana Ranghetti (2007) Disponibilizar um veículo guiado pelo usuário. Acrescentar a terceira dimensão, porém somente ortogonal. Verificar o aumento de consumo de memória durante a execução. Reformular a função de disponibilidade de trechos para os veículos.

Fundamentação Teórica Tela inicial do Simulador de Ranghetti (2007)

Fundamentação Teórica Protótipo de Editor Gráfico de Malha Rodoviária (EGMR) de Perondi (2007) Reescrever o código existente para a linguagem Java. Incluir funcionalidades para o desenho de viadutos. Adicionar ferramenta para o desenho de curvas. Converter o atual formato do arquivo da malha para XML. Imagem de satélite ou aerofotogrametria como fundo. Oferecer a possibilidade de visualização da malha em 3D.

Fundamentação Teórica Protótipo de Editor Gráfico de Malha Rodoviária (EGMR) de Perondi (2007) <list> <modelo.trecho> <i cdtrecho>1</i cdtrecho> <i cdrua>0</i cdrua> <inicio> <selecionado>-1</selecionado> <x>-39.63390951354041</x> <y>-146.2994869189296</y> <z>0.0</z> </inicio> <final > <selecionado>-1</selecionado> <x>-39.59390951443448</x> <y>135.97246431288752</y> <z>0.0</z> </final >...

Fundamentação Teórica Protótipo de Editor Gráfico de Malha Rodoviária (EGMR) de Perondi (2007)... <f Largura>9.0</f Largura> <mesq>0</mesq> <mdir>0</mdir> <nivel>0</nivel> <quebra>0</quebra> <vl Quebra>0</vl Quebra> <cruza>false</cruza> <selecionado>false</selecionado> <semaforos/> </modelo.trecho>

Trabalho de Conclusão de Curso DESENVOLVIMENTO

Desenvolvimento Requisitos do Sistema Proposto O sistema deverá permitir a visualização do ambiente de simulação em perspectiva (Requisito Funcional - RF). O sistema deverá manter as funcionalidades do simulador apresentadas em versões anteriores (RF). O sistema deverá permitir velocidades diferentes para cada carro (RF).

Desenvolvimento Requisitos do Sistema O sistema deverá permitir a definição de rotas para determinados carros (RF); O sistema deverá manter a estrutura de malhas rodoviárias utilizando grafos (Requisito Não Funcional - RNF); O sistema deverá ser implementado na linguagem Java e utilizar a biblioteca JoGL (RNF).

Desenvolvimento Especificação do Sistema Casos de uso. Diagrama de modelo de classes.

Desenvolvimento Casos de Uso

Desenvolvimento Representação da Malha Rodoviária Quebra Valor de quebra Utilizadas para impedir que veículos façam contornos indevidos em cruzamento de vias. Utilizado armazenamento da rota do veículo para impedir que ele entre em loop.

Desenvolvimento Representação da Malha Rodoviária 0;1 0;1 0;1 1;1 2;1 1;1 0;1 0;1 1;1 0;1

Desenvolvimento Representação da Malha Rodoviária

Desenvolvimento Posição automóvel na via Os veículos somente param na via quando os semáforo a frente já esta ocupado. O cronometro do veículo para nesta situação.

Desenvolvimento Detectando colisões e alocando semáforo Detectar semáforo do veículo que esta a frente.

Desenvolvimento Modelo Model-View-Controller (MVC) A camada view representa a interface com o usuário. A camada control realiza a ligação com a camada model, que vai implementar as ações do usuário e o tratamento dos eventos. A camada model representa as informações sobre o qual a aplicação opera, que neste projeto são relacionados com as rodovias e carros.

Desenvolvimento Diagrama de modelo de classes

Desenvolvimento Camada View

Desenvolvimento Camada Control

Desenvolvimento Camada Model

Desenvolvimento Implementação O protótipo foi implementado no ambiente Eclipse Ganymede, usando a biblioteca gráfica JoGL em Java. Rotinas implementadas: Visão em perspectiva 3D. Colisão. Deslocamento do veículo.

Implementação Visão em perspectiva 3D 1. /** 2. * Método usado para especificar o volume de visualização. 3. */ 4. public void especificaparametrosvisualizacao() { 5. // Especifica sistema de coordenadas de projeção 6. gl.glmatrixmode(gl.gl_projection); 7. // Inicializa sistema de coordenadas de projeção 8. gl.glloadidentity(); 9. 10. // Especifica a projeção perspectiva(angulo,aspecto,zmin,zmax) 11. glu.gluperspective(zoom, faspect, 0.5, 1000); 12. 13. posicionaobservador(); 14. } 15. private float[] obseye = new float[3];//perspectiva camera 16. private float[] imgcnt = new float[3];//perspectiva - camera

Implementação Visão em perspectiva 3D 17. /** 18. * Método usado para especificar a posição do observador virtual. 19. */ 20. public void posicionaobservador() { 21. // Especifica sistema de coordenadas do modelo 22. gl.glmatrixmode(gl.gl_modelview); 23. // Inicializa sistema de coordenadas do modelo 24. gl.glloadidentity(); 25. // Especifica posição do observador e do alvo 26. // eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz 27. // eyex, eyey, eyez = define a posicao da camera 28. // centerx, centery, centerz = define o centro da imagem, para 29.onde esta olhando 30. // upx, upy, upz = define qual eixo esta virado pra cima 31. glu.glulookat(obseye[0], obseye[1], obseye[2], imgcnt[0], 32.imgCnt[1], imgcnt[2], 0.0, 1.0, 0.0); 33. }

Implementação Visão em perspectiva 3D

Implementação Colisão Cria uma silhueta em volta do veículo para a detecção de semáforos. Utiliza a classe java.awt.rectangle. Método contains(x,y).

Implementação Deslocamento do veículo public boolean calcular() throws InterruptedException { //pega tempo de existencia do carro na via timenow = cronus.tempo(); //distancia em metros posicaonapista = velocidade * (timenow/1000d); //calculado o quanto o carro se deslocou, ira calcular o seu ponto no plano Ponto paux = this.reta.posicaonareta(posicaonapista);... }

Trabalho de Conclusão de Curso OPERACIONALIDADE DA IMPLEMENTAÇÃO

Operacionabilidade da Implementação Rotas para os veículos

Operacionabilidade da Implementação Inicializar a simulação

Operacionabilidade da Implementação Visão em perspectiva

Resultados e Discussão Não foi implementado o calculo de distância entre dois pontos da via devido a falta de tempo e complexidade da rotina.

Tabela comparativa entre as versões Protótipo de Freire (2004) Protótipo de Ranghetti (2007) Protótipo versão 3 Opção de carro guiado X X Visualização em 3D - ortogonal X X Visualização em 3D - perspectiva X Definir velocidade para os veículos X X X Veículos com diferentes velocidade X Definir quantidade de veículos X X X Iniciar, parar, pausar simulação X X X Calcular comprimento da rua X X Representação de viadutos X X Determinar rotas X

Conclusão O presente trabalho é uma extensão do simulador de tráfego de automóveis em uma malha rodoviária desenvolvido por Freire (2004) e estendido por Ranghetti (2007). As extensões desenvolvidas foram a visualização em perspectiva 3D, variação da velocidade para determinados grupos de carros e a definição de rotas para uma quantidade de carros. O simulador adequou-se a carregar a malha rodoviária criada pelo EGMR de Perondi (2007), inclusive todas as suas características. Não foi idealizado nenhum tipo de controle para alterar a velocidade de qualquer veículo na malha durante a simulação

Extensões Para continuação deste trabalho são sugeridas as seguintes extensões: Adequar a velocidade do veículo que esta atrás para a velocidade do veículo que esta a frente. Permitir a distribuição do processamento para vários computadores. Rotina para fazer estatísticas sobre o tráfego na malha. Melhorar a qualidade gráfica, fazendo uso de texturas e criando um terreno.

Trabalho de conclusão de curso Fim