Multi-Flock Flocking for Multi-Agent Dynamic Systems

There has been much research done on single-flock flocking Shaw (1975), Partridge (1984), Partridge (1982), Okubo (1986), Reynolds (1987), Vicsek et al. (1995), Toner & Tu (1998), Shimoyama et al. (1996), Mogilner & Edelstein-Keshet (1999), Helbing et al. (2000), Vicsek (2001), Parrish et al. (2002), Olfati-Saber (2006), but none done on multi-flock flocking Gazi & Fidan (2007). One might ask, "Why would we need multiple flock flocking?" Consider the following scenario: there are two groups (squads/flocks) of Unmanned Vehicles (UV), both being in between the other group and the other groups’ objective/goal. If both groups had the same capabilities then all we would need to do is to swap the groups goals. Unfortunately the groups have different sensing capabilities. One group of UV’s is equipped with infrared cameras and the other with high-resolution cameras. Since each group is in the way of the other, it would be great if they could move out of each other’s way. This in turn would decrease the amount of time for both groups to meet their goals. We propose a new flocking algorithm that allows flocks to maneuver around other flocks (if needed) decreasing the amount of time each flock takes to reach their respective goals. Wewill do this by adding an additional agent, τ, to Olfati-Saber’s Olfati-Saber (2006) existing α, β and γ-agents. The resulting algorithmwill be compared to Olfati-Saber’s flocking algorithm. Both algorithms will be simulated in multiple scenarios using Matlab. The scenarios will consist of both flock’s being in-between the other flock and the other flocks goal, using different size flocks and only 1 group for a baseline. Section 2 presents related works. Section 3 includes our approach and multi-flock flocking algorithm. Section 4 contains our simulation setup. The simulation results are in 5; followed by the analysis in Section 6. Conclusions and future directions are in Section 7.


Introduction
There has been much research done on single-flock flocking Shaw (1975), Partridge (1984), Partridge (1982), Okubo (1986), Reynolds (1987), Vicsek et al. (1995), Toner & Tu (1998), Shimoyama et al. (1996), Mogilner & Edelstein-Keshet (1999), Helbing et al. (2000), Vicsek (2001), Parrish et al. (2002), Olfati-Saber (2006), but none done on multi-flock flocking Gazi & Fidan (2007). One might ask, "Why would we need multiple flock flocking?" Consider the following scenario: there are two groups (squads/flocks) of Unmanned Vehicles (UV), both being in between the other group and the other groups' objective/goal. If both groups had the same capabilities then all we would need to do is to swap the groups goals. Unfortunately the groups have different sensing capabilities. One group of UV's is equipped with infrared cameras and the other with high-resolution cameras. Since each group is in the way of the other, it would be great if they could move out of each other's way. This in turn would decrease the amount of time for both groups to meet their goals. We propose a new flocking algorithm that allows flocks to maneuver around other flocks (if needed) decreasing the amount of time each flock takes to reach their respective goals. We will do this by adding an additional agent, τ, to Olfati-Saber's Olfati- Saber (2006) existing α, β and γ-agents. The resulting algorithm will be compared to Olfati-Saber's flocking algorithm. Both algorithms will be simulated in multiple scenarios using Matlab. The scenarios will consist of both flock's being in-between the other flock and the other flocks goal, using different size flocks and only 1 group for a baseline. Section 2 presents related works. Section 3 includes our approach and multi-flock flocking algorithm. Section 4 contains our simulation setup. The simulation results are in 5; followed by the analysis in Section 6. Conclusions and future directions are in Section 7.
Currently the flocking technique is mainly used in massive sensing using mobile sensor networks, self-assembly of connected mobile networks, and performing military missions such as reconnaissance, and surveillance. The self-organized feature of flocks can provide a heuristic conception in the design of mobile sensor networks and robotics systems. The development of flocking techniques has had three phases. The first phase was primarily from a theoretical perspective. The typical researchers include: Viscek et al. Vicsek et al. (1995), whose work was mainly focused on alignment in self-driven particle systems; Toner and Tu Toner & Tu (1998) proposed a new scheme called continuum mechanics; and Levine et al. Levine et al. (2000), who developed a novel algorithm called rotating swarms to simulate ant mills with the all-to-all interactions. Additionally, several other continuum models of swarms were proposed which include works by Mogilner and Eldstein-Keshet Mogilner & Edelstein-Keshet (1996), Mogilner & Edelstein-Keshet (1999), and Topaz and Bertozzi Topaz & Bertozzi (2004). Helbing et al. Helbing et al. (2000) designed an empirical particle-based flocking model to study the escape panic phenomenon. The second phase focused on the consensus problem and network topology. The contributions were mainly made by Olfati-Saber and Murray Saber & Murray (2003) Olfati- Saber & Murray (2004), Jadbabaie et al. Jadbabaie et al. (2003), Moreau Moreau (2005), and Ren and Beard Ren & Beard (2005). Although in the alignment problem, there is no constraint on the consensus value, when used for networked dynamic systems, the objective is distributed computation of a function via agreement Saber & Murray (2003), Olfati-Saber et al. (2007). Olfati -Saber and Murray Saber & Murray (2003) Olfati-Saber & Murray (2004) created a graph-induced potential function based structural formation control. Another work that belongs to this phase is on formation control and graph Laplacian by Fax and Murray Fax & Murray (2004). Nowadays, the stability analysis of particles or agents with all-to-all interactions draws more attention. With respect to this issue, Tanner et al. Tanner et al. (2007) proposed a centralized algorithm for a particle system which leads to irregular collapse. They also proposed a distributed algorithm that leads to irregular fragmentation. Since collapse and fragmentation are two usual pitfalls of flocking, stability analysis on collapse and fragmentation is the evaluation method used for modern flocking algorithms.

Distributed intelligence in multi-robot systems
In Parker (2008), Parker gives an overview of the distributed intelligence field and its use in multi-robot systems. She first defines distributed intelligence and then defines the domain space of distributed intelligence. She defined four types of interactions in distributed intelligence: collective; cooperative; collaborative; and coordinative. Collective interaction is defined as when entities are not aware of other entities on their team but share the same goals. The entities also help each other even though they are not planned to do so. An example of collective interaction is swarm robotics. Cooperative interaction is defined by entities being aware of the others and share goals. They also benefit each other with their actions. An example of cooperative interaction would be a team of robots who share map information and are trying to explore an unknown area. Collaborative interaction is defined by the entities having individual goals, and being aware of other entities on the team. The entities actions help the others achieve their own goals. Coordinative interaction occurs when entities have individual goals and can communicate with other entities. They do not have a common goal and their actions are not helpful to the other entities. Essentially all of the entities are selfish and only care about their own goal. She also defined three paradigms for distributed intelligence, which are: bio inspired, emergent swarms paradigm; organizational and social paradigms; and knowledge-based, ontological, and semantic paradigms. The main message of her paper can only be come from her words when she wrote "The main message of these discussions is that the choice of paradigm is not always obvious, and is dependent upon the requirements of the application to be addressed. We also note that complex systems of multiple robots can make use of several different paradigms simultaneously" Parker (2008).

Approach
In this section we will present two distributed algorithms for multi-flock flocking algorithms. The first algorithm is Olfati-Saber's from Olfati-Saber (2006) and the second algorithm is our algorithm, which extends Olfati-Saber's but adds an additional agent that adds coordinative interaction.

Olfait-Saber's flocking algorithm
Olfati-Saber's algorithm includes 3 agents: al pha, beta and gamma. All entities, such as a single bird in a flock of birds, are physical agent's with dynamicsq i = u i called an al pha-agent. The other two agents, beta and gamma,arevirtualagentswhichmodeltheeffectsofobstaclesand the groups collective objective. The flocking algorithm has the capability to perform multiple obstacle avoidance. The equation consists of three terms: where u α i denotes the (α, α) interaction terms, u β i denotes the (α, β) interaction terms, and u γ i is the groups distributed navigational feedback. The (α, α) interaction is used to keep the agents in a lattice /flock form. The (α, β) interaction term is used for obstacle avoidance, where a virtual β-agent is on the closest point of the obstacle from the α-agent. The γ-agent is a virtual leader, used to lead the flock to the desired location. Each term in equation 1 is explained as: 1+ z 2 and c ν η are positive constants for all η = 1, 2 and ν = α, β, γ.E a c h α-agent's state is denoted by (q i , p i ), where q i is the position and p i is the velocity of the agent. The pair (q r , p r ) is the state of a static or dynamic γ-agent. The vectors n i,j andn i,k are given

Our flocking algorithm with coordinative interaction
Our equation has four agents: α, β, γ and τ.W h e r et h eα, β and γ agents are the same as in Olfati-Saber's Algorithm. The τ-agent is a virtual agent which is used to add Coordinative Interaction between the α agents. The equation consists of four terms: where u α i , u β i and u γ i are the same as in equation 1. The coordinative interaction is added using the τ-agent. Each term in equation 3 is explained as: As in equation 2, each α-agent's state is denoted by (q i , p i ), where q i is the position (with an x and y component) and p i is the velocity of the agent. The pair (q r , p r ) is the state of a static/dynamic γ-agent. The other components are defined as ,wherep i y and p i x are x and y components of the agents velocity respectively; θ i−j = θ i − θ j ;a n dd c is the cooperation distance for all j α-agents in both flocks. Essentially the τ agent is applied if two agents' (i and j) trajectories are going to intersect and their distance is less then d c . c ν η are positive constants for all η = 1, 2 and ν = α, β, γ, τ.T h ev e c t o r sn i,j andn i,k are given by

