Flockcarbot:
Here's a page on some of my work trying to make small autonomous robots
which can flock and do other interesting things without any centralized
control.
I'm going to be updating this page regularly as I make progress on it.
Goals of project:
1. Make a number of autonomous robots which can behave in a
organized intelligible way in a distributed manner, without
centralized control or computation, or even a hierarchical designation
(ie leaders & followers)
2. Make rules for behavior as simple as possible and biologically
plausible. (Simple rules based only on a small perceivable
neighborhood etc.)
3. Make these robots on as cheap a budget as possible (so that as
many as possible can be made)
Design 1:
This is the first attempt of a design, somewhat based on Reynold's
Flocking as well as Braitenberg vehicles. Each vehicle will emit
two types of light, one a omnidirectional ambient light, and second a
headlight. Four sensors on each corner of the car will be used to
find an overall intensity level as well as direction of greatest
intensity of each particular light.
The Rules: (in order of precedence)
1. If head light level is above a high threshold, turn and move
away from the greatest intensity of it. ( this will allow for collision
avoidance, both in terms of head on collisions, as well as reflections
from obstacles)
2. If ambient light is above a high threshold, turn and move away
from the greatest intensity. ( Allow adequate spacing)
3. If ambient light is below a low threshod, turn and move
towards the greatest intensity. (Attracted to center of neighboring
vehicles)
4. Turn away from greatest intensity of head light and move
away from it. (Direction matching is implemented by this)
Finally, by varying the velocity based on how far out of wack the
current rule is, a sort of velocity matching should be acheived.
Schematic
Here's the design of the first prototype

The locomotion for the robot is going to be based on a mico-car
chassis. A large number of these have become commercially
available in the last couple of years, with a size of only ~4cm.
If you want to, you can easily spend $100+ on one with proportional
steering etc., but my goal was to find the cheapest means of
locomotion possible.
Photos for Design 1

I found and bought a dozen of these cars on closeout at mircocenter for
$5.99 (regularly $14.99).

Here's what you get: car chassis, plastic body, 2 cones, & a
charger/controller. (With flashing lights & Sound FX!)
Here's a shot of the inside of the remote control car, before I've
started to convert it. The small cirucitboard is just the RF
receiver, the rest of the car includes a 1/3 AAA 1.2V battery, small
engine, steering meachanism for the front tires, and gears to drive the
rear wheels.

Here's a picture after I removed the remote control circuitry, and
added a connector to the steering mechanism & engine. The
steering mechanism, which is basically just a couple of solenoids are
connected to by a bit of extremely thing wire filament. Very
tricky to solder.

Here's the top of the current board, with the routing done for
the processor (a pic 16f873 chip) and the serial IO done, along with
the power supply & regulator, and the transistors and connections
for the pic chip to control the car. Basically the current
program just tests out the controls, and drives the car forward and
back every 10 seconds or so.

Bottom of the current circuitry, minus the car. Check out that
quality soldering!


Here's a top and bottom view of my "pace car". It's just one of the RC
cars with the remote control intact and a circuit board installed on
top. I will install the emmiter circuitry onto this so
that a user can control and get other autonomous agents to follow it.

Here's a snapshot of the working cicuitry which will control the IR
emmitters. The timing cirucit on the left generates a 30kHz
square wave which is then divided by the counter on the right into a
~10kHz & a ~4kHz signal, which is used to drive the IR emmitter
headlight & ambient light, respectively.


