Institute for Design and Control of Mechatronical Systems
Systèmes Robotiques
Hétérogènes et Coopératifs
UPJV, Département EEA
Fabio MORBIDI, Mohammed CHADLI
Laboratoire MIS Équipes PR et COVE
E-mails : {fabio.morbidi, mchadli}@u-picardie.fr Jeudi 8h30-12h30
Master 2 3A, 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 (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
1
3 2
1 1/2
1/2 1
• On peut exprimer les dynamiques du système résultant comme suit:
Vers le consensus: réseaux orientés
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é du réseau
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 ranq 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 graphe enraciné à ramification sortante, si:
a) Il ne contient pas de cycles orientés
b) Il a une sommet (racine) qui à la proprieté suivante: pour tous les autres sommets , il existe un chemin orienté de à
Définition (Graphe enraciné à ramification sortante ou arbre orienté enraciné)
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
Théorème (Résultat principal)
Pour un digraphe contenant un arbre orienté enraciné, la trajectoire de l‘é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
Bleu: un arbre orienté enraciné de (non 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é:
reste inchangée par rapport à la dynamique de consensus, Proposition (Constant de mouvement)
Remarque:
Le vecteur est un vecteur propre gauche associé à la valeur propre de la matrice si:
Vers le consensus: remarque I
Vers le consensus: remarque II, digraphes balancés
On dit que un digraphe est balancé si, pour chaque sommet, le degré entrant et le degré sortant sont identiques
Définition (Digraphe balancé)
Digraphe balancé (poids unitaires) Digraphe non balancé (poids unitaires) degré entrant ≠ degré sortant
degré entrant = degré sortant
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
degré entrant ≠ degré sortant degré entrant = degré sortant
Si le digraph est balancé, en plus de , nous avons aussi la propriété suivante:
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:
i.e.
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’informations 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 inertiel, et est l’entrée de commande (l’accélération), avec
• Inspirés par le protocole de consensus, on peut définir l’entrée de commande suivante pour l’agent :
où est un gain positif
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 composantes sur chaque ligne est égale à 1:
• 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 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 chaînes de Markov, voir “Consensus and Cooperation in Networked Multi-Agent Systems”, R. Olfati-Saber, J. A. Fax, R. M. Murray, in Proc. IEEE, vol. 95, n. 1, pp. 215-233, 2007
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
4. Protocole de consensus avec interactions antagonistes
Extensions du protocole de consensus
1490 blogs (sommets) et 19025 arêtes entre eux
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 qui 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
“Consensus Problems on Networks With Antagonistic Interactions”, C. Altafini, in IEEE Trans. Automat. Contr., vol. 58, n. 4, pp. 935-946, 2013
4. Protocole de consensus avec interactions antagonistes
Consensus biparti
(ex. polarisation des opinions dans deux groupes)
time [s]
Groupe 1
Groupe 2
Extensions du protocole de consensus
“Consensus Problems on Networks With Antagonistic Interactions”, C. Altafini, in IEEE Trans.
Automat. Contr., vol. 58, n. 4, pp. 935-946, 2013
Exemple (graphes signés, ):
-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é
Objectif: contrôler un groupe de robots mobiles pour parvenir à une formation invariante aux translations, définie par:
Le graphe de formation
Un ensemble associé de positions cibles
Soit la position du robot . L‘objectif du protocole à concevoir est que pour quelque
Dans ce but, on représente la structure du réseau de communiucation entre les robots avec le graphe que on appelle graphe d‘interaction
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 statique 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 on aura:
Extensions du protocole de consensus
5. Contrôle de formations de robots
Bleu: position initiale Rouge: position finale
Extensions du protocole de consensus
Exemple: Contrôle de formation dans un espace 3-D ( ).
Ensemble de positions cibles : 81 points equispacés sur la surface de la sphère unitaire
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)
On peut ré-écrire de façon compacte les lois d‘interaction non linéaires précédentes comme:
où et est la matrice d’incidence du graphe . Etant donné un vecteur , on définit:
Pour plus de détails, voir:
• “On the Stability of the Kuramoto Model of Coupled Nonlinear Oscillators”, Ali Jadbabaie, Nader Motee and Mauricio Barahona, in Proc. American Control Conf., pp. 4296-4301, 2004
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 depend de la valeur de Fiedler
Extensions du protocole de consensus
Pour plus de détails, voir:
• “Distributed Geodesic Control Laws for Flocking of Nonholonomic Agents”, N. Moshtagh, A. Jadbabaie, IEEE Trans. Automat. Contr., vol. 52, n. 4, pp. 681-686, 2007.
• “Stabilization of Planar Collective Motion With Limited Communication” R. Sepulchre, D.A. Paley, N.E. Leonard, vol. 53, n. 3, pp. 706-719, 2008.
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 sont alignés: rouges)
Extensions du protocole de consensus
On définit la moyenne pondérée d‘ordre de nombres réels positifs comme:
Selon la valeur de , nous avons:
où les poids positifs vérifiant
Minimum
Moyenne harmonique Moyenne géométrique
Moyenne arithmétique: en particulier si Moyenne quadratique (RMS)
6. Protocoles de consensus non linéaires (II)
Extensions du protocole de consensus
On peut définir alors le protocole de consensus à moyenne pondérée d‘ordre :
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
• “Distributed algorithms for reaching consensus on general functions”, J. Cortés, Automatica, vol. 44, n. 3, pp. 726-737, 2008
6. Protocoles de consensus non linéaires (II)
Extensions du protocole de consensus
Toolbox de Matlab pour la théorie des graphes
A partir de Matlab R2015b
Fonctions 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 laplacian - Graph Laplacian
Fonctions de la toolbox
shortestpath - Compute shortest path between two nodes shortestpathtree - Compute single source shortest paths
distances - Compute all pairs distances
nearest - Compute nearest neighbors 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
digraph
De la même façon pour les graphes orientés il existe la fonction
Fonctions de la toolbox
graph methods: