Elective in Robotics 2014/2015
Analysis and Control
- f Multi-Robot Systems
Elements of Graph Theory
- Dr. Paolo Robuffo Giordano
CNRS, Irisa/Inria! Rennes, France
Analysis and Control of Multi-Robot Systems Elements of Graph - - PowerPoint PPT Presentation
Elective in Robotics 2014/2015 Analysis and Control of Multi-Robot Systems Elements of Graph Theory Dr. Paolo Robuffo Giordano CNRS, Irisa/Inria ! Rennes, France INTRODUCTION TO GRAPHS 2 Robuffo Giordano P ., Multi-Robot Systems: Elements of
CNRS, Irisa/Inria! Rennes, France
2
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
3
Graph Theoretic Methods in Multiagent Networks Princeton Series in Applied Mathematics, 2010
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
and an Edge Set (a subset of unordered pairs of , the “2-element subsets” of )
4
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
and an Edge Set (a subset of ordered pairs of , the “2-element subsets” of )
5
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
the vertexes and are adjacent (neighbors)
6
i
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
in
any two vertexes in
any two vertexes in
7
connected strongly connected weakly connected disconnected
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
8
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
9
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
among the robots
10
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
a comm. link can be established (uni- or bi-directional)
11
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
graphs) is closely related to the notion of decentralization and decentralized/ distributed sensing/control
controller (making use of local computing power and memory)
power) increases with the total number of robots
12
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
controllers (i.e., spreading the complexity across the multiple robots)
information flow among robots (sensed, communicated, elaborated)
information flow is constant (w.r.t. the number of robots)
information needed by nodes 1,2,3,4
the number of neighbors
13
3 1 2 4 5 10 Bytes/s 6 3 1 2 4 5 10 Bytes/s
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
14
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
study of multi-robot systems (when seen as a collection of dynamical systems)
15
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
16
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
17
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
18
N
j=1
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
19
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
20
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
labeling and orientation chosen for the graph
21
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
non-negative
connected graphs)
22
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
connected graphs)
column indexing vertex
graph
23
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
24
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
problem in multi-robots (and multi-agents) literature
(relative sensing and decentralization)
25
t→∞ xi(t) = ¯
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
(e.g., average temperature)
rates in the clocks)
26
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
so on….
27
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
state of agent
28
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
29
j∈Ni
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
will solve the initial consensus requirement (if at all)?
Laplacian (the state-transition matrix in the closed-loop dynamics)
30
t→∞ xi(t) = ¯
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
invariant linear system) is
matrix , i.e., such that
31
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
32
1 e−λ1tx0 + N
i=2
i e−λitx0
N
i=2
i e−λitx0
t→∞ x(t) = (1T x0)1
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
components of
value, that is, the average of the initial state
33
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
34
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
under the consensus protocol?
35
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
36
“sparse” graph “dense” graph
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
connectivity of the graph)
decay of the sum of exponential functions
37
N
i=2
i e−λitx0
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
38
L
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
branching
39
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
has all the eigenvalues with non-negative real part (and they cannot be an imaginary pair)
with
40
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
where and are the right and left eigenvector associated to ( as we already know)
41
1 )x0 + P N
i=2
t→∞ x(t) = (qT 1 x0)p1 = (qT 1 x0)1
1 1 = 1
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
equals the out-degree
42
t→∞ x(t) = (1T x0)1
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
analogously to the undirected graph case
43
t→∞ x(t) = (1T x0)1
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
suitable gains with
state of the robots (e.g., maximum range for communication or occlusion of visibility)
44
j∈Ni
j∈Ni(t)
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
system , in particular may lead to a switching dynamics
graph structure (~ the graph maintains some form of global connectivity across the switchings)
information exchange (along edges)
(PI-ACE – proportional/integral average consensus estimator)
45
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
46
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
do the constraints univocally determine the shape (spatial arrangement) of the agents ?
imposes a desired distance to the incident pair
(up to a rototranslation on the plane). The agents behave as a planar rigid body
47
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
N
M ≤ N(N − 1)/2 M = N(N − 1)/2
meeting the 4 pair-wise distance constraints
plane
48
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
v1 v2 v3 v4 v1 v2 v3 v4
v1 v2 v3 v4
M < N(N − 1)/2
wise geometric constraints
motions satisfying the constraints are those of the complete graph
constraints (the complexity is )
in the previous case a minimum of (properly placed) edges would be sufficient
49
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
O(N 2) O(N) 2N − 3 N = 4 N(N − 1)/2 N(N − 1)/2 6 5 3 N = 3 N = 10 45 17 3 N(N − 1)/2 2N − 3
constraints to their desired values
a complete graph)
constrains
geometric constraints
(w.r.t. a frame attached with the formation)
50
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
v1 v2 v3 v4
mapping each vertex to a point in
poses
all the edges in
51
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
G = (V, E) p : V → Rd Rd p : V → SE(d) (i, j) ∈ E gij(pi − pj) gij(pi, pj) gij(pi pj) = kpi pjk2 gG = {. . . gij . . .} : RNd → R|E| G
neighborhood of such that where is the complete graph
constraints are those of the complete graph
determined (and it is what one would have had with )
(the constraints are satisfied over all the edges in )
(the constraints are satisfied over all the possible edges)
52
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
U ⊂ RNd g−1
G (gG(p)) ∩ U = g−1 K (gK(p)) ∩ U
p G = (V, E) (G, p1) (G, p2) gG(p1) = gG(p2) E (G, p1) (G, p2) gK(p1) = gK(p2) KN G = KN KN KN
, , which are equivalent to are also congruent to
framework
is not rigid because one can find a framework which is equivalent but not congruent: the constraints are met over the edges of but not over all the possible edges in
53
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
(G, p1) (G, p2) p2 ∈ U(p1) (G, p1) (G, p1) U = RNd
v1 v2 v3 v4 v1 v2 v3 v4
(G, p1) (G, p2) (G, p1) (G, p2) G KN
framework
but not congruent
Indeed the two frameworks are (locally) rigid. Two “isolated” solutions exist for the given distance constraints
54
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
v1 v2 v3 v4
v1 v2 v3 v4 v4 v1 v2 v3 v4
motions of its nodes
which preserve the constraints ?
55
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
gG(p(t)) = const p = p(t) gG(p(t)) = const = ⇒ ˙ gG(p(t)) = 0 RG(p) ∈ R|E|×Nd ˙ gG(p(t)) = 0 = ⇒ ∂gG(p) ∂p ˙ p = RG(p) ˙ p = 0 ˙ p ∈ ker(RG(p)) ker(RG(p)) = ker(RK(p)) rank(RG(p)) = rank(RK(p)) p(t) KN
that involve special alignments
infinitesimally rigid, but it is rigid (same set of constraints over the edges)
matrix to (point-wise) lose rank. Any perturbation of this alignment would allow to regain infinitesimal rigidity
56
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
rank(RG(¯ p)) = max
p (rank(RG(p)))
(G, p1) (G, p2) (G, p1) (G, p2) ¯ p
v1 v2 v3 {v1, v2} {v2, v3} {v1, v3}
v1 v2 v3
v1, v2, v3 ¯ p
exploit spectral tools (e.g., eigenvalues, singular values) for checking or enforcing rigidity)
graph for being rigid
“right ones”
57
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
ker(RG(p)) RG(p) RG(p) ∈ R|E|×Nd G G |E| = r |E| = r rank(RKN (p)) = r < Nd rank(RG(p)) = rank(RKN (p))
translations on the plane + 1 rotation (those of a rigid body on the plane)
58
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
R2 dim ker(RG(p)) = 3 rank(RG(p)) = 2N − 3 2N − 3 N R3 SE(2) SE(3) O(N 2)
59
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
v1 v2 v3 v4
g(p) = kp1 p2k2 kp1 p4k2 kp2 p3k2 kp2 p4k2 kp3 p4k2 RG(p) = pT
1 − pT 2
pT
2 − pT 1
pT
1 − pT 4
pT
4 − pT 1
pT
2 − pT 3
pT
3 − pT 2
pT
2 − pT 4
pT
4 − pT 2
pT
3 − pT 4
pT
4 − pT 3
RG(p) = ∂gG(p) ∂p
(the framework is rigid)
translations along the x and y directions
and an arbitrary point on the plane
since
60
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
rank(RG(p)) = 5 = 2N − 3 ker(RG(p)) S = −1 1
p∗ (pT
i − pT j ) − (pT i − pT j ) = 0
S = −ST (pT
i − pT j )S(pi − p∗) − (pT i − pT j )S(pj − p∗) =
= pT
j Spi + pT i Spj = 0
n1,2 = 1n ⊗ I2 n3 = (IN ⊗ S)(p − p∗) RG(p)n1,2 RG(p)n3
valid solution for
by individually actuating the three dofs: 2D translation and rotation around
an arbitrary (the motions of a rigid body in 3D space)
application of rigidity theory is in the case of bearing constraints
61
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
(n1, n2, n3) (n1, n2, n3) ker(RG(p)) ˙ p = α1n1 + α2n2 + α3n3 p∗ R3 dim ker(RG(p)) = 6 p∗
i j k
neighboring pairs
constraint)
common frame
local frame of agent
the same general reasoning applies
62
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
βij = pj pi kpj pik 2 Sn−1 βij = Ri pj pi kpj pik 2 Sn−1 Rn i (n − 1)
“parallel rigidity”
translations and an expansion/retraction (but no rotation!)
constraints, but different kernel !! (in particular, is different)
we are constraining “relative angles” between pairs of agents
63
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
βij = pj pi kpj pik 2 Sn−1 KN
v1 v2 v3
v1 v2 v3
R2 rank(RG(p)) = 2N − 3 n3
important for formation control and localization
mutatis mutandis, for the bearing case)
with a desired
will be placed on the plane
controller which zeros the “constraint error”
with the desired
64
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
pd N p ∈ RNd gij(p) gd = gG(pd) gd − gG(p) gd = gG(p) pd
(!)
decentralized structure of the rigidity matrix
where and
65
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
∂e ∂p ˙ p = RT
G (p)(gd − gG(p))
RG(p)
e = 1 2kgd gG(p)k2 = 1 2 X
(i,j)∈E
(gij(pd) gij(p))
eij = pj − pi dij = kpj,d pi,dk
˙ pi = X
j∈Ni
(keijk2 d2
ij)eij
po = 1 N X pi ˙ po = 0 ∂e ∂p = −(gT
d − gT G (p))∂gG(p)
∂p = −(gT
d − gT G (p))RG(p)
66
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
v1 v2 v3 v4
RG(p) = pT
1 − pT 2
pT
2 − pT 1
pT
1 − pT 4
pT
4 − pT 1
pT
2 − pT 3
pT
3 − pT 2
pT
2 − pT 4
pT
4 − pT 2
pT
3 − pT 4
pT
4 − pT 3
RG(p) pi pj, j ∈ Ni
Agent 3
measurement graph
distances ? Localize = find correct agent positions in some “common frame”
, then can only be a rigid rototranslation of the real
can be different from the frame where is expressed!). However:
frame
67
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
N G (G, p) ˆ p ˆ p gG(ˆ p) = gG(p) ˆ p p ˆ p p
Note that we now consider and minimize w.r.t.
fixing the final roto-translation ambiguity
frame by fixing the estimated position of one of the agents
positions w.r.t. the position of agent 1
68
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
e = 1 2kgG(p) gG(ˆ p)k2 p = const ˆ p ˆ p ˙ ˆ p = RT
G (ˆ
p)(gG(p) − gG(ˆ p)) ˆ p ˆ p1 = 0 ˆ pi ker(RG) ∂e ∂ˆ p = −(gT
G (p) − gT G (ˆ
p))RG(ˆ p)
the direction of the real
which leads to the update law where is the Kroenecker delta
69
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
ˆ p1 − ˆ pk = p1 − pk k ∈ N1 ker(RG) e = 1 2kgG(p) gG(ˆ p)k2 + 1 2kˆ p1k2 + 1 2kp1 pk (ˆ p1 ˆ pk)k2 ˙ pi = X
j∈Ni
(kˆ pi ˆ pjk2 d2
ij)(ˆ
pi ˆ pj) δi1ˆ p1 δik(ˆ p1 ˆ pk (pi pk)) δij ˆ pk p1 − pk
frame
70
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
βvu p(u) ψ(u) ψ(v) p(v)
βij = Ri pj pi kpj pik 2 Sn−1 G (pi, ψi) ∈ SE(2) RG ∈ R|E|×3N (p1, ψ1, . . . pN, ψN) 3N
solved up to a global roto-translation and scaling on the plane
71
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
KN p∗ rank(RG) = 3N − 4 3N − 4 E ker(RG)
with the desired one
are invariant
72
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
v1 v2 v3 v5 v4 v6
e, etotal
px
i (t)i2V
py
i (t)i2V
65 e, etotal
px
i (t)i2V
py
i (t)i2V
65 e, etotal
px
i (t)i2V
py
i (t)i2V
65
#
time [s]
10 20 30 40 50
e, etotal
0.05 0.1 0.15 0.2 0.25
px
i (t)i2V
py
i (t)i2V
65 e, etotal
px
i (t)i2V
py
i (t)i2V
65 e, etotal
px
i (t)i2V
py
i (t)i2V
65
#
e, etotal
px
i (t)i2V
0.5 1 1.5 2
py
i (t)i2V
0.5 1 1.5 2 2.5
65 e, etotal
px
i (t)i2V
py
i (t)i2V
65 e, etotal
px
i (t)i2V
py
i (t)i2V
65
#
N = 6 |E| = 14
¯ p = 1 N
N
X
i=1
pi ¯ sp = 1 N v u u t
N
X
i=1
kpi ¯ pk2
73
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
74
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
e, etotal
px
i (t)i2V
py
i (t)i2V
65 e, etotal
px
i (t)i2V
py
i (t)i2V
65
v1 v2 v3 v5 v4 v6
e, etotal
px
i (t)i2V
py
i (t)i2V
65
#
e, etotal
px
i (t)i2V
py
i (t)i2V
65 e, etotal
px
i (t)i2V
py
i (t)i2V
65 time [s]
10 20 30 40 50
e, etotal
0.05 0.1 0.15 0.2 0.25
px
i (t)i2V
py
i (t)i2V
65
#
e, etotal
px
i (t)i2V
py
i (t)i2V
65 e, etotal
px
i (t)i2V
py
i (t)i2V
65 e, etotal
px
i (t)i2V
0.5 1 1.5 2
py
i (t)i2V
0.5 1 1.5 2 2.5
65
#
(4, 1)
Rigid framework Non-rigid framework
75
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
v1 v2 v3 v5 v4 v6
1 2 3 4 5 6 7 8 9 10 −6 −5 −4 −3 −2 −1 1 2time [s] e
1 2 3 4 5 6 7 8 9 10 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5time [s] ep
−2 −1.5 −1 −0.5 0.5 1 1.5 2 −0.5 0.5 1 1.5 2 2.5 3px
i (t)i∈V
py
i (t)i∈V
v1 v2 v3 v5 v4 v6
1 2 3 4 5 6 7 8 9 10 −6 −5 −4 −3 −2 −1 1 2time [s] e
1 2 3 4 5 6 7 8 9 10 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6time [s] ep
−2 −1.5 −1 −0.5 0.5 1 1.5 2 −0.5 0.5 1 1.5 2 2.5 3px
i (t)i∈V
py
i (t)i∈V
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
v1 v2 v3 v5 v4 v6 v1 v2 v3 v5 v4 v6
formation control
from onboard cameras
dofs:
with 2 haptic devices
desired and actual commands
77
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
shape) and actual motion becomes a force cue
78
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
In collaboration with
Technion, Isreal
Robuffo Giordano P ., Multi-Robot Systems: Formation Control of Multiple Robots
79
Technion, Isreal In collaboration with
IJRR 2014
positions out of measured relative distances
Robuffo Giordano P ., Multi-Robot Systems: Formation Control of Multiple Robots
80
graph )
localization schemes based on the Rigidity Matrix
minimum
81
Robuffo Giordano P ., Multi-Robot Systems: Elements of Graph Theory
G