2. • I Objectifs
• II Hypothèses
• III Outil logiciel
• IV Concepts de base de la connexité des
graphes
• V Protocoles d’inondations
• VI Contrôle du mouvement
• VII Recherche du chemin
• VIII Calcul du coût du chemin
• IX Temps d'attente
• X Optimisation du chemin
• XI Conclusion
2
3. • Créer une approche qui permet de
regrouper des robots distants.
• Initialement, ces robots se
déplacent aléatoirement dans
l’environnement pour le découvrir.
• Lorsqu’un robot (root) détecte une
scène particulière il avertit tout le
groupe d’y rejoindre.
3
4. • Les robots ne connaissent pas
l’environnement
• L’espace est statique
• On adopte le modèle idéal de propagation
des ondes radio dans l’espace libre
• Les coordonnées des robots
sont connues
• Dans l’espace d’opération des robots une
seule scène peut apparaitre
• A la position initiale, les robots sont
connectés et non séparés par aucun
obstacle
4
5. • On utilise MATLAB comme étant un
environnement comportant une
palette d'outils s'adressant à de
très nombreux domaines.
• Il permet de manipuler des
matrices, d'afficher des courbes et
des données, de mettre en œuvre
des algorithmes.
5
6. Méthodes de validation la connexité
des graphes:
1. La somme des puissances de
matrice d'adjacence ne contient
aucun coefficient nul
2. Maximisation valeur Fiedler de la
matrice Laplacienne
6
7. • À chaque graphe on associe une matrice
d’adjacence qui exprime les liaisons entre ces
nœuds A= 𝑎𝑖,𝑗 .
• 𝑎𝑖,𝑗=
1 𝑠𝑖 𝑖 𝑒𝑡 𝑗 𝑠𝑜𝑛𝑡 𝑐𝑜𝑛𝑛𝑒𝑐𝑡é𝑠
0 𝑠𝑖𝑛𝑜𝑛
0 1 1
1 0 1
1 1 0
0
0
1
0 0 1 0
A=
1
2
3
4
7
8. • Parfois on n’utilise pas une matrice
d’adjacence booléenne pour être plus
fidèle à la réalité.
• on peut utiliser une fonction de poids
«pondération» qui traduit mieux l’effet
de la distance sur le lien radio.
𝑎𝑖,𝑗=
1 ∗ 𝑓(𝑖, 𝑗) 𝑠𝑖 𝑖 𝑒𝑡 𝑗 𝑠𝑜𝑛𝑡 𝑐𝑜𝑛𝑛𝑒𝑐𝑡é𝑠
0 𝑠𝑖𝑛𝑜𝑛
8
9. • La matrice Laplacienne d’un graphe à n sommets
est telle que:
• 𝐿𝑖,𝑗 =
−𝑎𝑖,𝑗 𝑠𝑖 𝑖 ≠ 𝑗
𝑎𝑖,𝑗𝑠𝑖 𝑖 = 𝑗
𝑛
1
• C’est une matrice semi-définie positive
symétrique si le graphe est non orientée.
L=
2 −1 −1
−1 2 −1
−1
0
−1
0
3
−1
0
0
−1
1
1
2
3
4
9
10. • Soit A la matrice d’adjacence d’un graphe
G à n sommets.
• 𝐶𝑀= 𝑐𝑖,𝑗 est La somme des puissances
de matrice d’adjacence.
• 𝐶𝑀
= 𝐴𝑘
𝑀
𝑘=1
• 𝐴𝑘
exprime les chemins possibles reliant
les k+1 nœuds après k sauts.
• M≤n-1 ou n est le nombre des nœuds de
réseau.
• Il faut que tous les 𝑐𝑖,𝑗 ≠ 0 pour que le
graphe soit connexe.
10
11. • La matrice Laplacienne est caractérisée
par ses valeurs propres positives.
• 0 ≤ 𝛌1(𝐿) ≤ 𝛌2 𝐿 ≤ 𝛌3(𝐿)… ≤ 𝛌𝑛(𝐿)
• 𝛌1 = 0 le vecteur propre associé est [1 1
1 …1].
• 𝛌2 𝐿 est le second plus petite valeur
propre de L. le graphe est connexe ssi 𝛌2
est strictement positive.
• 𝛌2(𝐿) est une valeur particulière qui
s’appelle valeur Fiedler.
11
12. Protocole Hello périodique:
• les nœuds échangent périodiquement un
message de la balise de Hello.
• Un nœud qui reçoit un message de la balise
former par son voisin A, crée une entrée
pour A dans sa table de voisin s’il n'en a
pas, sinon il met à jour l'entrée de A.
• S’il ne reçoit pas un Hello de A pour un duré
T, il le retire A de sa table de voisin.
12
13. Protocole Hello adaptatif :
• Un nœud émet une balise Hello tous les
mètres de la distance il se déplace.
• Ainsi les nœuds se déplaçant à des
vitesses plus élevées émettent des
paquets Hello à des taux plus élevés
13
14. Choix du protocole Hello
• Notre but était de permettre à
chaque nœud de savoir la position, la
direction et la vitesse de ses voisins.
• Inonder périodiquement des paquets
Hello semble moins utile dans notre
projet car si un nœud accélère
soudainement, les informations de
table des voisins ne seront plus à jour
ce qui peut entrainer facilement la
perte du lien entre les nœuds.
14
15. • Les protocoles Hello adaptifs sont les
plus convenables pour le projet.
• Ils permettent de réduire le risque des
ruptures soudaines des liens en cas de
la variation rapide de la vitesse car le
taux d’émission des Hello est
proportionnel à la vitesse des nœuds.
15
16. • Le but de contrôle du mouvement
des robots est d’assurer un graphe de
réseau connexe. L’idée est de faire un
compromis entre la découverte de
l’environnement (mouvement
aléatoire) et guider les nœuds à se
rapprocher.
• Initialement, On suppose que tous les
robots sont des voisins radios. En se
déplaçant aléatoirement, ils perdent
des liens radios avec leurs voisins.
16
17. • Si un nœud A perd ses liens radio avec tous ses
voisins sauf deux B et C, il possède deux chemin
possible à suivre.
• Si B n’est pas dans la portée radio de C, A doit se
rapprocher de milieux de segment [BC] , sinon
A peut se déplacer librement en maintenant au
minimum un lien radio avec C ou B.
17
18. Si un nœud A qui a perdu ses liens radios avec
tous ses voisins sauf un B, il doit se rapprocher
de B rapidement.
18
19. • On divise la région de couverture radio en deux sous
régions:
• R est la portée radio d’un nœud.
• La première (Reg 1), est de rayon r=R/a. Où a est une
constante caractéristique de séparation entre les deux
régions.
• La seconde (Reg2) présente une portion de disque (r,
R). C’est la région des voisins qui sont proches de
limite de portée radio.
19
20. • La première (Reg 1) est la région des voisins proches
c’est-à-dire les nœuds qui se situent en Reg 1 ont
plus de liberté de mouvement (contrainte faible de
contrôle).
• La seconde (Reg2) est la région des voisins qui sont
proches de limite de portée radio. C’est la région des
voisins qui sont proches de limite de portée radio.
Ses nœuds sont emmenés à se rapprocher de la
région Reg 1 pour garantir la robustesse de lien radio
(contrainte forte de contrôle).
20
21. Les résultats de simulation sur MATLAB résument 1000
déploiements dans des positions initialement aléatoires
dont chaque déploiement chaque nœud fait 400 pas avec
a= 2.
21
22. • Principe de simulation de déplacement:
• On a utilisé la fonction randn(n,m) qui
retourne une matrice nxm des coefficients
pseudo-aléatoire, tirée de la distribution
normale standard sur l’intervalle unité.
(MATLAB)
• L’orientation 𝜃de nœud
𝜃(𝑡=𝑖) ← randn(1).
𝜋
2
+ 𝜃(𝑡=𝑖−1)
𝜃(𝑡=0) ← randn(1).2.𝜋
22
23. 𝑯 = 𝐜𝐨𝐬 𝜽 . 𝒙 + 𝐬𝐢𝐧 𝜽 . 𝒚
𝑷𝟏 = 𝑷𝒂𝒔(𝒕𝟏, 𝒕𝟎) ∗ 𝑯 + 𝑷𝟎
Avec le Pas désigne la distance parcourue par le robot
pendant ∆𝑡 = 𝑡1 −𝑡0.
( 𝐻 = 1)
Déplacement d’une position 𝑷𝟎 vers 𝑷𝟏 entre 𝑡0 et 𝑡1
se traduit part:
23
26. • L’inondation de chemin suivi par le
leader (𝐶ℎ = {𝑝𝑖})permet aux nœuds
au voisinage de chercher le chemin
possible pour l’atteindre.
• Avoir une idée sur le coût de chemin
à suivre peut aider à décider quel
leader faut-il le suivre.
• Dans cette partie on va traiter la
recherche du chemin d’un nœud fils
vers son père.
26
27. • Sur un chemin donné Ch composé de n
points la distance entre deux points
successifs est un Pas.
• Un nœud A qui a suivi un chemin formé
de n points ( 𝑃𝐴𝑖 , 𝑖 ≤ 𝑛 ∈ 𝑁∗
) a reçu
celui du nœud B formé de m points
( 𝑃𝐵𝑗 , 𝑗 ≤ 𝑚 ∈ 𝑁∗
).
• Soit 𝐷𝑠 la distance maximale qu’un
robot peu détecter l’existence d’un
obstacle.
27
28. • A doit calculer les distances entre
ces points afin de trouver le couple
des points dont la distance qui les
sépare inférieure ou égale à 𝐷𝑠.
(max nxm fois)
28
29. • On prend d (𝑃𝐴 𝑖,𝑃𝐵𝑗)=𝑑𝑖𝑗 . On
veut savoir la relation entre 𝑑11
,𝑑12 , 𝑃𝑎𝑠 et 𝐷𝑠.
29
30. • On a d’après l’inégalité triangulaire
𝑑11 − 𝑃𝑎𝑠 ≤ 𝑑12 ≤ 𝑑11 + 𝑃𝑎𝑠 (𝑒𝑞 𝐼)
Et plus généralement
𝑑11 − 𝑛. 𝑃𝑎𝑠 ≤ 𝑑1 𝑛+1
30
31. • Pour n=1 vraie l’équation (I). Supposant que cette
propriété est vraie pour n, on cherche à la démontrer
pour n+1.
D’après l’inégalité triangulaire on a :
𝑑1(𝑛+1) + 𝑃𝑎𝑠 ≥ 𝑑1𝑛
D’ou
𝒅𝟏𝒏 − 𝑃𝑎𝑠 ≤ 𝑑1 𝑛+1 (1)
Or pour n la propriété est vraie :
𝑑11 − 𝑛 − 1 . 𝑃𝑎𝑠 ≤ 𝒅𝟏𝒏 (2)
On obtient donc (1) (2):
(𝑑11− 𝑛 − 1 . 𝑃𝑎𝑠) − 𝑃𝑎𝑠 ≤ 𝑑1 𝑛+1
D’où
𝑑11 − 𝑛. 𝑃𝑎𝑠 ≤ 𝑑1 𝑛+1 Vérifié.
31
32. • Résultat:
• Soit k le premier entier naturel tel que
𝑑11−𝑘. 𝑃𝑎𝑠 ≤ 𝐷𝑠 . Il est inutile de calculer les
distances 𝑑1𝑖 pour tout i<k.
32
33. • Pour éviter le calcul des distances entre
tous les points de tableau des chemins,
on choisit les points qui ont la possibilité
à atteindre 𝐷𝑠 et on élimine les autres.
33
34. • Le nœud A peut recevoir plusieurs
chemins possibles de ses voisins B
et C .
• Après avoir déterminé l’ensemble
des points formant les chemins de
A vers B (𝐶ℎ1) et vers C (𝐶ℎ2).
• Comment A va choisir quel chemin
à suivre ?
34
35. • Le coût attribué à un chemin est le
nombre des sauts (hops) entre les
points qui le forment.
• Exemple
Soit un chemin Ch= 𝑃𝑖, 𝑖 ≤ 𝑛 alors
coût(Ch) = card(Ch)-1= n-1.
35
36. • Chaque nœud doit indiquer le coût
de son chemin vers son père
hiérarchique. Le coût émet par le root
est 0.
• Chaque nœud calcule les chemins
possibles et les attribue des coûts
pour choisir le plus court.
• Finalement le nœud inonde son
propre chemin qu’elle a suivi dès le
départ et le coût calculé pour
rejoindre son père.
36
37. • Pour les pères ils doivent attendre
leurs subordonnées jusqu’à ce qu’il
les rejoindre car il est possible que
le chemin qu’ils vont le suivre ne
maintienne pas la connectivité
entre eux.
• chaque nœud doit indiquer
l’identité de son père avec le coût
de chemin pour le rejoindre.
37
38. • 𝑇𝑎 =
𝑇𝑓 𝑆𝑖 𝑙𝑒 𝑛𝑜𝑒𝑢𝑑 𝑛𝑒 𝑟𝑒ç𝑜𝑖𝑡 𝑝𝑎𝑠 𝑑𝑒𝑠 𝑟é𝑝𝑜𝑛𝑠𝑒𝑠 𝑑𝑒𝑠 𝑓𝑖𝑙𝑠.
𝑇𝑡 + max 𝑐𝑜û𝑡 𝐶ℎ .
𝑃𝑎𝑠
𝑣𝑚𝑖𝑛
𝑆𝑖 𝑙𝑒 𝑛𝑜𝑒𝑢𝑑 𝑓𝑖𝑙𝑠 𝑑𝑒 𝑝𝑙𝑢𝑠 𝑙𝑜𝑛𝑔 𝐶ℎ 𝑐𝑜𝑚𝑚𝑒𝑛𝑐𝑒 𝑠𝑜𝑛 𝑑é𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡.
Tel que
• 𝑇𝑡 : est une marge de tolérance temporelle fixée et constante.
• Coût(Ch) : le coût du chemin pour rejoindre le père.
• Pas : longueur du pas ou la distance séparant deux points successifs de chemin.
• 𝑣𝑚𝑖𝑛 : vitesse minimale avec laquelle les nœuds peuvent opérer.
• 𝑇𝑓: temps d’attente des réponses des nœuds fils.
Remarque
• Pour le root il inonde son propre chemin le coût sera 0 et son père Id est son
propre Id.
38
39. • Après avoir décidé quel trajet un nœud
va le suivre pour rejoindre son père.
• Il est possible d’optimiser ce chemin car
le mouvement des nœuds était aléatoire
ils peuvent faire des boucles au cours de
leur mouvement ou rebondir à la
frontière d’un obstacle
39
40. • On dit qu’on a un chemin redondant (boucles,
rebondissement …) si on trouve deux points
(𝑃𝑖, 𝑃𝑖+𝑘) non successive (k > 1) dans le
tableau de chemin distant de d tel que
𝑑 ≤ 𝑃𝑎𝑠.
𝑃𝑖
𝑃𝑖+𝑘
𝑃𝑖+1
𝑃𝑖+2
𝑷𝒊 𝑷𝒊+𝟏 … 𝑷𝒊+𝒌 …
…
Ch
:
40
41. • Soit Ch un chemin tel que
𝐶ℎ = 𝑃𝑖 𝑡𝑒𝑙 𝑞𝑢𝑒 𝑖 ≤ 𝑛 𝑎𝑣𝑒𝑐 𝑛 ∈ 𝑁∗
.On
cherche les distances séparant 𝑃𝑖 et tous ses
successeurs afin de trouver un autre point
𝑃𝑖+𝑘 distant d’un Pas ou inférieure. (tel que
1 < 𝑘 ≤ 𝑛 − 𝑖).
• 𝐶 = 𝑛 − 1 − 𝑖
𝑛−1
𝑖=1
• 𝐶 =
𝑛2
2
−
3
2
. 𝑛 + 1
41
42. • Pour réduire le surcoût de calcul on
doit éviter de calculer tous les
distances séparant les points
formant le chemin.
• Par analogie avec l’algorithme de
recherche du chemin, On peut
choisir les points qui ont plus de
chances d’être proches pour
mesurer leurs distances.
42
43. • Soit k le premier entier naturel tel
que 𝑑11−𝑘. 𝑃𝑎𝑠 ≤ 0 . Il est inutile
de calculer les distances 𝑑1𝑖 pour
tout i<k.
43
44. Déplacement
Emission des
paquets Hello
Mise à
jour de
table des
voisins
Écoute
Contrôle du
mouvement
Recherche
du chemin
Optimisation
du chemin
Début du
recherche
Fin du
recherche
Inondation
du table du
chemin
44
45. • Dans cette étude on a pu créer une
approche qui permet de regrouper des
robots sans voir une carte d’environnement.
• On utilise l’inondation des messages de
position et de chemin suivi. Les robots
peuvent se rassembler si l’espace reste
invariant.
• On a montré que la recherche du chemin
peut-être une tâche couteuse en calcule
pour les robots. On a introduit un moyen
pour réduire la complexité de calcul.
45