Keywords

1 Introduction

Some biological groups are composed of a large number of individuals in nature. Although the individual is very simple, and individual accessing to information and exchanging information between individuals are localized, but they only use the interactions of these local information to produce complex group behavior, and help them achieve the goal of avoiding predators, hunt prey and long-distance migration efficiently, such as fish, birds quickly changing the team to escape predators hunting, the fireflies rhythmically consistent flashing in one tree [1,2,3,4,5,6,7,8]. These phenomenons are called flocking. Flocking is a form of collective behavior. The most important characteristic of flocking is that it emerges from simple local rules into a coordinated global behavior. From the view of systematics, flocking behavior is adaptive, robust, decentralized and self-organized [9].

The research of flocking behavior has gone through three stages: (i) The discover stage of biological flocking behaviors, many biological researchers found the unique behaviors of biological group [1]; (ii) The simulation stage of flocking behaviors. The researchers used the computers to simulate and test the biological flocking behaviors [3]; (iii) Rigorous modeling and analysis of flocking behavior, which is in progress [10, 11]. The research of flocking control is generated by the rules of Reylnolds Boid model, which are Separation Cohesion and Alignment. The flocking control algorithms of multi-agent system are classified into three kinds broadly: the algorithms which do not consider collision, the aim of these algorithms is to make agents achieve velocity consensus, and the distance between any two agents remains constant [12, 13]; The algorithms which consider collision, these algorithms is to avoid the collision in addition to the above aims [14, 15]; Besides, there are many algorithms which are added some new rules to satisfy the need of different tasks, such as avoiding obstacles [16], tracking a target and so on [14, 17].

The remainder of this paper is organized as follows. Section 2 presented two main models based on Boid Model: Vicsek Model and Couzin Model. Section 3 introduce the control algorithms. Finally, a short discussion is included to summarize the existing research and to propose several problem in Sects. 4.

2 Model

2.1 Vicsek Model

In 1995, Vicsek proposed a model with a self-ordered particles which are driven with constant absolute velocity and each step only change theirs directions. The next step direction of a particle is the average direction of motion of particles in its neighborhood with random perturbation added [18]. In the simulations, Vicsek obtained three folds conclusions: for small densities and noise, the particles tend to disordered with random directions. When there are higher densities and noise, the particles tend to form different clusters with different directions. When the density is large and the noise is small, the particles become ordered, and all the particles tend to move in the same spontaneously selected direction. Vicsek model is the simplest model of flocking, but it exists many shortcomings. For further improving the model and accelerating the convergence rate, many researchers had made up a lot of new strategies [19, 20].

In 2006, Yang et al. considered a heterogeneous influence network. The influencing ability of each agent is different each other and behaved by influencing radius, which is randomly chosen according to a power-law distribution. The conclusions were that the capacity to obtain direction convergence is enhanced as the heterogeneity of the influencing radius increases, and global consensus can be achieved only a small part of leading agents can be controlled to move in the desired direction [21]. In 2007, Li and Wang proposed an adaptive velocity model, in which each agent not only adjusts its direction but also adjusts its speed based on the degree of direction convergence among its local neighbors, and the absolute velocities agents are changeable and tended to the same maximum constant speed after a short transient process. The adaptive strategies can increase the possibility of convergence [22]. In 2009, Gao et al. presented a new weighted model by utilizing the degree in complex network and topological structure of dynamical systems, and the model convergence efficiency was more faster than Vicsek model [23]. Tian et al. studied a system of self-propelled agents with the restricted vision [24]. The field of vision of agents is a part of disk bounded by radii and the included arc, in other words, the view angle is limited. They find an optional view angle, leading to the fastest convergence. And the optional angle is related to the density, the interaction radius, the absolute velocity and the noise. In 2014, Yang et al. proposed a dynamic model for a system consisting of self-propelled agents in which the influence of an agent on another agent is weighted by distance. They find there exists an optional value of parameter leading to the highest degree of direction convergence [25].