On the lef t is the IR emmitter (this one is for the headlight, with a
30 degree theta) and the photodiode receiver. On the right you
see a circuit which works when the voltage from the photodiode is
amplified (the red LED gets brighter when emmitter is closer to the
photodiode).
Current Problems:
1) Soldering is hard! It took 20+ hours to implement about a
third of one prototype on a perf board. The small board I used
for this prototype was not of the highest quality, which probably
didn't help matters much. The physical implementation of this is
taking more time than I realized, but I am going to stick with it.
2) The IR emmitter/diode don't seem to be working
well. They are not perfectly matched
(960nm wavelength to 950nm), but I believe they are close
enough. (Solved! This
photodiode puts out a much lower voltage than I expected. With
amplification this diode does indeed output a usable signal.
Significant amplification will be needed to be included when solving
issue #3)
3) My filter circiut is not currently correct, I need to learn
more about op amps. Each of the circuit needs to amplify &
low or high pass filter off the undesired frequency (10kHz or
4kHz). It then needs to integrate to get an average intensity for
the desired frequency. I've had trouble finding any good example
schematics of this which will allow me to properly tune the filter, so
I will need to design this myself. It may not be possible to get
a suitable signal with only 1 op amp, so I may need to bump my op amp
chip from a dual to a quad. (two for each of the filters)
4) My motor can be driven by the chip, but not strongly
enough for it to move the chassis/battery/board assembly when it is set
on the ground. I have tried setting my prototype on top of
my pace car and gotten it to move, albeit not very fast. So I
need to adjust my current/voltage supply to give the motor an optimal
supply.
Here's a bibiliography of articles which may or may not be relavant to
the project (a couple are a bit silly). I will try to update this
as I find more info.
Bibliography:
Flocking by the Fusion of Sonar and Active Infrared Sensors on Physical
Autonomous Mobile Robots (1996)
http://www-robotics.usc.edu/~ikelly/publications/mech96.pdf
I.D. Kelly & D.A. Keating.
A Miniature Infrared Sensor Array
http://www.andrew.cmu.edu/~rjg/research/research_hardware/mini_ir_array.html
Robert Grabowski
Vehicles, experiments in synthetic psychology
Valentino Braitenberg Published Cambridge, Mass. : MIT Press,
c1984
Fundamentals of the Infrared Physical Layer (2004)
Paul Barna, Steve Schlanger. Technical Report, Microchip
Technology Inc.
Romero's Odyssey To Santa Fe: From Simulation To Real Life (2000)
Christof Teuscher, Eduardo Sanchez, Moshe Sipper
A General Algorithm for Robot Formations Using Local Sensing and Minimal
Communication (2003)
Jakob Fredslund and Maja J Mataric
Flocking by A Set of Autonomous Mobile Robots (2001)
Vincenzo Gervasi, Giuseppe Prencipe
Coordination without Communication: The Case of the Flocking Problem
(2002)
Vincenzo Gervasi, Giuseppe Prencipe
Experiments in automatic flock control (1999)
Richard Vaughan, Neil Sumpter, Jane Henderson, Andy Frost, Stephen
Cameron
Robomote: A Tiny Mobile Robot Platform for Large-Scale Ad-hoc Sensor
Networks (2002)
Gabriel T. Sibley, Mohammad H. Rahimi, Gaurav S. Sukhatme
Flocks, Herds, and Schools: A Distributed Behavioral Model (1987)
Craig W. Reynolds Computer Graphics
Self-stabilizing systems in spite of distributed control. (1974)
E. W. Dijkstra. Communications of the ACM, 17(11):643--644, November
1974.
Bird flocks and the breeding cycle; a contribution to the study of avian
sociality by F. Fraser Darling
Published Cambridge [Eng.] The University press, 1938
Social behaviour in birds and mammals; essays on the social
ethology of
animals and man, edited by John Hurrell Crook
Published London, New York, [Academic Press] 1970
True newes from Ireland, or, The state of Dublin as it stood the 27 of
December, and other parts of Ireland [microform] : being the copy of a
letter sent from a good hand to an alderman of this city shewing that
they
attempt the blocking up of Dublin and to that end are building two
sconces
at the havens mouth, out of the command of the castle, upon which they
have mounted 12 pieces of ordnance, by reading which you shall find the
vanity and falshood of those foolish pamphlets invented and published of
late : with a strange and unheard of flocking together of severall kinds
of birds over the city of Dublin on Christmas Eve last
Whetcombe, Tristram Published London : Printed for F.C. and
J.W., 1641
Last modified: 19 Mar 2004