planification automatique de trajet en véhicule électrique (géomatique2016)

38
Planification automatique de trajet en véhicule électrique Géomatique 2016 Francis Giraldeau [email protected] Jean-Denis Giguère [email protected]

Upload: talleo

Post on 23-Feb-2017

35 views

Category:

Technology


0 download

TRANSCRIPT

Planification automatique de trajet en véhicule électrique

Géomatique 2016Francis Giraldeau [email protected] Giguère [email protected]

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”.

1060 km en un jourSpark EV + 12 recharges

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

Objectif:Calculer le trajet optimal en véhicule électrique pour l’Amérique du Nord

Prérequis: Modélisation de la consommation d’énergie

Recharge

Énergie montée = masse * g * hauteur + déplacement

Énergie récupérée lors de la descente: 75% de l’énergie potentielle

Vitesse optimale plus rapide que la vitesse légale sur l’autoroute

DépartDestinationChargeur

Solution exacte: graphe complet

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

Comment calculer le trajet sans construire le graphe complet?

Route directeAssez d’énergie?

1 2

3

4

A* sans pré-calculer le graphe complet

Chargeurs atteignables

Approximation

1 2

3

4

A* sans pré-calculer le graphe complet

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

Minimiser les arrêts: assigner un coût fixe par recharge

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

Index des bornes: Arbre Vantage-Point

Index des bornes: Arbre Vantage-Point

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

Encore une chose...

Essayez-le dès aujourd’huihttp://evnav.openrapids.net