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