Author Topic: Revised Robot Information  (Read 3928 times)

Offline jon

  • Bot Neophyte
  • *
  • Posts: 18
    • View Profile
Revised Robot Information
« on: January 02, 2011, 11:18:10 AM »
Hello All!

First, I must apologize, I have uploaded so many pdfs that it's probably almost impossible to find relevant information, so I'll just upload the most important ones here to give a general overview. If you want more info, you can see the pdfs I posted elsewhere.

I thought I might as well post an overview here while I'm at it, reflecting some of the ideas and help I've gotten recently (thanks!)

The purpose: To combine several ALife technologies into a learning robot.
The technologies it is based on are cellular neural networks and genetic algorithms.

A cellular neural network, or a neural network where neurons are only connected to neighboring neurons (in this case where each neuron is a cell in a square lattice, connected to the 8 cells surrounding it) is going to be the control mechanism. The relationship between neighboring neurons/cells can be either disconnected, excitatory, or inhibitory. The state of a neuron can be firing, refractory, or ready.  A neuron fires if the number of excitatory inputs from neighboring firing cells is greater than the number if inhibitory inputs from those firing cells. All connections have a weight of one. Specialized neurons can be set up which are constantly firing, which fire only when activated by sensors, or whose output goes directly to the robot motors. In such a network, if all neurons were connected to all their neighbors with only excitatory connections, and there were no specialized neurons, then the network would emulate the Brian's Brain cellular automaton.

The exact number and type of neurons and number and type of connections is determined by a genetic algorithm. The population is two; one currently being executed in the robot, and one stored in memory. The one being executed is a mutation of the one stored in memory. If the one currently being executed has a higher fitness than the one stored in memory, it replaces the one in memory, otherwise, it is mutated again, and the cycle repeats.

Fitness is determined by the total amount of pain and pleasure received by the robot. In the beginning, pleasure (fitness) will be determined by an on-board accelerometer; the further the robot moves, the higher the pleasure is and the more fit the current neural network is. Once this works, more sensors can be added for light, obstacles, etc... to evolve more complex behaviors.

---

First (and most important): Software

See ( http://www.ai-junkie.com/ann/evolved/nnt1.html ) for an easy-to-understand overview. (no math :D)

See ( http://www.seattlerobotics.org/encoder/200205/abionin.htm ) for a similarly simple robot implementation.

See ( http://www.youtube.com/watch?v=68AR5WOUxeg&feature=related ) and ( http://headphones.solarbotics.net/learnbot.html ) for examples of similar robots.

See ( http://en.wikipedia.org/wiki/Brian%27s_Brain ) , ( http://en.wikipedia.org/wiki/Cellular_neural_network ) , the attached "brainwaves" pdf file and the attached "exampleCNN" jpg picture as well as the overview website above to see the basis for the design of the robot's "brain."

See the attached "brainsim" pdf file for a detailed description on how the human brain is theorized to work.
« Last Edit: January 03, 2011, 03:00:10 PM by jon »

Offline jon

  • Bot Neophyte
  • *
  • Posts: 18
    • View Profile
Re: Revised Robot Information
« Reply #1 on: January 02, 2011, 11:33:31 AM »
Second, hardware:

Tentative layout:

Parallax spinstamp 8-core microcontroller ( http://www.parallax.com/Store/Microcontrollers/PropellerChips/tabid/142/CategoryID/18/List/0/SortField/0/Level/a/ProductID/448/Default.aspx )

Solarbotics scoutwalker III ( http://solarbotics.com/products/k_w3/ ) + sumovore BS2 brainboard + brainboard prototyping PCB

Accelerometer