Illustration of Centralized Command and Control for Flocking Behavior

Illustration of Centralized Command and Control for Flocking Behavior

Sami Oweis (Oakland University, Rochester, MI, USA), Subramaniam Ganesan (Oakland University, Rochester, MI, USA) and Ka C. Cheok (Oakland University, Rochester, MI, USA)
Copyright: © 2014 |Pages: 22
DOI: 10.4018/ijhcr.2014040101


Flocking is a term that describes the behavior of a group of birds (a “flock”) in flight, or the swarming behavior of insects. This paper presents detailed information about how to use the flocking techniques to control a group of embedded controlled systems - ‘'Boids''- such as ground systems (robotic vehicles/ swarm robots). Each one of these systems collectively moves inside/outside of a building to reach a target. The flocking behavior is implemented on a server-based control, which processes each of the boids' properties e.g. position, speed & target. Subsequently, the server will assign the appropriate move to a specific boid. The calculated information will be used locally to control and direct the movements/flocking for each boid in the group. A simulation technique and detailed flow chart is presented. In addition to Reynolds three original rules for flocking, two other rules- targeting obstacle avoidance - are presented-. Our result shows that the obstacles' avoiding rule was utilized to ensure that the flock didn't collide with obstacles in each of the boids' paths.
Article Preview


Flocking is a behavior that shows a set of independent, self-propelled entities moving together collectively (Reynolds, C., 1987; Oweis, S., Ganesan, S. & Cheok, K., 2014; Wikipedia, n.d.); these entities are called boids (, n.d.). To participate in a flock, each entity must be able to coordinate its own movement while considering the effect on its neighboring entities. An entity cannot move too fast or too slow relative to the flock. It also cannot be too close to or too far from any proximal entities. This requires each entity to continuously adjust its motion so not to disrupt any other neighboring entity. Flocking behavior can be found both in natural and artificial environments. Common natural flocks include bird formations or schools of fish. Artificial flocking behavior can often be found in robotics and aerospace. Examples of artificial applications are controlling the behavior of Unmanned Aerial Vehicles (UAVs), screensavers and movie animation.

In normal flocking behavior, there is no centralized control of the flock as a group. Each bird behaves autonomously. In other words, each bird has to decide for itself which flock to consider as its environment. Usually, environment is defined as a circle (2D) or an orb (3D) with a particular radius, representing the wing reach or domain of an individual bird (Reynolds, C., 1987; Oweis, S., Ganesan, S. & Cheok, K., 2014; Wikipedia, n.d.;, n.d.).

A basic utilization of a flocking algorithm has a time complexity of (Wikipedia, n.d.) - each bird searches through all other birds to find those who fall into this environment, whereis the number of the birds in the flock. This paper presents a new way of applying flocking behavior by usage of a central command and control flocking algorithm. The algorithm can run on a server to have overall control of each boid in the flock, and a better path planning for the boid.

This paper is structured as follows: Section II describes the properties of the boids in the flock; Section III describes the original three Reynolds rules, while Section IV includes two addition rules of flocking. They were added to support both obstacle avoidance and targeting. Section V shows implementation of the flocking simulation using MATLAB® software (Mathworks, n.d.). Finally, Section VI provides a conclusion and insight into future work.

Boids Properties

There are two sets of properties for the boids: global and environmental parameters. Examples of these are the radius of the environment; the coefficient of friction (in both static friction and kinetic friction); and acceleration. There are other local boid parameters, such as mass, separation, alignment, cohesion, targeting and avoiding strengths, velocity and force limits, in addition to an assigned number ID to uniquely identify each boid in the space.

Reynolds Rules of Flocking

Flocking behavior in a virtual environment was first demonstrated by Craig Reynolds, in 1986 (Reynolds, C., 1987; Oweis, S., Ganesan, S. & Cheok, K., 2014; Wikipedia, n.d.;, n.d.). Reynolds developed a set of simple adaptive rules that each boid could apply to its current position, speed, and orientation. These rules are known as Reynolds Rules of Flocking. There are three main rules: 1. Separation, 2. Alignment, and 3. Cohesion. (Bourg and Seemann, 2004; Wikipedia, n.d.; Ibanez, Gomez-Skarmeta & Blat, 2003).

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 10: 4 Issues (2019): Forthcoming, Available for Pre-Order
Volume 9: 4 Issues (2018): Forthcoming, Available for Pre-Order
Volume 8: 4 Issues (2017): 3 Released, 1 Forthcoming
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing