Smart Coach - Equipe Smile

From Communauté de la Fabrique des Mobilites


Description en une ligne : Outils qui permet de suivre et coacher une flotte de conducteurs intégrant une simulation du véhicule, un détecteur d'endormissement, une gateway et un tableau de bord

Description : Il s'agit d'un projet IoT qui permet de se connecter au véhicule et en lire les données CAN ainsi que l'état de fatigue du chauffeur (détection d'endormissement et de baillement). Ces données sont par la suite interprétés par la Gateway mangOH et transmises dans le Cloud via la 4G et vers un tableau de bord via la liaison série. Le tableau de bord pourra ainsi localiser le véhicule et lever les alertes quand la vitesse dépasse la vitesse maximum tolérée sur la route où existe de véhicule ainsi que quand un endormissement du chauffeur est détecté. Le cloud permettra ainsi de suivre une flotte de chauffeur ainsi que leur conduite. Afin de réaliser le projet de bout en bout dans nos locaux, un outil de simulation a été créé permettant de générer des données CAN et de générer des trames GPS type NMEA, qui simule le déplacement du véhicule d'un point à l'autre à la vitesse précisée (et qui est également générée dans les données CAN).

Vidéo présentant le projet : https://youtu.be/exfITNyhUcc Lien vers les Slide présentant le projet : https://cloud.lamyne.org/s/qosR6BSKTyAaYDc

Image :

SnipImage.JPG

Site internet :

Organisations intéressées pour contribuer ou qui contribuent déjà : SMILE

Organisations utilisatrice ou intéressée par utiliser la ressource :

Contributeurs : Rawad Zgheib, Zakaria Zidouh, Sohaib Larbi, Jean Le Quellec

Tags : IOT, MangOH, OSM, Hypovigilence, simulation, Vehiculeconnecte, CAN

Catégories : Logiciel, Matériel, Communauté

Thème : Open HardWare, Open Street Map OSM, Voiture Connectée, Traces de mobilité et des données associées, Logiciel Libre

Référent : Rawad Zgheib

Défi auquel répond la ressource : Abaisser les barrières pour innover sur le véhicule, Augmenter les connaissances partagées en cartographie et usages des véhicules et réseaux de transports

Personnes clés à solliciter :

Autre commun proche : Open Connected Car Challenge - 2019

Communauté d'intérêt : Communauté Voiture Connectée

Type : Commun

Type de licence ? GNU Affero General Public License, CERN Open Hardware Licence

Conditions Générales d'Utilisation (CGU) :

Niveau de développement : POC et 1er client

Espace d'échange synchrone (de type chat) : https://chat.fabmob.io/channel/voiture_connectee

Espace d'échange synchrone (de type forum) : https://chat.fabmob.io/channel/voiture_connectee

Lien vers l'outil de gestion des actions :

Lien vers l'outil de partage de fichiers :

Besoins :

Complément :

Prochaine Etape : * Porter la démo d'hypo vigilence sur la carte mangOH

  • Finaliser le proto et le présenter au salon de l'innovation à Paris
  • Publier sur Github le code source



Autres informations :

Liste des Acteurs qui utilisent ou souhaitent utiliser ce Commun Smart Coach - Equipe Smile : aucun pour le moment

Simulateur de voiture Afin de simuler le flux de données que notre système échangera avec le véhicule, le scripte " Simulator " génère un paquet de trames NMEA basé sur un nuage de points GPS. Ce paquet - composé des trames GPGGA, GPGSA, GPRMC et GPVTG - contient tous les informations nécessaires pour géolocaliser un point sur une carte, et forme également un trajet de simulation à choisir entre deux adresses. La récupération des points est faite à partir des données cartographiques du projet OpenStreetMap, en utilisant un service de routage ouvert (YOURS). La valeur de la vitesse du roulement est prise depuis l'interface utilisateur, intégrée dans les trames NMEA à chaque instant en changeant en même temps le comportement de générations des données pour mettre en place le facteur temporaire (le temps de passage d'un point GPS à un autre), ainsi qu'elle présente une réponse aux requêtes CAN qui parviennent de la MangOH. Le fait d'intégrer ce socket CAN donne à l'application la possibilité de simuler les différentes données du véhicule, en générant des réponses aux requêtes CAN conditionnées par les facteurs de la simulation. Pour compléter la partie de la simulation de véhicule, l'application de détection d'endormissement envoie ces données vers le script de simulation de déplacement via une liaison UDP, afin de l'intégrer dans une trame que nous avons appelée GPDRW et qui contient la valeur du compteur d'endormissement suivi d'un checksum. Les données générées sont envoyées à la MangOH via une liaison série, puis renvoyées vers le tableau de bord et le serveur Airvantage par la MangOH.

Détecteur d'endormissement Le détecteur endormissement est basé sur une implémentation de 'OpenCV' avec la bibliothèque "dlib". Le simulateur de voiture (qui rassemble le simulateur de déplacement et le détecteur d'endormissement) commence par récupérer le flux de données depuis une caméra installée dans le tableau de bord, les analyser et les renvoyer vers un algorithme d’intelligence artificiel pré-entraîné permettant le face-mapping (détection de points délimitant le visage, les yeux, la bouche etc.). Le résultat de l'algorithme est interprété en suite pour la détection de l'endormissement.

Tableau de bord Le tableau de bord de la voiture est basé sur un logiciel libre que nous avons modifié et intégré comme une couche dans la distribution Yocto du tableau de bord. Le tableau de bord, en liaison série avec la MangOH, est alimenté par la base de tuiles d'OpenStreetMap, ainsi qu'une API d’exploitation de ses données installée localement pour pouvoir en accéder en cas d'absence de connexion internet, et qu'elle se met à jour une fois le tableau de bord est connecté. L'exploitation des données OpenStreetMap permet au tableau de bord d'avertir le conducteur en cas de dépassement de la vitesse limite autorisée dans son chemin de manière dynamique, proposer par la suite des stations de repos en fonction des données d'endormissement reçues.

""Gateway - mangOH"" Les modifications réalisés pour faire fonctionner le bus CAN et autre aspect de la carte mangOH ont été publiés sur le forum https://forum.mangoh.io/ Le code source ainsi que le descriptif de comment faire fonctionner l'UART, le CAN et le SWITCH seront disponibles prochainement sur github, nous publierons le lien ici.