arXiv:1704.04722v1 [cs.RO] 16 Apr 2017
Chapter 1
Bounded Distributed Flocking Control of Mobile Nonholonomic Robots Thang Nguyen1 , Hung La2 , Vahid Azimi1 , and Thanh-Trung Han3 1 Department of Electrical Engineering and Computer Science, Cleveland State University, 2121 Euclid Ave., Cleveland, OH 44115-2214, USA (email:
[email protected];
[email protected]); 2 Faculty of Electrical and Electronics Engineering, Ton Duc Thang University, Ho Chi Minh City, Vietnam (e-mail:
[email protected]); 3 Advanced Robotics and Automation (ARA) Lab, Department of Computer Science and Engineering, University of Nevada, Reno, NV89557, USA (e-mail:
[email protected]). This work is supported by the University of Nevada, Reno and National Science Foundation under grant NSF-NRI#1426828.
There have been numerous studies on the problem of flocking control for multiagent systems whose simplified models are presented in terms of point-mass elements. Meanwhile, full dynamic models pose some challenging problems in addressing the flocking control problem of mobile robots due to their nonholonomic dynamic properties.Taking practical constraints into consideration, we propose a novel approach to distributed flocking control of nonholonomic mobile robots by bounded feedback. The flocking control objectives consist of velocity consensus, collision avoidance, and cohesion maintenance among mobile robots. A flocking control protocol which is based on the information of neighbor mobile robots is constructed. The theoretical analysis is conducted with the help of a Lyapunov-like function and graph theory. Simulation results are shown to demonstrate the efficacy of the proposed distributed flocking control scheme. 1
2
1.1
Running Head Verso
INTRODUCTION
It is well-known that the collective behavior of self-propelled organisms constitutes flocking [1]. The coherent motion of the flock inspires various research on flocking control of multiagent systems. A typical objective is to achieve a desired collective motion which can be produced by a constructive flocking control procedure. For numerous models which are described from simplest models such as point-mass models to actual physical models, designed prototols have been systematically proposed for multiagent systems[2, 3, 4], even in noisy environments where the agent’s position is affected by noise [5, 6, 7]. With point-mass models, the problem of flocking control of multiple agents has been addressed with typical results reported in [8, 9, 10, 11, 12]. For a wide range of engineering applications, extensive studies in flocking control of mobile robots have been done in various scenarios [13, 14, 15, 16]. In many applications, the mission carried out by a single complicated robotic system can be equivalently completed by a coordination of a mobile robotic system with much simpler configurations, whose advantages lie in scalability, flexible deployment, cheaper costs, reliability, etc. Therefore, more sophisticated tasks can be fulfilled using a group of small mobile robots with lower cost and higher efficiency than a complex unit; see [2, 17, 18, 16, 19] and references therein. A variety of studies have been done for flocking control of mobile robots with different schemes in [20, 10, 21, 22, 17, 23] and references therein. Recently, a new measure-theoretic approach which systematically provides a framework for obtaining flocking protocols for mobile robots was reported in [15]. The common assumption in many works is the availability of information of all agents or all-to-all communication. Numerous control protocols for mobile robots have been constructed based on this assumption. This centralized communication control architect yields inflexibility and large computation costs for the controller of each agent especially when the number of agents is large. Meanwhile, a distributed control protocol can offer an ease of implementation, and less burden of computation as it only requires the information of neighbor agents for an element of the system. In this direction, a range of decentralized control schemes for mobile robots have been proposed [20, 9, 24, 25, 26, 11]. In this chapter, we study the problem of distributed flocking control of mobile robots by bounded feedback, which takes into consideration nonholonomic nature of mobile robots as well as the implementation issue posed by the physical limit of the motor speed. Our flocking control problem employs the full dynamic model of the mobile robot derived in [27]. Similar to [28, 29], due to the nonholonomic property of the dynamics of mobile robots, our proposed design framework constructed to achieve velocity consensus is modular. In other words, the consensuses on the linear speed and orientation angles are obtained separately. For a wide range of engineering applications, cohesion maintenance and collision avoidance (CMCA) properties of a mobile robotic system are of importance. As reported in [17, 30], the attractive and repulsive forces cannot be included in the control for CMCA of mobile robots, as it is possible for point-mass agents [8]. In
Running Head Recto
3
[15], desired attractive and repulsive forces for CMCA of mobile robots was achieved using a new rearrangement strategy. In [20, 8, 11], the graph theory was employed to generate control protocols that maintain CMCA of multiagent systems with double integrator models. In this chapter, we are interested in agents with nonholonomic dynamics and boundedness constraints. Specifically, a coordination function is proposed to ensure that the induced attractive and repulsive forces are bounded, and hence can be incorporated in the bounded velocity control. Using the results of Barbalat’s lemma and graph theory, the theoretical analysis is conducted, which shows that the maximal value of the coordination function determines the basin of attraction for the flocking convergence. In this chapter, we study the problem of leaderless flocking for a group of nonholonomic vehicles, which employs graph theory as in the case of nearest neighbor communication [20, 8]. In [31], a distributed flocking control approach was proposed but no constraints on the control inputs are imposed. The work in [28, 29] considers the bounded feedback flocking control problem for nonholonomic mobile robots without a flocking desired heading angle. We will employ the velocity control law reported in [28, 29] in a decentralised sense, which helps to avoid collision and maintain a linear speed consensus. In addition, the orientation consensus will be achieved using a modified approach, which is insprired by the one in [31], where the input constraint is taken into account. The organization of the chapter is as follows. In Section 1.2, the multiple-goal control problem for flocking of nonholonomic mobile robots and preliminaries are introduced. Section 1.3 describes main results where a modular design framework is proposed for bounded velocity control and bounded orientation control and the theoretical analyses are introduced. In Section 1.4, a description of an obstacle avoidance scheme is presented. Section 1.5 shows some simulation results. Section 1.6 concludes the chapter by some conclusions. Notations: R and R+ are the sets of real numbers and nonnegative real numbers, respectively; for q = [q1 , . . . , qn ]T , ∇q = [∂ /∂ q1 , . . . , ∂ /∂ qn ]T is the del operator [32]; for two vectors a and b, a · b is their scalar product; (a1 , . . . , an ) is [aT1 , . . . , aTn ]T ; | · | is the absolute value of scalars; and k · k is the Euclidean norm of vectors.
1.2
PROBLEM FORMULATION
Similarly to [28, 29], we investigate a collective system of N identical autonomous mobile robots whose respective equations of motion are [27] q˙i = vi e(θi ) θ˙i = wi v˙i = ui w˙ i = τi
(1.1)
where i = 1, ..., N, qi = [xi , yi ]T ∈ R2 , and θi ∈ R are respectively the position and the heading angle of the i-th robot in the inertial frame Oxy; vi ∈ R is the linear speed,
4
Running Head Verso
and e(θi ) is the unit vector [cos θi , sin θi ]T ; wi ∈ R is the angular speed, and ui , τi ∈ R are control inputs. Following the same vein as in [28], we define 0 < r0 < R0 . Then, the flocking control problem for (1.1) is to construct the control inputs ui , τi as bounded functions of the collective state (q1 , . . . , qN , θ1 , . . . , θN , v1 , . . . , vN , w1 , . . . , wN ) in a distributed fashion to satisfy the following multiple goals G1) Velocity consensus: lim (q˙i (t) − q˙ j (t)) = 0, ∀i, j = 1, . . . , N
t→∞
(1.2)
G2) Collision avoidance: ri j (t) = kqi (t) − q j (t)k ≥ r0 , ∀t ≥ 0, ∀i 6= j G3) Cohesion maintenance: ri j (t) ≤ R0 , ∀t ≥ 0, ∀i 6= j. Similarly to [28, 29], we have the following definition. Definition 1.2.1. A control ζ˙ = g(ζ , y), u = c(ζ , y), (ζ , y) ∈ Rd × Rm of a system x˙ = f (x, u), y = h(x, u) is said to be bounded if there is a finite constant M > 0 such that kc(ζ , y)k ≤ M, ∀(ζ , y) ∈ Rd × Rm . To achieve the goals G2) and G3), we consider the coordination function U : R+ → R+ which satisfies the following properties: P1) there is a constant UM > 0 such that 0 ≤ U(r) ≤ UM , ∀r ∈ R
(1.3)
P2) U(r) is continuously differentiable on [r0 , R0 ]; P3) lim U(r) = UM ; and r→r0+
P4) lim U(r) = UM . r→R− 0
For a link between agents i and j of the flock, we aim to maintain ri j (t) ∈ [r0 , R0 ]. Without loss of generality, we assume that U(0) = 0 and hence U(r) is well defined for rii = 0 [28]. We are interested in the function U with the dead zone [a, A] since evenly distribution of agents may not be achievable by a common coordination function U. Accordingly, we use the zone [a, A] for free alignment. A function U satistying the above requirements is showned in Fig. 1.1. For bounded control, we shall use the linear saturation functions σ1 , and σ2 , which are continuous and nondecreasing functions and satisfy, for given positive constants Li ≤ Mi , i = 1, 2 [28] i) σi (−s) = −σi (s) for all s; ii) σi (s) = s for s ≤ Li ; and
Running Head Recto
5
U(r)
0 r0
a
R0
A
Figure 1.1: Coordination function (extracted from [28]). iii) |σi (s)| ≤ Mi , ∀s ∈ R. Similarly to other works on distributed for multiagent systems [20, 8, 11, 29], the graph theory will be utilised to address our problem. A digraph associated with (1.1) is called G (t) = (V , E (t)) where V = 1, . . . , N and E ⊆ V × V . The set V is denoted as the node set of G (t) and the set E (t) is defined as the edge set of G (t). In addition, Ni (t) denotes the neighbor set of the node i for i = 1, . . . , N. As in [11], the description of the edge E (t) is presented as follows. Given any R > 0, ε2 ∈ (0, R), and ε1 ∈ (0, R−ε2 ), for any t ≥ 0, E (t) = {(i, j)|i, j ∈ V } is defined such that 1. E (0) = {(i, j)|ε1 < kqi (0) − q j (0)k < (R − ε2 )}; 2. if kqi (0) − q j (0)k ≥ R, then (i, j) ∈ / E (t); 3. for i = 1, . . . , N, j = 1, . . . , N, if (i, j) ∈ / E (t − ) and kqi (t) − q j (t)k < R − ε2 , then (i, j) ∈ E (t); 4. for i = 1, . . . , N, j = 1, . . . , N, if (i, j) ∈ E (t − ) and kqi (t) − q j (t)k < R, then (i, j) ∈ E (t). As in [29], the following results will be employed for the main results. Lemma 1.2.1. Let σ : R → R be a function satisfying σ (−s) = −σ (s), ∀s ∈ R. Then, for all ai , bi , it holds true that N 1 N (ai − a j )σ (bi − b j ) = ∑ ∑ ai σ (bi − b j ). ∑ ∑ 2 i=1 j∈N (t) i=1 j∈N (t) i
i
(1.4)
6
Running Head Verso
Proof: Since σ (−s) = −σ (s) and G (t) is an undirected graph, we have N
N
∑ ∑
i=1 j∈Ni (t)
a j σ (bi − b j ) = − ∑
∑
a j σ (b j − bi )
∑
ai σ (bi − b j ).
i=1 j∈Ni (t) N
=−∑
(1.5)
i=1 j∈Ni (t)
Hence, N
∑ ∑
(ai − a j )σ (bi − b j )
i=1 j∈Ni (t) N
N
=∑
∑
i=1 j∈Ni (t)
ai σ (bi − b j ) − ∑
∑
a j σ (bi − b j )
i=1 j∈Ni (t)
N
=2∑
∑
ai σ (bi − b j )
(1.6)
i=1 j∈Ni (t)
which implies (1.4). Lemma 1.2.2. The linear saturation functions σi , i = 1, 2, 3 satisfy (σi (θ1 ) − σi (θ2 ))σi (θ1 − θ2 ) ≥ 0, ∀θ1 , θ2 .
(1.7)
Proof: Without loss of generality, suppose that θ1 ≥ θ2 . Since σi are nondecreasing functions, this implies that σi (θ1 ) − σi (θ2 ) ≥ 0.
(1.8)
Furthermore, as σi (0) = 0, θ1 ≥ θ2 and the nondecreasing property of σi imply that σi (θ1 − θ2 ) ≥ 0.
(1.9)
Multiplying (1.8) and (1.9) side-by-side, we obtain (1.7).
1.3
MAIN RESULTS
Our constructive strategy is to design ui to achieve consensus on vi , and design τi to achieve consensus on θi . The design for ui is derived from [29], while the construction for τi is built based on the approach in [31]. Note that U(ri j ) = U(kqi − q j k), which is the symmetric function of qi and q j . As a result, we write U(qi , q j ) with the understanding that U(qi , q j ) = U(q j , qi ). The control protocols ui and τi are constructed based on Lyapunov theory. Specifically, a positive definite function V is presented such that the time derivative of V is a negative definite function. Regarding the distribution control problem, the graph theory
Running Head Recto
7
will be employed to show the connectivity perservation for our multiagent system. Then, we apply the LaSalle’s invariance principle [33] to conclude the desired consensuses. Similarly to [29], the initial state of the collective system of agents (1.1) is chosen such that the graph G (0) is connected. The parameters of the graph G (0) are chosen as follows R = R0 ,
(1.10)
≤ ε1 < a,
(1.11)
0 < ε2 ≤ R0 − a.
(1.12)
r0
1.3.1
Speed consensus and connectivity perservation
The derivation of this subsection is essentially similar to the control design for the linear speed in [29]; hence, it is presented here for completeness. Consider the energy function for system (1.1) V1 =
1 N 1 N U(qi , q j ) + ∑ v2i . ∑ ∑ 2 i=1 j∈N (t) 2 i=1
(1.13)
i
We assume that U(r) is designed such that U(R0 ) = UM > V1max ,
(1.14)
where V1max ,
1 N 2 N(N − 1) ∑ v (0) + 2 U(R0 − ε2 ). 2 i=1
(1.15)
Let m0 be the number of the links of the initial graph. The simplest connected graph of N agents is a tree whose number of links is n − 1. Hence, m0 ≥ n − 1. Let (N − 1)(N − 2) U(R0 − ε2 ). 2
V1 (0) ≤ V1max −
(1.16)
Note that U(qi , q j ) is a symmetric function of qi and q j . We compute the derivative of V1 with respect to (1.1) N
V˙1
=
N
∑ ∑
i=1 j∈Ni (t)
∇qi U(qi , q j ) · q˙i + ∑ vi ui i=1
!
N
=
∑ vi
i=1
∑
∇qi U(qi , q j ) · e(θi ) + ui .
(1.17)
j∈Ni (t)
From (1.17), a control law for the speed consensus protocol is chosen as ui = −
∑ j∈Ni (t)
∇qi U(qi , q j ) · e(θi ) −
∑ j∈Ni (t)
σ1 (vi − v j )
(1.18)
8
Running Head Verso
where σ1 is the linear saturation function introduced in Section 1.2. Substituting (1.18) into (1.17), we obtain N
V˙1 = − ∑
∑
vi σ1 (vi − v j ).
(1.19)
i=1 j∈Ni (t)
We have the following speed consensus theorem [29]. Theorem 1.3.1. Suppose that the collective system (1.1) subject to the protocol (1.18) is initiated such that V1 (0) < V1max . Then, the following properties hold true: i) G (t) is connected for all t ≥ 0 and there exists tk such that for t ≥ tk , G (t) = G (tk ) ii) Collision avoidance is guaranteed, i.e. kqi − q j k > r0 for all i, j ∈ N and i 6= j. iii) lim (vi (t) − v j (t)) = 0 t→∞
Proof: Assume that G (t) switches at time tk (k = 1, 2, . . . ). Hence, G(t) = G(0) for all t ∈ [0,t1 ). In other words, G (t) = G(0), t ∈ [0,t1 ) G (t1 ) 6= G(0).
(1.20)
We prove that G(0) ⊂ G(t1 ). Using the control law (1.18), we have N
V˙1 = − ∑ vi i=1
∑
σ1 (vi − v j ).
(1.21)
j∈Ni (t)
According to Lemma 1.2.1, N
1 V˙1 = − ∑ ∑ (vi − v j )σ1 (vi − v j ). 2 i=1 j∈N (t)
(1.22)
i
Because σ1 (s) is an odd function, (vi − v j )σ1 (vi − v j ) ≥ 0. Thus, V˙1 ≤ 0, which deduces V1 (t) ≤ V1 (0) < V1max < UM for [0,t1 ).
(1.23)
From the definition of U(r), U(R0 ) > V1max ≥ V1 (0). Hence for any (i, j) ∈ G (t) for t ∈ [0,t1 ) U(qi , q j ) ≤ V1 (t) < UM = U(r0 ) = U(R0 ).
(1.24)
By the continuity of U(r), (1.24) shows that r0 < kqi − q j k < R0 . This implies that no existing links are deleted at time t1 and collision avoidance is achieved. As a result, new links must be added to the current graph at the switching time t1 . We assume that there are m1 new links being added to the network at time t1 . Since the
Running Head Recto
9
number of the current links before switching is m0 ≥ N − 1 and the complete graph edges, m1 ≤ N(N−1) − (N − 1) = (N−1)(N−2) . Hence, we have possesses N(N−1) 2 2 2 V1 (t1 ) = V1 (t1− ) + m1U(R0 − ε2 ).
(1.25)
Due to (1.16), V1 (t1− ) ≤ V1 (0) < V1max −
(N − 1)(N − 2) U(R0 − ε2 ). 2
(1.26)
Thus, V1 (t1 ) < V1max .
(1.27)
By induction, for t ∈ [tk−1 ,tk ), N
1 V˙1 = − ∑ ∑ (vi − v j )σ1 (vi − v j ) ≤ 0, 2 i=1 j∈N (t)
(1.28)
i
and therefore V1 (t) ≤ V1 (tk−1 ) ≤ V1max . This shows that no edges are lost at time tk and V1 (tk ) ≤ V1max . As a result, the size of the set of the links of G (t) forms an , which is the number of the links of increasing sequence, bounded above by N(N−1) 2 a complete graph. Thus, there exists a finite integer k > 0 such that G (t) = G (tk ), t ∈ [tk , ∞).
(1.29)
Hence, for t ≥ tk , we have N
1 V˙1 = − ∑ ∑ (vi − v j )σ1 (vi − v j ) ≤ 0. 2 i=1 j∈N (t )
(1.30)
i k
Next we will show that the linear velocities of all agents converge to the same value. Using the fact that U(qi , q j ) ≤ V1 (t) ≤ V1max < UM and the properties of U, we deduce kqi − d j k > r0 . This shows that no collision takes place among agents. Since 0 ≤ V1 (t) ≤ V1max and V˙1 ≤ 0, by Barbalat’s lemma, limt→∞ V˙1 (t) = 0. Because the graph G (t) is connected for all t and sσ1 (s) ≥ 0 for all s, from (1.30), lim (vi − v j ) = 0, for all i, j = 1, 2, . . . , N.
t→∞
(1.31)
Remark 1.3.1. The first sum in (1.18) consists of the gradients of U(qi , q j and the unit vector e(θi which are bounded by definition. The second sum in (1.18) is comprised of σ1 , which is a linear saturation function defined in Section 1.2. Hence, as a whole, the control law (1.18) for each agent is bounded. This satisfies our objective on the boundedness of the control input ui . Theorem 1.3.1 shows that the design (1.18) achieves speed consensus and the goals G2) and G3). In the next subsection, we will design τi for orientation consensus completing the goal G1).
10
Running Head Verso
1.3.2
Orientation Consensus
Motivated by the orientation consensus design method presented in [31], we shall develop a bounded control approach which employs a saturation function in Section 1.2. Define the orientation trajectory error for agent i as ei = θi − θr ,
(1.32)
where θr is the desired orientation of the flock. Thus, the angle difference between two agents i and j is θi − θ j = θi − θr − (θ j − θr ) = ei − e j .
(1.33)
Similarly to [31], the following lemma is employed for our convergence analysis. Lemma 1.3.1. Suppose that the flock possesses a graph G (t), then the trajectory error signals of the group have the following property: N 1 N (ei − e j )(e˙i − e˙ j ) = ∑ ∑ ei (e˙i − e˙ j ). ∑ ∑ 2 i=1 j∈N (t) i=1 j∈N (t) i
(1.34)
i
Proof: The proof is similar to the one employed in Lemma 1.2.1. We have the following orientation consensus theorem. Theorem 1.3.2. Assume that the desired orientation θr and its first and second derivation are bounded, and the collective system (1.1) is subject to the following protocol τi = θ¨r − σ2 (θ˙i − θ˙r ) −
kθ [(ni + 1)θi − ∑ θ j − θr ], ni + 1 j∈N (t)
(1.35)
i
where ni is the number of the neighbors of robot i and kθ is a positive parameter. Then, all the mobile robots eventually reach consensus on the heading angles θi in the sense that lim (θi (t) − θ j (t)) = 0, ∀i, j.
t→∞
(1.36)
Proof: Consider the following Lyapunov function candidate V2 (t) =
1 N kθ 2 1 N 2 1 N kθ ∑ ni + 1 ei + 2 ∑ e˙i + 4 ∑ ∑ ni + 1 (θi − θ j )2 . 2 i=1 i=1 i=1 j∈N (t) i
(1.37)
Running Head Recto
11
According to Theorem 1.3.1, there exists tk such that for t ≥ tk , G (t) = G (tk ). The derivative of V2 (t) with respect to t for t ≥ tk is given as N
V˙2 (t) =
N
kθ
N
kθ (θi − θ j )(θ˙i − θ˙ j ) n i=1 j∈N (t) i + 1
∑ ni + 1 ei e˙i + ∑ e˙i (τi − θ¨r ) + ∑ ∑
i=1
i=1
i
N N kθ kθ ei e˙i − ∑ e˙i ei − ∑ e˙i σ2 (e˙i ) = ∑ i=1 ni + 1 i=1 i=1 ni + 1 N
N
kθ 1 N kθ e ˙ (θ − θ ) + (θi − θ j )(θ˙i − θ˙ j ) i i j ∑ ni + 1 ∑ ∑ 2 n + 1 i i=1 j∈N (t) i=1 j∈N (t)
−∑
i
i
N
N
kθ e˙i (ei − e j ) n i=1 j∈N (t) i + 1
= − ∑ e˙i σ2 (e˙i ) − ∑ i=1
∑ i
1 N kθ + ∑ ∑ (ei − e j )(e˙i − e˙ j ). 2 i=1 j∈N (t) ni + 1
(1.38)
i
Using Lemma 1.3.1, we obtain N
V˙2 (t) = − ∑ e˙i σ2 (e˙i ) ≤ 0
(1.39)
i=1
since σ2 (.) is a nondecreasing function defined in Section 1.2. Since θi , θr ∈ [−pi, pi] and θ¨r is bounded, the control law (1.35) implies e¨i is bounded. By the Barbalat’s lemma, from (1.39), e˙i → 0. Also, since θ¨r is bounded, e¨i → 0. Therefore, the control law (1.35) implies that θi → θ j , which proves the theorem. Remark 1.3.2. The boundedness of the control law (1.35) is guaranteed by the properties of linear saturation functions σ2 and the fact that θi , θ j , θr ∈ [−π, π]. This demonstrates that the proposed control scheme meets the requirement about physical limits of the control inputs. Remark 1.3.3. It should be noted that our control law for orientation consensus is similar to the one in [31] but here the boundedness of the control input is taken into account. The scheme in this chapter also shares the same objective as the one in [29] but offers a more simple form and implementation. Combining Theorems 1.3.1 and 1.3.2, we have the following bounded flocking theorem. Theorem 1.3.3. Suppose that the collective system (1.1) is subject to the bounded protocols (1.18) and (1.35). Suppose further that the initial configuration of the collective system (1.1) is such that N (0) is connected. Then, all the multiple flocking goals of velocity consensus, cohesion maintenance, and collision avoidance are achieved. Proof: The proof is straitforward from the results of Theorems 3.1 and 3.2.
12
1.4
Running Head Verso
Avoidance of Obstacles
The problem of obstacle avoidance has been extensively studied in the literature [31, 18, 29]. In this section, we employ the idea from [31] to derive our control algorithm in which the agents are able to pass obstacles. It is shown that a convex obstacle can be extrepolated by a round shape or a rectangle [31, 29]. In [31], a convex obstacle is presented by a circle. Let q¯r = [xr , yr ]T be the coordinate of the robot, q¯ jobs = [xobs , yobs ]T be the projection point of the robot onto the obstacle, and O¯ k = [xk , yk ]T be the centre of the obstacle. From [31], r r q¯r + (1 − )O¯ r (1.40) q¯ jobs = kq¯r − O¯ k k kq¯r − O¯ k k where r is the radius of the obstacle. The projection point has the following velocity v jobs =
vr sin α kqr − qobs k
(1.41)
where v is the velocity of the agent; α is the angle between the heading of the robot and the straight line which connects the robot to the centre of the obstacle. The projection point moves in the direction [31] pi +α +θ, α > 0 (1.42) 2 pi θ jobs = + α + θ , otherwise. (1.43) 2 The fact that the projection point possesses a position, velocity, and orientation enables it to be an agent. The above descriptions of the robot and obstacle are demonstrated in Fig. 1.2. We have the following orientation consensus theorem. = −
θ jobs
Theorem 1.4.1. The following control protocol guarantees that the robot avoids obstacles with arbitrary boundary shapes: ui = −
∇qi U(qi , q j ) · e(θi ) −
∑ j∈Nobs
∑
σ1 (vi − v j )
(1.44)
j∈Nobs
τi = θ¨r − σ2 (θ˙i − θ˙r ) −
kθ [(nobs + 1)θi − ∑ θ j − θr ], nobs + 1 j∈N (t)
(1.45)
i
where Nobs is the set of obstacles, nobs is the number of obstacles and θr =
1 nobs
∑
θ jobs .
(1.46)
j∈Nobs
Proof: The proof can be derived using the same approach as in [31]. Remark 1.4.1. It should be noted that the speed control law in (1.44) enjoys the ˙ which is different from the one in boundedness due to the saturation function σ1 (), [31]. Since θi , θr ∈ (−π, π] and the saturation function σ2 ()˙ is bounded, (1.45) reveals that the heading control law is also bounded.
Running Head Recto
r
Y
13
Ok Obstacle
q jobs
qr Robot
X
O
Figure 1.2: Illustration of a robot and a convex obstacle.
1.5
SIMULATION
We conducted simulation for a multi-agent system of 15 mobile robots of the model (1.1). A bump function is used to generate the smooth coordination function U. As the control (1.18) invokes the gradient forces ∇qi U, we designed the coordination function in the form Z r
U(r) =
(1.47)
ϕ(s)ds 0
where ϕ is a compact support function given by −(s−s0 )2 p exp 1 2 2 0) ((a−r0 )/2) −(s−s −(s−s1 )2 ϕ(s) = p2 exp ((R0 −A)/2)2 −(s−s1 )2 0
if s ∈ (r0 , a) if s ∈ (A, R0 ) otherwise
where s0 = r02+a , s1 = R02+A , and p1 , p2 , a, A, r0 and R0 are design parameters. The parameters of the coordinate function are r0 = 1, a = 3, A = 6, R0 = 8, and UM = 15. The parameter for the control law (1.35) is kθ = 1.5. The initial positions of 15 mobile robots are randomly distributed on three circles. Their coordinates are x(i) = Γ sin(z π (i − 1)/Γ + π) y(i) = Γ cos(z π (i − 1)/Γ + π)
14
Running Head Verso
where z = 1, and ( 4 Γ= 8
if i < 6 . otherwise
(1.48)
The initial values of θi and vi are randomly chosen. The initial value of wi is 0. The desired orientation of the flock is θr = π/2. We obtained the simulation results shown in Figs. 1.9–Fig. 1.7. It is shown in Figs. 1.3 and 1.5, the heading angles converge to θr and angular speeds of all agents converge to 0 after t = 40s. The linear speeds are depicted in Fig. 1.4, where the convergence of all agents take place after t = 45s. In Fig. 1.5, the angular speeds converges after 40 seconds. Hence, Fig. 1.3 and Fig. 1.4 demonstrate that consensuses on orientation and linear speed of the mobile robots have been obtained. The speed control and steering control signals are shown to be bounded in Fig. 1.6 and Fig. 1.7. The minimum distance among agents is described in Fig. 1.8, which shows that collision avoidance is guaranteed. The flocking behavior is shown in Fig. 1.9, where no collision occurred. 2
1.5
θi
1
0.5
0
-0.5 0
10
20
30
40
50
60
70
80
time (s)
Figure 1.3: Orientation consensus Next we consider a simulation for a multiagent system with an obstacle. The obstacle is a circle whose cooridinate is [12, −1] with a radius of 1. The configurationn of the multiagent system is the same as in the obstacle-free case above. The desired group heading is chosen as θr = π/4. An agent is chosen as a leader of the group.
Running Head Recto 2
1.5
vi
1
0.5
0
-0.5 0
10
20
30
40
50
60
70
80
70
80
time (s)
Figure 1.4: Linear speed consensus
0.45 0.4 0.35 0.3
wi
0.25 0.2 0.15 0.1 0.05 0 -0.05 0
10
20
30
40
50
time (s)
Figure 1.5: Angular speed
60
15
Running Head Verso 6
4
ui
2
0
-2
-4
-6 0
10
20
30
40
50
60
70
80
60
70
80
time (s)
Figure 1.6: Speed control 0.6 0.5 0.4 0.3
τi
16
0.2 0.1 0 -0.1 -0.2 0
10
20
30
40
50
time (s)
Figure 1.7: Steering control
Running Head Recto
17
3.5
3
dmin
2.5
2
1.5
1 0
10
20
30
40
50
60
70
80
time (s)
Figure 1.8: The minimum distance among agents When the collision advoidance mechnism of the leader is inactive, a speed control law is designed to drive the group at a constant speed, that is ul = −σ1 (vl − vr )
(1.49)
where ul is the speed control of the leader, vl is its linear speed, and vr = 0.2. During the first 50 seconds of their evolution, the mobile robots encounter the obstacle. The control laws (1.44) and (1.45) enable them to avoid potential collisions with the obstacle and with other neibouring agents. The orientations of the robots in Fig. 1.10 converge to π/4 after 60 seconds. Similarly, in Fig. 1.11, the linear speeds of the agents converge after 50 seconds. In Fig. 1.12, the angular speeds converge faster to 0 after 50 seconds. Figs. 1.13 and 1.14 demonstrate that the control inputs both are bounded. Finally, Fig. 1.15 shows that no collision takes place during the evolution of the robots. The evolution of the multiagent system is shown in Fig. 1.16 in which the robots cooperate to form a flocking and avoid the obstacle.
1.6
CONCLUSIONS
This chapter has presented a bounded decentralized control protocol for the flocking problem of mobile robots by a systematic fashion, where the control laws only require the information of neighbor agents. The proposed scheme is modular in designing the speed control and steering control separately. Theoretical and numerical results have shown that using our proposed method, a collective system of mobile
Running Head Verso
60
50
40
y
18
30
20
10
0
-10 -10
0
10
x Figure 1.9: Distributed flocking of 15 mobile robots
Running Head Recto 3 2.5 2
θi
1.5 1 0.5 0 -0.5 -1 0
10
20
30
40
50
60
70
80
90
100
time (s)
Figure 1.10: Orientation consensus for the obstacle avoidance case
4 3.5 3 2.5
vi
2 1.5 1 0.5 0 -0.5 -1 0
10
20
30
40
50
60
70
80
90
100
time (s)
Figure 1.11: Linear speed consensus for the obstacle avoidance case
19
Running Head Verso 1.5
wi
1
0.5
0
-0.5 0
10
20
30
40
50
60
70
80
90
100
time (s)
Figure 1.12: Angular speed for the obstacle avoidance case
5
0
ui
20
-5
-10 0
10
20
30
40
50
60
70
80
90
time (s)
Figure 1.13: Speed control for the obstacle avoidance case
100
Running Head Recto
21
3
2
τi
1
0
-1
-2
-3 0
10
20
30
40
50
60
70
80
90
100
time (s)
Figure 1.14: Steering control for the obstacle avoidance case
3.5
3
dmin
2.5
2
1.5
1 0
10
20
30
40
50
60
70
80
90
100
time (s)
Figure 1.15: The minimum distance among agents for the obstacle avoidance case
22
Running Head Verso 20
15
y
10
5
0
-5
-10 -10
-5
0
5
10
15
20
x
Figure 1.16: Distributed flocking of 15 mobile robots for the obstacle avoidance case robots achieves all the multiple objectives of the flocking control: velocity consensus, cohesion maintenance, and collision avoidance. Future work would consider the shape and size of each mobile robot and obstacle avoidance for which a similar context was studied in [34]. Noisy and uncertain environments can affect the performance of the proposed scheme. Robustness analysis and improved methods can be proposed to address this issue.
Bibliography [1] J. Toner and Y. Tu, “Flocks, herds, and schools: A qualitative theory of flocking,” Phys. Rev. E, vol. 58, pp. 4828–4858, 1998. [2] H. M. La and W. Sheng, “Distributed sensor fusion for scalar field mapping using mobile sensor networks,” IEEE Trans. Cybernetics, vol. 43, no. 2, pp. 766–778, April 2013. [3] ——, “Adaptive flocking control for dynamic target tracking in mobile sensor networks,” in 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems, Oct 2009, pp. 4843–4848. [4] H. M. La, R. S. Lim, W. Sheng, and H. Chen, “Decentralized flocking control with a minority of informed agents,” in 2011 6th IEEE Conference on Industrial Electronics and Applications, June 2011, pp. 1851–1856. [5] H. M. La and W. Sheng, “Flocking control of multiple agents in noisy environments,” in 2010 IEEE International Conference on Robotics and Automation, May 2010, pp. 4964–4969. [6] ——, “Multi-agent motion control in cluttered and noisy environments,” Journal of Communications, vol. 8, no. 1, pp. 32–46, 2013. [7] A. D. Dang, H. M. La, and J. Horn, “Distributed formation control for autonomous robots following desired shapes in noisy environment,” in 2016 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems (MFI), Sept 2016, pp. 285–290. [8] R. Olfati-Saber, “Flocking for multi-agent dynamic systems: algorithms and theory,” IEEE Trans. Autom. Control, vol. 51, no. 3, pp. 401–420, Mar. 2006. [9] H. G. Tanner, A. Jadbabaie, and G. J. Pappas, “Flocking in fixed and switching networks,” IEEE Transactions on Automatic Control, vol. 52, no. 5, pp. 863– 868, 2007. [10] F. Cucker and S. Smale, “Emergent behavior in flocks,” IEEE Trans. Autom. Control, vol. 52, no. 5, May 2007. 23
24
BIBLIOGRAPHY
[11] Y. Dong and J. Huang, “Flocking with connectivity preservation of multiple double integrator systems subject to external disturbances by a distributed control law,” Automatica, vol. 55, pp. 197 – 203, 2015. [12] S. Ghapani, J. Mei, W. Ren, and Y. Song, “Fully distributed flocking with a moving leader for lagrange networks with parametric uncertainties,” Automatica, vol. 67, pp. 67–76, 2016. [13] H. M. La, T. H. Nguyen, C. H. Nguyen, and H. N. Nguyen, “Optimal flocking control for a mobile sensor network based a moving target tracking,” in 2009 IEEE International Conference on Systems, Man and Cybernetics, Oct 2009, pp. 4801–4806. [14] N. Moshtagh and A. Jadbabaie, “Distributed geodesic control laws for flocking of nonholonomic agents,” IEEE Transactions on Automatic Control, vol. 52, no. 4, pp. 681–686, 2007. [15] T.-T. Han and S. S. Ge, “Styled-velocity flocking of autonomous vehicles: a systematic design,” IEEE Trans. Autom. Control, vol. 60, no. 8, pp. 2015–2030, Aug. 2015. [16] H. M. La, W. Sheng, and J. Chen, “Cooperative and active sensing in mobile sensor networks for scalar field mapping,” IEEE Trans. Systems, Man, and Cybernetics: Systems, vol. 45, no. 1, pp. 1–12, Jan 2015. [17] H. G. Tanner, A. Jadbabaie, and G. J. Pappas, “Flocking in teams of nonholonomic agents,” in Cooperative Control, ser. Lecture Notes in Control and Information Sciences, V. Kumar, N. Leonard, and S. Morse, Eds. Springer, 2004, vol. 309, pp. 229–239. [18] Y. Liang and H.-H. Lee, “Decentralized formation control and obstacle avoidance for multiple robots with nonholonomic constraints,” in 2006 American Control Conference, June 2006, pp. 5596–5601. [19] D. Cruz, J. McClintock, B. Perteet, O. A. Orqueda, Y. Cao, and R. Fierro, “Decentralized cooperative control-a multivehicle platform for research in networked embedded systems,” IEEE control systems, vol. 27, no. 3, pp. 58–78, 2007. [20] A. Jadbabaie, J. Lin, and A. S. Morse, “Coordination of groups of mobile autonomous agents using nearest neighbor rules,” IEEE Trans. Autom. Control, vol. 48, no. 6, pp. 988–1001, Jun. 2003. [21] J. A. Carrillo, M. Fornasier, J. Rosado, and G. Toscani, “Asymptotic flocking dynamics for the kinetic cucker-smale model,” SIAM Journal on Mathematical Analysis, vol. 42, no. 1, pp. 218–236, 2010. [22] H. M. La, R. Lim, and W. Sheng, “Multirobot cooperative learning for predator avoidance,” IEEE Trans. Control Syst. Technol., vol. 23, no. 1, pp. 52–63, Jan. 2015.
BIBLIOGRAPHY
25
[23] R. Sepulchre, D. A. Paley, and N. E. Leonard, “Stabilization of planar collective motion: all-to-all communication,” IEEE Trans. Autom. Control, vol. 52, no. 5, pp. 811–824, May 2007. [24] H. M. La, W. Sheng, and J. Chen, “Cooperative and active sensing in mobile sensor networks for scalar field mapping,” in 2013 IEEE International Conference on Automation Science and Engineering (CASE), Aug 2013, pp. 831–836. [25] M. M. Zavlanos, H. G. Tanner, A. Jadbabaie, and G. J. Pappas, “Hybrid control for connectivity preserving flocking,” IEEE Transactions on Automatic Control, vol. 54, no. 12, pp. 2869–2875, 2009. [26] W. Dong, “Flocking of multiple mobile robots based on backstepping,” IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), vol. 41, no. 2, pp. 414–424, 2011. [27] K. Amar and S. Mohamed, “Stabilized feedback control of unicycle mobile robots,” Int. J. Adv. Robot. Syst., vol. 10, no. 187, pp. 1–8, 2013. [28] T. T. Han, H. M. La, and B. H. Dinh, “Flocking of mobile robots by bounded feedback,” in 2016 IEEE International Conference on Automation Science and Engineering (CASE), Aug 2016, pp. 689–694. [29] T. Nguyen, T. T. Han, and H. M. La, “Distributed flocking control of mobile robots by bounded feedback,” in 2016 54th Annual Allerton Conference on Communication, Control, and Computing (Allerton), Sept 2016, pp. 563–568. [30] N. Moshtagh, N. Michael, A. Jadbabaie, and K. Daniilidis, “Vision-based, distributed control laws for motion coordination of nonholonomic robots,” IEEE Trans. Robotics, vol. 25, no. 4, pp. 851–860, Aug. 2009. [31] Y. Liang and H.-H. Lee, “Avoidance of multiple obstacles for a mobile robot with nonholonomic constraints,” in ASME proceedings of Dynamic Systems and Control, Nov 2005, pp. 1657–1663. [32] K. F. Riley, M. P. Hobson, and S. J. Bence, Mathematical Methods for Physics and Engineering, 3rd ed. Cambridge: Cambridge University Press, 2006. [33] H. K. Khalil, Nonlinear Systems, 3rd ed. Hall, 2002.
Upper Saddle River, NJ: Prentice
[34] T. Nguyen, H. La, T. D. Le, and M. Jafari, “Formation control and obstacle avoidance of multiple rectangular agents with limited communication ranges,” IEEE Transactions on Control of Network Systems, 2016.