Emergence

From Pumping Station One
Revision as of 02:59, 29 June 2014 by Gpdaneau (talk | contribs)
Jump to navigation Jump to search

Concept


In philosophy, systems theory, science, and art, emergence is the way complex systems and patterns arise out
of a multiplicity of relatively simple interactions. Emergence is central to the theories of integrative levels and of complex systems.

The idea is to build a number of small (palm sized) and relatively inexpensive ($50 is the target) robots, and give them the basic abilities to communicate with each other and adapt to their environment. The idea is to see what kind of complex social behavior we can coax out of a multiple of relatively simple machines, and hopefully be surprised by something we didn't explicitly program them to do.


Directions and Plans


The 'bots are eventually going to be solar powered. They will sit collecting energy until they have enough to run through a movement or communications cycle. When they decide to move (the target is to have them move for 15-20 seconds every 15-20 minutes) they will wander randomly for the first half the cycle to ensure that they spread and explore. During the second half, they will realize that they're 'hungry' and will use light detection to head for the brightest area they can see, bettering their chances of recharging quickly.

A few of the settings (ones for, say, motor speed or level of contrast it looks for when seeking light) will be left for them to decide for themselves. When they sit out a cycle and go into a communications phase, they'll use IR LEDs to broadcast their efficiency level, and what their settings currently are. All the other 'bots in the immediate area will compare their own efficiency to the one broadcast, and nudge their own settings closer to the broadcasting 'bot's, or ignore them if they're doing better. Eventually, this yes/no better/worse behavior should help each other find the best settings for whatever environment that they're placed in.

So far two of the prototypes have been built, and we could use help building at least another 10.

Here is a 3D visualization:https://wiki.pumpingstationone.org/File:E.01.jpg

Here are two of the prototypes:https://wiki.pumpingstationone.org/File:Get-attachment2.jpg

Bill of Materials

From Solarbotics.com:

Processor: Ardweeny processor and FTDI adapter 1 @ $24.90 [1]

Motor driver board: 1 @ $8.95 [2]

Motor and wheel package: 2 @ $7.98 [3] Select motor GM9, wheel color preference

  • I have 2 extra wheels if you don't mind black and just want to buy the motors

From Jameco.com:

Switches (for edge and obstacle sensing) 4 @ $1.75 [4]

The rest of the parts were bought locally from American Science and Surplus and Radio shack:

Small breadboard: 1 @ about $5 Radio Shack*

Spade connectors 22 gauge: about $3 Radio Shack*

5v voltage regulator: 1 @ about $3 Radio Shack*

4AA battery holder: 1 @ $1.25 Am Sci & Surp*

Switch: 1 @ $1 Am Sci and Surp*

Airline salt shaker (used as caster) 1 @ $.75 Am Sci and Surp*

10K Ohm resistors: 4 @ a few bucks for a handful*

Assorted jumper wires (mine came from an Arduino starter pack)

Welding wire scrounged from shop (for antennae)

Acrylic sheet for body*

The asterisks indicate materials that Greg may already have.


Useful Links


This is the Github repository for the code we have so far. It is coded in Wiring, and we only have edge detection and obstacle avoidance at the moment. This needs a lot of work; all programmers welcome! The Github also contains Greg's email updates and other updates on the status of the project.

[5]

This project will be a PS1 entry for the 2014 Hackaday Prize project. [6]