Les réseaux de capteurs en ville: Calculs de...

46
Les réseaux de capteurs en ville: Calculs de couverture Le Gall Yohann et Herry Romain Master 1 Informatique Université de Bretagne Occidentale LabSTICC, UMR CNRS 3192, Thème Systèmes Pervasifs (équipe CACS) Encadrant: B.Pottier Juin 2011

Transcript of Les réseaux de capteurs en ville: Calculs de...

Page 1: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Les réseaux de capteurs en ville:Calculs de couverture

Le Gall Yohann et Herry RomainMaster 1 Informatique

Université de Bretagne Occidentale

LabSTICC, UMR CNRS 3192,Thème Systèmes Pervasifs (équipe CACS)

Encadrant: B.Pottier

Juin 2011

Page 2: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Table des matières

1 Introduction 3

2 Intégration des systèmes d’informations géographiques 52.1 Format d’échange et bases de données . . . . . . . . . . . . . . . 62.2 Types de coordonnés . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Présentation des outils utilisés . . . . . . . . . . . . . . . . . . . . 8

2.3.1 Shapefiles . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.2 Stratégie d’importation de données géographiques sous

Netgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4 Bâtiments et trait de côte . . . . . . . . . . . . . . . . . . . . . . 102.5 Flot d’importation d’une librairie shapefile . . . . . . . . . . . . . 112.6 Aspect graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Problème de la couverture :Ondes, Radio et information physique 143.1 WSN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.1 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . 163.1.2 Enjeux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.1.3 Application . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2 Capteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3 Types de di!usion . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3.1 Ondes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.3.2 Propagation des ondes . . . . . . . . . . . . . . . . . . . . 18

3.4 Modéle de résolution . . . . . . . . . . . . . . . . . . . . . . . . . 193.4.1 Méthodes continues . . . . . . . . . . . . . . . . . . . . . 193.4.2 Méthodes discrétes . . . . . . . . . . . . . . . . . . . . . . 20

4 Calculs de couverture par lancer de rayons 224.1 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.2 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.3 Technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.4 Coût Complexité et Solutions . . . . . . . . . . . . . . . . . . . . 23

4.4.1 Partitionnement de l’espace . . . . . . . . . . . . . . . . . 234.4.2 Techniques de clusterisation . . . . . . . . . . . . . . . . 24

1

Page 3: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

4.4.3 Améliorations . . . . . . . . . . . . . . . . . . . . . . . . . 264.5 Avantages et Limites . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.5.1 Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.5.2 Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.6 Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.6.1 Propagation des vagues et courants . . . . . . . . . . . . . 264.6.2 Ray-tracing faisceau gaussien . . . . . . . . . . . . . . . . 27

5 Modélisation du lancer de rayon 285.1 Adaptation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.1.1 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . 285.1.2 Partitionnement . . . . . . . . . . . . . . . . . . . . . . . 285.1.3 Performance . . . . . . . . . . . . . . . . . . . . . . . . . 305.1.4 Résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.2 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.2.1 CUDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.2.2 Thread Smalltalk . . . . . . . . . . . . . . . . . . . . . . . 34

6 Bilan et perspectives 35

A Echantillons de codes 37

2

Page 4: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Chapitre 1

Introduction

Depuis ARPANET, le premier réseau à transfert de paquet, les réseaux sesont développés partout autour de nous, en particulier avec l’arrivée de la tech-nologie WIFI. Les réseaux ont ainsi pu se diversifier, permettant une infinité decas d’utilisation afin de faciliter ou de faire évoluer la vie des hommes.

Dans cette mouvance d’implantation de réseaux, une initiative aussi bienécologique que d’utilité publique à été implantée à San Francisco. La ville aimplanté 6000 capteurs sans fils sur ses places de parking dans le but de réduirele trafic urbain de la ville. Ces capteurs vérifient en temps réel la présence ounon de voiture, puis en informe un central qui accorde les places libres auxautomobilistes en recherche de celle-ci. Cela a permis de réduire les émissionsde C02 ainsi que le temps de recherche de place libre.

Un projet proche de celui-ci est en cours au LabSTICC. Le LabSTICC (La-boratoire des sciences et techniques de l’information, de la communication etde la connaissance) est le fruit de l’association de l’UBO, l’UBS et de TelecomBretagne comptant actuellement 400 personnes

Ce projet consiste, grâce à Netgen, en la mise en place de capteurs WIFIau niveau d’arrêt qui communiqueraient entre eux ainsi que avec les bus, per-mettant ainsi à chaque arrêt d’indiquer la position du prochain bus. Une autrepossibilité serait de placer un capteur au niveau de chaque lampadaire et allumerces derniers qu’en cas de présence d’un véhicule dans une zone donnée.

Netgen est un logiciel développé en smalltalk par le LabSTICC dont le butest la génération des réseaux ’ad-hoc’ afin de simuler le comportement de cesréseaux. Il permet entre autre :

3

Page 5: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

– l’intégration de carte géographique.– l’importation de données GPS au format KML.– l’importation de shapefile avec représentation sur carte.– la saisie du placement de capteur.– création et gestion de réseaux en OCCAM et CUDA.– simulation de comportement– production de code pour plateforme mobile

Dans la suite de ce rapport nous tenterons de répondre à la problématiquesuivante : Comment prendre en compte l’espace urbain afin de modéliser unezone démission cohérente avec les modèles physiques.Cela va d’abord passerpar la présentation des systèmes d’informations géographiques et des modèlesphysiques permettant la caractérisation du modèle.

4

Page 6: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Chapitre 2

Intégration des systèmesd’informationsgéographiques

La participation de nombreux organismes dans la collecte, l’enregistrementet la mise à disposition de données géographiques tels que GoogleEarth et Geo-portail ainsi que la nécessité de modèles réalistes mettent en avant le réel besoind’intégration en données numériques et la portabilité de l’échantillon.

Figure 2.1 – Le but étant de changement de systéme géodésique et de passerd’une carte au format DMS à un référentiel matriciel x,y par projection.

La deuxiéme problématique est la sauvegarde de ces données en lecture/ecriture

5

Page 7: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

car elles sont nombreuses donc volumineuses et parfois dépendantes entre elles.Parmi les définitions de GIS, les plus répandues sont :

