Navegação Turn-By-Turn Em Android Relatório De Estágio Para A
Total Page:16
File Type:pdf, Size:1020Kb
INSTITUTO POLITÉCNICO DE COIMBRA INSTITUTO SUPERIOR DE ENGENHARIA DE COIMBRA Navegação Turn-by-Turn em Android Relatório de estágio para a obtenção do grau de Mestre em Informática e Sistemas Autor Luís Miguel dos Santos Henriques Orientação Professor Doutor João Durães Professor Doutor Bruno Cabral Mestrado em Engenharia Informática e Sistemas Navegação Turn-by-Turn em Android Relatório de estágio apresentado para a obtenção do grau de Mestre em Informática e Sistemas Especialização em Desenvolvimento de Software Autor Luís Miguel dos Santos Henriques Orientador Professor Doutor João António Pereira Almeida Durães Professor do Departamento de Engenharia Informática e de Sistemas Instituto Superior de Engenharia de Coimbra Supervisor Professor Doutor Bruno Miguel Brás Cabral Sentilant Coimbra, Fevereiro, 2019 Agradecimentos Aos meus pais por todo o apoio que me deram, Ao meu irmão pela inspiração, À minha namorada por todo o amor e paciência, Ao meu primo, por me fazer acreditar que nunca é tarde, Aos meus professores por me darem esta segunda oportunidade, A todos vocês devo o novo rumo da minha vida. Obrigado. i ii Abstract This report describes the work done during the internship of the Master's degree in Computer Science and Systems, Specialization in Software Development, from the Polytechnic of Coimbra - ISEC. This internship, which began in October 17 of 2017 and ended in July 18 of 2018, took place in the company Sentilant, and had as its main goal the development of a turn-by- turn navigation module for a logistics management application named Drivian Tasks. During the internship activities, a turn-by-turn navigation module was developed from scratch, while matching the specifications indicated by the project managers in the host entity. The system was later integrated into the main Drivian Tasks application, along with the addition of unique elements specifically developed to expand its already existing functionalities. This report describes in detail all the stages of the project, from its planning phase, followed by its development phase, up to its final validation phase. The described activities resulted in the construction of an independent navigation module, which may be integrated in any of Sentilant’s future Android applications. It also provided a substantial improvement on the mobile application of the Drivian Tasks product. Keywords: Turn-by-turn; Navigation; GPS; Android iii iv Resumo O presente relatório descreve todo o trabalho efetuado durante o estágio de Mestrado em Informática e Sistemas, Especialização em Desenvolvimento de Software, do Instituto Superior de Engenharia de Coimbra. Este estágio, com início a 17 de Outubro de 2017 e finalizado a 18 de Julho de 2018, teve lugar na empresa Sentilant, e teve como objetivo central o desenvolvimento de um módulo de navegação turn-by-turn para uma aplicação de gestão logística já existente: o Drivian Tasks. Durante o decorrer das atividades de estágio, foi desenvolvido um módulo de navegação turn-by-turn completamente de raiz, correspondente às especificações indicadas pelos responsáveis do projeto na entidade de acolhimento. Este sistema foi posteriormente integrado na aplicação Drivian Tasks, em conjunto com a adição de elementos únicos, especificamente desenvolvidos para esta aplicação com a finalidade de expandir as suas funcionalidades. Este relatório descreve em detalhe todas as fases do projeto, desde o seu planeamento, passando pela sua conceção, até à fase final de validação. As atividades aqui descritas resultaram na construção de um módulo de navegação independente, integrável em qualquer aplicação Android que a empresa Sentilant possa desenvolver, em conjunto com uma melhoria significativa da aplicação móvel do produto Drivian Tasks. Palavras-chave: Turn-by-turn; Navegação; GPS; Android v vi Índice Abstract ............................................................................................................................ iii Resumo ............................................................................................................................. v Índice .............................................................................................................................. vii Índice de Figuras ............................................................................................................. xi Índice de Tabelas ........................................................................................................... xiii Índice de Anexos ............................................................................................................ xv Acrónimos .................................................................................................................... xvii 1. Introdução ..................................................................................................................... 1 1.1. Entidades Envolvidas ............................................................................................. 1 1.1.1. Entidade de Acolhimento ................................................................................ 1 1.1.2. Entidade Promotora ......................................................................................... 3 1.2. Objetivos Gerais .................................................................................................... 3 1.3. Plano de Trabalhos ................................................................................................. 5 1.4. Estrutura do Relatório ............................................................................................ 6 2. Descrição do Problema ................................................................................................. 9 2.1. Descrição do Drivian Tasks ................................................................................... 9 2.2. Descrição Geral do Problema .............................................................................. 10 2.3. Navegação Turn-by-Turn ..................................................................................... 10 2.4. Identificação dos Stakeholders ............................................................................ 11 2.5. Requisitos Gerais ................................................................................................. 12 2.5.1. Integração no Drivian Tasks ......................................................................... 13 2.5.2. Escalabilidade................................................................................................ 13 2.5.3. Gestão de Permissões dos Utilizadores ......................................................... 14 2.5.4. Expansão das Funcionalidades ...................................................................... 15 2.5.5. Funcionamento Offline .................................................................................. 16 2.5.6. Desenvolvimento de um Sistema Proprietário .............................................. 17 2.5.7. Mapas e Grafos Atualizados ......................................................................... 18 2.5.8. Eficiência ....................................................................................................... 19 2.6. Resumo ................................................................................................................ 19 3. Estado da Arte ............................................................................................................ 21 3.1. Tecnologias de Navegação e Posicionamento ..................................................... 21 vii 3.1.1. STOIC ........................................................................................................... 21 3.1.2. Signals of Opportunity .................................................................................. 22 3.1.3. Reconhecimento de Imagem ......................................................................... 23 3.1.4. Global Positioning System ............................................................................ 24 3.1.5. Sensores de Inércia ........................................................................................ 26 3.2. Soluções Comerciais Existentes .......................................................................... 27 3.3. Conclusões ........................................................................................................... 34 3.4. Resumo ................................................................................................................ 34 4. Proposta de Abordagem ............................................................................................. 37 4.1. Tecnologia Escolhida ........................................................................................... 37 4.2. Soluções Iniciais para os Problemas Inerentes à Tecnologia Escolhida .............. 38 4.2.1. Precisão ......................................................................................................... 39 4.2.2. Perda súbita de sinal ...................................................................................... 39 4.2.3. Latência ......................................................................................................... 39 4.2.4. Receção intermitente ..................................................................................... 39 4.3. Tecnologias e Componentes Necessárias ............................................................ 39 4.3.1. Hardware do Utilizador ...............................................................................