Smart Coach - Equipe Smile

From Communauté de la Fabrique des Mobilités


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

💼 porté par SMILE

Rawad smile.JPG


...

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


Organizations using or interested in using the resource:

Contributor(s): Rawad Zgheib, Zakaria Zidouh, Sohaib Larbi, Jean Le Quellec

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

Categories: Logiciel, Matériel, Communauté

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

Referent: Rawad Zgheib

Challenge: 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

Key people to solicit:

Other related common: Open Connected Car Challenge - 2019

Wealth sought:

Required skills:

Community of interest: Communauté Voiture Connectée

License: GNU Affero General Public License, CERN Open Hardware Licence

Terms of Service (TOS):

Level of development: POC et 1er client

Link to my actions board:

Link to my cloud, wiki, drive…:

Needs:

Next step: * 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 of the experimentations:



Other informations

List of the actors using or willing of using this common: aucun pour le moment

List of the workshop reports related to this common:

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 :