CityMap

De fablab
Aller à : navigation, rechercher

Introduction

Ce projet a pour but de développer des feux de circulation intelligents dont la durée d'activation est relative au trafic en temps réel.

Ce projet a été réalisé à distance dans le contexte de la COVID-19.

Membres de l'équipe

  • Anir EL KABIRI
  • Medric Bruel Djeafea Sonwa
  • Sergio Giardina


Scénario d'usage

Problématique

Notre principal objectif dans ce projet est d’améliorer la circulation routière suivant les axes de la fluidité et de l’ergonomie. Ainsi, concrètement nous souhaitons :

  • Réduire le temps de traversée en ville
  • Diminuer la consommation moyenne de voiture
  • Diminuer la pollution suite à l’arrêt successifs des voitures.
  • Réduire le stress des conducteurs en ville.

Pour résoudre ces problèmes, nous optons pour la gestion intelligente des états des feux de circulation à l'aide d'une analyse des données du trafic routier, et pour cela il nous est nécessaire de prouver le concept de ce que nous nous engageons à faire durant ce projet à l'aide d'une simulation de la situation réelle.

Dans le but de valider cette idée, nous réalisons un circuit simulant une place d'une ville qui démontre une variation constante du trafic routier. Cette simulation est faite à l'aide d'une architecture mettant en scène, un circuit électronique, un serveur d'API, et une application web cliente. Cette architecture représente la finalité de notre projet et est la première phase de l'implémentation de cette solution en situation réelle, dans des villes.

TraficAPI3.png

Technologies utilisées

Nous utilisons le framework Vue.js qui est un framework progressif pour JavaScript dont l'utilité est de créer des interfaces Web et des applications d'une page.

Et nous nous sommes basés principalement sur l’API de TOMTOM: TrafficAPI. Cette API fournit une suite de services web conçue dans le but de créer des applications Web/Mobiles autour du trafic en temps réel.

Architec.png

Technologies

  • Application et serveur codés en Javascript.
  • Vue.js et ses librairies pour l'application-simulation web.
  • Bootstrap pour le style de simulation Web.
  • TomTom Developer Portable pour la carte et pour les données de trafic en temps réel

Materials

Pour la simulation du circuit :

  • 6 LED (3 rouges, 3 bleus)
  • Câble micro US
  • NodeMCU ESP8266 ( module WIFI )
  • Breadboard
  • 6 résistances, 220 ohm
  • Des câbles de connexion
KitSimu.jpeg

Implementation du project

Developpement logiciel

Nous disposons de deux applications, une application serveur et une application client.

L'application serveur est le centre de calcul du projet. C'est ce serveur qui recherche les données de trafic de l'API TomTom, et calcule les états de feux de circulation à l'aide de son algorithme toujours en cours d'optimisation. Ce serveur, pour pouvoir communiquer avec les autres applications tiers, met à la disposition de ceux-ci une API web. Cette API permet ainsi aux applications client et Arduino de recevoir les différents états de feux de circulation et de les interpreter au profit des utilisateurs finaux.

Lien vers l'implémentation du code côté serveur :

https://gitlab.ensimag.fr/djeafeam/city-map-server

Le manuel de déploiement est présenté dans le fichier README.md du projet, et également visible sur la page du projet GitLab.


L'application client, est un visualisateur web qui communique avec le serveur sur les états de feux de circulation, et ce, grâce à l'API fournie par le serveur.

Lien vers l'implémentation du code côté client: https://gitlab.ensimag.fr/elkabira/city-map

Le manuel de déploiement est présenté dans le fichier README.md du projet, et également visible sur la page du projet GitLab.

Developpement electronique

Le projet Arduino est un programme contenu dans le fichier city-map-arduino.ino du projet. Ce programme permet au circuit de communiquer avec le serveur précédemment définie. Notez que ce serveur doit être en cours d'exécution et qu'une configuration de l'environnement est nécessaire dans le fichier .ino du projet afin de permettre la communication dans le réseau local.

À terme, il est prévu que le serveur ait une adresse public. Dès lors, il ne sera plus nécessaire de connaître l'adresse IP précise du serveur. Néanmoins il faudra toujours configurer l'application Arduino de manière à le connecter à un point d'accès Wi-Fi.

Lien vers le projet arduino : https://gitlab.ensimag.fr/djeafeam/city-map-arduino

Le manuel de déploiement est présenté dans le fichier README.md du projet, et également visible sur la page du projet GitLab.

Simulation d'un circuit avec LEDs

Dans cette première vidéo nous montrons d'une part le prototype physique de notre projet, avec des LEDs qui représentent un véritable feu de signalisation et d'autre part, notre application qui nous permet de voir la simulation de l'opération et des données de trafic entrant.

La simulation et le prototype sont coordonnées avec une mise à jour des données (le changement du feu "vert") toutes les 5 secondes[1] à partir du serveur. Les retards de connexions possibles sont pris en compte.

Media: VideoSimu1.mp4

Dans la deuxième vidéo, nous montrons la simulation et le prototype physique réalisés, mais via l'application Web, nous pouvons modifier les valeurs de trafic et par conséquent voir les changements de comportement des feux de signalisation à la fois dans la simulation et dans la réalité. Dans ce cas précis, le feu de signalisation C dure plus longtemps. [1]Cette heure est choisie pour une simulation de démonstration. Un délai raisonnable pour mettre à jour une intersection peut être de 30/40 secondes.

Media: VideoSimu2.mp4

Gestion de projet

Difficultés et limites rencontrés

Type Difficulté Resolution
Gestion d'équipe La pandémie COVID-19 ne nous a pas permis de nous rencontrer et de travailler en équipe depuis plus de deux mois. Nous avons des réunions sur Discord chaque semaine pour planifier le travail.
Technique L'API TomTom Traffic ne nous a pas permis de dériver des métriques de trafic explicites. Nous l'avons résolu en exploitant certaines données qu'il nous a fournies (comme la circulation des voitures) en obtenant une métrique du trafic.
Technique L'API TomTom ne nous a pas permis de changer les couleurs de la carte. Nous avons changé de stratégie en ajoutant quelques informations de manière textuelle directement sur la simulation web

Impact Environnemental

Total : environ 6kg équivalent en GES

Coût du projet

  • Coût humain
    • Comme dit dans la section précédentes, il y a eu 100h de travail humain (50h par personne) .
    • Pour un ingénieur, nous prenons comme valeur 50€ / h.
    • Ce qui donne un cout humain de 5000€.
  • Coût matériel
    • Coût de module : 15 €
    • Coût de les autres composants electroniques (capteur de pression, fils etc) négligeable.
    • Amortissement PC et logiciel : Cela revient à 20€ en comptant 7 jours d'utilisation compléte

Bilan du projet

Vous pouvez retrouver sur nos slides de soutenance finale les informations concernant le déroulement du projet, les résultats, les problèmes rencontrés et l'évolution possible du projet.

Link Slide