Integración En Tiempo Real De Un Navegador Basado En Openstreetmap
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSIDAD POLITECNICA DE MADRID ESCUELA TECNICA SUPERIOR DE INGENIEROS INDUSTRIALES INTEGRACIÓN EN TIEMPO REAL DE UN NAVEGADOR BASADO EN OPENSTREETMAP TRABAJO PRESENTADO PARA OPTAR AL TITULO DE MASTER EN AUTOMATICA Y ROBOTICA POR VACA RECALDE, MYRIAM ELIZABETH MADRID, 15 DE ABRIL DE 2018 Departamento de Automatica, Ingenieria Electrica y Electronica e Informatica Industrial INTEGRACIÓN EN TIEMPO REAL DE UN NAVEGADOR BASADO EN OPENSTREETMAP Autor: VACA RECALDE, MYRIAM ELIZABETH Tutores: FERNANDO MATÍA ESPADA JORGE LUIS GODOY MADRID MADRID, 15 DE ABRIL DE 2018 A mi familia, por ser mi apoyo incondicional. Hacer lo imposible es una forma de diversión Walt Disney. AGRADECIMIENTOS En primer lugar, quiero agradecer a Fernando Matía, Jorge Godoy y a Jorge Villagra por darme la oportunidad de participar en este proyecto tan innovador e interesante. Agradezco a mis padres y mis hermanas por su apoyo durante el desarrollo de este proyecto, por estar siempre presentes y por procurarme todos los medios que he necesitado para la rea- lización de mis estudios. Así mismo, a José Emilio por su comprensión y ayuda incondicional. También agradezco a Javier Álvarez por su amistad y su apoyo en cada momento. Por último, a los componentes del programa AUTOPÍA, por desarrollar una investigación tan interesante y a todas las personas que se han interesado por mi trabajo. RESUMEN Este proyecto se basó en el desarrollo de un sistema de navegación fundamentado en una apli- cación de un dispositivo Android, para vehículos autónomos. La información a utilizar para lograr este objetivo fue la proporcionada por el proyecto OpenStreetMap y el soporte de código abierto de la aplicación OsmAnd. El fin de este desarrollo es la implementación y comunicación del sistema de navegación con uno de los vehículos autónomos que pertenecen a la flota del grupo de investigación del pro- grama AUTOPIA, perteneciente al Centro de Automática y Robótica de la UPM y al Consejo Superior de Investigaciones Científicas (CSIC). El objetivo del proyecto es que la aplicación ac- túe como el planificador y navegador del vehículo interactuando con él y con cada uno de los elementos que forman su estructura. Para lograr este cometido, primero se realizó un estudio previo de la comunicación Lightweight Communications and Marshalling (LCM) para conocer como se utiliza, cómo se codifican los datos para enviarlos, cómo se reciben... A continuación se pasó al análisis del proyecto OpenS- treetMap (OSM), la información que contiene, como se estructura, que datos aporta y como se pueden utilizar, que herramientas podrían ayudar al desarrollo del proyecto... Por lo tanto, se estudiaron las ventajas que ofrecían las aplicaciones gratuitas y de código libre que emplean OSM con el fin de basarse en una para el desarrollo del proyecto. La aplicación se programó en Andorid Studio a partir de una versión de OsmAnd, una aplicación de navegación de código abierto que trabaja con la totalidad de la información de OpenStreet- Map. Entre sus principales características destacan el funcionamiento con y sin conexión, las indicaciones por voz, las indicaciones de carril, el soporte de puntos intermedios en la trayec- toria y el recálculo automático de ruta. No obstante, la versión libre no incluye todas estas características. Por otro lado, se implementan los recursos necesarios para la simulación del vehículo mediante la utilización de datos grabados por este, y un programa auxiliar que envía las alarmas como si fuera el sistema de percepción del coche. II Por consiguiente, la aplicación recibe los datos obtenidos por el GPS del vehículo mediante la comunicación LCM, al mismo tiempo que recibe las alarmas programadas y se envían los datos al coche para crear perfiles de velocidad, detener el vehículo por una alarma o indicar el modo de conducción. Finalmente se obtiene una interfaz gráfica amigable, sencilla que permite al usuario empezar la navegación en el coche y capta su atención para diferentes situaciones que pasan a su alrededor. Se realiza la simulación para validar el sistema y se concluye con la obtención de un navegador para vehículos autónomos funcional. III ABSTRACT This project was based on the development of a navigation system using an application on an Android device, for autonomous vehicles. The information to achieve this objective was provi- ded by the OpenStreetMap project and the open source support of OsmAnd application. The purpose of this development is the implementation and communication of the navigation system with one of the autonomous vehicles belonging to the fleet of the AUTOPIA research group, what is part of the Automation and Robotics Center of the UPM and the Higher Council of Scientific Research. (CSIC) The objective of the project is the application has to act as the vehicle’s planner and navigator, interacting with it and with each of the elements that form its structure. To achieve this goal, a preliminary study of the Lightweight Communications and Marshalling (LCM) communication was carried out to find out how it is used, how the data is encoded to send it, how to receive it... Next, it was analyzed OpenStreetMap (OSM) project, the informa- tion that contains, how it is structured, what data it contributes and how it can be used, what tools could help the development of the project, etc. Thus, the advantages offered by free and open source applications that use OSM, were studied in order to be based on one for the deve- lopment of the project. The application was programmed in Andorid Studio based on OsmAnd, an open source naviga- tion application that operates with all the OpenStreetMap information, works with and without connection, has voice notifications, lane indications, intermediate point support in the path and it recalculate the route automatically. The problem is that some of these functions are not active in the free version. On the other hand, the necessary resources for the simulation of the vehicle are implemented through the use of data recorded by the vehicle, and an auxiliary program that sends the alarms as if it were the perception system of car. Therefore, the application receives the data obtained by the GPS of the vehicle through the LCM communication, at the same time, it receives the programmed alarms and sends the data to the car to create speed profiles, stop the vehicle by an alarm or indicate the driving mode. IV Finally you get a friendly and simple graphical interface that allows the user to start naviga- tion in the car and get their attention for different situations that happen around them. The simulation is carried out for the validation of the system and it is concluded with a functional navigation system for autonomous vehicles. V ÍNDICE 1. INTRODUCCIÓN 11 1.1. Motivación del proyecto ................................... 12 1.2. Objetivo del trabajo ...................................... 12 1.3. Organización del proyecto .................................. 14 2. ESTADO DEL ARTE 15 2.1. Sistemas inteligentes de transporte ............................ 15 2.1.1. Niveles de autonomía ................................ 17 2.1.2. AUTOPIA ....................................... 20 2.2. Sistemas de navegación ................................... 21 2.2.1. Sistemas de planificación y navegadores comerciales ............. 21 2.2.2. Mapas digitales .................................... 24 2.2.2.1. OpenStreetMap (OSM) ......................... 24 2.2.3. Aplicaciones de navegación y mapas ....................... 26 3. SISTEMA DE COMUNICACIÓN 31 3.1. Lightweight Communications and Marshalling (LCM) ................. 31 3.2. Prueba de la comunicación LCM .............................. 33 3.2.1. Modo de programación del LCM ......................... 34 4. DISEÑO DE LA INTERFAZ 37 4.1. OpenStreetMap ........................................ 37 4.2. OsmAnd ............................................. 42 4.3. Android Studio ........................................ 43 VII ÍNDICE 4.4. Aplicación final ........................................ 44 4.4.1. Envío/recepción de datos ............................. 45 4.4.2. Emulador de posicionamiento: GPS Autopia .................. 45 4.4.3. AUTOPÍA Route ................................... 48 5. VALIDACIÓN / RESULTADOS 57 5.1. Simulación de alarmas .................................... 57 5.2. Resultados de la aplicación ................................. 59 6. CONCLUSIONES Y FUTUROS TRABAJOS 67 6.1. Conclusiones .......................................... 67 6.2. Futuros Trabajos ........................................ 68 7. BIBLIOGRAFÍA 71 VIII ÍNDICE DE FIGURAS 1.2.1. Cronograma del proyecto. ................................. 14 2.1.1. Vehículo autopropulsado de Leonardo Da Vinci. .................... 16 2.1.2. Ejemplos del avance tecnológico sigo XX. ........................ 16 2.1.3. Ejemplos de vehículos modernos de alta autonomía. ................. 17 2.1.4. Ejemplos de sistemas ADAS de un vehículo de autonomía nivel 1. ......... 18 2.1.5. Mercedes-Benz Clase E con Drive Pilot. ......................... 18 2.1.6. Coche autónomo de Google de nivel 4. ......................... 19 2.1.7. Flota de vehículos del Programa AUTOPIA. ....................... 20 2.2.1. Sistema de navegación comercial de TomTom. ..................... 22 2.2.2. Sistema de navegación comercial de Garmin. ..................... 23 2.2.3. Sistema de navegación utilizando realidad aumentada. ............... 23 2.2.4. Logo de OSM. ......................................... 25 2.2.5. Google Maps. ......................................... 26 2.2.6.