The virtual robot is programmed via Processing 1.5.1. The code is running on a Windows 7, 64 bit, core i7 processor laptop. The main interface is the Processing display window (see image) with an input and output area as well as a 3 dimensional robot head, able to show different facial expressions and rotation movements. An Arduino Mega board is controlled from Processing without writing code for the Arduino. The firmware is called Firmata, and is included in the Arduino software. The Arduino Mega board is an input device for sensors the laptop can not provide (for instance temperature sensor) and an output device for actuators like a robot arm etc. I will probably design my own input and output shields for the Arduino Mega. The main work (and joy) is to program the artificial intelligence of the virtual robot. I'll use Markov chains, multi-layer perceptrons, VSLA's and own invented algorithms. The virtual robot will be also equipped with speech synthesis and speech recognition.
Fig. 1 Current Processing interface GUI
Work done so far:
I have programmed a relatively simple 3-dimensional robot head which is controlled by a potentiometer, connected to an analog input of the Arduino. See video.