View
32
Download
0
Category
Preview:
Citation preview
Planification automatique de trajet en véhicule électrique
Géomatique 2016Francis Giraldeau francis.giraldeau@polymtl.caJean-Denis Giguère jean-denis@talleo.ca
Plan● Introduction au problème● Solution exacte● Présentation du prototype● Travaux en cours● Résultats expérimentaux● Développements futurs
Environ 60 bornes rapides à courant continu (BRCC) au Québec (50kW)
Recharge en 15-25 minutes
Permet de parcourir de longues distances dans un temps “raisonnable”.
Questions de l’électromobiliste
1) Est-ce qu’il est possible de se rendre en véhicule électrique?
2) Quel sera le temps de recharge en route?
3) À quel endroit se recharger?
Planification manuelle● kWh recharge = km * kwh/100km – initial● Montréal - Québec = 250km● LEAF : 24 kWh (~21kWh utile, 17kWh @ 80%)● 250km * 18,5kWh/100km = 46,3kWh total● 46,3kWh – 21kWh = 25,3 kWh en route● 25,3 kWh / 17kWh = 1,5 (min. 2 recharges)● BRCC @ 30 kW = 25,3 / 30 = 50 min.● Résumé: 2 arrêts de 25 minutes, environ 8$.● Compenser pour le froid● Compenser pour l'élévation● Compenser pour le vent et la pluie● Choisir les bornes à tâton
Énergie montée = masse * g * hauteur + déplacement
Énergie récupérée lors de la descente: 75% de l’énergie potentielle
Solution exacte: graphe complet DépartDestinationChargeur
Si n est nombre de chargeurs:
G = V + E = n + n(n - 1)/2 = O(n^2)
10 000 chargeurs = 100 000 000 d’arcsPrécalcul exhaustifDijkstra 1us/arc = 100 secondes
Implémentation du prototype EvNav● Bornes du Circuit Électrique
(~60 bornes)● OpenStreetMap pour le
réseau routier● Open Source Routing
Machine○ Fonctionne à partir de
OpenStreetMap○ Utilise la contraction
hiérarchique
/route/v1/evnav/<lat,lon>;<lat,lon>?battery=18&SOC_act=1.0&SOC_min=0.1&SOC_max=0.8&efficiency=0.150&power_avg=45.0
{ "charging_steps": [ { "charging_cost": 0.63333335849973893, "charging_duration": 228.00000905990601, "energy": 2.8500001132488251, "location": [ -72.875680000000003, 46.261558000000001 ], "name": "BRCC - Village-relais de Yamachiche" } ], "code": "Ok", "message": "reachable", "route_summary": { "charging_cost": 0.63333335849973893, "charging_duration": 228.00000905990601, "distance": 127313, "driving_duration": 5372, "duration": 5600.000009059906, "energy": 18.900000751018524 }}
Requête HTTP Résultat JSON
Intel i7-4600, Linux GCC
Requête Montréal-Québec (3 recharges)
Temps de requête moyen: ~125ms
Résultats expérimentaux EvNav
a1
b11 2
a2
b2
Cout exact source-chargeur
Cout estimé chargeur-destination
Algorithme A*:dist(s, c) + heuristique(c, t) ↦ file à prioritéDeux conditions pour l’heuristique: ne doit pas surestimer le cout et doit être monotoneh(c, t) = temps déplacement minimal + temps de recharge minimal
A* sans pré-calculer le graphe complet
a1
h(c1, t) = 2 + 0.5 = 2.5
1 2
a2
h(c2, t) = 1 + 0.5 = 1.5
c1 et c2 ont la même puissance (rapide)Distance aux chargeurs égales (a1 = a2)PQ = {c2, c1}Prochain chargeur à explorer est c2
A* sans pré-calculer le graphe complet
1
2
Chargeur lent (6kW)
Chargeur rapide (50kW)
h(c1, t) = 1 + 0.5 = 1.5
h(c2, t) = 1 + 6 = 7
c2 rapide (50kW), c1 lent (6kW)Distance aux chargeurs égales (a1 = a2)PQ = {c1, c2}Prochain chargeur à explorer est c1
a2
a1
A* sans pré-calculer le graphe complet
1
2
Chargeur lent (6kW)
Chargeur rapide (50kW)Le temps de recharge h(c2, t) est surestimé. L’élément restera inexploré dans la file de priorité, alors qu’il peut mener à un chemin plus court.
a2
a1
3
Chargeur rapide (50kW)
h(c2, t) = 7
h(c1, t) = 1.5dist(c1, t) = 3
dist(c2, c3) = 0.5 + 0.5 = 1dist(c2, t) = 1 + 0.5 = 1.5dist(c2, c3, t) = 2.5
A* sans pré-calculer le graphe complet
Bornes accessibles
● Algorithme Dijkstra● Explorer les arcs si l’énergie est
suffisante● Réinitialiser l’énergie si le noeuds est un
chargeur● Terminer lorsqu’aucun noeuds ne reste à
explorer● Avantage: chaque borne trouvée est
accessible● Problème: lent, beaucoup de noeuds à
explorer
Index des bornes: Arbre Vantage-Point
Permet d’obtenir les objets dans un rayon en temps logarithmique
Intel i7-4600, Linux GCC
RoutingKit::GeoPositionIndex()
1E6 points aléatoires
Simulation d’un rayon contenant 1000 chargeurs
Temps de requête moyen: 30us
Résultats expérimentaux Arbre Vantage-Point
Résultats expérimentaux contraction hiérarchique
Intel i7-4600, Linux GCC
RoutingKit::ContractionHierarchyQuery()
Carte du Québec, route entre points aléatoires
Temps moyen de requête: 15us
Temps moyen pour développer le chemin: 15us
Développements futurs
Prendre en considération l’altitude
Support pour destination intermédiaires
Prise en compte du taux d’utilisation des bornes
Application mobile
Conclusion Trouver manuellement le trajet optimal est fastidieux
Graphe complet des chargeurs acceptables pour le Québec
Expériences encourageantes avec RoutingKit pour l’Amérique du Nord
Questions Présentateurs:
Francis Giraldeau francis.giraldeau@polymtl.ca
Jean-Denis Giguère jean-denis@talleo.ca
Liens utiles:
https://github.com/giraldeau/evnav
https://project-osrm.org
http://download.geofabrik.de/
https://github.com/RoutingKit/RoutingKit/
Recommended