Simulation setup
Both flocking algorithms, Olfati-Saber's algorithm (equation 1) and our algorithm (equation 3), were implemented using Matlab. Matlab version 7.6.0 (R2008a) was used to run the simulations. The following parameters were used for both algorithms: d = 7 meters, r = 1.2d, the time step size is 0.01 seconds. Both algorithms used the same values for all constants: Simulations were run using 1 and 2 groups of agents, consisting of 5, 10,15,20,25,30,35,40,45 and 50 agents in each group. The groups were initially positioned into lattices with lines of 10 agents. Each group started a distance of 150 meters from their goal. If 2 groups were used, the groups were put directly in-between the other group and its respective goal. The groups were started 100 meters apart from each other. The agents were limited to a maximum speed of 7 m/s. Agents were considered to have reached their groups goal if they got within 14 meters (2d) of the goal. Each simulation was run until all agents reached their goal or until 480 seconds, in simulation time, had passed. Each simulation's time to finish was recorded. The time to finish recorded the time from the start of the simulation till all agents had reached their goal. One image was saved every second of all simulations.

Simulation results
The simulations were broken into two groups for analysis. Group A contains the results from the simulations where the agents start in a symmetric lattice (i.e. groups that had a multiple of 10 agents in them as in Figure 1 a). The results for group A can be seen in Table 1 as well as in Figure 2. Group B contains the results from the simulations when the agents started in a non-symmetric lattice (i.e. groups that did not have a multiple of 10 agents in them, as in Figure 3). The results for group B can be seen in Table 2 and in Figure 4. The combined results of both groups can be seen in Figure 5. Selected images from group 1 at key points in the experiments can be seen in Figures: 6, 7, 1, 8 and 9. Selected images from group 2 can be seen in Figure 3. Figure 6 shows images for 2 groups with 10 agents per group using the τ agent flocking algorithm. Images from the experimentswith2groupswith50agentspergroupusingtheτ agent are shown in figure 1, and without using the τ agent in figures 8 and 9.

Analysis
One can deduce from figure 5, that our additional τ agent, eq 3, improves the Olfati-Saber algorithm, eq 1. This is because without the τ agent, when the two flocks come close to each other a huge traffic jam occurs because the two flocks want to go the same direction. This can be seen in figures 7, 8 and 9. What is interesting is that a deadlock occurred in the experiments with 5 and 10 agents per group. Although, the deadlock was unexpected, it is easily explainable. The reason the deadlock occurs is because the flocks do not have the additional velocity, essentially a push, from the additional rows of agents behind them as in all of the other experiments. Another interesting result is that all of the 1 group experiments, group B finished faster then their counterpart in group A, n=15 vs. n=10, n=25 vs. n=20, n=35 vs. n=30, and n=45 vs. n=40). This also occurred in the without τ, equation 1, experiments except for n=15 vs. n=10, because the agents did not finish in n=5 and n=10 This result is due to the fact that the groups are not symmetric but rather rotated versions of the other which can be seen in figure 3. Because of the non symmetric lattices the groups actions are different from each other when the traffic jam occurs, which in turn allows the groups to get around each other faster.

Conclusion and future work
In this paper we presented an improved multi flock flocking algorithm (equation 3), that added coordinative interaction to Olfati-Saber's flocking algorithm Olfati-Saber (2006) (equation 1). Our algorithm performed better than Olfati-Saber's algorithm in simulations where two groups were in between the other group and the other groups' goal. It performed exactly as Olfati-Saber's algorithm when there was only one flock. This was because our algorithm was based on Olfati-Saber's, and the only difference was when two flocks were close enough to the other flock and the flocks trajectories were set to intersect the other. The next stage of this work would be to improve the algorithm by modifying our τ agent to change the agent's trajectory based on the trajectory of both agents instead of just rotating τ agent 90 degrees. Another improvement would be to weight the τ agent based on the number of agents in the other flocks. These improvements should allow for a better interaction between multiple flocks instead. The objective of this book is to cover advances of mobile robotics and related technologies applied for multi robot systems' design and development. Design of control system is a complex issue, requiring the application of information technologies to link the robots into a single network. Human robot interface becomes a demanding task, especially when we try to use sophisticated methods for brain signal processing. Generated electrophysiological signals can be used to command different devices, such as cars, wheelchair or even video games. A number of developments in navigation and path planning, including parallel programming, can be observed. Cooperative path planning, formation control of multi robotic agents, communication and distance measurement between agents are shown. Training of the mobile robot operators is very difficult task also because of several factors related to different task execution. The presented improvement is related to environment model generation based on autonomous mobile robot observations.