2.2 Couzin Model

In 2002, Couzin et al. proposed a new model by using three rules of Reynolds [26]. The model is a self-organizing model in three-dimensional space. There are two new rules of the new model: (i) Particles attempt to maintain a minimum distance among neighbors all the time. (ii) If particles are not behaving an avoidance manoeuvre, they will be attracted towards other agents (to avoid being secluded) and to align themselves with neighbors. The influencing area of one particle is divided into three parts: zone of repulsion (zor), zone of orientation (zoo) and zone of attraction (zoa). If there exist neighbors in the zor, the particle will move away from neighbors. In the zoo, a particle will tend to align with its neighbors within the zone. zoa represents the tendency of particles to join groups and to avoid being on the periphery, and the particle tends to the position within the zone of attraction. The zone of orientation and attraction are spherical except for a volume behind the particle within which neighbors are undetectable. This blind volume is defined as a cone with interior angle. In the Couzin model, each particle has the same zone of repulsion orientation and attraction, but the number of neighbors is different for each particles. There are some improvements of Couzin model. In [27], a velocity adaptive strategy is presented to provide an alternative to the constant-speed setting of the Couzin model. In 2016, Zhao came up with a high-speed and fast-convergent self-organizing model with improved adaptive-velocity and weighted strategies [28]. In practice, a small number of particles effect the system greatly more than other particles, such as a leaders debate in the meeting is easily accepted. Removing some hub nodes may lead to a breakdown of the whole network although when it comes to the others, the influence is slight.

3 Control Algorithms

3.1 Algorithms by Olfati-Saber

Olfati-Saber presented a theoretical framework for the design and analysis of distributed flocking algorithms. Olfati-Saber et al. proposed three flocking algorithms: two for free-flocking and one for constrained flocking [16]. They considered a group of particles with the dynamics: \(\dot{q}_i(t)=p_i(t)\), \(\dot{p}_i(t)=u_i(t)\), \(i=1,...,N\). \(q_i(t)\), \(p_i(t)\) denote the position and velocity of ith agent. In the Algorithms 1 and Algorithms 2, each -agent has a control input \(u_i=s_i^g+s_i^d+s_i^\gamma \), in which \(s_i^g\) is a gradient-based term, \(s_i^d\) is a velocity consensus term that acts as a damping force, \(s_i^\gamma \) is a navigational feedback due to a group objective. Algorithm 1 is drastically different than a group of agents applying Algorithm 2. The algorithm 1 leads to flocking behavior only with a restricted initial states, and fragmentation. In contrast, the Algorithm 2 never leads to fragmentation. But the importance of the Algorithm 1 is fundamental structures of Algorithm 2. Algorithm 1 and 2 are for flocking in free-space. In addition, they present a distributed flocking algorithm with multiple obstacle avoidance. The main thoughts of the algorithm is regarding barriers to be agents. In the Algorithms 3, \(u_i=u_i^\alpha +u_i^\beta +u_i\gamma \), in which \(u_i^\alpha \) represents the \((\alpha ,\alpha )\) interaction terms, \(u_i^\beta \) represents the \((\alpha ,\beta )\) interaction terms, \(u_i\gamma \) represents navigational feedback.

These three distributed flocking algorithms were presented to result in self-organizing flocking behavior. Algorithm 1 is responsible for the creation of space order, this algorithm satisfied three rules of Reynolds but leads to regular fragmentation. Algorithm 2 and 3 are found on the basis of Algorithm 1, and these two algorithms add appropriate terms that account for system objective and obstacle avoidance, respectively. In addition, the paper presented another protocol. They assume the structural energy is finite and interaction range satisfies. In this case, under some conditions, the system is asymptotically self-assembled. On the basis of Olfati-Sabers research, more and more factors are taken into account, such as a virtual leader and multiple leaders, connectivity preserving, directed network, nonlinear factors, time delay and so on.

