More Flocking

Posted by Glen in on 12 Jan. 2003, 6:53 pm

Since April, I’ve implemented a new aerodynamics model in the flocking simulation and optimized the control parameters using a genetic algorithms. The results were presented at the AIAA 41st annual Aerospace Sciences Meeting in Reno, Nevada on 7 Jan., 2003. See links at right to download the paper and presentation.

Flocking Update

Posted by Glen in on 12 Apr. 2002, 7:02 pm

By adding an aerodynamic model, I have finally persuaded the geese to form a “V”. So why is this significant? There is nothing in the simulation that says “make a V.” People have shown that a V-formation is good for the entire flock by reducing the overall drag, but how do the individual geese know to form this pattern? The local drag will inevitably vary from goose to goose, so is a V-formation produced through some form of cooperation? Or does each bird act purely selfishly, seeking only to reduce its own drag? Game theory and complexity theory both suggest that it is often possible for groups of selfish individuals to produce global benefits (a nonzero sum), and I am attempting to show that this principle applies to flocks of geese. One application is autonomous air vehicles, where centralized control may be impractical.

My simulation is adapted from Craig Reynolds’ Boids, basically adding an aerodynamic rule to the conventional set. In a nutshell, each “boid” computes its new position based on a set of rules applied to each other boid in the flock. Conventional boids have centering, collision avoidance, and migration rules, each of which has a unique weight (importance) and range. For example, the collision avoidance rule has a high weight (very important) but only a short range. This way, nearby boids will avoid hitting one another, but distant boids are unaffected.

The aerodynamic rule I have added simply computes the gradient of the drag for each boid, and tells the boid to fly in that direction. Presumably a real bird is able to feel pressure changes over its body and sense which direction to move for reduced drag, and the aerodynamic boid rule is the functional equivalent of this behavior. Results are promising so far, with the geese forming a “V” from random starting positions. The V seems to be marginally stable, but stability is a strong function of the parameters. For example, reducing the centering weight prevents the V from collapsing but may allow the geese to ultimately separate. I plan to make a flocking page with more information on this project. Also, the program is available to anyone who wants it; just ask.

  1. Comment from Chen on 15 Nov. 2006, 8:43 pm :

    Hi Glen, how can i try your demo? thanks
    -Chen

Flocking update

Posted by Glen in on 9 Apr. 2002, 4:45 am

My flocking simulation is progressing; the birds basically fly around in a swarm. They’re fascinating to watch, though. They’ll fly chaotically for a few seconds, then discover a strange attractor and sit in a rigid formation for several more seconds. Then more chaos, then another formation. The simulation lacks noise right now, and I expect the formations to be much less stable with the slightest bit of noise. Next I will add aerodynamics to try and coax the birds into some recognizable pattern. This, of course, is the hard part. After that’s done, I’ll run them through a genetic algorithm (GA) to optimize their flocking instincts toward low drag. That is the other hard part.

Birds

Posted by Glen in on 3 Apr. 2002, 12:43 am

Geese are awfully clever. Did you know that a wingbeat travels back in a flock to minimize drag? In other words, each goose begins flapping just a fraction of a second later than the goose in front of it. I don’t know if anyone has studied this behavior, but I would guess that the birds are taking advantage of the upwash produced by their neighbors.

I’m currently working on a paper that explores flocking behavior in large birds such as geese. One goal is to show an aerodynamic basis for the familar “V” formation.

Function over Form

Posted by Glen in on 10 Mar. 2002, 4:57 pm

I wanted to get this research page up as soon as possible, even if it meant sparing details and aesthetics. So here it is. My plan is to update it regularly, but we’ll see how that works out.