Un système d’information géographique (S.I.G) est un outil infor-matique permettant d’organiser et présenter des données alphanu-mériques spatialement référencées, ainsi que de produire des plans etcartes. Ses usages couvrent les activités géomatiques de traitementet di!usion de l’information géographique [12].Un SIG est un système informatique de matériels, de logiciels, et deprocessus conçus pour permettre la collecte, la gestion, la manipula-tion, l’analyse, la modélisation et l’a"chage de données à référencespatiale afin de résoudre des problèmes complexes d’aménagementet de gestion [5].

Ces deux définitions des SIGs ne sont plus les seuls possibles. En e!et, lessystèmes d’informations sont en pleine expansion et ne peuvent plus être ré-duit au simple domaine d’aménagement et de gestion comme le fait entendre ladéfinition [5]. Actuellement de nombreux acteurs utilise les SIGs tels que :

– les études marketing (géomarketing)– la logistique : routage GPS, radars, navigation, aviation et construction– l’optimisation de l’équilibre économique– le secteur militaire– les unités de secours– les collectivités locales : aménagement du territoire

2.1 Format d’échange et bases de donnéesDe nombreux formats de données SIG ont été mis en place soit par des

instituts publics, tels l’IGN en France, soit par les développeurs de logiciel SIG.Tous ces formats dispose d’informations communes qui sont :

– le système de coordonnée.– des composants classifiés : bâtiments, lacs, arrêts de bus.– les coordonnées de ces composantes.

Voici quelques formats majeurs des SIGs :– Drawing eXchange Format (DXF) - Format propriétaire AutoCAD.– Keyhole Markup Language (KML) - Format de Google basé sur XML.– National - Transfert Format (NTF) - Format utilisé par l’Ordnance Survey

de Grande-Bretagne.– Shapefile - utilisé par de nombreux logiciel, tels Qgis, MapServer

6

Page 8: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

– Personal Geodatabase - donnée au format Microsoft Access.– Vector Product Format (VPF) - format supportant de grande base de

données géographique.[8]

2.2 Types de coordonnésLes cartographes ont eu besoin de représenter sur un plan l’image de la

terre, qui elle, peut être assimilée à un ellipso’ide. Cela a permis d’obtenir descoordonnées 2D du plan, mais en entraînant des déformations. Afin de résorberces déformations, plusieurs type de projections ont été mis en place ainsi quedes systèmes de mesures associés (systèmes géodésique), dont nous décrirons lesaspects dans ce qui suit.

Nous proposons ici une description de di!érents types de projections :– Projection cylindrique

La terre est incluse dans un cylindre tangent ou sécant.

Figure 2.2 – Projection cylindrique (source :netriviera)

– Projection coniqueLa terre est incluse dans un cône.

Figure 2.3 – Projection conique (source :netriviera)

– Projection azimutaleLe plan est tangent à la terre.

Les système géodésiques :

7

Page 9: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Figure 2.4 – Projection azimutale (source :netriviera)

– LambertElle est la projection o"ciel française et reprend la projection conique. Lepays est découpé en 4 zones afin de réduire au maximum la déformation.La projection "Lambert II étendu" est la plus utilisée car elle permet unereprésentation nationale. Le "Lambert-93" est le dernier système utiliséprésentant le moins de déformation.

– UTMC’est une projection cylindrique qui couvre l’ensemble du globe composéde 60 fuseaux horaires de 6 degrés chacun. "WGS84" fait partie de cesystème et est la référence dans les systèmes de coordonnées GPS.

2.3 Présentation des outils utilisés2.3.1 ShapefilesDescription

Le format shapefile a été mit en place par ESRI (Environmental SystemsResearch Institut). Ce format est devenu un standard dans le monde des GIS.De nombreux logiciels utilise actuellement ce format, tels MapServer, Udig,PostGIS, QGIS. C’est en partie pour cela que ce format a été choisi dans Netgen.De plus, BMO( Brest Métropole Océane ) étant très active sur la collecte et lamise à disposition de données SIG, au format shapefile, de la ville. Le choix dece format de donnée porte donc un intérêt local.

Un shapefile est généralement composé de quatre fichiers ayant le même nommais des extensions di!érentes :

– .SHP : Fichier principe contenant les données géographiques– .SHX : Stocke l’index des figures géométriques– .DBF : Contient l’ensemble des données sous forme de base de donnée.– .PRJ : Stocke l’ensemble des informations du shapefile, au format WKT(Well

Known Text), dont le type de coordonnèe géographique utilisé.[3]

8

Page 10: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Structures de donnéesAfin de pouvoir récupérer les données des shapefiles, une librairie C est

disponible sur : http://shapelib.maptools.org/ . La structure principale dereprésentation des données, nommée SHPObject, est la suivante :

Figure 2.5 – Schéma de la structure des shapefiles. Plusieurs types de shapes (Point , Arc , Polygone , Multipoint...). On associe deux tableaux par coordon-nées, un avec les données et l’autre avec les endroits à pointer correspondantaux imbrications de shapes.[6]

Fonction d’accèsPour traiter les données il y eu besoin de créer deux fonctions utilisant celles

disponible dans la librairie :– int SHPSize( char *filename.shx) ; permet d’obtenir le nombre de shape

présent dans le fichier.– SHPObject *oneSHP( char *filename.shx, int nbShape) ; renvoie une struc-

ture contenant les données du shape demandé.

9

Page 11: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

2.3.2 Stratégie d’importation de données géographiquessous Netgen

On récupére la carte géographique servant de support à l’application grâceaux outils de développement mis en place par Pierre-Yves Lucas, doctorant auLabSTICC. Pour cela, il faut aller sur Géoportail, sélectionner la zone recherchéeet faire un imprime écran de la carte, qui sera à retoucher afin de ne garder quela carte, en conservant les coordonnées des coins.

Figure 2.6 – Interface de saisie Netgen montrant la saisie des coins de la cartesur l’écran, l’url de l’image, et les coordonnées des coins aux formats "WGS84".Un pré-remplissage des champs est e!ectué.

On importe des tracés GPS au format KML, Netgen a"chera ces points surla carte si ceux-ci sont bien situés dans le référentiel.

Importation de fichiers shapefile (.shx), par le chargement dans l’onglet "File". Le shapefile doit avoir ces coordonnées au format "WGS84", seul format prisen compte actuellement par Netgen. Si ce n’est pas le cas, un traitement sousQgis est nécessaire. Mise en place la possibilité de charger plusieurs shapefileset a"chage selon des couleurs di!érentes.