3.2 Algorithms by Tanner

In 2007, Tanner proposed flocking algorithms in fixed and switching networks. On the one hand, the paper summarized previous two papers [15, 25] which analyzed the stability properties of mobile agents, and they introduced discontinuities in the agent control laws, they employed non-smooth analysis to adapt to switching topology. The main result is on the conditions that regardless of switching topology, the network remains connected at all times. The paper considered a group of mobile agents moving on the plane, and the dynamics \(\dot{q}_i=p_i\), \(\dot{p}_i=u_i=\chi _i+\zeta _i\), \(i=1,...,N\). \(q_i\), \(p_i\), \(u_i\) denote the position, velocity and control input of ith agent. \(q_{ij}=q_i-q_j\) denotes relative position vector between agent i and j. The input consists two parts: \(\chi _i\) and \(\zeta _i\). \(\chi _i\) aims to align the velocity vectors of all the agents, \(\zeta _i\) is a vector in the direction of the negated gradient of an artificial potential function, and it is used for collision avoidance and cohesion in the group. The sensing radius is r, and if agents beyond the range are assumed not to affect the direction. The algorithm of this article will make the multi-agent system to achieve the desired behavior, and the behavior has robustness.

3.3 Algorithms with a Virtual Leader

In 2009, Su et al. proposed a flocking algorithm which revisited the problem in the paper of olfati-saber, the difference is even when only a fraction of agents are informed, the algorithm is still able to make the informed agents move in the desired velocity, the uniformed agents also move in the desired velocity only when they have interaction with informed agents [29]. In another paper published in 2009, Gu et al. investigated a leader-follower flocking system. There are a few members of system informed, and majority members of group do not have global knowledge [30]. In this paper, as only leaders know the desired trajectory, the members have possibility to move away from the group and bring out the group splitting. But, the system is able to attain consensus led by leaders owing to all members estimating the position of flocking center via local interactions. In 2010, Yu et al. proposed a new distributed leader-follower flocking control algorithm for multi-agent dynamical systems with time-varying velocities, to avoid the assumption that the informed agents have global information [31]. Besides, in 2013, Su et al. investigated a adaptive flocking algorithm with a virtual leader [32]. And the authors introduced a distributed flocking algorithm for agents modeled by double integrators to track a virtual leader in the case that only a fraction of them are considered informed ones in [33]. [34] presented a method for robust adaptive flocking of nonholonomic multi-agent systems with an active leader. Recently the authors focused on the distributed leader-follower flocking problem with a moving leader for networked Lagrange systems with unknown parameters under a proximity graph defined according to the relative distance between each pair of agents [35].

3.4 Algorithm with Multiple Leaders

In reality, there are many missions in the system which include multiple leaders to obtain different goals. In 2008, Su et al. put forward a problem of tracking multiple virtual leaders with varying velocities [36]. Different agents with different leaders attain different velocity and track different corresponding leader. Luo et al. presented a flocking algorithm with multi-target tracking for multi-agent systems in 2010 [37]. Multiple targets is equal to multiple leaders. The principle of choosing target is determined by the distances from the agent to the targets and the number of agents accepted by targets. A collective potential function and repulsive potential function have been designed to deal with the problem. On the basis of previous studies, Su et al. investigated a novel flocking algorithm in Multi-agent systems with multiple virtual leaders based only on position measurements, every agent attained the desired velocity, in the process, collision can be avoided, and the final formation minimize the potential energy [38].

3.5 Algorithm with Connectivity Preserving

