DRIVER-ANALIZER

DriverAnalizer en un sistema de búsqueda de patrones en la conducción a partir de la información de diagnóstico obtenida en tiempo real del puerto OBD de un vehículo.

El sistema emplea técnicas de (Machine Learning) entrenando un conjunto de redes neuronales Backpropagation y sistemas expertos basados en formulación matemática para tratar de estimar valores de la conducción que por su nivel abstracción no son susceptibles de ser medidos de forma directa, tales como: la agresividad del conductor,su prudencia, género, edad...

Proporciona además un entorno para el administrador del sistema que le permite crear nuevos conjuntos de entrenamiento para la clasificación de parámetros que no estén ya incluidos.

DriverAnalizer ha sido desarollado como proyecto de final de carrera y está perdiente de ser presentado ante tribunal universitario por lo que su repositorio y la documentación técnica continuan siendo privadas.

Publicación universitaria

Consta de una aplicación para dispositivos móviles Android que comunica con la ECU del automóvil por medio del puerto de diagnóstico OBD para obtener información en tiempo real de los sensores del vehículo, tales como la velocidad o las revolusiones del motor. Esta información es transferida a un servidor centralizado.

La información recopilada en el servidor, permite al administrador del sistema crear conjuntos de entrenamiento y entrenar redes neuronales multicapa especializadas que serán de nuevo enviadas a las dispositivos móviles para llevar a cabo clasificaciónes mientras se conduce.


Paso 1: Obtener datos de entrenamiento

Recolección de datos de entrenamiento en un Peugeot 206.

Primera prueba del sistema de recolección de datos. El Peugeot 206 versión del año 1999 únicamente proporciona información de las revoluciones por minuto, por lo que los datos aquí recolectados no son válidos para el estudio, pero demuestra el funcionamiento del sistema de rcolección.

Los indicadores bajo los oscilospocios indican que la aplicación no solo está comunicando adecuadamente con el sistema OBD2 del automóvil, sino que también dispone de señal de geoposicionamiento y correcta comunicación con el servidor que recibe los datos para su posterior analisis y clasificación.

Paso 2: Clasificación y entrenamiento

En este apartado se revisan en el servidor los datos obtenidos en la conducción y se les asigna una clasificación que servira como ejemplo a la red neuronal para su entrenamiento.

Concretamente he decidido entrenar la red para que sea capaz de distingir cuando el vehículo circula por una carretera de poblado o de autovía haciendo uso de los datos ya recogidos en el paso 1.

Por tanto, se clasifica el tiempo durante el cual estube conduciendo por el interior de la universidad con un valor de 0 y el tiempo de conducción por autovía con un valor de 1. Despues se lanza el entrenamiento de la red neuronal la cual será transferida automaticamente al teléfono móvil.

Paso 3. Probando la red neuronal

Tras el entrenamiento anterior, la red "tipo de vía" a sido transferida al teléfono móvil.

En este video hago uso de la red neuronal para clasificar el tipo de vía a lo largo de un trayecto de unos minutos en los cuales conduzco un tiempo por ciudad y otro por la autovía.

Con la excepción de algunos errores de red puntuales debidos al 12% de error de red obtenido en el entrenamiento, la red neuronal parece distinguir correctamente la conducción por vías urbanas de las inter urbanas.

Probando la recolección de datos en un modelo de vehículo cuyo sistema OBD2 ofrece más información que el Peugeot 206, concretamente se trata de un Seat Cordoba del año 2001.

Para probar el sistema, se realiza un trayecto corto por vía urbana en la población de Villafranqueza.