Académique Documents
Professionnel Documents
Culture Documents
Franc Thomas
Garcia Damien
RAPPORT- Projet M1
Simulation de communication VANET
2. Exigences …...........................................................11
2.1. Exigences fonctionnelles …..............................................11
2.2. Non fonctionnelles …........................................................12
3. Réalisation …..........................................................12
3.1. ChannelController.cc …....................................................13
3.2. MobileNode.cc …..............................................................16
3.3. Fichiers ned et ini ….........................................................17
3.4. Compiler le programme …................................................18
3.5. Calculs des points pour les déplacements des véhicules 18
4. Organisation ….......................................................19
4.1. Les Intervenants …...........................................................19
4.2. Problèmes rencontrés …..................................................19
5. Annexe …................................................................20
2/20
1. Brève présentation
1.1. Rappel sur VANET
Le fait d’avoir du matériel permettant d'émettre et de recevoir dans
les véhicules, forment un réseau VANET ou autrement dit un réseau
Ad Hoc.
Les réseaux Ad Hoc sont des réseaux dans lesquels l’information
transite d’équipement en équipement sans passer par un point
d'accès. Il n’y a pas donc d’infrastructure (serveurs, routeurs etc).
Dans le cas du réseau VANET , les composants du réseau sont
exclusivement des véhicules. Ils communiquent entre eux directement
sans quelconque intermédiaire.
3/20
Deux problèmes se présentent :
-l'optimisation de la puissance.
-Les délais de transmission.
Des algorithmes ont été créés pour faire face à ces problèmes.
Comme les algorithmes BIP et Dijkstra.
4/20
Illustration 1: Etape 0 BIP
Illustration 2: Etape 1 BIP
5/20
Illustration 4: Etape 3 BIP
Sur les 3 nœuds atteints, le plus proche de l’un d’eux est le nœud 3
qui est le plus proche de 1.
6/20
“noeud2”, et “a” l’indice correspondant à l’environnement (2<a<4 où 2
est le milieu rural et 4 le milieu urbain).
P=max(C(1,2)^a,C(1,4)^a,C(1,3)^a)+max(C(3,5)^a)
P=C(1,3)^a)+(C(3,5)^a)
7/20
Illustration 7: Etape 1 Dijkstra
8/20
Illustration 9: Etape 3 Dijkstra
9/20
Illustration 11: Etape 5 Dijkstra
10/20
1.4. Rappel d’OMNeT ++
OMNeT++ est un environnement de développement intégré (IDE)
qui utilise le langage C++. OMNeT++ sert principalement à modéliser,
simuler des systèmes de communication sans fils et filaire. Il est
composé de modules
qui contiennent des algorithmes relatifs au type de réseau
implémenté.
2. Exigences
2.1. Exigences Fonctionnelles
Nous devions implémenter 2 algorithmes (BIP et Dijkstra), de
manière à voir comment chacun de ces algorithmes allait se comporter
dans la simulation.
11/20
Enfin, un arbre de diffusion devait être créé et afficher en temps
réel, afin d'afficher pour chaque véhicule avec quel(s) véhicule(s) il
communique et avec quelle puissance d'émission.
3. Réalisation
12/20
Illustration 12: Fichiers importants pour le projet
3.1. ChannelController.cc
13/20
Mais avant toute chose, il faut calculer les distances entre tous les
véhicules pour créer la matrice des distances. Pour cela, nous avons
utilisé un simple calcul pour mesurer la distance entre deux points sur
un graphique:
AB =√ (x b− x a ) ²+( y b− y a )²
Ensuite, nous avons créé l'algorithme BIP et l'avons placé dans une
nouvelle fonction. Cette fonction a dû étre déclarée dans le fichier
ChannelController.h .
Fonctionnement de BIP:
14/20
Prenons l'exemple suivant
15/20
Pseudo-code de la fonction BIP:
3.2. MobileNode.cc
16/20
Après avoir défini les points, il faut attribuer les coordonnées aux
véhicules. La fonction handleMessage est lancée en boucle lorsque la
simulation est lancée. Il n'y a pas de moyen de savoir combien de fois
elle a été lancée. Nous avons donc créé une variable de classe qui
sera incrémenté à chaque passage dans la fonction.
En sachant combien de fois la fonction a été lancée, on sait que le
véhicule doit être placé sur un point précis.
17/20
Dans le fichier omnetpp.ini on attribue les valeurs aux paramètres
comme cela:
**.NomDuParametre = uneValeur
Exemple en annexe 1
18/20
4. Organisation
4.1. Les Intervenants
Responsables :
- Huet Stéphane
- Jabaian Bassam
Tuteur :
- Zhou Fen
Étudiants :
- Chmicha Abdelfatah : Recherches sur OMNeT++
- Franc Thomas : Recherches algorithmes
- Garcia Damien : Analyse du code source
19/20
Nous sommes conscients qu’il était important dans notre projet mais
les autres problématiques (déplacement des véhicules, zones de
couverture des véhicules, etc…) représentant également une grande
charge de travail, nous n’avions plus le temps nécessaire pour
implémenter Dijkstra.
5. Annexe
20/20