Housheng Su Xiaofan Wang (corresponding author) and. Wen Yang are with the Department of Automation, Shanghai. Jiao Tong
Asian Journal of Control, Vol. 10, No. 2, pp. 238 245, March 2008 Published online in Wiley InterScience (www.interscience.wiley.com) DOI: 10.1002/asjc.022
–Brief Paper–
FLOCKING IN MULTI-AGENT SYSTEMS WITH MULTIPLE VIRTUAL LEADERS Housheng Su, Xiaofan Wang, and Wen Yang ABSTRACT Many tracking problems in flocking are related to a single (virtual) leader with a constant velocity. In this paper, we investigate the problem of controlling a group of mobile autonomous agents to track multiple virtual leaders with varying velocities in the sense that agents with the same virtual leader attain the same velocity and track the corresponding leader. We propose a provablystable flocking algorithm. Moreover, we show that the position and velocity of the center of the mass of all agents will exponentially converge to weighted average position and velocity of the virtual leaders. Numerical simulations are worked out to illustrate theoretical results.
Key Words: Flocking, virtual leader, informed agent, distributed control.
I. INTRODUCTION Flocking behavior exists in the nature in the form of flocks of birds, schools of fish, swarms of bacteria, and so on [1, 2]. Flocking problems have attracted much attention among researchers studying biology, physics, computer science and control engineering in recent years [1–5]. This is partly due to broad applications of multi-agent systems in many areas including cooperative control of mobile robots, unmanned air vehicles (UAVs), and so on [3–5]. In 1986, Reynolds proposed a flocking model to generate a computer animation model of the motion of bird flocks [1], which introduced three heuristic rules: separation, alignment and cohesion. Stimulated by the Reynolds’ model, many flocking algorithms were proposed by a combination of a velocity consensus component with a local artificial potential field [3, 4]. Consensus algorithm [5–7] and potential function Manuscript received April 29, 2007; revised October 2, 2007; accepted December 10, 2007. Housheng Su Xiaofan Wang (corresponding author) and Wen Yang are with the Department of Automation, Shanghai Jiao Tong University, Dongchuan Road 800, Shanghai 200240, China (e-mail:
[email protected]). This work was partly supported by the NSF of PRC for Creative Research Groups (60521002) and the NSF of P. R. China under Grant No. 70431002, 60674045 and 60731160629, and the Program of Shanghai Subject Chief Scientist (07XD14017).
q
method [8] are closely related to flocking problem. Recently, many additional rules had been suggested, including obstacle avoidance [4] and goal seeking [4, 5, 8–10]. In particular, Olfati-Saber proposed a flocking algorithm with a virtual leader by including a navigational feedback mechanism to every agent [4]. Till now, most tracking problems in flocking control are related to the single (virtual) leader case. However, there are many missions in reality which include multiple goals seeking [11]. This motivates the following question: can we design a distributed control algorithm so that all the agents in the group to track their corresponding virtual leaders with varying velocities? In this paper, we are interested in the problem of controlling a group of mobile autonomous agents to track multiple virtual leaders with varying velocities, that is, each agent tracks its corresponding virtual leader. In the single virtual leader case, an agent in the group is influenced by the virtual leader and some other informed agents which are influenced by the same virtual leader, flocking algorithms have been designed so that all the informed agents in the group can attain the velocity of the virtual leader with constant velocity [4] or varying velocity [10]. However, in the multiple virtual leaders case, an informed agent is influenced not only by its corresponding virtual leader but also by some informed agents which are influenced by other virtual leaders during the moving. To deal with this difficulty, we modify the single-leader algorithm in [4, 10] so that
2008 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
239
H. Su et al.: Flocking in Multi-agent Systems with Multiple Virtual Leaders
−
the resulting algorithm will enable the asymptotic tracking of multiple virtual leaders.
j∈Ni (t)
2.1 Problem statement We consider N agents moving in an n-dimensional Euclidean space. The motion of each agent is described by a double integrator of the form q˙i = pi (1) p˙ i = u i , i = 1, . . . , N where qi ∈ Rn is the position vector of agent i, pi ∈ Rn is its velocity vector and u i ∈ Rn is the (acceleration) control input acting on agent i. We assume that each agent is informed by one of the M(1≤M≤N ) virtual leaders which have the following dynamics q˙i = pi , i ∈ {1, 2, . . . , M}, p˙ i = f i (qi , pi ) (2)
where qi , pi and f i (qi , pi ) are position, velocity and acceleration of the virtual leader which is tracked by agent i. The neighborhood region for agent i is defined as: Ni (t) = { j|qi − q j 0 and k¯ ∈ Z+ , then at most k¯ distinct pairs of agents could possibly collide (k¯ = 0 guarantees a collision-free motion). 3.2 Proof of the Theorem Proof of part (i). Denote the position difference vector and the velocity difference vector between agent i and its corresponding virtual leader as q˜i = qi − qi and p˜ i = pi − pi , respectively. Then q˙˜ i = p˜ i (9) p˙˜ = u i − f (q , p ), i = 1, . . . , N i
i
i
i
Therefore, collective potential function can be written as V˜i =
N j=1, j=i
(q˜i j )
(10)
Thus the control input for agent i can be rewritten as ui = − ∇q˜i (q˜i j ) j∈Ni (t)
−
j∈Ni (t)
ai j (q)( ˜ p˜ i − p˜ j ) + f i (qi , pi )
−c1 q˜i − c2 p˜i q
(11)
and the positive semi-definite energy function (7) can be rewritten as N 1 (Ui (q) ˜ + p˜iT p˜ i ) (12) Q(q, ˜ p) ˜ = 2 i=1 where q˜ = col(q˜1 , q˜2 , . . . , q˜ N ), p˜ = col( p˜ 1 , p˜ 2 , . . . , p˜ N ) and Ui (q) ˜ =
N j=1, j=i
(q˜i j ) + c1 q˜iT q˜i
= V˜i + c1 q˜iT q˜i
(13)
Due to the symmetry of pairwise potential function and the interaction coefficients ai j (q), ˜ N N 1 p˜ iT p˙˜ i U˙ i + Q˙ = 2 i=1 i=1
= − p˜ T [(L(q) ˜ + c2 I N ) ⊗ In ] p˜
(14)
Since L(q) ˜ is the Laplacian of the graph G(q) ˜ which ˙ is a positive semi-definite matrix [12], we have Q≤0, and thus Q(q(t), ˜ p(t))≤Q ˜ 0 for all t≥0. From (12)-(13), we have c1 q˜iT q˜i ≤2Q 0 for any agent i. So the distance between any agent √ and its corresponding virtual leader is not greater than 2Q 0 /c1 for all t≥0. Furthermore, the difference between velocities of any agent and √ its corresponding virtual leader is not greater than 2Q 0 for all t≥0. Proof of part (ii). From above, the set {q, ˜ p} ˜ such that Q≤Q 0 is closed and bounded. Hence, the set = {[q˜ T , p˜ T ]T ∈ R2N n |Q≤Q 0 }
(15)
is a compact invariant set. It follows from LaSalle’s invariant principle [13] that all the trajectories of the agents that start from will converge to the largest invariant set inside the region S = {[q˜ T , p˜ T ]T ∈ R2N n | Q˙ = 0}. From (14), we have pi = pi ,
i = 1, 2, . . . , N .
(16)
Proof of part (iii). It follows from the control protocol (4) and the symmetry of A(q) ˜ that N i=1 (u i − f i (qi , pi )) N 1 N =− ∇qi (q˜i − q˜ j ) i=1 j∈N (t) N i + ai j (q)( ˜ p˜ i − p˜ j ) + c1 q˜i + c2 p˜i j∈Ni (t)
2008 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
241
H. Su et al.: Flocking in Multi-agent Systems with Multiple Virtual Leaders
for c22 = 4c1 ,
−c ⎧ 2 2c ⎪ ⎪ ¯ = q¯ (t) + q(0) ¯ − q¯ (0) + ( p(0) ¯ − p¯ (0)) + 1 (q(0) ¯ − q¯ (0)) t e 2 t ⎨ q(t) c2
−c 2 ⎪ −c2 ⎪ ⎩ p(t) ¯ = p¯ (t) + p(0) ¯ − p¯ (0) + ¯ − q¯ (0)) t e 2 t ( p(0) ¯ − p¯ (0)) − c1 (q(0) 2
(19)
for c22 4c1 , ⎧ 1 ⎪ ⎪ q(t) ¯ = q¯ (t) − ( p(0) ¯ − p¯ (0) ⎪ ⎪ ⎪ 2 ⎪ c2 − 4c1 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ −c2 − c22 −4c1 c2 − c22 − 4c1 ⎪ ⎪ t ⎪ 2 ⎪ (q(0) ¯ − q¯ (0)))e + ⎪ ⎪ 2 ⎪ ⎪ ⎪ ⎪ ⎪ 1 ⎪ ⎪ + ( p(0) ¯ − p¯ (0) ⎪ ⎪ ⎪ 2 ⎪ c2 − 4c1 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ −c2 + c22 −4c1 ⎪ c2 + c22 − 4c1 ⎪ t ⎪ ⎪ 2 (q(0) ¯ − q¯ (0)))e + ⎪ ⎪ 2 ⎪ ⎨ c2 + c22 − 4c1 ⎪ ⎪ ⎪ p(t) ¯ = p¯ (t) + ( p(0) ¯ − p¯ (0) ⎪ ⎪ ⎪ ⎪ 2 c22 − 4c1 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ −c2 − c22 −4c1 ⎪ c2 − c22 − 4c1 ⎪ ⎪ t ⎪ 2 (q(0) ¯ − q¯ (0)))e + ⎪ ⎪ ⎪ 2 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ −c2 + c22 − 4c1 ⎪ ⎪ ⎪ ⎪ + ( p(0) ¯ − p¯ (0) ⎪ ⎪ ⎪ 2 c22 − 4c1 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ −c2 + c22 −4c1 ⎪ c + c22 − 4c1 ⎪ 2 ⎪ t ⎩ 2 + (q(0) ¯ − q¯ (0)))e 2
q
(20)
where q(0) ¯ and p(0) ¯ are initial position and velocity of COM, q¯ (0) and p¯ (0) are initial weighted average position and velocity of virtual leaders. The solutions (18)–(20) indicate part (iii) of Theorem 1. Proof of part (iv). From (16), we see that, in steady state, p˙ 1 = p˙ i = f i (qi , pi ),
i = 1, 2, . . . , N ,
which implies that u i = f i (qi , pi ). It thus follows from (11) and (13) that
N 1 ∇q˜ Ui (q) ˜ =0 (21) 2 i=1 Similar to the proof of part (ii) of Theorem 2 in [4], we have the results in part (iv) of Theorem 1.
(18)
Proof of part (v). In view of (14), Q(q(t), ˜ p(t)) ˜ is a nonincreasing function of time t and thus Q(q(t), ˜ p(t)) ˜ ≤ Q 0 for all t≥0. The rest of the proof of this part is similar to the proof of part (iv) of Theorem 2 in [4].
IV. SIMULATION STUDY If we directly use the algorithm 2 in [4] or the algorithm 1 in [10] to control a group of mobile autonomous agents to track multiple virtual leaders with
2008 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
242
Asian Journal of Control, Vol. 10, No. 2, pp. 238 245, March 2008
varying velocities, the control inputs can be written as follows: ui = − −
j∈Ni (t)
j∈Ni (t)
Trajectories of two virtual leaders 80 70
∇qi (qi − q j )
60
γ =1 i γ =2 i
50
ai j (q)( pi − p j ) + c1 (qi − qi )
y 40
+c2 ( pi − pi )
(22)
or
30 20
ui = − −
j∈Ni (t)
j∈Ni (t)
10
∇qi (qi − q j )
0
0
20
40
ai j (q)( pi − p j ) + c1 (qi − qi )
60 x
80
100
120
+c2 ( pi − pi ) + f i (qi , pi )
Fig. 1. Trajectories of two virtual leaders for the first case.
(23)
In the following, we compare algorithm (4) proposed in this work with algorithms (22) and (23) proposed in previous works through simulations. All the simulations are performed with ten agents moving in the plane whose initial positions and velocities are chosen randomly within [0, 15]×[0, 15] and [0, 2]×[0, 2], respectively. There are two virtual leaders for the group. We assume that i = 1 for i = 1, 2, 3, 4, 5 and i = 2 for i = 6, 7, 8, 9, 10. The following parameters, which have the same meaning as those in [4], remain fixed throughout all simulations: r = 4.8, d = 4 and ε = 0.1 for -norm, h = 0.2 for the bump function h (.), c1 = c2 = 0.5. 4.1 The first case For the first case, we assume that there exists a sufficiently large time T >0 such that, for all t≥T , there does not exist any path between any pair of agents that are informed by different virtual leaders, i.e. path only exists between the agents that are informed by the same virtual leader for all t≥T . The initial position and velocity vectors of two virtual leaders are set at qi (0) = [qi x (0), qi y (0)]T = [10, 10]T and pi (0) = [ pi x (0), pi y (0)]T = [3, 2]T for i = 1, and qi (0) = [8, 8]T and pi (0) = [2, 1]T for i = 2. Acceleration vectors are set at f i = [cos(qi x ), cos(qi y )]T for both i = 1 and i = 2. Fig. 1 depicts the motion trajectories of two virtual leaders from t = 0 s to t = 30 s. Fig. 2(a-b), (c-d) and (e-f) show velocities difference between all agents and their corresponding virtual leaders for x axis direction and y axis direction by the q
algorithms (4), (23) and (22), respectively. We can see that velocities of all the agents in the group fluctuate around their corresponding virtual leaders’ velocities by using algorithm (22), while they can exactly attain the virtual leaders’ velocities by using algorithms (4) and (23). This is due to the fact that, for all t≥T , there does not exist any path between any pair of agents that are informed by different virtual leaders. Therefore, in this case, the multiple virtual leaders problem can be reduced to the single virtual leader problem for t≥T . 4.2 The second case For the second case, we can not find the sufficiently large time T >0 such that, for all t≥T , there does not exist any path between any pair of agents that are informed by different virtual leaders. The initial position and velocity vectors of two virtual leaders are set at the same qi (0) = [0, 0]T and pi (0) = [1, 0]T . Acceleration vectors are set at f i = [0, 0]T for i = 1, and f i = [0, cos(qi x )]T for i = 2. Fig. 3 depicts the motion trajectories of two virtual leaders from t = 0s to t = 50s. Fig. 4(a-b) and (c-d) show velocities difference between all agents and their corresponding virtual leaders for x axis direction and y axis direction by the algorithm (23) and algorithm (4), respectively. We can see that velocities of all the agents in the group fluctuate around their corresponding virtual leaders’ velocities by using algorithm (23), while they can exactly attain the virtual leaders’ velocities by using algorithm (4). This is for the reason that the informed agent in group 1 (or 2) not only is influenced by its corresponding virtual
2008 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
H. Su et al.: Flocking in Multi-agent Systems with Multiple Virtual Leaders
(a)
(b)
(c)
(d)
(e)
(f)
243
q
Fig. 2. Velocities difference analysis for the first case. (a) Velocities difference for x-axis by algorithm (4); (b) Velocities difference for y-axis by algorithm (4); (c) Velocities difference for x-axis by algorithm (23); (d) Velocities difference for y-axis by algorithm (23); (e) Velocities difference for x-axis by algorithm (22); and (f) Velocities difference for y-axis by algorithm (22).
2008 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
244
Asian Journal of Control, Vol. 10, No. 2, pp. 238 245, March 2008
leader but also be influenced by some informed agents in group 2 (or 1) during the moving.
Trajectories of two virtual leaders 3
γ =1 i γ =2 i
2.5
V. CONCLUSIONS
y
2
1.5
1
0.5
0
0
10
20
30
40
50
x
Fig. 3. Trajectories of two virtual leaders for the second case.
In this paper, we present an algorithm for flocking with multiple virtual leaders. We theoretically prove that the velocity of every agent asymptotically approaches its corresponding desired velocity, collision can be avoided between the agents, and the final tight formation minimizes all agents’ global potentials. Moreover, we show that the position and velocity of the center of the mass of all agents will exponentially converge to weighted average position and velocity of the virtual leaders.
(a)
(b)
(c)
(d)
Fig. 4. Velocities difference analysis for the second case. (a) Velocities difference for x-axis by algorithm (23); (b) Velocities difference for y-axis by algorithm (23); (c) Velocities difference for x-axis by algorithm (4); and (d) Velocities difference for x-axis by algorithm (4).
q
2008 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society
H. Su et al.: Flocking in Multi-agent Systems with Multiple Virtual Leaders
REFERENCES
q
1. Reynolds, C. W., “Flocks, herds, and schools: a distributed behavioral model,” Computer Graphics. ACM SIGGRAPH ’87 Conf. Proc., Vol. 21, No. 4, pp. 25–34 (1987). 2. Vicsek, T., A. Cziro’ok, E. Ben-Jacob, and O. Cohen, I. Shochet, “Novel type of phase transition in a system of self-deriven particles,” Physical Review Letters, Vol. 75, No. 6, pp. 1226–1229 (1995). 3. Tanner, H. G., A. Jadbabaie, and G. J. Pappas, “Flocking in fixed and switching networks,” IEEE Trans. Automat. Contr., Vol. 52, No. 5, pp. 863–868 (2007). 4. Olfati-Saber, R., “Flocking for multi-agent dynamic systems: algorithms and theory,” IEEE Trans. Automat. Contr., Vol. 51, No. 3, pp. 401–420 (2006). 5. Jadbabaie, A., J. Lin, and A. S. Morse, “Coordination of groups of mobile agents using nearest neighbor rules,” IEEE Trans. Automat. Contr., Vol. 48, No. 6, pp. 988–1001 (2003). 6. Olfati-Saber, R., and R. M. Murray, “Consensus problems in networks of agents with switching topology and time-delays,” IEEE Trans. Automat. Contr., Vol. 49, pp. 1520–1533 (2004).
245
7. Ren, W., and R. W. Beard, “Consensus seeking in multi-agent systems under dynamically changing interaction topologies,” IEEE Trans. Automat. Contr., Vol. 50, No. 5, pp. 655–661 (2005). 8. Leonard, N., and E. Friorelli, “Virtual leaders, artificial potentials and coordinated control of groups,” Proc. IEEE Conf. Decis. Contr., Orlando, FL, pp. 2968–2973 (2001). 9. Su, H., X. Wang, and Z. Lin, “Flocking of Multiagents with a virtual leader, part I: with minority of informed agents,” Proc. 46th IEEE Conf. Decis. Contr., pp. 2937–2942 (2007). 10. Su, H., X. Wang, and Z. Lin, “Flocking of multiagents with a virtual leader, part II: with a virtual leader of varying velocity,” Proc. 46th IEEE Conf. Decis. Contr., pp. 1429–1434 (2007). 11. Couzin, I. D., J. Krause, N. R. Franks, S. A. Levin, “Effective leadership and decision-making in animal groups on the move,” Nature, Vol. 433, No. 3, pp. 513–516 (2005). 12. Godsil, C., and G. Royle, “Algebraic Graph Theory,” Springer, Berlin, (2001). 13. Khalil, H. K., “Nonlinear Systems,” Third Edition, Prentice-Hall, Upper Saddle River, NJ (2002).
2008 John Wiley and Sons Asia Pte Ltd and Chinese Automatic Control Society