2.4 Bâtiments et trait de côteConnaitre l’emplacement des obstacles est primordiale pour l’application.

Cela va nous permettre de savoir précisément où se situent les bâtiments (ou leslimites côtières) afin d’obtenir le point d’intersection entre ces derniers et uneonde radio émit d’un capteur. On pourra alors récuperer le point le plus procheafin d’identifier l’endroit pouvante être responsable de l’arrêt ou de l’altérationdu signal.

10

Page 12: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Figure 2.7 – Représentation de Bellevue(Brest) obtenue par lecture de fichiersshapefile et dessin sur l’interface. Les zones vertes représentent les bâtiments etles rivières, le trait bleue un tracé GPS et les points rouges, des arrêts de bus.

Figure 2.8 – Représentaion de la rade de Brest

2.5 Flot d’importation d’une librairie shapefile

11

Page 13: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Figure 2.9 – Fonctionnement DLL & C Connect

– analyse des fichiers shapefile– construction d’une représentation interne– conversion de la représentation au format Objet– construction de la classe MyShapes– intéraction de smalltalk et des shape grâce au reader C

Les fichiers C ainsi que la librairie compilée sont disponibles sur http://wsn.univ-brest.fr/wsnwiki/doku.php?id=calculs_de_couverture

DLL & C Connect est un package smalltalk permettant de parcourir le fichierheader afin de récupérer les fonctions et les structures C crées pour les intégrerensuite à une classe interface, héritant de ExternalInterface, en tant que méthodede classe. A l’appelle de ces méthodes, smalltalk va exécuter le code C présentdans la librairie en récupérant le retour de ces fonctions. Un post-traitement vaêtre nécessaire sur le retour de oneSHP afin de transformer les tableaux C enOrderedCollection smalltalk et ainsi obtenir des objets indépendant de C.

12

Page 14: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

2.6 Aspect graphiqueLes données sont reçues sous forme de collections de points correspondant à

des bâtiments. Il est donc nécessaire de les transformer en polylines en reliantle premier avec le dernier et pouvoir a"cher des contours.

13

Page 15: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Chapitre 3

Problème de la couverture :Ondes, Radio etinformation physique

Figure 3.1 – Représentation du lien entre le calcul de couverture et l’interpo-lation

Ces deux schémas sont une association réaliste pour l’observation de phéno-mènes ondulatoires et la mise en place d’outils de communication radio. Nous

14

Page 16: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Figure 3.2 – Interpolation á partir d’un point de la carte et de donnée aléatoire(source : Ammouche Kahina)

étudierons ce modéle dans la suite du chapitre en sachant que les calculs numé-riques sont une approximation de la réalité.

3.1 WSNLes WSN (Wireless Sensor Network) sont des réseaux de capteurs qui per-

mettent la surveillance de phénomènes physique où environnementale et la trans-mission des données récoltées à une entité de stockage.

Figure 3.3 – Schéma d’un réseau de capteurs sans fils

15

Page 17: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

3.1.1 CaractéristiquesLa spécificité d’un WSN est liée à l’économie de l’énergie, au travers la ges-

tion de la puissance des capteurs et de la consommation en batterie. La toléranceaux erreurs et la mobilité de ses noeuds. La dynamique, l’évolutivité, la simpli-cité de son réseau. Ainsi que la résistance aux conditions environnementales[11].

3.1.2 Enjeuxles réseaux de capteurs sans fil est une technologies très prometteuse, car

il vont modifier ou faire évoluer de nombreux éléments de la vie courante. Ilpermet le contrôle, l’observation et la prévention de phénomènes physiques etbiologiques dans di!érents domaines :

– industriels, techniques et scientifique.– écologie et environnement (surveillance d’éléments à risque).– santé (suivi des malades, d’épidémie).– sécurité.– transport (automatisations diverses, prévention des accidents)[11].

L’échelle des données et la taille des capteurs joue un rôle dans l’évolutiondes wsn

3.1.3 Application– militaires

Surveillance de mouvement, analyse de terrain.– Parking de San Francisco– sécurité

Contrôle en temps réel des structures, systèmes d’alarmes, surveillance devoie.

– environnementalesDétection d’incendie, de pollution, d’épidémies, fuites de produits toxiques.

– médicales et vétérinaireSurveillance d’un organisme, détection de maladie.

– commercialesAmélioration du stockage et de la livraison de marchandises, suivi de pro-duction, contrôle de l’énergie[11].

3.2 Capteur

Le capteur Mersea est une réalisation du laboratoire intégrant di!érents élé-ments autour d’un microcontrôleur suivant le schéma suivant :

16

Page 18: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Figure 3.4 – Schéma logique du système Mersea

Il permet la capture de données (GPS, accélération et compas) en temps réelavec stockage des informations sur une mémoire flash. Il devrait permettre souspeu la communication wifi entre mobiles.

3.3 Types de di!usion3.3.1 Ondes

Une onde se propage dans l’eau, dans l’air, sur une corde. Elle est issue d’uneperturbation qui se déplace sans rien entraîner avec elle, ni sans se déformer.Elle permet donc de transporter de l’information sans risque. Le corps humainest recouvert de récepteur d’onde, les yeux, les oreilles, permettant de recevoirde l’information issue d’onde lumineuse ou acoustique[2].

Les ondes radio sont des ondes électromagnétiques se propageant soit en

17

Page 19: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

espace libre, soit par câbles. Elles ont un domaine de fréquence s’étendant de 9kHz à 3000GHz. Elles se propagent en ligne droite avec une vitesse dans le videde 300 000km/s.

3.3.2 Propagation des ondesRéfraction

Une onde peut voir sa trajectoire déviée lors du passage entre deux milieuxd’indices di!érents. Cela dépend de sa fréquence et de la di!érence entre lesdeux indices.

Figure 3.5 – Réfraction d’une onde

RéflexionLorsqu’une onde rencontre un obstacle, une partie est réfléchie subissant une

diminution de la puissance à l’impact. L’angle d’incidence du rayon reçu est égalà l’angle de réflexion du rayon émis.

Figure 3.6 – Réflexion d’une onde

18

Page 20: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

La réflexion d’une onde radio est généralement di!use, c’est a dire que l’ondeest réfléchi dans plusieurs directions sans modèle précis

Di!usionCe phénomène ce produit lorsqu’une onde frappe une surface rugueuse, ce

