Un Arduino en sí mismo tiene muy poca E / S y muy poca potencia de CPU y memoria. Puedes usar múltiples Arduinos (como lo sugiere el vicatu) o usar algo más poderoso como el mbed (como lo sugiere Joby Taffey). Yo sugeriría un híbrido de ambas ideas. Use un procesador potente para proporcionar control global y de inteligencia artificial y use microcontroladores más simples como administradores de E / S. De hecho, sugeriría una jerarquía completa con tantas capas como sea necesario con procesadores más potentes a medida que ascienda a través de la jerarquía.
Por ejemplo, he usado el Gameboy Advance como el 'cerebro' de un robot mientras la I / O fue administrada por los microcontroladores PIC16F84. Creo que un arreglo ideal sería algo tan poderoso como una PC (tal vez una mini placa ITX) o algo como una placa Beagle como el cerebro, una capa intermedia con múltiples MBED o Zilog Z8 como administradores de subsistemas (control de movimiento, gestión de sensores , algún preprocesamiento de sensores etc). y muchos microcontroladores pequeños / baratos (Atmel / PIC / TI MSP430, etc.) para gestionar el trabajo de la pierna. La capa superior puede usar Ethernet o USB, las niveles inferiores pueden usar RS232, I2C, etc.
Una ventaja de todo este enfoque es que puede modularizar su desarrollo (bueno para grupos de amigos o estudiantes). Los módulos individuales pueden tener objetivos mejor definidos (y más fáciles de alcanzar) y ser proyectos completos en sí mismos. En los niveles más altos puede concentrarse en la inteligencia artificial y en el control total del robot sin tener que preocuparse por los detalles de bajo nivel (por ejemplo, si puede emitir un comando para girar el robot 45 grados, ha dividido efectivamente su problema en dos. El nivel más alto puede concentrarse sobre las decisiones en qué dirección girar (toma de decisiones), mientras que un controlador de nivel inferior solo tiene que satisfacer a los motores simples y bien definidos desde arriba. En cierto modo, esto es modelar nuestro robot de la forma en que funcionan nuestros cerebros (no a nivel neurológico). Cuando decidimos acercarnos y tomar una taza, no tenemos que pensar concienzudamente sobre la mecánica de lo que estamos haciendo. Podríamos ver que esta acción ocurre en tres niveles:
1) High level - the decison to pick up the cup.
2) Mid level - co-ordinate motor actions and basic analysis of senory inputs.
3) Low level - perform motor action, collect sensor data.
Espero que esto sea útil.