In Multi-agent system, each agent just make use of information among neighbors, not global information, the neighbors of one agent at last time may move away from the agents sensing range, and other agents neighbors may move into the sensing range of the agent. So single agent is easy to move away from group, even it leads to the fragmentation of the group [39]. In addition, interference is common in real life. Connectivity-preserving flocking algorithm can avoid these problem. Some papers flocking algorithms are based on always maintaining network connectivity [12], but in practical, we can only guarantee that the initial state is connected. Initial connectivity can not guarantee the network connected all the time, eventually may lead to splitting. Therefore, it will be of great practical significance to find a flocking control algorithm which has the ability to maintain the connectivity of the network. In 2008, Su et al. proposed a new algorithm that make all agents move with a common velocity while keeping a desired group shape under the assumption that initial network is connected [40]. In 2009, Su et al. proposed another new connectivity-preserving flocking algorithm for multiagent systems based only on position measurements [41], they proposed two rules that a potential function should obey in order to preserve the connectivity of the network as long as the initial network is connected. By means of combining the ideas of collective potential functions and velocity consensus, Wen et al. proposed a connectivity preserving flocking algorithm with bounded potential function in 2012 [42]. Inspired by the study of [41], but the communication link is totally determined by the distance between the agents. They designed a decentralized input control for connectivity-preserving flocking, each agent can not access to the velocity information, and some attractive and repulsive forces are combined to design the controller. In 2015, Dong et al. presented a new flocking algorithm with connectivity preservation problem of multiple double integrator systems, this approach is combination of potential function technique and observer design [43].

3.6 Algorithm with Obstacles Avoidance

Obstacles is inevitable in the application of flocking control, for each individual with autonomous multi-agent system, the ability to avoid obstacles in the process of movement is the most basic security requirements. Reynolds firstly proposed three rules including flocking centering, obstacle avoidance, and velocity matching, and they have used computer to make simulations. The obstacle avoidance control strategy is in the direction of the advance of the intelligence to construct a virtual cylinder, the diameter of the cylinder is the diameter of the agent, the height of the cylinder and the model of the individual speed is proportional to the ratio of the model [26]. If there are several obstacles, the agent will avoid the obstacles near firstly. But the strategy not considered the size of obstacles and the influence of the distance between the obstacle and the agent on the steering control force of the agent; And only the obstacle avoidance control of an obstacle is considered. Olfati-Saber investigated a new algorithm of obstacles avoidance. The obstacle is assumed to be a moving agent, and system merges this velocity and the velocity of that agent entering the region of obstacle and then regards the merged velocity as next-time velocity for the agent [16]. The system combines the velocity of the agent and the obstacles in agents influence range, and then the combined speed is used as the speed of the next time. The magnitude of velocity, but not its direction, is considered while combining velocity. When the agent is moving away from the obstacle, the obstacle is still regard as an agent. Therefore, the phenomenon will effect the behavior of the agent even the process of obstacle avoidance for these agents. In 2014, Wang et al. proposed an improved fast flocking algorithm with obstacle avoidance for multi-agent dynamic systems based on Olfati-Sabers algorithm [44]. The major contribution of this new strategy is proposing an improved algorithm for obstacle avoidance and fast form flocking towards the direction of destination point. The algorithm is illustrated based on the state of whether the flocking has formed. If flocking has not formed, agents should avoid the obstacles toward the direction of target. Otherwise, these agents have reached the state of lattice and then these agents only need to avoid the obstacles and ignore the direction of target. The experimental results show that the proposed the new algorithm has better performance in terms of flocking path length. Yang et al. also investigated the situation that the obstacles are moving, but the algorithm has no pre-judgment for whether appear obstacle collision or not, only when the agent and the obstacle distance is less than the safety value, the obstacle avoidance algorithm start up, this is a waste of energy. In 2013, Lou proposed another algorithm in his doctors dissertation. The theory proves that the flocking control strategy based on collision prediction method can effectively avoid the collision, and gives the control laws. And a more complicated obstacle avoidance control strategy for moving obstacle is designed. By adding the obstacle in the pre-collision function, the speed of the obstacle is increased and the accuracy of the judgment is improved. In the control input, the control input obstacle repulsion by means of adding the obstacles velocity vector to improve obstacle avoidance ability. In [45], the authors proposed a flocking algorithm in the presence of arbitrary shape obstacles avoidance both in 2D space and 3D space. And they presented an approach to determine the position and the velocity of beta-agent which denote the repulsive effects of obstacles.

3.7 More General Algorithms

(With Time Delay) Due to the limited transmission speed, as well as the traffic congestion and diffusion. In the reality, there are spread and propagation delay. In 2012, Yang et al. investigated a new strategy about flocking of multi-agents with time delay firstly [46]. In the paper, they consider a delay-independent flocking law, and the collision avoidance between the agents is ensured. Both leader free and virtual leader available are considered. In 2015, Zhang et al. proposed another situation of flocking control with time delay [47], which can combine the theory and practice.

(With Nonlinear) There are nonlinear systems in practical, the nonlinear dynamics is more general, reasonable and stronger, many nonlinear systems do not satisfy the global Lipschitz condition, only to satisfy the local Lipschitz condition. So it has practical significance to the local Lipschitz nonlinear problem of flocking control has important research. In 2010, Yu et al. proposed robust adaptive flocking control of nonlinear multi-agent systems [31]. In 2013, Su et al. introduced flocking control with a virtual leader of multiple agents governed by locally Lipschitz nonlinearity, all the agents and the virtual leader share the same intrinsic nonlinear dynamics [32]. In 2014, Peng et al. investigated neural adaptive control for leaderfollower flocking of networked non-holonomic agents with unknown nonlinear dynamics [34].

(With Input Saturation) Another issue inevitable in real control systems is actuator saturation, since there exists physical constraints. All real-world applications of feedback control involve actuators with amplitude and rate limitations. In particular, any physical mechanical and electrical equipment can only provide limited force, torque, flow or linear/angular rate. In 2013, the authors investigated adaptive flocking control of nonlinear multi-agent systems with directed switching topologies and saturation constraints [48]. A novel distributed adaptive flocking protocol with bounded control input. Lately, in [49], develops a model predictive flocking control scheme for second-order multi-agent systems with input constraints.

(With Pinning Control) Pinning control strategy is that by means of adding control inputs to a fraction of agents which are selected from the network, to control the system. This is an effective approach for the control of networked systems. In 2010, Wang et al. proposed pinning-based flocking algorithms in which navigational feedback terms are added to just a fraction of agents [50]. In 2013, Su and Wang has completed a book, which investigated synchronization, consensus and flocking of networked systems via pinning [51]. They summarized distributed pinningcontrolled flocking with a virtual leader and with preserved network connectivity.

(With Event-Triggered Strategy) Under the situation of resource limit, common algorithms usually cannot achieve good results. To solve this problem, The methods based event-triggered attract more and more researchers. The author in [52] proposed event-triggered flocking.

4 Discussions

The paper has made a brief overview on flocking control for multi-agent system. Flocking control has attracted a lot of researchers interests. The new algorithms are emerging and these algorithms are applied to many fields. Although the researches for flocking control of multi-agent systems is very sufficient, there are some unsolved problems. (i) (Fractional Dynamics Model) Most papers regard second order dynamics model as the research object, for the existing complex dynamic environment, the system with integer order dynamic model is not fit to practice situations. So the flocking behaviors with fractional characteristics is still a question. (ii) (Nonlinear flocking control) The existing algorithms for nonlinear flocking must satisfy the local Lipschitz condition, the constraint is very strong. It is a problem that how to broaden the nonlinear dynamic constraints. (iii) (Flicking robust) Since noise and external disturbances exist in the actual network, control often cannot achieve the desired results. It is significant to investigate the robust of flocking control. (\(iv\)) (Multi-USV systems) In the existing research results of flocking control, also found only little literature about multi-USV systems. The difficult point is that how to solve the control problem of multi-USV systems, when the complicated external environment are adequately considered.