qui est généralement le cas de toutes les surfaces qui nous intéressent pour lasuite. La di!usion dépend de l’obstacle rencontré et de la longueur d’onde.

Figure 3.7 – Di!usion des ondes

3.4 Modéle de résolution3.4.1 Méthodes continues

On considére de la matière au propriétés continues. La description d’unécoulement de fluide selon la dynamique des particules d’un temps t à t+1est pertinente pour la représentation des turbulences.

Modélisation lagrangienneDépendance d’une particule donnée selon une position et un temps variable.

Figure 3.8 – Schéma : Etats d’une particule en un point fixe selon le modélelagrangien.

19

Page 21: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Modélisation eulérienneDépendance de points en position fixe. Caractérisation simple de l’écoule-

ment d’un fluide autour d’un solide.

Figure 3.9 – Schéma : Etats d’une particule fixe en une position et un tempsselon le modéle eulérien.

3.4.2 Méthodes discrétesAutomates cellulaires

– Principe : Ce sont des techniques de résolution discrètes et dynamiquesde phénomènes théoriques. On les représente comme un tableau à plusieursdimensions dont les entités, cellules ou cases changent d’état en fonctionde leur voisinage à un temps donné et tous ensembles. Le jeux de la vieen est un bon exemple. On fait évoluer á un temps t tout l’automate se-lon l’état de ses voisins. De plus, on peut manipuler des automates en lesassociant ou en les additionnant.

– Algorithme :Chaque c e l l u l e en p a r a l l e l e

Lecture de l ’ e t a t de s e s 8 v o i s i n s .Changement d ’ e ta t s e l on cond i t i on e t a b l i e .

Figure 3.10 – Automate cellulaire :quelques étapes d’évolution du Jeu de lavie, wikipédia [7] et changement d’état.

20

Page 22: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

– Application : On peut obtenir un résultat aux équations de NavierStrokes gràce aux automates cellulaires et plus précisément aux gaz surréseau qui modélise des particules de gaz par un système d’interconnexionen réseau. L’Hypothèse des Petites Perturbations (HPP) est une approcheformulée dans un espace à deux dimensions pour la linéarisation de cetteéquation. Les changements d’états parallèles de l’automate se font en deuxtemps, propagation puis collision [9].

21

Page 23: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Chapitre 4

Calculs de couverture parlancer de rayons

4.1 UtilisationLes méthodes de lancer de rayons connaissent un enjeu majeur dans de

nombreux domaines techniques. On distingue deux catégories principales :– graphique : permettant de générer une image en traçant le chemin de la

lumière inversé.– physique : simulant le chemin d’onde ou de particules dans un environne-

ment, par la formulation de leurs comportements comme décrits dans lechapitre précédant.

Cette technique est fondamentale pour la représentation 3D en paralléle et tempsréel grâce l’engouement médiatique et l’augmentation du nombre de processeursCPU et GPU. Elle est fondamentale pour la simulation réaliste de phénomènesphysiques car elle met en place des modèles prévisionnels de calculs à grandeéchelle avec des enjeux économiques majeurs. Prenons l’exemple de la construc-tion d’une digue ou d’un barrage, l’étude de l’érosion du trait de côte est unedonnée primordiale comme l’étude de l’émission radio d’un émetteur afin d’op-timiser la consommation d’énergie.

4.2 Principe

Pour chaque p i x e l/! determinat ion de l a cou l eur du p i x e l su ivant l ’ e lement !/

Const ru i r e un rayon pr ima i re jusqu ’ a i n t e r s e c t i o navec un element .

/! determinat ion de l ’ e c l a i r a g e , s i l e rayon

22

Page 24: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

e s t bloque par un objet , l ’ ob j e t e s t dans l ’ ombre !/Const ru i r e un rayon s e conda i r e ve r s l e s s ourc e s lumineuses

/! Relance de rayons !/Const ru i r e un rayon de Re f l ex i on

Figure 4.1 – Schéma d’un lancer de rayon

4.3 TechnologiesLes avantages sont la pluridisciplinarité de son traitement. Cependant, il faut

privilégier des algorithmes simples et ingénieux associés parfois au pallélisme.Des outils tels que OpenGL pour la 3D, openCL et CUDA pour l’utilisationdu GPU ou l’utilisation de threads étendent les possibilités des modélisations etpermettent de pallier les coûts importants liés à la séquencialité des algorithmes.

4.4 Coût Complexité et SolutionsLe calcul des intersections et le partitionnement des espaces sont des facteurs

de variation du coût et des performances. La complexité est de O nr(log np)avec nr le nombre de pixels et np le nombre de polygones [10].Le coût du calcul des intersections des rayons avec tous les objets serait tropimportant. Il faut donc organiser les objets de telle manière que l’on ne testequ’une petite partie d’entre eux. On veut que la première des intersection soitbonne. Pour celà de nombreuses solutions sont envisageables.

4.4.1 Partitionnement de l’espaceOn découpe une scène dans le but de minimiser les zones de tests.

23

Page 25: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

GrilleOn insère des élements dans une grille, puis on parcours les cellules que

rencontre le rayon. On part d’une cellule initiale, on calcul l’intersection avec lagrille une première fois. On teste dans la cellule si il y a une intersection. On sedéplace à la cellule suivante s’il n’y a pas d’intersection par décallage selon lapente et la distance x et y qui est constante.

Figure 4.2 – Schéma du découpage d’une scène en grille et comportement d’unrayon et parcours des cellules

Cette solution est e"cace mais nécessite un espace mémoire conséquent. [4]De plus, il semble intéressant de noter l’influence de la taille de la grille car pluselle est grande, plus l’on parcours rapidement des zones vides et lentement leszones pleines ; inversement quand la taille est petite. Une précision fine est favo-rable dans le cas où les éléments sont nombreux et répartis de façon homogène.On peut donc envisager le couplage de cellules grandes et petites selon ce quiest contenu.

4.4.2 Techniques de clusterisationUne seconde approche serait de hiérarchiser les données.– L’arbre kd :

La méthode est simple ; on parcours nos éléments ou nos points et l’onprend le médian afin de séparer le secteur en deux, puis on recommencedans les sous sections. Ainsi on structure les données en arbre comme lemontre les schémas. Le rayon teste les intersections dans chaque partitionqu’il traverse. Le but étant d’optimiser l’espace.Il est bien adapté au traitement 3D, aux éléments éparpillés et peu nom-breux car l’algorithme parcours tous les éléments. Sa complexité est del’ordre de O(n log 2 n).

