Institute for Design and Control of Mechatronical Systems
Systèmes Robotiques
Hétérogènes et Coopératifs
UPJV, Département EEA
Fabio MORBIDI
Laboratoire MIS
Équipe Perception Robotique E-mail : fabio.morbidi@u-picardie.fr
Master 2 3EA, EC35 - Parcours RoVA
Protocole de consensus
Réseaux orientés
Considérons le graphe orienté (digraphe) pondéré dans la figure ci-dessous, qui correspond aux dynamiques du premier ordre :
1
2
Vers le consensus: réseaux orientés
Nous pouvons réécrire de façon compacte le système
précédent comme suit:
1
2
3 4
où
Si on utilise la définition de matrice laplacienne pour des graphs orientés pondérés (avec degré entrant), on peut réécrire les dynamiques du réseau de la façon suivante:
où réprésente la connexion orientée sous-jacente entre les sommets
Vers le consensus: réseaux orientés
Un autre exemple:
• Trois robots coordonnent leurs vitesses selon la chaîne de commande dans la figure
• On peut exprimer les dynamiques du système résultant comme suit:
Vers le consensus: réseaux orientés
1
3 2
1 1/2
1/2 1
L‘équation précédente peut être réécrite de façon compacte:
où
La matrice dans le système ci-dessus correspond à “moins“ la matrice laplacienne (degré entrant) du réseau, ainsi:
où est le graph orienté pondéré qui décrit la chaîne de commande
Vers le consensus: réseaux orientés
1
3 2
1 1/2
1/2 1
Y a-t-il des conditions nécessaires et suffisantes sur le graphe qui
garantissent la convergence du système vers l‘ensemble de consensus ?
Comme pour les graphes non orientés, le rang de la matrice laplacienne et sa relation avec la structure du graphe, joue un rôle crucial
La notion suivante correspond à celle d‘arbre couvrant vue pour un graphe non orienté
Un graphe orienté est un arbre orienté enraciné, si:
a) Il ne contient pas de cycles orientés
Définition (Arbre orienté enraciné ou graphe enraciné à ramification sortante)
Vers le consensus: réseaux orientés
Exemple d‘arbre orienté enraciné
racine
Vers le consensus: réseaux orientés
Un digraphe avec sommets contient un arbre orienté enraciné comme sous-graphe si et seulement si:
Proposition
Vers le consensus: réseaux orientés
Rappel:
Le vecteur est un vecteur propre à gauche associé à la valeur propre de la matrice si:
Un digraphe avec sommets contient un arbre orienté enraciné comme sous-graphe si et seulement si:
Proposition
Vers le consensus: réseaux orientés
Exemple:
Valeurs propres:
Vecteurs propres à droite:
Vecteurs propres à gauche:
Rappel:
Le vecteur est un vecteur propre à gauche associé à la valeur propre de la matrice si:
Théorème (Résultat principal)
Pour un digraphe contenant un arbre orienté enraciné, la trajectoire d‘état générée par avec condition initiale , satisfait:
où et sont respectivement, les vecteurs propres à droit et à gauche associés à la valeur propre zéro de , normalisés tels que . Par conséquent, nous avons que
pour toute condition initiale si et seulement si contient un arbre orienté enraciné
Vers le consensus: réseaux orientés
Exemple:
racine
contient un arbre orienté enraciné (bleu). Il n‘est pas unique !
Vers le consensus: réseaux orientés
Soit le vecteur propre à gauche associé à la valeur propre zéro de la matrice laplacienne (avec degré entrant) d‘un digraphe .
Alors la quantité suivante:
reste inchangée par rapport à la dynamique de consensus, Proposition (Constant de mouvement)
Vers le consensus: remarque I
Vers le consensus: remarque II, digraphes balancés
On dit qu‘un digraphe est balancé si, pour chaque sommet, le degré entrant et le degré sortant sont identiques
Définition (Digraphe balancé)
Digraphe balancé Digraphe non balancé
degré entrant ≠ degré sortant degré entrant = degré sortant
Exemple (Digraphes non pondérés):
Digraph balancé Digraphe non balancé
2
3 5
2
5
5
1
2 4
3
1/2 2
Vers le consensus: remarque II, digraphes balancés
Exemple (Digraphes pondérés):
Si le digraph est balancé, en plus de , nous avons aussi la propriété que la somme des éléments sur chaque colonne de est zéro,
Le protocole de consensus sur le digraphe parvient au consensus en moyenne pour toute condition initiale si et seulement si le digraphe est faiblement connexe et balancé
Théorème
Donc, si le digraphe contient un arbre orienté enraciné et il est balancé, le protocole de consensus converge vers une valeur commune qui est la moyenne des états initiaux, c‘est-à-dire le consensus en moyenne, car:
à savoir
Vers le consensus: remarque II, digraphes balancés
Protocole de consensus
Quelques extensions pour graphes
non orientés
1. Protocole de consensus avec délais temporels uniformes
“Consensus problems in networks of agents with switching topology and time-delays”, R. Olfati-Saber, R.M. Murray, IEEE Trans. Automat. Contr., vol. 49, n. 9, pp. 1520-1533, 2004
On considère la dynamique de consensus uniformément retardée sur un graphe non orienté pondéré, décrite par l’équation:
pour quelque Ce protocole retardé parvient au consensus en moyenne si et seulement si:
où est la valeur propre la plus forte de la matrice laplacienne pondérée du graphe
• Compromis entre le taux de convergence et la tolerance aux délais uniformes dans les exchanges d’information sur le réseau
Extensions du protocole de consensus
2. Protocole de consensus pour des agents double intégrateur
On considère la dynamique du second ordre suivante pour l’agent :
où et sont, respectivement, la position et la vitesse de l’agent par rapport au repère absolu, et est l’entrée de commande (accélération), avec .
• Inspirés par le protocole de consensus, on peut définir l’entrée de commande suivante pour l’agent :
ou de manière équivalente
(représentation d’état)
Extensions du protocole de consensus
3. Protocole de consensus à temps discret
On peut introduire la forme itérative suivante du protocole de consensus en temps discret:
où est l’incrément et est le degré maximum du graphe
On peut écrire de façon compacte les dynamiques collectives des agents comme suit:
où et
Extensions du protocole de consensus
• est dite matrice de Perron du graphe avec paramètre
• est une matrice stochastique (à droite), c’est-à-dire la somme des éléments sur chaque ligne est égale à :
• Les conditions pour parvenir au consensus en temps discret sont les mêmes que en temps continu
• La vitesse de convergence vers l’ensemble de consensus est dictée cette fois-ci par:
la deuxième valeur propre la plus forte de
Pour plus de détails sur le protocole de consensus à temps discret et ses liens avec la théorie des
Extensions du protocole de consensus
3. Protocole de consensus à temps discret
On peut modéliser des interactions antagonistes (par ex. amis vs adversaires dans un réseau social), avec des poids negatifs dans le graphe de communication (“graphe signé”)
4. Protocole de consensus avec interactions antagonistes
Extensions du protocole de consensus
1490 blogs (sommets) et 19025 arêtes entre les blogs
Exemple: Visualisation de blogs politiques aux États-Unis (2014):
(rouge) parti républicain, (bleu) parti démocrate
• Sur des graphes signés, tous les agents peuvent converger vers la valeur de consensus. Cette valeur
est la même pour tous à l’exception du signe:
on parle donc de “consensus biparti”
• On peut parvenir au consensus biparti si le graphe est structurellement balancé. Ca veut dire que tous
les cycles dans le graphe sont positifs, à savoir ils contiennent un nombre pair de poids negatifs sur les arêtes
4. Protocole de consensus avec interactions antagonistes
Consensus biparti
(par ex. polarisation des opinions dans deux groupes )
time [s]
Groupe 1
Groupe 2
Extensions du protocole de consensus
Exemple (graphes signés avec ):
-2 -4
1
-2 4
1
2 4
1
Structurellement balancé
4. Protocole de consensus avec interactions antagonistes
Extensions du protocole de consensus
Structurellement balancé Non structurellement
balancé
5 5 -3
Problème: contrôler un groupe de robots mobiles pour parvenir à une formation invariante aux rotations, définie par:
• Le graphe de formation
• Un ensemble associé de positions cibles
Soit la position du robot . L‘objectif du contrôleur de formation est que pour quelque
On décrit la structure du réseau de communication entre les robots avec le graphe qu‘on appelle graphe d‘interaction
Objectif: contrôler les robots de telle sorte que converges
Extensions du protocole de consensus
5. Contrôle de formations de robots
Théorème
Soit le graphe connexe de formation et l‘ensemble des positions cibles. Si le graphe d‘interaction satisfait la condition , alors le protocole de consensus,
permettra aux robots de converger asymptotiquement vers un déplacement constant par rapport aux positions cibles, c‘est-à-dire, pour tout nous
aurons:
Extensions du protocole de consensus
5. Contrôle de formations de robots
Extensions du protocole de consensus
Exemple: Contrôle de formation dans l‘espace 2D ( )
Ensemble de positions cibles : 10 points equispacés sur le circle unitaire Pour plus de simplicité, on a choisit
Bleu: position initiale Rouge: position finale
Extensions du protocole de consensus
Exemple: Contrôle de formation dans l‘espace 3D ( )
Ensemble de positions cibles : 81 points equispacés sur la surface de la sphère unitaire
a
Le modèle de Kuramoto pour oscillateurs couplés en interaction sur un réseau est défini par:
où est la phase de l’oscillateur et est la force de couplage entre les oscillateurs
Extensions du protocole de consensus
6. Protocoles de consensus non linéaires (I)
Analogue mécanique:
On peut ré-écrire de façon compacte les lois d‘interaction non linéaires précédentes comme:
où , est la matrice d’incidence du graphe et étant donné un vecteur on définit:
Pour plus de détails, voir:
• “On the Stability of the Kuramoto Model of Coupled Nonlinear Oscillators”, A. Jadbabaie, N. Motee, M. Barahona, in Proc. American Control Conf., pp. 4296-4301, 2004
• “From Kuramoto to Crawford: exploring the onset of synchronization in populations of coupled oscillators”, S.H. Strogatz, Physica D: Nonlinear Phenomena, vol. 143, n. 1, pp. 1-20, 2000
On peut montrer (par ex. avec des outils de théorie de la passivité) que pour un graphe connexe , pour tout et presque pour toute condition initiale , le mouvement des oscillateurs sera synchronisé. En outre, le taux de convergence vers l’état de synchronisation dépend de la
valeur de Fiedler
Extensions du protocole de consensus
θ(0)
Pour plus de détails, voir:
Avec un groupe de robots de type unicycle, on peut utiliser ce mécanisme de synchronisation pour le flocking, à savoir pour aligner leurs vecteurs de vitesse
Configuration initiale Flocking (le vecteurs de vitesse, en rouge, sont alignés)
Extensions du protocole de consensus
G
La moyenne pondérée d‘ordre de nombres réels positifs est définie comme suit:
où les poids positifs sont tels que
Minimum
Moyenne harmonique Moyenne géométrique
Moyenne arithmétique: en particulier, si
Moyenne quadratique (RMS) Maximum
6. Protocoles de consensus non linéaires (II)
Extensions du protocole de consensus
Selon la valeur de , nous avons:
On peut définir alors le protocole de consensus à moyenne pondérée d‘ordre comme:
Pour plus de détails sur les propriétés de convergence de ce protocole non linéaire, voir:
• “Nonlinear protocols for optimal distributed consensus in networks of dynamic agents”, D. Bauso, L. Giarré, R. Pesenti, Systems & Control Letters, vol. 55, n. 11, pp. 918-928, 2006
6. Protocoles de consensus non linéaires (II)
Extensions du protocole de consensus
Graphe de communication variable dans le temps:
Communication asynchrone (event-triggered, gossip, etc.) Communication quantifiée
Communication imparfaite: défaillance des arêtes et bruit dans le canal de commun.
Graphes aléatoires
Consensus dynamique (“dynamic average consensus“) D‘autres extensions ...
Extensions du protocole de consensus
G = G(t)
• “Consensus seeking in multiagent systems under dynamically changing interaction topologies”, W. Ren, R.W. Beard, IEEE Trans. Autom. Control, vol. 50, n. 5, pp. 655-661, 2005
• "Distributed event-triggered control for multi-agent systems", D.V. Dimarogonas, E. Frazzoli, K.H. Johansson, IEEE Trans. Autom. Control, vol. 57, n. 5, pp. 1291-1297, 2011
• “Average consensus on networks with quantized communication”, P. Frasca, R. Carli, F. Fagnani, S. Zampieri, Int. J. Robust Nonlinear, vol. 19, n. 16, pp. 1787-1816, 2009
• “Distributed consensus algorithms in sensor networks with imperfect communication: link failures and channel noise”, S. Kar, J. Moura, IEEE Trans. Signal Proces., vol. 57, n. 1, pp. 355-369, 2009
• “A necessary and sufficient condition for consensus over random networks”, A. Tahbaz-Salehi, A. Jadbabaie, IEEE Trans. Autom. Control, vol. 53, n. 3, pp. 791-795, 2008
• “Tutorial on Dynamic Average Consensus: The Problem, its Applications, and the Algorithms”, S.S Kia, B. Van Scoy, J. Cortés, R.A. Freeman, K.M. Lynch, S. Martinez, IEEE Contr. Syst. Mag., vol. 39, n. 3, pp. 40-72, 2019
Toolbox de Matlab pour la théorie des graphes
À
partir de Matlab R2015bQuelques commandes de la toolbox
G = graph(A) uses the square symmetric matrix A as an adjacency matrix and constructs a weighted graph with edges corresponding to the nonzero entries of A.
G = graph(S,T) constructs a graph with edges specified by the node pairs (S,T).
S and T must have the same number of elements or be scalars.
G = graph(S,T,WEIGHTS) also specifies edge weights with the numeric array WEIGHTS.
WEIGHTS must have the same number of elements as S and T, or can be a scalar.
G = graph(S,T,...,'OmitSelfLoops') does not add self-loops to the graph
graph properties:
Edges - Table containing edge information Nodes - Table containing node information
graph
graph methods:
numnodes - Number of nodes in a graph numedges - Number of edges in a graph addnode - Add nodes to a graph
rmnode - Remove nodes from a graph addedge - Add edges to a graph
rmedge - Remove edges from a graph degree - Degree of nodes in a graph neighbors - Neighbors of a node in a graph subgraph - Extract an induced subgraph adjacency - Adjacency matrix of a graph incidence - Incidence matrix of a graph
Quelques commandes de la toolbox
bfsearch - Breadth-first search (BFS) dfsearch - Depth-first search (DFS)
shortestpath - Compute shortest path between two nodes shortestpathtree - Compute single source shortest paths
distances - Compute all pairs distances
nearest - Compute nearest neighbors (at a distance D) of a node conncomp - Compute connected components of a graph
minspantree - Compute minimum spanning tree of a graph isisomorphic - Determine whether two graphs are isomorphic
plot - Plot an undirected graph
De la même façon pour les graphes orientés, il existe la fonction digraph