Documente Academic
Documente Profesional
Documente Cultură
Thme :
Systme de navigation automobile par GPS
Encadreur : - Mer Souici Boualem Promoteur : - Mer Kazi Malik Soutenu le 04/10/2012 Devant le jury compos de : - Mer AIT AOUDIA -Mme MEZIANI
Promotion 2011/2012
Merci tous
ii
Camlia
iii
Asma
iv
Les systmes de navigations automobiles sont des systmes axs sur la localisation de lemplacement gographique dun mobile et la planification ditinraires allant de cette position une destination prcise tout en indiquant lutilisateur les instructions suivre pour atteindre sa destination. Litinraire propos doit tre optimal i.e. il doit reprsenter le chemin le plus court ou le plus rapide existant entre les deux points. En outre, la navigation GPS en temps rel est la solution pour naviguer dun point A un point B en prenant un chemin optimis, qui est calcul grce aux cartes numriques. Le prsent travail consiste en la conception et la ralisation dun systme de navigation automobile temps rel pour appareils mobiles utilisant un algorithme amlior pour la planification de litinraire optimal. En utilisant la technologie GPS pour le positionnement et les cartes numriques fournies par lorganisation OpenStreetMap (OSM), nous avons ralis un systme qui permet de naviguer entre deux points se trouvant sur la surface de la terre. De plus, notre solution est spcialement conue pour convenir la navigation en Algrie et offrir une bonne exprience lutilisateur en retournant des rsultats exacts tout en ayant un temps de rponse acceptable. Mots cls : GPS, Navigation routire, planification ditinraires, cartographie numrique, OSM (OpenStreetMap), Windows mobile.
urrently, we live in a great progress of new technologies and more specifically communication technology. These advances have led to the creation of GPS "Global Positioning System" which is a system for detecting the position at any time (latitude, longitude) of a mobile on the surface of the earth and with a good accuracy. Since its inception, the GPS has undergone various applications such as security, maritime, aviation and road navigation (automobile). The latter happens to be his best-known application of the general public. Car navigation systems are based on the geographic location of a mobile route planning from this position to a specified destination while indicating to the user instructions on how to reach its destination. The proposed route should be optimal (it must represent the shortest path or the fastest between the two points). In addition, real-time GPS navigation solution is to navigate from point A to point B by taking an optimized path, which is calculated using digital maps. This work involves the design and construction of a car navigation system for mobile realtime using an improved algorithm for optimal route planning. Using GPS technology for positioning and digital maps provided by the organization OpenStreetMap (OSM), we developed a system that allows you to navigate between two points on the surface of the earth. In addition, our solution is specifically designed to suit the navigation Algeria and provide a good user experience by returning accurate results while having an acceptable response time. Keywords: GPS, Navigation Road, route planning, digital mapping, OSM (OpenStreetMap), Windows Mobile.
vi
vii
I.2-Dfinition dun systme de navigation automobile ..................................... 6 I.3-Historique ................................................................................................... 6 I.4-Navigation automobile en Algrie .............................................................. 6
I.4.1-Organisation OSM (Open Street Map) .......................................................................... 7
I.9-Conclusion ................................................................................................ 15 Chapitre II: Gnralits sur les techniques de positionnement et le GPS II.1-Introduction ............................................................................................. 17
viii
b. Usages civils ................................................................................................................ 20 II.3.4-Dtermination d'une position par GPS ....................................................................... 21 a. b. c. d. e. f. g. Systme godsique ................................................................................................... 21 Les coordonnes gographiques ................................................................................ 21 La projection .............................................................................................................. 22 La triangulation.......................................................................................................... 23 La mesure de la distance ........................................................................................... 24 Le positionnement des satellites ................................................................................ 25 Les erreurs de positionnement ................................................................................... 25
II.3.5-Les rcepteurs GPS .................................................................................................... 25 II.4.1-Le DGPS ..................................................................................................................... 26 a. b. Dfinition du GPS diffrentiel .................................................................................. 26 Fonctionnement du DGPS ......................................................................................... 26
II.5-Les inconvnients de la navigation GPS .................................................. 26 II.6-Approches ............................................................................................... 27 II.7-Conclusion .............................................................................................. 28 Chapitre III : Etude sur les systmes de guidance III.1-Introduction............................................................................................ 30 III.2-Formulation du problme ....................................................................... 30 III.3-Modlisation du problme ...................................................................... 31
III.3.1-Reprsentation graphique du rseau routier .............................................................. 31 a. Modle indpendant du temps ................................................................................... 31
ix
III.4.3-Algorithme A*........................................................................................................... 36 a. b. c.
III.4.4-Algorithmes Gntiques ............................................................................................ 38 a. b. c. Dfinition ................................................................................................................... 38 Concept de lalgorithme ............................................................................................ 38 Algorithme itratif utilisant un GA ........................................................................... 39 Concept de lalgorithme ............................................................................................ 39
III.7.2-Techniques dacclration ......................................................................................... 45 a. b. Les hirarchies des routes .......................................................................................... 45 Le partitionnement ..................................................................................................... 47
III.8-Choix dune technique ........................................................................... 48 III.9-Conclusion ............................................................................................. 50 chapitre IV: Conception et modlisation IV.1-Introduction ........................................................................................... 52 IV.2-Architecture de lapplication .................................................................. 53
IV.2.1-Architecture gnrale ................................................................................................ 53 a. Partie Desktop............................................................................................................ 54
IV.3.2 -Module de Positionnement....................................................................................... 65 IV.3.3-Module de Routage ................................................................................................... 66 a. b. c. Calcul du chemin optimum........................................................................................ 66 Instructions de routage ............................................................................................... 67 Calcul de la distance .................................................................................................. 67
IV.5-Conclusion ............................................................................................. 76 Chapitre V:Ralisation V.1-Introduction ............................................................................................. 78 V.2-Choix des technologies de dveloppement .............................................. 79
V.2.1-Partie Prtraitement (Module de prtraitement) ......................................................... 79 1. Environnement de dveloppement (Visual Studio 2010) ............................................. 79 2. Langage de programmation (C# 2010) ......................................................................... 80 V.2.2-Partie Mobile .............................................................................................................. 80
xi
V.5-Conclusion .............................................................................................. 93 Conclusion gnrale ....................................................................................... 94 Perspectives ................................................................................................... 96 Annexes .......................................................................................................... 97 Bibliographies .............................................................................................. 106 Webographies .............................................................................................. 110
xii
xiii
xiv
xv
epuis sa venue sur terre, ltre humain a toujours cherch un moyen de se situer sur sa plante. Au dbut il utilisa les astres pour se guider sur mer et sur terre. Ensuite vinrent les progrs gographiques et mathmatiques qui ont apport le dveloppement de cartes terrestres de plus en plus prcises.
Si on revenait dix ans en arrire, la cartographie routire et les itinraires imprims dinternet semblaient tre notre seule solution, puis vint le temps des systmes de navigation automobile souvent plus connus sous le nom de GPS, ce fut une norme rvolution dans le domaine de la navigation. En grande partie cette rvolution est due aux normes progrs quont connus les technologies de communications avec la cration du systme GPS et la cartographie numrique. Depuis les systmes de navigation sont devenus des gadgets banals quon utilise au quotidien grce la multitude davantage offerts par ces systmes tels le gain de temps et dargent ainsi que lamlioration de la scurit et la gestion des situations durgence. Aujourdhui, la technologie GPS a rvolutionn plusieurs domaines grce la trs bonne prcision quelle apporte lors de la dtermination de la position gographique dun mobile. Daprs Jean-Luc Cosandier [COS 03], la prcision atteinte par cette technologie varie dune centaine de mtres quelques mtres et cela dans 95% des cas. Ainsi elle permet de go-localiser tout mobile se trouvant sur la surface de la terre et cela quelques soient le moment et lendroit o il se trouve. En quelques mots, les systmes de navigation automobile sont des systmes intelligents permettant de localiser un vhicule avec une prcision phnomnale, en utilisant les diffrentes techniques de localisation et de proposer litinraire le plus court ou le plus rapide pour se rendre une destination prcise ainsi que diffrentes informations utiles la navigation et cela en offrant une navigation en temps rel et une interface graphique conviviale. En dautres termes, les systmes de navigation automobile sont une combinaison entre diffrents domaines allant de la go-localisation, la cartographie numrique et la communication la recherche oprationnelle. Notre projet consiste en la conception et le dveloppement dun systme de navigation routier par GPS qui se prsente comme une application mobile destine tre dploye sur un PDA. Notre application doit apporter une solution qui permet de naviguer dun point A un poin t B, en indiquant le chemin optimal tout en effectuant un suivi en temps rel et continu du chemin emprunt. Notre systme se doit dtre performant et de garantir des rsultats exacts. En fait, le dveloppement dapplications mobiles de ce type est co nfront plusieurs contraintes qui sont relies la limitation de la vitesse de calcul de lappareil mobile et de la mmoire.
Chapitre I
Gnralits sur les systmes de navigation automobile
Tout cet intrt pour les systmes de navigations routiers est d leurs efficacits et aux diffrents avantages quils apportent tels que le gain de temps et lconomie dargent. La suite de ce chapitre est une introduction au domaine de la navigation automobile car il sera consacr aux gnralits des notions de ce domaine. Avant dentamer les gnralits sur les systmes de navigation automobile (Routiers) nous expliquerons ce que lon veut dire par le mot navigation et cest quoi un systme de navigation ? Afin de mieux introduire le sujet.
I.1.1-Dfinition de la navigation
Naviguer consiste, au sens originel, se dplacer ou voyager sur l'eau. Par extension logique, ce terme qualifie galement l'art et la science de conduire un navire. Ultrieurement, la notion de navigation s'est tendue aux domaines arien, terrestre et spatial [1].
Gnralits sur les systmes de navigation automobile I.2-Dfinition dun systme de navigation automobile
Selon Myron Kayton : Un systme de navigation automobile est un systme capable de dterminer la position et la vitesse du centre de masse d'un vhicule et doffrir une certaine orientation au conducteur (pilote) . En gnral, il utilise un utilitaire de localisation et une base de donnes contenant les cartes numriques pour fournir des informations utiles la navigation [4]. Lutilitaire de localisation sert acqurir diffrentes informations concernant la position de l'utilisateur sur le rseau routier. la base de donnes contient diverses cartes numriques reprsentant le rseau routier ainsi que les informations ncessaires la navigation.
Il offre aux conducteurs des itinraires en temps rel, et des annuaires des restaurants, hpitaux, services de voitures, et autres points d'intrt (POI), et des alertes Vocales qui aident le conducteur maintenir son attention sur la route. Cela est diffrent du tracking qui est un processus destin au contrle (vitesse, trajectoire,..) et suivi des vhicules via un terminal [NEB 06].
I.3-Historique
Les systmes de navigation automobile ont fait l'objet d'exprimentation tendue y compris des efforts pour atteindre des marchs grand public. Selon la propre chronologie historique de la socit (chronologie historique alpin 1981), Alpin rclame avoir cr en collaboration avec HONDA le premier systme de navigation pour voiture en 1983 [10]. Avec le dveloppement des technologies de la tlcommunication plusieurs systmes ont vu le jour comme le systme cr par Steven Lobbezoo base de navigation par satellite en 1986, les systmes de navigation par GPS qui sont conus par Mitsubishi Electric et Pioneer en 1990 et ceux conus par Oldsmobile et Magellan en 1995 [17]. Cependant, il fallait attendre jusqu'en 2000 pour que les Etats-Unis ddient un signal GPS pour des fins uniquement civiles ce qui a contribu en les expansions du domaine de la navigation et la cration de diffrents utilitaires ddis cet usage. En effet, de nos jours, pratiquement tous les constructeurs automobiles proposent un systme de navigation comme option sur leurs vhicules. Nanmoins ce domaine n'est plus exclusif aux constructeurs automobiles car plusieurs socits spcialises dans les systmes de navigation par GPS mobiles ont vu le jour comme Garmin en 1998, TomTom en 2001 etc.
Figure nI.1 : Systme de navigation automobile hybride [FLI 04] b. Systmes mobiles Daprs le TCS (Tourning Club Suisse) Les systmes de navigation mobiles sont aussi fiables que les systmes embarqus et sont dune utilisation moins complexe . En effet, le TCS affirme que les systmes mobiles sont faciles utiliser grce au 8
Figure nI.2 : Systmes de navigation automobiles (PNA, PDA, Smartphone) [TCS 09]
i.
ii.
I.6-Fonctions et services
La fonction la plus fondamentale d'un systme de navigation routier est de donner la meilleure route possible vers une destination particulire. Il doit tre capable de recalculer votre itinraire si vous manquez une instruction ou un itinraire particulier. La plupart des systmes de navigation routire remplissent trois fonctions fondamentales: le positionnement, la recherche dadresse et la cration de routes et de suivi. Comme ils permettent aussi de choisir les prfrences de routage, y compris la plus courte distance, le temps le plus rapide, ou mme les routes sans page. Cependant les nouveaux systmes proposent dautres services supplmentaires destins apporter plus daide au conducteur et minimiser le temps et les frais de transport, cela est dune grande importance pour lconomie de nimporte quel pays [FLI 04] [16]. Ces options diffrent dun systme un autre mais les plus importantes sont : 1-Rapports de trafic en temps rel Certains logiciels de navigation ont la capacit de recevoir des informations concernant le trafic et ainsi viter les retards dus aux embouteillages. Cependant ces informations ne sont disponibles que dans certains pays.
3-Waypoints
Les waypoints sont des emplacements gographiques, dcrits par la longitude et la latitude, que lon enregistre dans le systme. Les waypoints sont rarement utiliss avec les systmes automobiles embarqus, mais ils sont essentiels pour les modles portables (mobiles).
10
Gnralits sur les systmes de navigation automobile I.7-Les composantes cls dun systme de navigation automobile
Figure nI.3 : Les composantes cls dun systme de navigation automobile [FLI 04] Comme reprsent dans la figure nI.3 les composantes principales d'un systme de navigation automobile sont la base de donnes contenant la feuille de route (La carte) numrique ainsi que des informations sur chaque destination possible ,le positionnement c'est- dire la dtermination de la position actuelle du vhicule sur le rseau routier, proposition d'itinraire et orientation c'est--dire la planification d'un itinraire allant de la position actuelle du mobile jusqu' la destination choisie tout en orientant le conducteur, en lui donnant des instructions audio ou visuelles, et une interface utilisateur pour faire fonctionner le systme. Les travaux respectifs de Schlott [SCH 97] et zhao [ZHA 97] en 1997 nous donnent plus de dtail et dfinissent ces composantes comme suit :
I.7.1-Positionnement
Afin de dterminer la position actuelle du vhicule le systme doit d'abord dterminer la position gographique (golocaliser le vhicule), comme on la cit prcdemment cela se fait en gnral par dead-rocking ou en utilisant les GNSS, ensuite, cette position est utilise pour dterminer la position sur le rseau routier disponible et cela se fait en utilisant le processus du map-matching (correspondance de carte). a. Le map-matching Le map-matching est une mthode qui peut tre utilise pour amliorer la prcision lors de l'affichage de la position du vhicule sur une carte lectronique. Le principe de cette mthode est La correspondance entre la sortie du systme de navigation et le rseau routier reprsent sur la carte numrique afin de s'assurer que la position est cass ou correspond la plus proche rue [SKO et HAN 08]. Gnralement la correspondance se fait en trois tapes: Lors de la premire tape un ensemble d'arcs candidats ou segments sont slectionns.
11
Informations gomtriques Les informations gomtriques incluent des mesures comme la proximit entre la position value et la route la plus proche dans la carte. Informations topologiques Le critre topologique de l'information dtermine la connectivit des routes candidates (Des arcs), par exemple, le vhicule ne peut pas soudainement se dplacer d'un segment de route un autre s'il n'y a aucun point d'intersection au milieu des segments. Si aucune rue ne satisfait aux conditions de recherche, on peut conclure que le vhicule est l'extrieur de la rue donc il n'est pas ncessaire de correspondre la position du vhicule cette rue. Cette correspondance est ralise grce au modle planaire. b. Le modle planaire
Figure nI.4 : Rseau routier dcrit par le modle planaire [SKO et HAN 08] Gnralement le rseau routier est reprsent dans les cartes numriques sous forme d'une planaire ou le systme des rues est reprsent par un ensemble d'arcs (c'est dire, des courbes dans R2). Chaque arc reprsente une route dans le rseau et est suppos tre linaire par morceaux, de sorte qu'elle puisse tre dcrite par un ensemble de points. Les derniers points dans l'ensemble sont appels nuds et le reste comme point de forme.
12
Figure n I.5: Zone de recherche du map-matching [YI et al 98] La figure n I.5 prsente une section d'un rseau et un point (P(X, Y)) reprsentant la position gographique du vhicule. Pour trouver quelle rue correspond la position sur le rseau routier, un cercle de rayon de rechercher est dessin. Par exprience, une valeur approprie pour r sera utilise. Dans ce domaine, l'objectif est de trouver toutes les rues qui satisfont les conditions suivantes : Distance (D) entre la rue et le point P est plus courte que r. Ils existent deux cas possibles : Si le vhicule est statique, slectionnez la rue dont d est la plus courte ; Si le vhicule est en mouvement, choisissez la rue qui a le plus petit angle avec la direction du mouvement du vhicule.
I.7.2-Planification d'itinraires
Une fois la position de la voiture sur le rseau routier dtermine, une route peut tre planifie de cette position-l. Cet itinraire est prvu l'aide des routes disponibles sur le rseau et puis parmi ces itinraires le systme choisit le plus rapide ou le plus court selon le choix du conducteur l'aide des algorithmes utiliss pour la dtermination d'itinraire optimis (voir chapitre III), puis des instructions sont donnes au conducteur. Cependant ces instructions doivent tre donnes temps au conducteur afin qu'il puisse en prendre compte. Si la voiture n'est pas positionne sur litinraire courant pour un certain laps
13
I.7.4-Interface utilisateur
En gnral, l'interface est constitue de la carte montrant la position actuelle du vhicule et le Rseau routier environnant est affich avec la prochaine manuvre. Le pilote normalement reoit un avertissement sonore qui le prpare pour la p rochaine manuvre, par exemple chang de voie ou ralentir. Une fois l'emplacement de la manuvre atteint, le conseil actuel est donn [FLI 04].
2-L'intgrit
C'est la mesure de la confiance qui peut tre mise dans les informations provenant du systme de navigation en d'autres termes c'est la probabilit des dfaillances non dtectes dans la prcision spcifie prcdemment.
3-Disponibilit
C'est la mesure du pourcentage de couverture de la zone destine et dans laquelle le systme de navigation fonctionne.
4-Continuit de service
C'est la probabilit que le systme fournit continuellement des informations sans interruption en dehors des services rguliers pendant la priode de travail prvue.
14
u cours de ce chapitre, nous avons tudi les diffrents systmes de navigation par GPS. Allant de leurs proprits et les services proposs aux critres dvaluation. De plus, nous avons introduit les diffrentes notions relies au domaine de la navigation, ncessaires et utiles la suite de notre tude. Etant donn que le positionnement est une partie importante dans la conception des systmes de navigation, alors dans le chapitre suivant nous aborderons les techniques de positionnement ainsi que les systmes de coordonnes.
15
Chapitre II
Gnralits sur les techniques de positionnement et le GPS
II.2.3-Techniques de positionnement
Pour effectuer une localisation on peut utiliser plusieurs techniques dont : les systmes de positionnement par satellites tels le GPS et GONASS, le positionnement cellulaire (GSM, WIFI), le RFID et la localisation par adresse IP (Voir annexe A).
17
Figure nII.1: la constellation GPS [10] Le GPS est une constellation de 24 satellites, il permet de calculer la position gographique (les coordonns) de n'importe quel point situ sur la surface du globe, en mesurant la distance entre un rcepteur et les satellites qu'il capte. Sa prcision peut atteindre 1 mtre [ELR 04].
18
Figure nII.3 : Segment spatial [11] Frquences de communication : Chaque satellite met des signaux radio uniques dans la bande UHF, il existe deux frquences : la premire destine l'usage civil est dsigne par "signal L1" et sa valeur est de 1575,42 MHz. la deuxime destine lusage militaire d signe par "signal L2" et sa la valeur est de 1227 MHz. Ce signal est constitu de 3 messages : le code protg (code P), le code d'acquisition (C/A pour Coarse/Acquisition) et un message de navigation. b. Le segment de contrle Dans le Monde, il existe cinq stations de contrle au sol qui sont situes tout autour de la terre (Hawaii, Colorado Springs, le de l'Ascension, Diego Garcia et Kwajalein). Dont quatre stations automatiques de surveillance et une seule station principale de contrle Colorado Springs . Les stations automatiques reoivent constamment des donnes provenant des satellites et renvoient ces informations la station principale de contrle. Cette dernire corrige et met jour (phmrides, paramtres dhorloge..) les donnes re ues puis renvoie les informations aux satellites via deux antennes situes sur deux autres sites diffrents [ELR 04].
19
Figure n II.4: Rseau de contrle [ELR 04] c. Le segment utilisateur Compos des rcepteurs GPS, appareils qui permet de calculer la position, la vitesse et l'heure d'un observateur, partout et tout moment sur Terre et dans ses environs, quelles que soient les conditions climatiques. Le segment utilisateur regroupe les utilisateurs militaires (marine, arme de terre et arme de lair), la police ou la gendarmerie dans le domaine civil, il regroupe les navigateurs maritimes, les pilotes, les chasseurs, pcheurs, randonneurs, les sportifs, les conducteurs dengin etc... [ELR 04].
20
21
ii.
La carte La carte est toute reprsentation partielle ou complte mathmatiquement prcise de la surface terrestre sur un plan montrant la situation, la distribution et les rapports de divers phnomnes naturels et sociaux, choisis et dfinis en fonction du but de chaque carte. Les cartes gographiques servent reprsenter des phnomnes gographiques, c'est-dire des phnomnes dont la configuration spatiale produit du sens .Elles mettent en valeur l'tendue dun espace, sa localisation relative par rapport aux espaces voisins, ainsi que la localisation des lments qu'il contient [13]. La projection cartographique [ELR 04] Pour reprsenter la surface du globe sur une carte plane, et pour avoir des positions en fonction de coordonnes plus simples utiliser que les donnes angulaires (latitude/longitude) il faut passer par une projection. Une carte est donc toujours une prsentation dforme de la ralit car la carte ainsi obtenue reprsente la surface de la Terre dans une grille rectangulaire, les coordonnes sont appele easting (x) et northing (y). Cette transformation n'est pas triviale puisque la sphre n'est pas une surface dveloppable. En d'autres termes on ne peut pas transformer une surface sphrique en un plan sans tirer et/ou contracter certaines rgions. Il existe de trs nombreuses projections, que l'on peut classer en trois catgories (voir
iii.
22
Figure nII.6: Principales surfaces de projection, cne, cylindre, plan [20] d. La triangulation [MEJ et VAN 10] Son principe repose sur la mesure de la distance entre le satellite et le rcepteur. Sachant que le satellite a une position bien dfinie dans un espace trois dimensions, lensemble des points possibles o pourrait se situer lutilisateur du GPS est la sphre imaginaire avec un rayon gal la distance du rayon de satellites.
Figure n II. 7: Diagramme de sphre [14] Lintervention dun deuxime satellite qui connait la distance qui le spare du rcepteur GPS cre un cercle qui reprsente lintersection des deux sphres et regroupe toutes les positions que peut avoir le rcepteur GPS.
23
Figure nII.9 : la triangulation [14] Donc : en thorie trois satellites suffisent pour connatre la position exacte dun point sur Terre. Pourtant, nous verrons quen pratique il en faut quatre , ce quatrime servira pour lobtention dune meilleure prcision du temps. e. La mesure de la distance Connaitre exactement la distance sparant le satellite du rcepteur est l'hypothse sur laquelle reposait toute la dmonstration prcdente, son calcul se fait grce la formule suivante : Distance = vitesse * temps i. Calcul du temps [MEJ et VAN 10] Cela ncessite une manipulation : le satellite et le rcepteur mettent tous deux au mme instant le code pseudo alatoire. Le rcepteur retarde le dbut de son mission jusqu' ce que son signal soit en phase avec celui provenant du satellite. La valeur de ce retard est ainsi le temps mis par le signal pour se propager du satellite jusqu' l'utilisateur. ii. Calcul de la vitesse [MEJ et VAN 10] La vitesse de la transmission du signal est proche de la vitesse de la lumire, ce qui est de 300 000 km / s. Nous avons, le temps et la vitesse, donc on peut calculer la distance avec la formule prcdente.
24
[21] Un rcepteur GPS doit dtecter et convertir en mesures utiles les signaux transmis de tous les satellites. Pendant la propagation des signaux, une perte dans la force de signal se produit et c'est pour cette raison que les proprits de spectre et de corrlation de diffusion des signaux sont exiges. Les rcepteurs GPS peuvent, selon leur architecture, tre sous diviss en trois catgories (voir annexe C) : Les rcepteurs multicanaux. Les rcepteurs squentiels. Les rcepteurs multiplex. Les rcepteurs multiplex et les rcepteurs squentiels tlchargent le message de navigation dune manire asynchrone pour chaque satellite. Cest pourquoi le calcul de position demande plus de temps.
25
II.4.1-Le DGPS
[ELR 04]
a. Dfinition du GPS diffrentiel Le GPS diffrentiel en anglais Differential Global Positioning System : DGPS permet damliorer considrablement la prcision des positions quobtiennent les exploitants de petits btiments partir de leurs rcepteurs GPS. Sa prcision peut atteindre les 10 mtres en nutilisant que les signaux du service de positionnement standard. b. Fonctionnement du DGPS Le rcepteur GPS de la station de rfrence DGPS mesure les signaux de tous les satellites en vue. Comme cette dernire est installe le long dune voie navigable ctire dans une position fixe dont on connat avec prcision les coordonnes, elle est capable de rsoudre lquation du temps de parcours rel et du temps de parcours thorique de chaque signal des satellites. Alors elle peut dterminer nimporte quelle erreur temporelle puis elle transmet les corrections effectuer tous les satellites en vue. Le rcepteur embarqu ne prend en compte que les corrections applicables aux satellites quil utilise pour la solution de navigation
26
27
travers ce chapitre, on a tent de comprendre les diffrentes techniques utilises dans le positionnement et plus prcisment le GPS qui daprs notre tude se trouve tre la technique la plus approprie pour un systme de navigation routier mobile. Comme nous avons abord aussi les diffrentes notions relies au positionnement telle que les systmes de coordonnes, les erreurs de positionnement et les approches utilise pour lamlioration des ces erreurs etc.
Aprs le positionnement vient la deuxime composante principale d un systme de navigation routier par GPS, et qui est la guidance en dautre termes la planification ditinraires et celle-ci sera tudie en dtail dans le chapitre qui suit.
28
Chapitre III
prs avoir dtermin la position du vhicule sur le rseau routier, reste la dtermination de litinraire le plus optimis et lorientation du conducteur . En gnral, ces tches sont remplies par le systme de guidance. Ce dernier est lune des composantes les plus importantes dun systme de navigation [FLI 04], On lui consacrera la suite de notre tude.
Dans la suite de ce chapitre nous nous concentrerons sur la fonction de base des systmes de guidance savoir la planification ditinraire et le calcul du chemin optimal. E ffectivement, ce chapitre portera sur la modlisation du problme et la recherche du chemin optimal, le critre doptimisation est dtermin selon le choix de lutilisateur. En gnral, les systmes de navigation automobile fournissent la possibilit de choisir parmi diffrents critres d'optimisation ou diffrentes fonctions de cot. En effet, le conducteur peut choisir entre la planification de litinraire le plus rapide ou le plus court, litinraire le plus rapide en donnant la prfrence aux autoroutes et litinraire le plus rapide en ngligeant les autoroutes. De plus, des options pour viter les routes page ou les ferries peuvent tre disponibles. Un autre aspect de la vie relle qui influence la qualit d'un itinraire prvu, est la prsence de bouchons de circulation sur l'itinraire prsent. Les informations du trafic, savoir sur les embouteillages, travaux routiers et les conditions routires par exemple, sont reus par RDS-TMC (Radio Data System - Traffic Message Channel), ou par un tlphone GSM connect.
III.2-Formulation du problme
Un systme de navigation automobile utilise des cartes contenant des milliers de rseaux routiers (une reprsentation graphique ventuellement tiquete pondre de toutes les rues et passages). Cela signifie quun systme de navigation automobile doit tre capable de planifier des itinraires sur les rseaux routiers qui contiennent des millions de segments de route et cette planification ne doit prendre que quelques secondes. Une fois que le conducteur a introduit sa destination et le systme a dtermin la position de la voiture, un itinraire est planifi de cette position-l la destination souhaite. Lors de la planification de cette route, des donnes doivent tre rcupres de la base de donnes plusieurs reprises, en raison de la capacit limite de la mmoire interne, qui est disponible pour le systme. Ce qui rend la planification lente et fastidieuse. Pour mesurer la qualit d'un itinraire prvu, une fonction de cot est utilise pour comparer entre les itinraires possibles. Bien entendu, les conducteurs sont diffrents et ont diffrentes prfrences. La dtermination de la fonction de cot qui estimera correctement les prfrences du conducteur nest pas une tche facile et elle est au -del de la porte de cette tude. Dans ce qui suit nous supposons quune fonction de cot qui dcrit correctement les prfrences du conducteur est disponible. Le parcours ayant le plus bas cot selon la fonction de cot utilise est le parcours optimal.
30
III.3-Modlisation du problme
III.3.1-Reprsentation graphique du rseau routier
a. Modle indpendant du temps Un modle indpendant du temps est un modle qui ne prend pas en considration le moment de la planification, La plupart des systmes de navigation automobile utilise un rseau routier non dpendant du temps qui est stock dans sa base de donnes pour planifier les itinraires. Ce rseau routier est constitu de deux entits, les lments et les intersections. Les lments de la route sont connects les uns aux autres au niveau des jonctions. Chaque lment commence exactement partir d'une jonction et se termine l'autre. Beaucoup d'informations sont stockes sur les lments de la route et les jonctions dans la base de donnes, telles que les coordonnes, forme, longueur, type de route (par exemple, l'autoroute, on / off-rampe, ville, rue, etc.), le nom de la rue, numros de maison, nombre de voies, la vitesse moyenne autorise, et ainsi de suite. En outre, les informations sur les petits dplacements sont galement disponibles. Par exemple, qu'un virage gauche est limit une jonction spcifique. Cependant les renseignements ne sont pas tous utiliss dans la planification d'itinraire [MEN 07]. Comme la recherche du chemin le plus court relve de la thorie des graphes alors une modlisation mathmatique du rseau routier est de rigueur. Pour se faire les jonctions seront reprsentes par des nuds et les lments de la route (segments) par des arrtes reliant les diffrents nuds, ces artes ont un identifiant unique et sont accompagnes des diffrents renseignements cits prcdemment [EDE et SCH 03].
i.
Modlisation mathmatique Un rseau routier peut tre reprsent par un multi-graphe G. G est une structure mathmatique qui modlise par paire les relations entre un ensemble de nuds N et un ensemble d'artes E. Les nuds sont connects les uns aux autres par des artes. Comme les routes sens existent alors toutes les artes sont orientes, De plus il peut exister des routes parallles sans rues latrales qui divergent et se rejoignent nouveau alors il peut y avoir des artes orientes entre les mmes deux nuds [MEN 07]. Soient N ensemble fini, non vide de nuds telle que |N|=n ; n reprsente le nombre de nuds constituant le graphe. E ensemble fini, non vide d'artes orientes |E|=m ; m reprsente le nombre dartes existantes. W : E R0+ une fonction de cot (pondration) accompagnant les artes [FLI 04].
31
Figure n III.1 : Exemple de multi-graphe orient La figure III.1 illustre un multi-graphe orient, les artes munies de flche reprsente des routes sens unique et les non orientes reprsentent les routes double sens. Notre objectif est de planifier un itinraire d'un endroit un autre. Dans un graphe un emplacement est reprsent par un nud. Donc, fondamentalement, nous voulons planifier un itinraire partir d'un nud de dpart S vers un nud (destination) D. Pour aller d'un nud l'autre, nous avons parcourir une arte Ei reliant les deux nuds. En gnral, nous ne trouverons pas une seule arte qui connecte directement S et D mais plusieurs.
ii.
Dfinition d'un chemin dans la thorie des graphes Un chemin P dans un multi-graphe G= (N, E) est une succession d'artes tel que p=<e1, e2,..., ek> On dit que p est un chemin allant d'un nud de dpart S un nud D si E(p)=<e1, e2,..., ek> avec E(p) : L'ensemble d'artes constituant le chemin p e1 l'arte de dpart du nud S ek L'arte d'arrive au nud D Comme on a vu plus haut dans un graphe chaque arte a un cot qui lui est associ. Ce cot dpend de l'lment reprsent par larte. Par exemple, il peut tre la longueur de la route ou le temps de parcours de cette route. La fonction de cot utilise dpend de l'optimisation souhaite par le conducteur. La route optimale est r= (e1, e2, ,em) avec le cot minimum [MEN 07].
( )( iii.
Dfinition de deux nuds adjacents Soient u, v N on dit que u et v sont adjacents si et seulement si il existe une arte e E tel que e relie u et v.
32
Ce qui nous amne dfinir un rseau routier laide dun tuple G= (N,E,We , Wr ) dans ce cas notre fonction de cot pour un chemin P<e1, e2,, ei> devient la suivante [FLI 04]:
( )
( )
)(
b. Modle dpendant du temps Dans le modle vu plus haut la fonction de cot ne dpend pas du temps (i.e. le moment de la journe nest pas pris en compte lors de la recherche de litinraire optimal) cependant certaine proprit dun rseau routier change avec le temps. Par exemple laccs une route peut tre bloqu dune faon momentane ou le temps de conduite peut tre plus long durant les heures de pointes, les vacances, etc. Pour prendre ces paramtres en compte il faut tendre le modle vu prcdemment en dfinissant une nouvelle fonction de cot dpendante du temps. Ceci peut se faire de diffrentes manires, lune delles consiste mettre le cot du segment de route inaccessible linfini pendant une certaine dure [FLI 04].
III.4-Approches et solutions
Une des approches possibles pour rsoudre les problmes de chemin le plus court serait de pr-calculer et de stocker le chemin le plus court de tous les nuds vers chaque autre nud possible, ce qui nous permettrait de rpondre une requte du chemin le plus court en temps constant. Malheureusement la taille requise pour le stockage de linformation et le temps de calcul qui crot avec le carr du nombre de nuds rendent cette approche quasiment impossible. En ralit ce traitement prendrait des annes, voire des dcennies, vu les rseaux routiers normes. De plus, il est impossible de stocker autant dinformations. Donc, pour surmonter ce problme, nous exigeons que la recherche soit en temps rel.
33
34
III.4.2-Algorithme de Dijkstra
a. Concept de lalgorithme de Dijkstra En 1959, linformaticien nerlandais Edsger Dijkstra a publi un article de trois pages A note on two problems in connexion with graphs dcrivant un algorithme simple pour trouver le chemin le plus court dans un graphe . Lalgorithme dcrit dans cet article est maintenant appel algorithme de Dijkstra selon le nom de son dcouvreur [MEN 07]. Cet algorithme, rsout le problme du chemin le plus court allant dune source unique vers tous les nuds du graphe. Les artes du graphe sont orientes et associe un poids non ngatif. Lalgorithme de Dijkstra est un algorithme glouton et convergeant efficace, trs connu dans la rsolution du problme du plus court chemin avec source unique. Daprs Sniedovich une des raisons principales de la popularit de l'algorithme est que c'est l'un des algorithmes les plus importants et utiles qui sont disponibles pour gnrer des solutions optimales pour une grande classe de problmes du chemin le plus court . Lalgorithme de Dijkstra est utilis dans beaucoup de domaines mais la navigation automobile reste son application la plus connue et russie [SYA 07]. b. Description de lalgorithme [SYA 07] Lentre de lalgorithme consiste en un graphe G orient et pondr et un nud source S et une destination D (qui est aussi un nud). Comme on la dit prcdemment le poids (cots) des artes doit tre positif et dans notre cas ils le sont car dans un rseau routier le poids reprsente soit la distance ou le temps de parcours et ces derniers ne sont jamais ngatifs. Les notations utilises dans cette description sont : le chemin le plus court, en mode prdcesseur d La plus courte distance de la source chaque sommet. S l'ensemble des sommets rgls, les sommets dont la plus courte distance de la source a t trouve initialement. Q -L'ensemble des sommets non rgles, initialement Q={S}. 1) Initialiser d(S) zro, la distance de tous les nuds qui sont adjacents la source au cot de larte les reliant et celle des nuds restants . 2) De Q choisir un sommet v avec la plus courte distance et le transfrer vers S puis pour tous les sommets yi qui lui sont adjacents et qui ne sont pas dj visits: calculer x= d(v) + le poids de larte reliant (v, yi)
35
3) Rpter ltape 2) jusqu ce que Q soit vide ou le nud D est transfr dans S. Le chemin optimal est reconstruit partir de (en mode prdcesseur) et son cot est d [D]. c. Complexit de lalgorithme (valuation) L'algorithme de Dijkstra entre dans une boucle aprs l'initialisation et reste dans cette boucle jusqu' ce que le plus court chemin vers la destination soit trouv. Il y a deux facteurs qui influencent l'efficacit de l'algorithme de Dijkstra. D'une part, le nombre ditrations effectues avant de trouver la solution optimale et dautre part l e temps pris par chaque itration. Thoriquement la complexit temporelle de cet algorithme est de O (n2) lors de lutilisation des structures binaires [DAI 05]. Comme le nombre de nuds dans un graphe augmente, le temps d'excution de l'algorithme appliqu deviendra de plus en plus long(le nombre ditration de la boucle augmente). Habituellement, un rseau routier d'une ville a plus de 104 nuds. Alors des approches proposant d'acclrer cet algorithme deviennent de rigueur.
III.4.3-Algorithme A*
Daprs le chercheur Liang Dai [DAI 05] lalgorithme du A* peut donner de meilleurs rsultats que celui de Dijkstra quand il est appliqu dune certaine manire. En effet, lalgorithme restreint peut trouver des solutions en un temps meilleur si la zone dac cs restreinte est soigneusement choisie. a. Concept de lalgorithme L'algorithme A * conu par hart et Nilsson 1968, reprend lalgorithme de Dijkstra en intgrant une heuristique dans la procdure de recherche. Au lieu de choisir le nud suivant avec le moindre cot (tel que mesur partir du nud de dpart), le choix du nud est bas sur le cot du nud de dpart plus une estimation de sa proximit de la destination (une estimation heuristique). A * est susceptible de trouver l'optimum vite en utilisant la distance euclidienne comme heuristique [DAI 05]. Lalgorithme A * combine deux lments d'information: 1. l'tat actuel des connaissances disponibles sur les bornes suprieures (donn par les tiquettes de distance d (i)) 2. une estimation de la distance partir d'un nud feuille de l'arbre de recherche la de destination [MEN et al 04]. i. Dfinition dune heuristique Une heuristique de Recherche inclut un nud supplmentaire de fonction d'valuation h dans la recherche. L'estimation h, galement appel heuristique, se
36
( )
( )
Daprs Hatem F. Halaoui [HAL 10] le choix dune bonne heuristique garantit de trouver le chemin optimum avec un pourcentage de plus de 95%. En dautres termes les rsultats de lalgorithme dpendent de lheuristique utilise donc le choix dune bonne heuristique est une tape cruciale. Dans ce qui suit, on utilisera la distance euclidienne comme heuristique. ii. La distance euclidienne La distance euclidienne entre deux nuds est une estimation heu ristique dfinie par h (u) = Ming G | | g-u | | 2. Pour l'ensemble des nuds objectif G, elle est la fois recevable et Admissible, cohrente est accorde, car aucun chemin sur toute feuille de route ne peut tre plus court que la distance de vol, tandis que la cohrence dcoule de l'ingalit triangulaire du plus court chemin. Pour l'arte e = (u, v), nous avons Ming G | | g-v | | 2 = Ming G | | g-u | | 2 + w (u, v) [EDE et SCH 03]. Le cot d'un nud v peut tre calcul comme suit :
( )
( )
( )
F(v) : le nouveau cot du point v G(v) : distance de S v H(v) : estimation du cot de v la destination D b. Description de lalgorithme Comme lalgorithme de Dijkstra le A* a en entre un graphe G orient et pondr, un nud source S, une destination D et dans notre tude on introduit lheuristique en entre. La recherche inclut les tapes suivantes : 1) Dfinir une liste L qui contiendra tous les nuds ni visits ainsi que leur cot F (ni) et une pile S qui contiendra tous les nuds et leurs cots. 2) Commencer la recherche partir de la source S, la marquer comme visite et lempiler. Puis ajouter ce nud ainsi que son cot la liste L. 3) Dpiler le sommet de la pile et notons le v. 4) Tout nud ni non visit et adjacent v sera ajout L ainsi que son cot respectif. 5) A partir de L on choisit le nud avec le moindre cot et on dpile tous les nuds de la pile jusqu ce quon arrive au prdcesseur du nud v. 6) Empiler v et F(v) dans la pile. 7) Rpter les tapes 3), 4), 5) et 6) jusqu ce que la destination apparait a u sommet de pile ou bien tous les nuds sont visits. 8) Si tous les nuds sont visits alors la solution est inexistante sinon le contenu de la pile contient le chemin le plus court [HAL 10].
37
III.4.4-Algorithmes Gntiques
Ces dernires annes plusieurs recherches se sont concentres sur lutilisation des algorithmes gntiques dans la rsolution du problme du chemin le plus court. a. Dfinition Un algorithme gntique est un modle informatique simulant le processus de slection gntique et de llimination naturel dans l'volution biologique. Les premires recherches dans ce domaine ont t effectues par Holland dans les annes 1960. Les algorithmes gntiques sont connus comme une stratgie de recherche efficace pour loptimisation globale et de performance leve favorable pour la rsolution des problmes d'optimisation combinatoire. En le comparant aux algorithmes de recherche traditionnels, lalgorithme gntique est en mesure d'acqurir et d'accumuler automatiquement les connaissances ncessaires sur l'espace de recherche au cours de son processus de recherche et de sauto-adapter pour contrler lensemble du processus de recherche au moyen de la technique de l'optimisation alatoire. Par consquent, il est plus probable d'obtenir la solution optimale globale sans affronter le problme de l'explosion combinatoire cause par lignorance des connaissances inhrentes au sein de l'espace de recherche [SAN et al 09]. b. Concept de lalgorithme Le calcul de l'algorithme gntique habituel est un processus itratif qui simule le processus de la slection gntique et llimination naturelle dans l'volution biologique. Pour chaque itration, des solutions candidates sont conserves et classes selon leurs qualits. Une valeur de fitness est utilise pour filtrer les solutions non qualifies. Les Oprateurs gntiques, tels que le croisement, la mutation, la translocation et linversion sont ensuite effectus sur ces solutions qualifies pour estimer la nouvelle solution candidate de la prochaine gnration. Ce processus itratif est rpt plusieurs reprises jusqu' ce que certaines conditions soient atteintes. En rsum, les GAs (Genetic Algorithmes) sont une mthode de recherche gnrale. Elle utilise des fonctions analogues aux oprateurs gntiques pour dterminer les solutions candidates, ayant la plus haute valeur de fitness parmi une population dun espace de recherche [SAN et al 09].
38
39
Figure nIII.2 : Exemple de zones de recherche utilises par le RP-algorithme [FLI 04] Aprs avoir dtermin les zones de recherche le RP-algorithme utilise une variante de lalgorithme A* pour trouver le chemin optimum (plus court ou plus rapide). Cependant cet algorithme ne donne pas toujours la route optimale cause de la surestimation du cot du chemin. En fait, pour acclrer la recherche le RP-algorithme surestime le cot du chemin allant de la source la destination. Donc au dbut il dtermine un chemin initial et donne les premires instructions au conducteur puis des amliorations sont apportes celui-ci jusqu ce quil obtienne loptimal qui est appel le chemin final.
III.6-Comparaison
Lalgorithme de Dijkstra est un algorithme trs efficace qui garantit de trouve r le chemin optimal. Cependant son temps dexcution est lent et il le devient encore plus lorsque le nombre de nuds du graphe de recherche augmente. Cela est d la visite de tous les nuds un par un lors de la recherche du chemin mme si lun deux ne st pas susceptible de faire partie de la solution optimale. Par contre le A* rduit le nombre de nuds visiter dune manire considrable car lors de sa recherche il ne prend en compte que les nuds de cot minimal grce lheuristique utilise par consquent cela entraine une rduction du temps dexcution. Cependant parfois le chemin propos par cet algorithme risque de ne pas tre loptimum. Les algorithmes gntiques peuvent trouver une solution sans essayer tous les cas possibles ce qui rduit considrablement le temps de recherche. En effet daprs le chercheur Bryant
40
III.7-Amlioration
Pour un systme de navigation automobile, une norme semblable l'algorithme de Dijkstra n'est pas assez rapide pour planifier des itinraires optimaux dans les grands rseaux routiers du monde rel. En raison de la vitesse de planification exige, par consquent le processus de planification doit tre acclr, ce qui peut tre fait de plusieurs manires. Pour ce faire des chercheurs ont proposs diffrentes approches [DON 11] [DAI 05] [DOM 08] [FLI 04], une partie delles sest concentre sur lamlioration de lalgorithme de Dijkstra (proposer des variantes amliores de celui-ci) et une autre partie visant rduire le nombre de nuds du graphe lors de la recherche.
III.7.1-Variantes de Dijkstra
a. Algorithme de recherche restreinte Lorsque l'algorithme de Dijkstra est utilis pour trouver le plus court chemin, il commence la recherche du point de dpart et se propage comme un cercle jusqu' ce que le rayon arrive la destination. La plupart des recherches dans la zone de direction oppose la destination sont inutiles. En 2004, [Fu et al 04] ont dcrit une approche
41
Figure nIII.3 : Zone de recherche de lalgorithme restreint (S : source ; D : Destination) [DAI 05] Au lieu que la recherche stend au cercle tout entier, la mthode restreinte effectue sa recherche seulement dans le rectangle rec2 (Figure III.3). Cette mthode peut rduire le temps dexcution dans la plus part des cas mais parfois litinraire propos nest pas le plus optimal comme dans le cas o les autoroutes grande vitesse sont en dehors du rectangle de recherche donc elles ne sont pas prises en compte lors de la recherche et par consquent le chemin propos ne peut pas tre le plus optimal. Dans le mme cadre en 2008 Sara Nazari et.al [NAZ et al 08] ont propos une nouvelle mthode pour amliorer lalgorithme de Dijkstra. Dans cette mthode l'espace de recherche est restreint par l'utilisation dun rectangle ou un hexagone statique et dynamique par consquent le temps de recherche est amlior ainsi que lusage de la mmoire car les nuds et les artes visites sont rduits. Dans leurs travaux en 2011 Megha Gupta et al [MEG 11] propose une implmentation ainsi quune comparaison entre les algorithmes restreints (implmentation des diffrentes mthodes : Rectangle, hexagone statique et dynamique).
42
Figure nIII.4 : Zone de recherche restreinte laide dun hexagone dynamique [MEG 11] b. Utilisation des tas de Fibonacci Les tas de Fibonacci ont t conus par Michael L. Fredman et Robert E. Tarjan en 1984 et publis pour la premire fois dans un journal scientifique en 1987 [17]. Un tas de Fibonacci est une structure de donnes permettant d'excuter de manire efficace un certain nombre d'oprations sur ses lments. L'utilisation de tas de Fibonacci peut amliorer la complexit de lalgorithme de Dijkstra. En fait, limplmentation des diffrentes structures de donnes utilises dans lalgorithme de Dijkstra en utilisant les tas de Fibonacci rduit le temps dexcution dune manire considrable et devient de complexit o (m+ n log n) [DOM 08]. Structure dun tas de Fibonacci Un tas de Fibonacci est constitu dun ensemble d'arbres dont la cl d'un fils est toujours suprieure ou gale celle de son pre. Par consquent, la cl minimum se trouve toujours la racine d'un des arbres. La structure des tas de Fibonacci est flexible parce quelle permet quelques oprations d'tre excutes de manire paresseuse . Les racines des arbres sont doublement chanes entre elles et cest de mme pour les nuds constituant les arbres. De plus, laccs au tas ce fait via un pointeur vers larbre ayant la cl minimale [FRI et TAR 87].
43
Figure n III.5 : Tas de Fibonacci 5 arbres (Tas) et 14 nuds La figure n III.5 reprsente un tas de Fibonacci 5 tas et 14 nuds. Les racines des arbres sont connectes en liste circulaire doublement chane et le tas minimum la cl 3. Oprations sur les tas de Fibonacci : plusieurs oprations peuvent tre appliques sur les tas de Fibonacci les plus importantes qui ont t dfinies par Michael L. Friedman and Robert Endre Tarjan [FRI et TAR 87] sont : MakeHeap : Retourne un tas de Fibonacci vide. Insert(i,h) : Insert un nouveau nud i avec une cl prdfinie dans le tas h. FindMin(h) : Retourne le nud ayant la cl minimale dans le tas h. DelateMin(h) : Supprime le nud ayant la cl minimale dans le tas h. DecreaseKey (,i,h) : Soustraie la cl du nud i se trouvant dans le tas h la valeur non ngative . Le tableau suivant (tableau nIII.1) reprsente une comparaison entre le temps dexcution des instructions sur les tas binaire s et les tas de Fibonacci. Pour indiquer le temps amorti nous avons ajout une (*). Oprations MakeHeap Insert FindMin DelateMin DecreaseKey Tas binomials O(1) O (log(n)) O(log(n)) O(log(n)) O (log(n)) Tas binaires O(1) O (log(n)) O(1) O(log(n)) O (log(n)) Tas de Fibonacci O(1) O(1) O(1) O(log(n))* O(1)*
44
Figure nIII.6: Reprsentation des zones de recherche du bidirectionnel algorithme Pour notre projet les deux dernires techniques peuvent tre combines afin de mieux amliorer lalgorithme de Dijkstra.
III.7.2-Techniques dacclration
Le processus de planification peut tre acclr en utilisant diverses techniques qui visent apporter des modifications non pas sur les algorithmes de recherche mais sur les graphes. a. Les hirarchies des routes [DOM 08] Lutilisation des hirarchies des routes (Highway hierarchies en anglais) est la premire technique d'acclration qui a russi grer les plus grands rseaux routiers disponibles en donnant un temps de rponse la requte en millisecondes. Il y a deux raisons principales de ce succs : Premirement, le rseau routier est rduit de faon gomtrique d'un niveau un autre et demeure parse. Deuximement, le prtraitement peut se faire de manire trs efficace, en utilisant les recherches locales limites partir de chaque nud. Effectivement, au lieu de classer les routes aveuglment en s'appuyant sur leur type, Le classement des nuds et des
45
46
Figure nIII.7: Recherche dans un rseau utilisant la technique de hirarchisation [DOM 08] b. Le partitionnement Comme on a vu prcdemment, le nombre de nuds constituant le graphe de recherche reprsentant le rseau routier est un facteur trs important dans la vitesse dexcution de lalgorithme de recherche. Une approche visant diviser ce graphe en plusieurs sous graphes a t propos dans le but de rduire le temps de planification. Chaque sous graphe va contenir un certain nombre de n uds et est appel une cellule, toutes les artes reliant les nuds dune mme cellule sont appels artes internes, toutes les artes reliant des nuds de cellules diffrentes sont appels artes frontires et les nuds quelles relient nuds frontires. De cette manire un autre graphe est constitu et les figures III.8 et III.9 en sont une illustration. Cette mthode rduit le temps de planification car la recherche du chemin se fait travers les diffrentes cellules [MEN 07].
47
Figure nIII.9 : Sur la gauche une reprsentation du rseau routier partitionn en cellule et sur la droite la connexion de ces cellules [MEN 07]
48
49
III.9-Conclusion
ans ce chapitre, nous avons pu constater limportance de la planification ditinraire et de lorientation dans un systme de navigation automobile. Comme nous avons constat aussi que cette tche est difficile vu le nombre de contraintes auxquelles elle doit rpondre, ce qui nous a amen effectuer une tude sur les diffrents algorithmes utiliss dans la planification ditinraires (rsolution du problme du plus court chemin) et les techniques doptimisation de ces algorithmes et en dvelopper une mthode qui rpond aux besoins et exigences de notre projet .
La suite de notre mmoire sera consacre aux deux points suivants : Conception et modlisation des fonctionnalits de notre application. Ralisation de ses fonctionnalits et test.
50
Conception et modlisation
Chapitre IV
Conception et modlisation
Conception et modlisation
IV.1-Introduction
a premire partie de notre mmoire a t consacre une tude bibliographique. Cependant, dans cette deuxime partie on stalera sur le laspect pratique et technique de notre projet. Pour ce faire, nous commencerons par faire un rappel du travail demand et de nos objectifs.
Notre projet a pour objectif la conception et la ralisation dun systm e de navigation routier mobile en temps rel en utilisant le positionnement par GPS et cela en tant quapplication mobile qui sera dploye sur un PDA de Motorola. Notre application offre six fonctionnalits principales, qui sont les suivantes : Recherche dadresses, de point dintrts (POI). Gestion des POI par catgorie. Recherche du chemin le plus court, le plus rapide. Navigation en temps rel. Recalcul en cas de dviation du chemin prdfini. Notre application aura en entre un ensemble de cartes gographiques sous format numrique et des donnes provenant dun rcepteur GPS. Dans ce qui suit, nous allons prsenter larchitecture de notre application et on stalera sur les dtails concernant sa conception et sa modlisation.
52
Conception et modlisation
IV.2-Architecture de lapplication
IV.2.1-Architecture gnrale
Les appareils mobiles comme les PDA sont limits en taille de mmoire [64 MB, 256 MB] et ont des processeurs pas assez puissants pour effectuer des calculs et traitements compliqus. Cependant, notre application est trs exigeante en ressources vu quelle utilise des cartes de rseaux routiers volumineuses et ncessite des traitements compliqus et longs surtout lors du calcul du chemin optimal. Afin davoir une bonne performance et un temps de rponse acceptable par lutilisateur nous avons prvu une srie de prtraitement eff ectuer sur les cartes. Ces prtraitements seront faits par un module de prtraitement, ce dernier sexcutera sur une machine (ordinateur). De ce fait, lapplication AlGps sera compose de deux parties : une premire partie (Prtraitements) qui sexcutera sur une machine et cela avant de transfrer les cartes la base de donnes et une deuxime partie client (mobile) qui sexcutera sur un appareil mobile dot du systme dexploitation Windows mobile 6.5. La figure n IV.1 illustre ces deux parties ainsi que leurs composantes principales. La partie prtraitement est compose dun seul module (Module de prtraitement), cette partie se charge du traitement des cartes numriques reprsentant le rseau routier. Ces cartes nous les avons tlcharges partir du site ddi cet effet par lorganisation OpenStreetMap (OSM). Une fois les cartes traites les donnes rsultantes seront transfres dans notre base de donnes. Base de donnes La base de donnes de notre application est une base de donnes XML. En effet, elle est constitue essentiellement dun ensemble de fichier sous format XML. Comme les appareils nont pas rellement de disque dur alors notre base de donnes sera stocke sur une carte mmoire externe ou autre priphrique de stockage support par les appareils mobiles. La partie client (mobile) est constitue de trois couches logiques (Couche interface utilisateur, couche traitements, accs aux donnes). Pour plus dexplication veuillez consultez le point IV.2.2.
53
Conception et modlisation
Cartes du rseau routier (Importes dOSM) Partie Mobile Interface Utilisateur (UI)
Donnes traites
Base de Donnes
Donnes GPS
Figure n IV.1: ARCHITECTURE GENERALES DE ALGPS a. Partie Desktop Comme nous lavons mentionn plus, dans cette partie on effectue une srie de prtraitements sur les cartes gographiques tlcharges partir dOSM avant de les exploiter, afin de faciliter leur utilisation et dviter des traitements inutiles la partie de lapplication qui sexcute sur mobile. Ces prtraitements sont utiles pour chaque module implment dans la partie mobile et concernent les points suivants : La suppression des donnes gographiques inutiles notre application : Les cartes tlcharges partir dOSM contiennent une multitude dinformations et ces dernires ne sont pas toujours utiles pour notre application, de ce fait on a opt pour leur suppression. Gnration du graphe de routage : effectivement, le module de routage na besoin que des donnes qui sont ncessaires pour le calcul du chemin et toutes les autres informations sont considres comme tant superflues et sans intrt. De plus, pour faciliter ce calcul nous avons restructur les donnes utiles et ajout certaines informations dont on aura besoin lors du calcul du chemin optimum. Le format des donnes OSM et la structure seront dtaills dans le point (IV.3.1). Ltablissement des listes de POIs : Au cours de cette phase, on gnre un ensemble de fichiers XML, tel que chaque fichier reprsentera une catgorie spcifique de point dintrt (Restauration, Htels et tourisme, Hpitaux et sant, parking, Administration, Ecoles). Ltablissement dune liste contenant toute les wilayas du pays ainsi que leurs villes. Gnrations des tuiles ncessaires au module de rendu graphique (voir le paragraphe IV.3.1.d).
54
Conception et modlisation
b. Partie mobile Celle-ci reprsente la partie principale car elle fournit la majorit des fonctionnalits cites prcdemment. Elle est constitue des quatre modules principaux suivants :(Positionnement, Routage, Rendu graphique, Gestion et accs aux donnes). Module Positionnement : la fonction principale de ce module est de correspondre la position gographique retourne par le rcepteur GPS au rseau routier, afin de dterminer le segment de route ou se trouve le mobile. Module Routage : Ce module comme fonction principale le calcul du chemin optimum. Module Rendu graphique : Ce module soccupe de la gnration des gra phismes ncessaires la navigation tels que la carte (zoom, rotation,), affichage de la position courante ainsi que la prochaine manuvre suivre et laffichage des diffrents POI. Module Gestion et accs aux donnes : ce module regroupe tous les outils ncessaires pour laccs la base de donnes et aux donnes retournes par le rcepteur GPS. De plus, il soccupe de la gestion des ressources pour exploiter au mieux les capacits de lappareil mobile. c. Utilit des prtraitements pour la partie mobile En ralit, les prtraitements effectuer ont t dtermins selon les besoins de chaque module afin dviter la partie mobile deffectuer des traitements inutiles vu que notre application na pas besoin de toutes les donnes et informations contenues dans la carte. Dans la figure n IV.2 on illustre les prtraitements utiles pour chaque module.
Prtraitements
Modules Mobiles
Routage
Cartes traites
Positionnement
Rendu graphique
Figure nIV.2 : Schma illustratif de lutilit de chaque prtraitement pour les modules mobiles
55
Conception et modlisation
IV.2.2-Architecture applicative
Comme illustr dans la figure n IV.1, larchitecture de notre application (essentiellement la Partie mobile de celle-ci) est une architecture multicouches car nous lavons dcoup en trois couches logiques (Interface utilisateur, traitement s, accs et gestion des ressources). Cette partie (client) sexcute sur la machine contenant les donnes, en dautres termes la base de donnes est stocke sur la machine qui excute lapplication. Ce type darchitecture est connu sous le nom darchitecture client riche. Si nous avons opt pour ce type darchitecture cest parce quil est le mieux appropri pour le dveloppement dapplications mobiles vu quil permet de sparer dune manire logique les diffrents traitements, et de maximiser ainsi lexploitation des capacits de la machine dexcution. De plus, ce type darchitecture est trs flexible car il permet la rutilisabilit de lapplication. En outre, cette sparation logique facilitera lamlioration et la mise jour de lapplication grce la possibilit dapporter des modifications qu une seule partie sans avoir recours modifier la totalit de lapplication. La figure n IV.3 reprsente un schma simplifi de larchitecture dune application mobile .net multicouches comme on peut le remarquer elle est structure en trois couches applicatives et un module commun toutes les couches, dans celui-ci sont sauvegards les objets concernant la scurit, les configurations et la communication et connectivit.
56
Conception et modlisation
Figure nIV.3 Schma simplifi dune application mobile .net multicouches [MEI et al 09] . Les 3 couches de notre application remplissent des fonctionnalits bien prcises savoir : 1. Couche client : qui reprsente linterface utilisateur UI pour User Interface . Elle contient les lments et les contrles qui mettent en uvre et organise laffichage de linterface utilisateur et la gestion de linteraction de lutilisateur avec lapplication. 2. Couche mtier : la couche mtier de notre application reprsente le logique mtier de lapplication parce quelle contient les parties fonctionnelles du projet. Cest dans
57
Conception et modlisation
cette couche quon implmente la plus part des services proposs par notre application. Ces services sont : a) Le routage Calcul du chemin optimum. Gnration des informations concernant le routage. Le recalcul du chemin en cas de dviation. b) Graphisme Dessin de la carte et reprsentation des informations relatives la navigation. Gestion du zoom. c) La navigation temps rel Suivi et contrle du chemin parcouru par le mobile. Cration de suivi et de trace GPX . d) Positionnement sur le rseau routier 3. Couche donnes : cette couche soccupe de la gestion des ressources rcupration des donnes GPS et elle offre les fonctionnalits suivantes : a) Ajout, suppression et modification des points dintrt. b) Enregistrement et suppression des diffrents fichiers de suivi GPX c) Rcupration des donnes partir du rcepteur GPS. d) Enregistrement et modification du fichier des prfrences utilisateurs. e) Gestion des ressources utilises lors des diffrents traitements. f) Recherche dadresse et point dintrt (POI). et la
Dans la figure suivante (Figure nIV.4) nous illustrons un schma explicatif de larchitecture applicative des modules de notre application ainsi que les diffrentes connexions et interactions existantes entre eux. Il faut noter quil y a un fort change entre les modules constituants la couche mtier (module de Routage, module de Positionnement et le module de rendu graphique), et un change direct entre linterface et la couc he donnes.
58
Conception et modlisation
59
Conception et modlisation
IV.3-Conception des modules
IV.3.1- Module de Prtraitements
Tous les modules lexception du module de rendu graphique nutilise quun sous ensemble des donnes. Effectivement, les modules de positionnement et routage utilisent juste les nuds routables et le module de recherche dadresse et des points dintrt ont besoin des lieux spcifiques qui correspondent aux segments routables, hors dans la carte reprsentant le rseau routier on trouve diffrentes informations qui peuvent tre considres comme tant superflues et inutiles pour certain module. Afin dviter des traitements inutiles pour certain s modules nous avons dfini des prtraitements spcifique qui rpondent aux besoins de chaque module (voir figure n IV.2). Afin de mieux expliquer lapproche adopte pour le traitement de la carte initiale dOSM et la gnration du graphe de routage on expliquera le format des donnes OSM. a. Format des donnes : OSM met disposition de ses utilisateurs une base de donnes sous format XML pour chaque pays et utilise trois primitives principales pour la reprsentation de ses donnes [VET 11] : 1. Nodes (Nuds voir Figure nIV.5) : Les nuds sont constitus d'un identifiant, la latitude et la longitude. Les nuds sont la base de toutes les donnes dans OSM. Ce sont des points, qui peuvent tre isols pour reprsenter des points d'intrt, ou ordonns dans un chemin, ou encore associs dans une relation. 2. Way (voir figure nIV.6) : Un chemin OSM est constitu principalement dun identifiant (ID) et dune srie ordonne de nuds. Si le nud avec lequel dbute un chemin est identique celui avec lequel finit un autre alors ces deux chemins ce succdent, si un chemin dbute et finit avec le mme nud alors cest un chemin ferm. 3. Relations (voir figure nIV.7) : Une relation se compose d'un identifiant (ID) et plusieurs membres avec des attributs de rle. Un membre peut tre toutes les donnes primitives. Les relations sont utilises pour reprsenter des polygones ou des multi-polygones, ou pour dfinir les restrictions de circulation.
60
Conception et modlisation
Figure nIV.6: Open Street Map way (Extrait de notre base de donnes)
Figure nIV.7 : OPEN STREET MAP RELATIONS (EXTRAIT DE NOTRE BASE DE DONNEES)
De plus, chaque donne primitive est dcrite par un ensemble de couples nom/valeur (ou tags/values ). Par exemple, pour dcrire une rue dans OpenstreetMap, on cre un chemin auquel on ajoute les couples suivants: highway=residential, name=Rue de la Rpublique et oneway=yes. Cette rue est une rue Rsidentielle, sens unique et s'appelle Rue de la rpubliqu . Le tableau suivant (tableau nIV.1) rsume les balises utilises dans une application de routage.
61
Conception et modlisation
La balise highway=* highway=motorway highway=trunk highway=primary highway=secondary highway=tertiary highway=residential max_speed Signification Prcise le type de route Voie rapide Nationale Dpartementale Voie intercommunale Voie urbaine Rue rsidentielle indique si la vitesse maximum de la voie de circulation est diffrente de celle prsuppose par le tag highway indique si la voie de circulation est en sens unique. Ce tag est suppos vrai ('yes') pour les voies de circulation motorway et trunk . indique le niveau d'une voie : ainsi, 2 voies qui se croisent alors qu'elles n'ont pas la mme valeur pour le tag layer , ne doivent pas avoir de points communs
oneway
Layer
TABLEAU NIV.1 : TABLEAU RESUMANT LES BALISES IMPORTANTES AINSI QUE LEURS SIGNIFICATIONS [CET 09] b. Carte Le fichier XML est trait en deux tapes : 1) Etape 1 : Tous les segments de route routables sont dtermins et extraits ainsi que les chemins reprsentant les frontires. Les informations qui sont utiles pour le module de recherche dadresse seront stockes dans un fichier, par exemple pour le cas de lAlgrie on cre un fichier contenant toutes les wilayas ainsi que leurs villes. 2) Etape 2 : Les nuds rfrencs dans les chemins extraits lors de la premire tape sont extraits leur tour, puis ces donnes sont pures des informations inutiles comme la date et lheure de la mise jour et le nom dutilisateur, etc. c. Graphe de routage Comme lillustre La figure nIV.6 un chemin dans OSM est reprsent par une srie de nuds et une multitude dinformations supplmentaires, notre approche pour la gnration du graphe de routage consiste : a. Diviser en deux tous les segments de routes contenant une rfrence vers un nud avec lequel dbute un autre segment, sauf dans le cas o le nud se trouve la fin du segment.
62
Conception et modlisation
b. Eliminer tous les nuds rfrencs dans un segment de route et en garder que le premier et le dernier car ils nous permettent dtablir la connexion entre les diffrents segments de route. Cette action rduit dune manire considrable le nombre de nuds visiter par lalgorithme de recherche et la taille des structures de stockage. c. Calculer la distance entre les deux nuds slectionns lors de ltape b et lajouter aux informations complmentaires en utilisant la primitive tag dOSM. d. Ajouter aux informations la limitation de vitesse correspondante au type du chemin. En Algrie par exemple, la moyenne des limitations de vitesse est de de 110 km/h pour les autoroutes, 80 km/h pour les routes nationales et 50 40 km/h pour les chemins de wilaya et les routes communales. e. Ajouter partir des relations les informations concernant les restrictions imposes au segment. f. Supprimer toutes les informations non utiles aux routages comme la date et lheure de la mise jour etc. g. Supprimer les segments non routables tels que les chemins non accessibles et ceux utiliss pour dlimiter les frontires ou les entits gographiques. d. Rendu des tuiles Notre application fournit lutilisat eur une vue sur la carte centre sur la position actuelle du vhicule. Pour que laffichage de cette vue et la reprsentation des informations de navigation soient rapides, la carte est dcoupe en un ensemble de tuiles (tiles en anglais). Les tuiles sont des petits carreaux sous format dimages Bitmap dune taille de 64*64 pixels qui seront arranges dans une grille pour reconstitu la vue sur la carte. Pour le rendu des cartes nous utiliserons le logiciel Mapnik [19] car celui-ci nous permettra davoir des cartes dtailles avec une trs bonne qualit graphique. Ce dernier est le logiciel officiel utilis pour le rendu de la totalit des cartes dOSM. Comme il est lent et trs gourmand en matire de ressource, nous avons dcid deffectuer un pr-rendu de ces cartes. Pour ce faire, La carte sous format XML est ajoute dans une base de donnes PostGIS ou PostgreSQL en utilisant le programme utilitaire osm2pgsql dOpenStreetMap, puis un shapefile (fichier contenant toutes les informations relatives la gomtrie des entits gographiques dcrites par des nuds, lignes et polygones) et la feuille de style utilise par OSM sont fournis Mapnik, pour tre plus explicatif nous avons schmatis dans l a figure n IV.9 les tapes essentielles au rendu des cartes.
63
Conception et modlisation
Pour le rendu des tuiles Mapnik procde comme suit : Pour chaque niveau de zoom toute la rgion est rendue, vu que dans la plus part des cas nous sommes confronts des zones trs larges alors le logiciel procde la division de celles-ci en un ensemble de meta-tuiles. Ensuite, ces meta-tuiles sont dcoupes en petits carreaux (tuiles) et compresses au format d'image PNG. Les Tuiles sont stockes en fonction de leur niveau de zoom dans un fichier et un fichier dindex distinct est cr pour faciliter laccs aux tuiles. La figure n IV.10 est une reprsentation des diffrents tuiles qui sont rendus pour les niveaux de zoom un, deux et trois pour laffichage dune vue sur la carte du monde Pour Plus dinformations sur les outils utiliss veuillez consulter Annexe C.
64
Conception et modlisation
65
Conception et modlisation
- Si aucun segment ne correspond au chemin prdfini alors le vhicule sest dvi de son chemin, dans ce cas-l le module de routage est inform en utilisant les vnements, et un nouveau chemin est recalcul. d. Si la vitesse est non nulle on choisit le segment de route formant le plus petit angle avec le vecteur de la vitesse (Le cap du vhicule).
IV.3.3-Module de Routage
a. Calcul du chemin optimum Au cours du chapitre trois nous avons effectu une tude comparative qui nous a amen choisir lalgorithme de Dijkstra bidirectionnel pour le calcul du chemin optimum. Cet algorithme aura en entre le graphe de routage gnr lors des prtraitements, la position retourne par le module de positionnement et la destination retourne par le module de recherche dadresse et de points dintrt. Lors de la phase de prtraitement on supprime tous les nuds constituants le chemin et nous gardons que le premier et le dernier ce qui peut causer des problmes lors du routage. Effectivement, la position actuelle du vhicule ou la destination souhaite peuvent tre lun des nuds supprime ce qui empchera le calcul du chemin optimal ( voir figure IV.11), pour remdier ces problmes on procdera comme suit : a) Si notre position GPS se trouve tre lun des nuds rfrencs au mil ieu du chemin alors la distance entre ce nud et le nud final est calcule. b) Si la destination se trouve aussi au milieu du segment, on calcule la distance entre elle et le nud avec lequel dbute le chemin. c) On lance notre algorithme de recherche avec comm e source le nud fin du segment contenant la position actuelle et le nud du dbut du segment contenant la destination. d) La longueur du chemin choisi est calcule selon la formule suivante :
( ( )( )
Pour tre plus explicite prenons lexemple de la figure (IV.8). Lalgorithme de recherche sera lanc entre les points NF1 et ND6 et la longueur du chemin = longueur chemin (NF1, ND6) + Distance (S, NF1) +Distance (ND6, D).
66
Conception et modlisation
Figure nIV.10 : Exemple du graphe de routage b. Instructions de routage Une fois le chemin optimum est calcul, des informations concernant la navigation seront gnres par ce module en suivant les positions prises par le mobile. En effet, pour savoir quelle est linstruction prochaine communiquer au conducteur on calcul langle form par le segment actuel et le prochain soit cet angle. Si 0< <180 : linstruction sera tournez droite Si 180 < < 360 : linstruction sera tournez gauche Si =180 ou =0: linstruction sera continuez tous droit c. Calcul de la distance Le calcul de la distance entre deux points qui se trouvent sur la surface de la terre nest pas aussi simple que pour un plan deux dimensions. Il existe deux approximations qui permettent de calculer la distance entre deux points qui se trouvent sur la surface de la terre et qui sont dfinis par leur latitude et longitude. Approximation sphrique : Lors de lapproximation de la surface de la terre par une sphre on peut utiliser la formule de Haversine [SIN 98]. La formule de Haversine est une formule trs connue dans le domaine de la navigation. Haversine(x) est dfinie comme dans la formule (IV.2) ( ) ( ) ( )
Pour tous deux points P1 (x1, y1) et P2 (x2, y2) sur la surface de la terre la formule de Haversine (IV.3) reste vraie.
) ( ) ( ) ( )
67
Conception et modlisation
En utilisant la formule inverse du sinus et la formule (IV.2) on obtiendra la formule (IV.4) ( ) ( ) ( )
Approximation par lEllipsode WGS84 Lapproximation de la terre la plus utilise dans la gogra phie et la navigation est lellipsode WGS84. En effet, le gode de la terre est mieux approxim par un ellipsode quune sphre ce qui nous permet davoir des rsultats avec une erreur infrieur cinq millimtres [VET 11]. Cependant, le calcul de la distance entre deux points sur la surface dun ellipsode nest pas aussi simple quil parait. La mthode courante consiste utiliser les formules de Vincenty [VIN 75] dune manire itrative jusqu ce que la distance converge. Lapproximation sphrique ncessite au total lutilisation de trois fonctions trigonomtriques. De plus, elle a une erreur de 0.3% sur la surface de la terre. Cependant lapproximation par lellipsode WGS84 est trs lente car elle sexcute dune manire itrative [VET 11] et exige une bonne puissance de calcul. Puisque lapproximation sphrique est plus rapide que lapproximation ellipsode et nest pas trs gourmande en ressource donc elle est plus convenable pour une application qui sexcute sur mobile. De ce fait, nous choisissons dutiliser lapproximation sphrique en dpit de lapproximation ellipsode.
68
Conception et modlisation
tuiles ncessaires sont prsentes dans le cache sinon elles seront charges la place dautre tuiles. Lalgorithme de seconde chance est une amlioration de lalgorithme FIFO et une approximation du LRU (Last Recently Used). Notre choix sest port sur cet algorithme car il est raisonnablement efficace et ne gnre pas de sur cot trop lev et il convient avec les besoins du module de Rendu graphique. En effet, la vue sur la carte sera reconstitue chaque fois que le vhicule change de position (Le vhicule parcours le chemin prdfini) par consquent il est r are quune tuile qui na pas t utilise depuis un moment soit sollicite.
IV.4-Modlisation UML
Dans cette partie nous expliquerons la modlisation des principaux modules constituant notre projet. Notre modlisation est base sur les principes de la modlisation UML 2.0 Unified Language Modlisation . En effet, avec la modlisation UML il est possible de donner la reprsentation graphique de tout systme ou logiciel complexe, grce ces treize diagrammes qui nous permettent de bien dcrire le fonctionnement du systme [JOS et DAV 08]. Dans notre modlisation nous prsentons deux types de diagrammes : Le digramme des cas dutilisation : celui-ci est destin donner une vision globale du comportement fonctionnel du systme. De plus, il reprsente les besoins des utilisateurs par rapport au systme. Le diagramme des squences : Ce diagramme dcrit les diffrents scnarios dun cas dutilisation en mettant en vidence la chronologie des vnements en interaction avec les objets et les messages changs entre les lignes de vie.
69
Conception et modlisation
Figure nIV.11 : Diagramme des cas dutilisation a. Description textuelle Naviguer Description textuel de Naviguer Nom du cas : Navigation . But : Indication du chemin optimal (Plus court ou plus rapide) allant de la position actuel du mobile une destination (adresse ou POI). Acteur principal : Client. Acteur secondaire : nant. Squencement : Les prconditions : Le client doit avoir un mobile PDA muni dun rcepteur GPS et Os Windows mobile 6.5 sur lequel sexcutera lapplication. Lenchainement nominal : 1-Le systme affiche deux boutons : chercher adresse et chercher POI pour que le client choisisse la manire dintroduire sa destination . 2-Le systme lance le module de positionnement 3- le client choisit entre les deux options. 4- Le systme rcupre les coordonnes de la destination et lance le calcul du chemin.
70
Conception et modlisation
5- Affiche les informations de navigation (carte, position, instruction,). Lenchainement alternatif : A : le client choisit la recherche par adresse: A.1 Le systme affiche une liste des wilayas. A.2 Le client choisit la wilaya o il veut se rendre. A.3 La liste des villes se trouvant dans la wilaya choisie par le client est affiche par le systme. A.4 Le client choisit une ville. A.5 Le systme reprend lexcution au dbut du point 4 de la boucle nominale B : Le client choisit la recherche par POI: B.1 Le systme affiche une liste contenant toutes les catgories des POIs. B.2 Le client en choisit une B.3 Le systme affiche une liste contenant les POIs correspondant la catgorie choisie, en indiquant la wilaya o se trouve chaque POI. B.4 Le client choisit un POI. B.5 Le systme reprend lexcution de lenchainement nominal au point 4.
Editer POI Description textuelle de lEdition des POI Nom du cas : Editer POI . But : Enrichir et personnaliser la liste des diffrents POI selon les prfrences du client. Acteur principal : Client. Acteur secondaire : nant. Les prconditions Le client doit avoir un mobile PDA muni dun rcepteur GPS et Os Windows mobile 6.5 sur lequel sexcutera lapplication. Squencement Lenchainement nominal 1-Le systme rcupre les coordonnes GPS actuelles 2-Le systme affiche un tableau dinformation remplir contenant La catgorie, la wilaya et le nom du POI. 3- Le systme compare les coordonnes du POI ajouter avec celles des POI dj existante. 3-Le systme enregistre le nouveau POI. Lenchainement alternatif A1 : Si le POI existe dj le systme affiche un message derreur et reprend lenchainement et arrte la saisie. A2 : Le POI nexiste pas lenchainement reprend partir du dbut de la squence 4 de lenchainement nominal.
71
Conception et modlisation
Editer Prfrences Description textuelle de lEdition des Prfrences Nom du cas : Editer prfrences . But : le recensement des diffrentes prfrences de lutilisateur tel que le type de chemin choisi afin den prendre compte lors du routage. Acteur principal : Client. Acteur secondaire : nant. Les prconditions Le client doit avoir un mobile PDA muni dun rcepte ur GPS et Os Windows mobile 6.5 sur lequel sexcutera lapplication. Squencement Lenchainement nominal 1-Le systme affiche un formulaire des informations remplir contenant plusieurs informations comme le type de chemin autoroute ou route secondair e, loptimum recherch (le plus rapide ou le plus court), etc. 3-Lutilisateur remplit le formulaire. 2- Le systme met jour le fichier contenant les prfrences de lutilisateur.
72
Conception et modlisation
Editer prfrences
73
Conception et modlisation
Editer POI
74
Conception et modlisation
Naviguer
75
Conception et modlisation
IV.5-Conclusion
Au cours de ce chapitre nous avons donn une vision dtaille de la solution adopte
pour la ralisation de notre application AlGps . En prsentant son architecture gnrale et applicative ainsi que la conception des principaux module la constituant. Comme nous avons aussi prsent la modlisation de ces diffrents services en utilisant les diagrammes UML. Dans le chapitre qui suit, nous aborderons limplmentation et la ralisation de notre application ainsi que quelques conseils dutilisation
76
Ralisation
Chapitre V
Ralisation
77
Ralisation
V.1-Introduction
ans ce chapitre nous allons aborder tous les aspects relatifs la ralisation et la mise en uvre de notre systme de navigation. Au dbut, nous prsenterons les diffrents outils et langages de programmation choisis pour la ralisation des diffrents modules constituants notre solution ainsi que les raisons qui nous ont amenes les choisir.
Ensuite, nous enchanerons avec la prsentation de notre base de donnes et de linterface globale de notre application. Nous terminerons ce chapitre avec une prsentation des diffrentes fonctionnalits de notre solution et nous expliquerons ses mthodes dutilisation.
78
Ralisation
V.2-Choix des technologies de dveloppement
Le choix des technologies de dveloppement utiliser lors de la ralisation dune solution informatique se trouve tre lune des tapes les plus importantes car sur celle -ci se reposent le bon fonctionnement de la solution ainsi que son avenir. Par consquent, lors de nos choix nous avons pris le soin de choisir les technologies qui nous permettent de dvelopper une solution simple dont la manipulation est facile et volutive.
79
Ralisation
Figure n V.2 : Logo de Microsoft Expression Blend 4 2. Langage de programmation (C# 2010) Pour le dveloppement de cette partie de notre solution nous avons opt pour le langage C# 2010 car il permet dexploiter au mieux les services et fonctionnalits du .net Framework 4 mis notre disposition par notre environnement de travail.
V.2.2-Partie Mobile
La partie client de notre solution se prsente autant quapplication mobile. Pour le dploiement de celle-ci notre organisme daccueil Eurequat-Algrie a mis notre disposition une srie de PDA (MC 55, MC65 et MC 75) muni dun rcepteur GPS. Parmi ces derniers nous avons choisi de travailler avec le Motorola MC 65 car il dispose de plus de mmoire (128 mo, 128 et 256 mo) et une plus grande vitesse de calcul. De plus, lcran du MC65 est plus adapt pour laffichage des cartes. Cependant, sur le march il existe une multitude de PDAs qui diffrent selon leur marque et leur systme dexploitat ion. Les systmes les plus rpandu dans cette catgorie de produit sont : PalmOs de la socit Palm et Windows Mobile et Pocket Pc de Microsoft.
Pour des raisons de compatibilit notre solution ne peut pas cible les deux systmes. Comme notre solution sera dploye sur le Motorola MC65 qui fonctionne avec le systme Windows Mobile 6.5, nous avons dvelopp une application Windows Mobile.
80
Ralisation
Figure n V.3 : Le Motorola MC65 [MOT 10] 1. Caractristiques du MC65 [MOT 10] a. Systme dexploitation : Ce PDA est muni du systme dexploitation Windows Mobile 6.5 qui est le plus rcent systme de la srie Windows Mobile vu que Microsoft a migr vers le systme Windows Phone. Ce systme offre des services qui permettent damliorer la scurit et une plateforme de dveloppement plus flexible. b. Microprocesseur : Le MC65 possde le microprocesseur MSM 7627 600 MHz avec une architecture multiprocesseurs qui permet le dploiement dapplication multimdia exigeante. c. Mmoire : Il dispose dune mmoire RAM de 256 MO/1GB Flash et un Emplacement pour carte micro SD qui supporte jusqu' 32 Go, ce qui fournit l'espace mmoire ncessaire pour lexcution des traitements int ensives et gourmands en mmoire et le dploiement des bases de donnes. d. Rcepteur GPS : Notre PDA dispose dun rcepteur GPS assist plus connu sous le nom A-GPS (assisted GPS) intgr. Ce rcepteur est dune trs bonne prcision et permet de recevoir le signal GPS dans les zones urbaines et les tunnels et ainsi il permet dobtenir une trs bonne prcision.
81
Ralisation
2. Environnement de dveloppement (Visual Studio 2008) a. Visual Studio 2008 Comme notre solution sera dploye sur le PDA MC65 dont le systme dexploitation est un produit de Microsoft, nous avons prfr travailler sous la plateforme .net de Microsoft. Le dveloppement de ce type dapplication est pris en charge que par les versions 2005 et 2008 de Visual Studio. Il se trouve que le Visual Studio 2008 est lenvironnement le plus stable et le plus pertinent. De plus, il met notre disposition un mulateur qui permet deffectuer diffrents textes.
Figure n V.5 : Logo de Visual Studio 2008 b. Windows Mobile 6 Professional SDK : A celui-ci on ajoute le Windows Mobile Professional Developer tool kit . Ainsi nous obtenons une plateforme de travail qui permet de dvelopper des applications mobiles pour Windows Mobile 6 et 6.5. 3. Langage de programmation (C# 2008) Pour le dveloppement de cette partie nous avons opt pour le langage de programmation C # 2008 afin de bien exploiter les fonctionnalits du .net compact framework 3.5. 4. GPS Intermediate Driver Cest une DLL Windows Mobile qui fournit un GPS API dont le rle est de simplifier laccs aux donnes du GPS sans avoir recours grer la connexion au port srie et au dcodage des trames NMEA. 5. Gestionnaire de priphriques Windows Mobile (Ou ActiveSync sur Windows XP). Cest un produit qua mis Microsoft la disposition de ses clients pour assurer la communication et la synchronisation de donnes entre une machine serveur et un appareil mobile.
V.3-Base de Donnes
Notre base de donnes est constitue de : 1. Un ensemble de fichier XML reprsentant la carte de lAlgrie (Algeria.xml, Algeria.highway.xml, GrapheRoutage et BaseDonnesAdresses) et les diffrents points dintrts (POI : Point Of interest en anglais) organiss dans des documents XML selon leur catgorie (Restauration, Automative, Administration et Services publiques, Hbergement, Tourisme, Loisirs, Sport et Sant).
82
Ralisation
Une partie de ces documents est tlcharge partir du serveur de cloudmade (distributeur officiel des produits et services en relation avec lorganisation dOpen Street Map) [23] puis traite par le module de prtraitement. La deuxime partie qui est constitue du graphe de routage et la base de donnes dadresses est gnre par ce mme module partir des cartes initiales. Algria.xml Ce fichier Xml contient toutes les informations reprsentant la carte de lAlgrie et ncessaires au bon fonctionnement de notre application. Algeria.highway.xml Ce document contient uniquement les informations ncessaires au calcul du chemin. GrapheRoutage Comme nous lavons vu au cours du chapitre prcdent (chapitre IV), ce document est une deuxime reprsentation des chemins reprsents dans la carte (algeria.highway.xml) o nous gardons uniquement le premier et dernier nud dun chemin (way) auquel on ajoute des informations telles que la distance et la limitation de vitesse. La figure suivante est un extrait du graphe de routage obtenu aprs la srie de prtraitement applique sur les cartes initiales (tlcharges partir de cloudmade).
Figure n V.6 : Extrait dun nouveau chemin [extrait de notre base de donnes] Base Donnes Adresses Cette base de donnes a t ralise dans le but de faciliter la recherche dadresse. Elle contient toutes les wilayas, villes, village et rue de lAlgrie. Les figures (V.7, V.8, V.9 et V.10) sont des extraits de la base de donnes utilises pour la recherche dadresse. Elles illustrent les diffrentes entits composant le systme dadressage algrien savoir les wilaya, les villes, les villages et rues.
83
Ralisation
Figure n V.10 : Reprsentation dune srie de rue [extrait de notre base de donnes] Base des Points dintrts (POI) Comme nous lavons dj mentionn plus haut lensemble des POI est diviss en plusieurs catgories qui sont : Restauration, Automative,
84
Ralisation
Administration et Services publiques, Hbergement, Tourisme, Loisirs, Sport et Sant. Un fichier XML est consacr pour chaque catgorie de POI. Tout point dintrt est reprsent sous forme dun point avec une longitude et latitude. La figure suivante est un exemple de notre base de donnes de POI qui illustre lun des POI de la catgorie Restauration.
Figure n V.11 : exemple de point dintrt [extrait de notre base de donnes] 2. Un fichier contenant les tuiles composantes la carte de lAlgr ie. Ces tuiles sont indexes selon leur niveau de zoom. Les figures suivantes sont une illustration des tuiles gnrer lors des prtraitements.
Figure n V.12 : Tuiles composant une carte de lAlgrie de zoom 12 [extrait de notre base de donnes]
Figure n V.13 : Tuiles composant une carte de lAlgrie de zoom 8 [extrait de notre base de donnes]
85
Ralisation
V.4-Prsentation de linterface et mode de fonctionnement
Au cours de ce point nous allons prsenter linteraction homme mach ine (IHM) de notre application travers des captures dcrans et nous expliquons brivement son mode de fonctionnement.
V.4.1 Prtraitement
Comme cette partie de lapplication est consacre la gnration de la base de donnes, elle ne sera pas dploye au prs des clients. En effet, elle est rserve aux techniciens et ingnieurs de lentreprise. Ces derniers se chargeront de la gnration et la mise jour de la base de donnes. 1. Authentification Lexactitude des donnes reprsentes dans les cartes est dune trs grande importance pour la scurit du conducteur. Cest pour quoi, laccs aux fonctionnalits de ce module est conditionn par une authentification. Celle-ci se fait en introduisant lidentifiant et le mot de passe de lutilisateur tel quil est illustr dans la figure n V.14.
Figure n V.14 : authentification utilisateur 2. Gnration de la base de donnes Avant de passer la gnration de la base de donnes, il faut tlcharger les cartes ncessaires partir du site de cloudmade pour plus dinformations veuillez consultez les rfrences [23] [24]. La figure n V.15 illustre le procd de la gnration de la base de donnes. Cette fonctionnalit permet lutilisateur de choisir qu el traitement apporter selon ses 86
Ralisation
besoins. Une fois que les options sont choisies on lance la gnration. Le temps dexcution de cette opration diffre dune machine une autre selon la puissance de calcul de celles-ci.
Figure n V.15 : Interface gnration base de donnes 3. Mise jour Cette fonctionnalit permet, lutilisateur de mettre jour sa base de donnes sans avoir la rgnrer en sachant que la construction de la base de donne peut prendre un temps considrable. Celle-ci se fait en choisissant le document ractualiser (liste des points dintrt, base de donnes dadresses et graphe de routage) et lindication des nouvelles donnes enregistres. La figure n V.16 est une illustration de cette procdure.
87
Ralisation
4. Gnration des tuiles Pour la gnration des tuiles, lutilisateur na qu indiquer le s zooms min et max et dlimiter les bounding box de la zone tlcharger (Max et Min longitude, Max et Min Latitude). La figure suivante en est une reprsentation de linterface graphique de cette procdure.
Figure n V.17 : Interface graphique du tlchargement des tuiles Une fois la base de donnes gnre et les tuiles tlcharges celle-ci seront mises la disposition des clients.
88
Ralisation
Figure n V.18 : Interface graphique de la page daccueil dAlGps 1. Navigation La navigation est la fonction principale de notre application et celle-ci repose sur la dtermination de la position du mobile sur le rseau routier et la destination souhaite. Cette dernire peut tre introduite par lutilisateur en effect uant une recherche de POI ou dadresses. Recherche POI Une fois que le client choisit la catgorie de POI qui lintresse, il naura plus qu choisir sa destination dans la liste des POI qui sera affiche. Les figures V.19 et V.20 sont une illustration dune recherche.
89
Ralisation
90
Ralisation
Recherche Adresse La recherche par adresse seffectue en renseignant la wilaya et la ville de destination. Cependant lintroduction dune rue ou dun village est optionnelle. La carte de lAlgrie qui est notre disposition nest pas assez dtaille pour nous permettre davoir toujours une recherche dadresse qui aboutit lorsquon inclut les noms des rues ou des villages. Cest pourquoi nous avons dcidez de prendre la ville comme destination principale lorsque la rue ou le village introduit sont inexistants.
Figure nV.21 : Interface graphique de la recherche dadresse 2. Edition des POI En plus de la navigation, notre solution permet lutilisateur de grer sa liste de POI. En fait, il peut lenrichir en enregistrant ses propres POI et supprimer ceux qui ne lintressent pas ou qui contiennent des erreurs. Les figures V.22 V.23 sont une illustration de linterface graphique de ldition des POI.
91
Ralisation
92
Ralisation
V.5-Conclusion
A travers ce chapitre nous avons prsent les aspects techniques de notre solution, ainsi que
les technologies utilises pour la ralisation et le dploiement de celle-ci. De plus, nous avons donn un aperu sur son interface globale en prsentant ces diffrentes fonctionnalits et expliquant sa mthode dutilisation.
93
94
95
Nous sommes arrives raliser ce travail dans le cadre de notre stage en entreprise, une premire exprience professionnelle trs bnfique, qui nous a permis dapprofondir et de mettre en pratique les connaissances thoriques acquises au cours de notre formation dingnieur lEcole Nationale Suprieure dInformatique.
96
97
98
Figure n A.2 : Principe du RFID [SIS 06] 4. Positionnement par WIFI Un rseau sans fil (WIFI) est un rseau dans lequel au moins deux terminaux sont capables de communiquer entre eux grce des signaux radiolectriques. Les rseaux sans fil ne sont pas tout rcents, mais avec le dveloppement de l'informatique et des systmes d'information, la technologie est venue au besoin primaire de l'homme : la mobilit et la facilit. Le positionnement par WIFI (Positioning System Wifi (WPS)) est un terme lanc par Skyhook Wireless. Skyhook est une socit base Boston qui a construit et maintient une grande base de donnes mondiales de points d'accs Wi-Fi et leur emplacement prcis. Ces donnes peuvent ensuite tre utilises par un dispositif lectronique mobile pour trianguler la position d'un utilisateur [3]. Pour se faire ce dispositif effectue un scan de tout son environnement radio en utilisant les points daccs (APs) cits prcdemment (Figure nA.2) afin dy dtecter des interfrences et ainsi localiser tout objet mettant un signal WIFI [SCH 02].
99
Figure nA.3 : Positionnement par WIFI [SCH 02] Lavantage du WiFi est que linfrastructure est dj installe partout dans le monde ainsi que la densit des points d'accs WiFi est trs levs. Par consquent, le positionnement est assez prcis pour rpondre aux normes d'aujourd'hui. Selon Shyhook, le processus prend environ une seconde et retourne des rsultats dune prcision comprise entre 20 et 40 mtres. [3] Cependant lutilisation de cette technique dans un pays comme lAlgrie est pratiquement impossible vu labsence dune installation Wifi dans la plupart du pays.
5.1- Le GPS
Le systme GPS (Global Positioning System) est un systme spatial de radionavigation dvelopp par le dpartement de dfense des tats-Unis qui fournit gratuitement en continu aux utilisateurs du monde entier des services de localisation, de navigation et de mesure du temps fiables. Sa performance exceptionnelle depuis de nombreuses annes lui a permis d'acqurir la confiance durable de millions dutilisateurs travers le monde.
100
101
1-Projection conique Dans le cas d'une projection conique, nous pouvons visualiser la Terre projete sur un cne tangent ou scant, qui est alors coup sur la longueur et tendu. Les parallles (lignes de latitude), sont reprsents par des arcs de cercles concentriques, et les mridiens (lignes de longitude), par des lignes droites, galement espaces. Ce systme de projection est utilis pour dresser les cartes de rgions situes au nord de l'Equateur, telles que le Canada et les tats-Unis. Ainsi, il y a moins de distorsion de l'ensemble des formes du territoire et des eaux.
Figure nB.1 Projection conique [LAP05] 2-Projection cylindrique Dans le cas dune projection cylindrique, la Terre est projete sur un cylindre tangent ou scant qui est galement coup sur la longueur et tendu. De cette manire, nous avons un rseau galement espac de parallles droits et horizontaux et de mridiens droits et verticaux. Une ligne droite entre n'importe quels deux points sur cette projection suit une seule direction, qu'on appelle loxodromie. Cet lment rend la projection cylindrique utile lors de la construction de cartes de navigation. Lorsque le cylindre est utilis en tant que surface pour projeter le monde entier sur une seule carte, on trouve une importante distorsion des hautes latitudes, o la distance entre les
102
3- Projection plane (azimutale) Avec la projection plane, une portion de la surface de la terre est transforme partir d'un point de perspective une surface plane. Dans le cas d'une projection polaire, les parallles sont reprsents par un systme de cercles concentriques qui partagent un point d'origine commun duquel les mridiens rayonnent, gnomonique strographique espacs des angles vritables. Cette projection indique une vraie direction uniquement entre le point central et d'autres lieux sur la carte.
103
104
105
106
107
108
109
110
111