– Hiérarchie en boîtes englobantes :Pour le parcours de proche en proche, des méthodes d’analyse de donnéestelle la réalisation d’arbre de clusterisations sont envisageable. Ainsi quedes graphes ou des automates.

24

Page 26: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Figure 4.3 – Découpage d’une scène par la méthode du median et représenta-tion en arbre

Figure 4.4 – On englobe des zones proches

Figure 4.5 – Decoupage par a"nitées

25

Page 27: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

4.4.3 AméliorationsAlgorithme vectoriel

Selon la surface en intéraction, on peut mettre en place di!érents protocolesde calculs. Pour des surfaces volumiques ou planes, on peut calculer les coor-données du point d’intersection entre un rayon et un triangle, une sphére ouune droite, par les coe"cients directeurs par exemple. L’objectif étant d’avoirun algorithme le moins coûteux possible.

Un des atouts du lancer de rayon est l’indépendance entre ses calculs, il estdonc important de penser aux potentiels conflits d’accès mémoire ou de syn-chronisation et à la sauvegarde de ces intersections. On peut donc associer parla suite d’autres lancer de rayons simulant, une réflexion ou un rayon secondaire.

Double Bu!eringIl peut être nécessaire d’utiliser un double bu!ering afin d’améliorer l’a"-

chage. On peut faire les calculs sur un des bu!er pendant que l’autre se chargede l’a"chage.

4.5 Avantages et Limites4.5.1 Avantages

– rapidité de la mise en place.– réaliste.– précise.

4.5.2 Limites– temps de calculs longs. Lorsque les objets sont proches, les réflexions péna-

lisent les temps de traitement lors de la mise en mémoire du parcours. Parla même occasion, l’arborescence peut devenir exponentielle. et nécessitentle passage en temps réel.

– algorithme récent avec peu de recul.– encombrement mémoire possible.– optimisation du code di"cile.

4.6 Alternatives4.6.1 Propagation des vagues et courants

On peut simuler l’hydrodynamique côtière en supposant qu’un grand nombrede rayons modélisent les particules, les ondes et que sa propagation est linéaire. Ilen résulte que que l’on trace successivement des rayons de longueurs et d’anglesvariables selon l’accéleration et la direction du compas en un point déterminé

26

Page 28: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

par des coordonnées GPS du mobile. A chaque nouveau lancer successifs, onrecalcule la trajectoire et l’on test les intersections possibles avec le trait côtier.

4.6.2 Ray-tracing faisceau gaussien

Figure 4.6 – Le rayon subit une déformation gaussienne permettant de mieuxsimuler la lumière. [1]

27

Page 29: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Chapitre 5

Modélisation du lancer derayon

5.1 Adaptation5.1.1 Algorithme

L’algorithme simplifié du lancer de rayon employé est le suivant :Pour chaque ang le s e l on l a p r e c i s i o n

Const ru i r e un rayon depuis l e capteurPour chaque o b s t a c l e dans l a zone

Trouver l e s i n t e r s e c t i o n s avec l e rayonGarder l e p lus proche

5.1.2 PartitionnementPlusieurs améliorations ont été e!ectué sur l’algorithme. Dans un premier

temps une réduction de la zone des bâtiments à traiter a été mise en place. Dansun second temps, on découpe la zone en quatre parties(NO,NE,SE,SO).

28

Page 30: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Figure 5.1 – On découpe le cercle en quatre zones pour diminuer les calculs.

Figure 5.2 – On divise ces quarts de zones en deux en les mettant dans descollections et en parcourant la premiére en premier.

29

Page 31: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

5.1.3 PerformanceUn calcul de performance a été e!ectué afin de connaître l’impact de la

puissance et de la précision sur le temps de calcul des zones. L’algorithme 1correspond au premier modèle mit en place, avec réduction de la zone et l’algo-rithme 2 utilise la découpe de zone. On constate un augmentation linéaire, ce

Figure 5.3 – Temps d’exécution du lancer de rayon. On génére ces courbes enfaisant varier la précision (à gauche) et la puissance (à droite).

qui corrobore l’évaluation de la complexité. L’amélioration réduisant le nombrede traitements par rayon soit le nombre de calcul d’intersections, on en déduitque la majeure partie du calcul s’e!ectue à cet endroit.Cependant, on constate que le découpage en 8 axes augmente les temps decalculs. Ceci est justifié par l’augmentation des tests nécessaires.

5.1.4 RésultatL’application du lancer de rayons sous Netgen a permis d’obtenir des résul-

tats plus proches de la réalité.

30

Page 32: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Figure 5.4 – Zone de couverture radio sous Netgen. Les zones dégradées jaunesreprésentent les zones d’émissions et réceptions radio des arrêts de bus. Lespoints rouges marquent ces derniers et le trait bleue, un réseaux d’interconnexionpossible.

Deux simulations ont également été e!ectué. La première montre un mobilese déplacant à un instant t. La seconde a pour but de montrer un algorithmevisant à économiser l’énergie de l’éclairage public des routes.

31

Page 33: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Figure 5.5 – Animation d’un parcours de zone en fonction du mouvement d’unmobile. Bordure rouge : Mobile entre dans la zone courante. Bordure jaune :Non actif

Figure 5.6 – Animation d’un éclairage de lampadaire en fonction du mouve-ment d’un mobile.Cercle noir : Lampadaire éteint. Cercle rouge : Lampadairecourant. Cercle jaune : Lampadaires précédent et suivant.

Aspect graphique– La gestion de la puissance et la précision sont contrôlées par une double

dépendance sur les champs éditables et les barres de sélection.

32

Page 34: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

– Une barre de chargement est intégrée, elle varie selon l’avancement deslancer de rayons.

– Le calcul de zone peut se faire par la sélection d’un point ou sur tous lesarrêts de bus chargés.

– A"chage des zones par coloriage de la zone de couverture par un dégradéet fusion avec la carte pixel par pixel pour un e!et de transparence.

– Réinitialisation de la carte.

5.2 OptimisationSuite à la consultation du profiler smalltalk, deux procédures occupe la ma-

jeure partie du temps, le lancer de rayon, en particulier le calcul des intersections,et l’a"chage du résultat. C’est donc sur ces algorithmes qu’une optimisation estpossible grâce aux techniques de parallélisation ci-dessous :

