Smart Coach - Equipe Smile
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
...
Présentation
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
Les codes
- Simulation du véhicule : https://gitlab.openwide.fr/open-wide/smart-mobility-simulation
- Code source de la Gateway MangOH : https://gitlab.openwide.fr/open-wide/smart-mobility-gateway-mangoh
- Le code source du tableau de bord sous Toradex : https://gitlab.openwide.fr/open-wide/smart-mobility-yocto
Organisations utilisatrices ou intéressées pour utiliser la ressource :
Contributeur(s) : Rawad Zgheib, Zakaria Zidouh, Sohaib Larbi, Jean Le Quellec
Tags : IOT, MangOH, OSM, Hypovigilence, simulation, Vehiculeconnecte, CAN, hackathon
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
Richesse recherchée :
Compétences recherchées :
Communauté d'intérêt : Communauté Voiture Connectée
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
Lien vers l’outil de gestion des actions :
Lien vers l’outil de partage de fichiers :
Besoins :
Prochaines étapes : * 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
Documentation des expérimentations :
Autres informations
Liste des acteurs qui utilisent ou souhaitent utiliser ce commun : aucun pour le moment
Liste des CR d’atelier en lien avec ce commun :
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 sont disponibles sur les liens suivants :
- Simulation du véhicule : https://gitlab.openwide.fr/open-wide/smart-mobility-simulation
- Code source de la Gateway MangOH : https://gitlab.openwide.fr/open-wide/smart-mobility-gateway-mangoh
- Le code source du tableau de bord sous Toradex : https://gitlab.openwide.fr/open-wide/smart-mobility-yocto