Evolving Combat Bots. What brain, outputs & inputs are best for this project?

My friend and I need to make 2 bots.
These bots will have a brain pattern that stores their commands. (these commands aren't the C++Bot code, these commands are stored as INTs)
This brain pattern is developed by a sequence of "pseudo DNA" that is also stored in the bot's brain.

Outputs:

  • left wheel 1 forward
  • left wheel 2 forward
  • left wheel 1 back
  • left wheel 2 back
  • right wheel 1 forward
  • right wheel 2 forward
  • right wheel 1 back
  • right wheel 2 back
  • front head Laser beam (of some sort)
  • radio feed back to watch status of bot's brain ( I was thinking of taking apart 2 wireless mice and translating their movement (from the bot) to use-able data for the computers )

Inputs:

  • left wheel 1 shot spot ( a spot where the wheel can be shot by the laser and then disabled)
  • left wheel 2 shot spot
  • right wheel 1 shot spot
  • right wheel 2 shot spot
  • rear end shot spot
  • left ear
  • right ear
  • Eye (needs to pick up at least a line of light in 1 instant... I could use a webcam, but how much harder will that be)
  • Radio listener to know when a combat session should start

4096 bits for Neuron Linking (each neuron can link up with up to 4 other neurons)
1024 INTs for Neuron Data
1024 bits for Pulse Location
1024 INTs for Pulse Data
small 160x120 video (if using a 2D light input... i prefer horizon linear input but it's hard to find a device that just captures a horizon line in an instant)
1000 units that are 16bits
1KB max for interpreting DNA & Neurology

Should that data be stored in the chips default memory or should I use an external device?
If I should use an external device, what's a good place to start understanding how to do that?

You cant do all that with an arduino. the mega only has 2kB (kb?). You could get a memory board but still you would be asking far to much of it. Unless your thinking the arduino is permanently attached to a pc?. Then you could do it. But not all of it is applicable to the arduino.
I dont know what you would use, you could use all sorts i'm sure. Processing might be a good start.

External storage it is then.

I can do so remotely, or with a device attached to the bots.
Preferably remotely.

Is there a good thread about remote storage that someone can point me to?

That look like an impressing project. A AtMega328 / Arduino by itself will not cut it. A Pentium Motherboard with hard drive or SD drive connect to several Arduino's and others USB devices for I/O might work. The pentium CPU is design to run programs at the same time ( Virtual X86 mode ) and maybe use Windows or Linux operating system or your own operating system, built the robot around the Pentium motherboard instead of building a PC, connect the Arduino / Microcontroller to communicated with the motherboard in I2C or others serial methode like Master / Slave system.

That type of system might work. Just one thing... It not going to be an easy job, but a challenging one.

My opinion / 2 cents

So you don't think I could just establish a wireless connection between a computer and a bot where the computer stores all the data and the bots simply sends data (cam & ears & "ouch" for when hit) back to the comp and executes command responses that the comp stores?

Is there a way to get an Arduino to store data into a USB?
At least it's neurology and DNA.
It'd be nice to have the bot be standalone.

It can be stored on an sd card, but an arduino is better for the controlling not so much intense processing,
maybe a network where the computer does all the figuring out and tells each arduino what to do will be more feasible. The arduino can easily monitor inputs and control outputs and report a computer, however simulating neurons is way past its specs, even accounting for that many things is way past its ability
good luck

I think the SD card will do well.
Thanks!

is there a pointer to an example of using it with an Arduino brain?

Can an UNO store&extract from/to an SD card?

Arduino mega has 8 kByte RAM, plus you could stuff whatever constant data in the flash 256 kByte.
Even idea with calculus done on the big computer side looks attractive, overall performance of the system would be constrained by data transmission links, and I think it better to do all processing at the battle field, on arduino as much as possible. Depends on the algorithm, it would make sense at least differentiate some subroutine in "high" and "low" priority, so fast and "high" task - at arduino and everything else at server. I don't really understand the meaning of the SD cards etc, on this specific device, if it's not some kind a dataloger or photoalbum. If there is no time to process data in real time, data must be discarded, what the point to store it? For autopsy?

Look in the reference section on the main page, there is an sd library with example that work great, mind you its not the fastes thing in the world and writing often to it will take some time

Magician:
Arduino mega has 8 kByte RAM, plus you could stuff whatever constant data in the flash 256 kByte.
Even idea with calculus done on the big computer side looks attractive, overall performance of the system would be constrained by data transmission links, and I think it better to do all processing at the battle field, on arduino as much as possible. Depends on the algorithm, it would make sense at least differentiate some subroutine in "high" and "low" priority, so fast and "high" task - at arduino and everything else at server. I don't really understand the meaning of the SD cards etc, on this specific device, if it's not some kind a dataloger or photoalbum. If there is no time to process data in real time, data must be discarded, what the point to store it? For autopsy?

The data in the SD card contains the DNA & Neurology of the bot.
That is all dynamic content.