5.2.1 CUDACUDA est un langage créer par Nvidia afin d’utiliser la puissance de cal-

cul des processeurs de leur carte graphique(GPU). Basé sur le langage C, ilpermet de transmettre à chaque GPU un calcul à réaliser via des canaux detransmission et récupérer les résultats de la même manière. La machine du la-boratoire disposant de 500 GPUs, on peut donc réduire considérablement letemps d’exécution d’un programme pouvant être parallélisé. Or, le lancer derayon a une indépendance de calcul permettant la mise en place de ce prin-cipe. Une ébauche du lancer de rayon a été réalisée et est disponible sur http://wsn.univ-brest.fr/wsnwiki/doku.php?id=calculs_de_couverture dansla partie "Calcul de réseaux par lancer de rayon". Il suit l’algorithme suivant :

Pour chaque calcul de zoneChaque GPU opère sur un rayon afin de trouver l’intersection la plus procheLe CPU récupère l’ensemble des points calculés afin de générer la zone d’émissiondu capteur.

33

Page 35: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Figure 5.7 – Schéma de l’association CPU-GPU.Pour un calcul sur 360 degrésavec une précision de 1 degré m=15 et n=24. Soit 24 blocks pour 15 threads.Chaque unité de calcul du GPU traite un rayon.

5.2.2 Thread SmalltalkSmalltalk permet l’utilisation de threads. Cela donne donc la possibilité

d’éxécuter une partie des calculs sur chaque thread et ainsi gagner en tempsde traitement.

Figure 5.8 – Schéma de la répartition de lalgorithme en 4 threads

34

Page 36: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Chapitre 6

Bilan et perspectives

Le lancer de rayon, bien qu’étant une solution coûteuse nous livre un échan-tillon qui semble réaliste. Il convient que la mise en pratique nécessite l’éxpor-tation de ces structures ainsi que le déploiement en temps réel.

Les perspectives d’évolution du projet sont multiples. Dans un premier tempsil serait nécessaire d’améliorer l’algorithme de lancer de rayon avec des tech-niques de parcours de zones ainsi que la parallélisation afin d’augmenter la pré-cision du modéle. Cela permettrait également d’accroitre le nombre de capteurspour agrandir la zone de simulation.

Dans un second temps, on peut envisager une caractérisation du poids descanaux entre les emmeteurs en prenant en compte la taille du polygone inter-cepté. Dans la réalité, de petits bâtiments ne stoppent pas nécessairement lesondes.

Une association du lancer de rayon avec interpolation permettrait une re-présentation 3D plus réaliste de la surface éméttrice en fonction des donnéesphysiques.

De plus, l’application à de nombreux phénomènes physique sont possibles :– Vagues : zone de sédimentation, courants.– Prédiction de déplacements gazeux.– Pollution : prévision de niveaux de toxicité.– Propagation d’incendies, séismes, cyclones ...

Cela a un impact majeur sur la gestions des risques. L’on observe d’ailleurs unmarchér en forte croissance.

35

Page 37: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Bibliographie

[1] Gilles Beauquet. Faisceaux gaussiens ...". 0000025.pdf.[2] e scio. "les ondes". http ://www.e-scio.net/ondes/.html.[3] ESRI. "esri shapefile technical description".

http ://www.esri.com/library/whitepapers/pdfs/shapefile.pdf, 1998.[4] Gael Guennebaud. "lancer de rayon et structures de partitionnement".

cours_SIA_Raytracing.pdf.[5] IGN. "institut géographique national". http ://www.ign.fr/.[6] Shapelib. "shapefile c library v1.2". http ://shape-

lib.maptools.org/shp_api.html.[7] Wikipédia. "automates cellulaires". http ://fr.wikipedia.org/wiki/Automate_cellulaire.[8] Wikipédia. "formats de fichier sig".

http ://fr.wikipedia.org/wiki/Formats_de_fichier_SIG.[9] Wikipédia. "gaz sur réseau". http ://fr.wikipedia.org/wiki/Gaz_sur_réseau.

[10] Wikipédia. "raytracing". http ://fr.wikipedia.org/wiki/Lancer_de_rayon.[11] Wikipédia. "réseau de capteurs sans fil".

http ://fr.wikipedia.org/wiki/Réseau_de_capteurs_sans_fil.[12] Wikipédia. "système d’information géographique".

http ://fr.wikipedia.org/wiki/Système_dinformation_géographique.

36

Page 38: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

Annexe A

Echantillons de codes

typede f s t r u c t {i n t nSHPType ; /!Type du shape ( Point , Arc , Polygone ,

Mult ipoint , . . . ! /i n t nShapeId ; /!Numero du shape !/i n t nParts ; /!Nombre de p a r t i e en cas d ’ imbr i ca t i on !/

i n t ! panPartStart ; /! Tableau ind iquant l ’ i n d i c e du premierpo int de chaque p a r t i e !/

i n t !panPartType ; /! Tableau ind iquant l e type chaquep a r t i e !/

i n t nVer t i c e s ; /!Nombre de po int pre sent !/

double !padfX ; /! Tableau contenant l e s l o n g i t u d e s !/double !padfY ; /! Tableau contenant l e s l a t i t u d e s !/double !padfZ ; /! Tableau contenant l e s hauteurs !/ ( f a c u l t a t i f )double !padfM ; /! Tableau contenant des mesures !/ ( f a c u l t a t i f )

double dfXMin ; /! Longitude minimum!/double dfYMin ; /! Lat i tude minimum!/double dfZMin ; /! Hauteur minimum!/double dfMMin ; /!Mesure minimum!/

double dfXMax ; /! Longitude maximale!/double dfYMax ; /! Lat i tude maximale!/double dfZMax ; /! Hauteur maximale!/double dfMMax ; /!Mesure maximale!/}SHPObject ;

***************************distance2PointGps : pointA with : pointB

" d i s t anc e ent re deux po in t s GPS aux format WGS84"

37

Page 39: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

| r l o 1 r l a 1 r l o 2 r l a 2 dlo dla a b earth_radius |earth_radius := 6378137.r l o 1 := pointA long i tude degreesToRadians .r l a 1 := pointA l a t i t u d e degreesToRadians .r l o 2 := pointB long i tude degreesToRadians .r l a 2 := pointB l a t i t u d e degreesToRadians .d lo := ( r l o 2 " r l o 1 ) / 2 .d la := ( r l a 2 " r l a 1 ) / 2 .a := dla s i n ! dla s i n +

( r l a 1 cos ! r l a 2 cos ! dlo s i n ! dlo s i n ) .b := 2 ! ( a s q r t / (1 " a ) s q r t ) arcTan .^( earth_radius ! b) a s I n t e g e r

***************************toGPSPositionTab : f i l ename

| shape nbShape tabFigure s i z e shpObject gps tabGps |" Transformation des s t r u c t u r e s C en Objets s m a l l t a l k "shape := MyShapes new .nbShape := shape SHPSize : f i l ename .tabFigure := OrderedCol l ec t ion new .(0 to : nbShape " 1) do :

[ : i |shpObject := shape oneSHP : f i l ename with : i .s i z e := shape nParts : shpObject .(1 to : s i z e ) do :

[ : i x |i x = s i z ei fTrue :

[ tabGps := OrderedCol l ec t ion new .( ( shape panPartStartToTab : shpObject ) at : i x ) to :

( shape nVer t i c e s : shpObject ) ) do :[ : j |gps := GPSPosition new .gps

l ong i tude : ( ( shape padfToTab :shpObject with : #padfX ) at : j ) ;

l a t i t u d e : ( ( shape padfToTab :shpObject with : #padfY ) at : j ) .

tabGps add : gps ] .tabFigure add : tabGps ]

i f F a l s e :[ tabGps := OrderedCol l ec t ion new .( ( ( shape panPartStartToTab :

shpObject ) at : i x ) to :

38

Page 40: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

( ( shape panPartStartToTab :shpObject ) at : i x + 1) ) do :

[ : j |gps := GPSPosition new .

gpsl ong i tude :

( ( shape padfToTab : shpObject with :#padfX ) at : j ) ;

l a t i t u d e :( ( shape padfToTab : shpObject with :

#padfY ) at : j ) .tabGps add : gps ] .tabFigure add : tabGps ] ] ] .

^ tabFigure***********************************

rayTracing : gF with : c en t r e with : pu i s with : s td with : tabGPSPosition" l a n c e r de rayon autour d ’ un po int ( c en t r e ) ,

avec un pu i s sance ( pu i s ) ,un pas d ’ ang le ( std ) et une C o l l e c t i o n de Batiment "

| I T tabClose po lys |T := Transmitter new .T begin : c en t r e .tabClose := MyShapes

ShapeOriente : c en t r ewith : ( MyShapesgetShapeClose : (gF translateToGPSFromPoint : T begin )

with : pu i swith : tabGPSPosition )

with : gF .tabClose keysAndValuesDo :[ : keys : colTab | | c o l |

c o l := gF gpsPositionTabToReferenceSHP : colTab .(1 to : c o l s i z e )

do : [ : i | c o l at : i put :( Polygon fromPoints : ( c o l at : i ) ) ] .

tabClose at : keys put : c o l ] .I := I n t e r s e c t i o n new .(0 to : 359 by : std ) do :

[ : ang le | gF window percentBar value :(gF window percentBar value + (1/((360/ std ) ! 1 5 ) ) ) .

" Les ang l e s a 90 et 270 provoque une d i v i s i o n par 0 ! "( ang le >= 0) & ( ang le < 90)

i fTrue : [ po lys := tabClose at : #SE ] .

39

Page 41: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

( ang le >= 90) & ( ang le < 180)i fTrue : [ po lys := tabClose at : #SO ] .

( ang le >= 180) & ( ang le < 270)i fTrue : [ po lys := tabClose at : #NO] .

( ang le >= 270) & ( ang le < 360)i fTrue : [ po lys := tabClose at : #NE] .

( ang le = 90) | ( ang le = 270)i fTrue :

[T end : (TPo l a i r e 2 Car t e s i e n : T begin

with : pu i swith : ang le + 1 ) .

T rayons add : ( Iin te r s ec t i onToBat : T beginwith : T endwith : po lyswith : gF ) ]

i f F a l s e :[T end : (TPo l a i r e 2 Car t e s i e n : T begin

with : pu i swith : ang le ) .

T rayons add : ( Iin te r s ec t i onToBat : T beginwith : T endwith : po lyswith : gF ) ] ] .

^T******************************

drawCoversOn : aGC" Dess ine des polygones avec e f f e t de t ransparence

par f u s i o n avec l e s p i x e l s de l a ca r t e "| p o s i t i o n s pow |p o s i t i o n s := s e l f model va lue c o l S e l e c t e d P o s i t i o n s R e f .p o s i t i o n s i s N i li f F a l s e :

[ p o s i t i o n s do :[ : p o s i t i o n |pow := ( s e l f model va lue window power va lue ) / 2 .p o s i t i o n i s N i li f F a l s e :

[ | c o l o r dot gaw ga white mergedColor cache cacheGCim img1 img2 pix1 pix2 pix3 cv3 |

c o l o r := ColorValue new .

40

Page 42: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

c o l o r setRed : 0 setGreen : 0 se tBlue : 8191 .im := s e l f image .white := ColorValue black .cache := Pixmap extent : ( Point x : im width y : im he ight ) .cacheGC := cache graphicsContext .1 to : pow

do :[ : i x |mergedColor := c o l o r blendWith : white weight : i x .dot := C i r c l e c ente r : p o s i t i o n rad iu s : pow " i x .dot := dot a s F i l l e r .gaw := GraphicsAttributesWrapper on : dot .ga := Graph ic sAttr ibute s new paint : mergedColor .gaw a t t r i b u t e s : ga .gaw displayOn : cacheGC ] .img1 := cacheGC medium asImage .img2 := s e l f image .0 to : img1 he ight " 1

do :[ : y |0 to : img1 width " 1do :

[ : x |pix1 := img1 valueAtPoint : x @ y .pix2 := img2 valueAtPoint : x @ y .pix1 red = 1 & ( pix1 blue = 1) & ( pix1 green = 1)

i f F a l s e : [ p ix3 := pix1 blendWith : pix2 ]i fTrue : [ pix3 := pix2 ] .

cv3 := img1 p a l e t t e indexOfPaintNearest : pix3 .im valueAtPoint : x @ y put : ( img1 p a l e t t e at : cv3 ) ] ] .im displayOn : aGC ] ] ]

***************************

Po l a i r e 2Ca r t e s i en : o r i g i n with : d i s t with : ang le" Transformation de coordonnees

c a r t e s i e n n e s en coordonnees p o l a i r e s "^Point x : ( o r i g i n x + ( d i s t ! ang le degreesToRadians cos ) )

y : ( o r i g i n y + ( d i s t ! ang le degreesToRadians s i n ) ) .*******************************

Ins idePolygon : Polygone with : p" Indique l e pre sence ou non d ’ un po int dans un polygone "| counter p1 N p2 x i n t e r s Poly |Poly := Polygone v e r t i c e s .

41

Page 43: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

counter := 0 .p1 := Poly at : 1 .N := Poly s i z e + 1 .(2 to : N) do :

[ : i |p2 := Poly at : ( i \\ N = 0 i fTrue : [ 1 ] i f F a l s e : [ i \\ N ] ) .p y > ( p1 y min : p2 y )i fTrue :

[ p y <= ( p1 y max : p2 y )i fTrue :

[ p x <= ( p1 x max : p2 x )i fTrue :

[ p1 y ~= p2 yi fTrue :

[ x i n t e r s := (p y " p1 y ) ! ( p2 x " p1 x ) /( p2 y " p1 y ) + p1 x .

p1 x = p2 x | (p x <= x i n t e r s )i fTrue : [ counter := counter + 1 ] ] ] ] ] .

p1 := p2 ] .counter \\ 2 = 0 i fTrue : [^ Fa l se ] i f F a l s e : [^ True ]

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

\ begin { l s t l i s t i n g }getShapeClose : GPSPoint with : pu i s with : GPSPositionTab

" re tourne l e s batiments pre sent dansun per imetre ( pu i s ) d ’ un po int ( GPSPoint ) "

| tabClose |tabClose := OrderedCol l ec t ion new .GPSPositionTab do :

[ : tab || c l o s e |c l o s e := False .tab do :

[ : aGPSPosition || d |d := MyShapes distance2PointGps : GPSPoint

with : aGPSPosition .d < puis

i fTrue : [ c l o s e := True ] ] .c l o s e = True i fTrue : [ tabClose add : tab ] ] .

^ tabClose*********************************

42

Page 44: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

ShapeOriente : GPSPoint with :GPSPositionTabClose with : g f

" r e tourne l e s batiments pre sent dansun per imetre ( pu i s ) d ’ un po int ( GPSPoint )

en coupant en 4(NE,NO, SE ,SO) l a zone "

| tabFina l tabNE tabNO tabSE tabSO |tabFina l := Dict ionary new .tabNE := OrderedCol l ec t ion new .tabNO := OrderedCol l ec t ion new .tabSE := OrderedCol l ec t ion new .tabSO := OrderedCol l ec t ion new .GPSPositionTabClose do :

[ : tab || tabTest |tabTest := OrderedCol l ec t ion new .tabTest

add : Fa l se ;add : Fa l se ;add : Fa l se ;add : Fa l se .

tab do :[ : aGPSPosition || ang le |ang le := Transmitter

ang le : GPSPointwith :( aGPSPosition convertFromOrigin :

g f o r i g i n s c a l e : g f s c a l e ) .( ang le >= 0) & ( ang le < 90)

i fTrue : [ tabTest at : 1 put : True ] .( ang le >= 90) & ( ang le < 180)

i fTrue : [ tabTest at : 2 put : True ] .( ang le >= 180) & ( ang le < 270)

i fTrue : [ tabTest at : 3 put : True ] .( ang le >= 270) & ( ang le < 360)

i fTrue : [ tabTest at : 4 put : True ] ] .( ( tabTest at : 1) = True ) |

( ( ( tabTest at : 2) = True)&( ( tabTest at : 4) = True ) )

i fTrue :[ tabSE add : tab ] .

( ( tabTest at : 2) = True ) |( ( ( tabTest at : 1) = True)&( ( tabTest at : 3) = True ) )

i fTrue : [ tabSO add : tab ] .

43

Page 45: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

( ( tabTest at : 3) = True ) |( ( ( tabTest at : 2) = True)&( ( tabTest at : 4) = True ) )

i fTrue : [ tabNO add : tab ] .( ( tabTest at : 4) = True ) |

( ( ( tabTest at : 3) = True)&( ( tabTest at : 1) = True ) )

i fTrue : [ tabNE add : tab ] ] .

tabFina l at :#SE put : tabSE ;at :#SO put : tabSO ;at :#NO put : tabNO ;at :#NE put : tabNE .

^ tabFina l*******************************

animation" Deplacement d ’ un mobile avec a f f i c h a g e de l a zone

de r e c e p t i o n a chaque i n s t a n t "

| gc de lay co lPo ly poly |co lPo ly := Dict ionary new .gc := s e l f mapView graphicsContext .de lay := Delay f o r M i l l i s e c o n d s : 10 .geoRe fe rencer colZone keysAndValuesDo :

[ : aKey : aZone | | po in t s |po in t s := aZone copyWith : ( aZone at : 1 ) .poly := Po ly l i n e v e r t i c e s : po in t s .co lPo ly at : aKey put : poly ] .geoRe fe rencer colPathRef do :

[ : aPoint || c gaw |co lPo ly keysAndValuesDo :

[ : keys : po || comp |comp := CompositePart new .( Polygon Ins idePolygon : po with : aPoint ) = Truei fTrue :

[ | wrapper s t r o k e r |s t r o k e r := po asSt roke r .comp add : ( ( GraphicsAttributesWrapper on : s t r o k e r )

a t t r i b u t e s :( ( Graph ic sAttr ibutes new paint : ColorValue red )

l ineWidth : 3 ) ) ]i f F a l s e :

44

Page 46: Les réseaux de capteurs en ville: Calculs de couverturewsn.univ-brest.fr/TER-rapports/TERLeGallHerry.pdf · 3 Problème de la couverture : Ondes, Radio et information physique 14

[ | wrapper s t r o k e r |s t r o k e r := po asSt roke r .comp add : ( ( GraphicsAttributesWrapper on : s t r o k e r )

a t t r i b u t e s :( ( Graph ic sAttr ibutes new paint : ColorValue ye l low )

l ineWidth : 3) ) ] .comp displayOn : gc ] .

c := C i r c l e c ente r : aPoint rad iu s : 3 .gaw := GraphicsAttr ibutesWrapper on : c a s F i l l e r .gaw a t t r i b u t e s : ( Graph ic sAttr ibute s new paint :

( ColorValue perform : #blue ) ) .gaw displayOn : gc .de lay wait ]

45