The pan and tilt servos are the cheap HXT900 micro servos. The head is a bit too heavy and it stays balanced on the tilt servo. If it starts to fall in one direction or another, the servo will try to compensate, but being poor quality it jitters and starts to oscillate. It needs to be replaced by a better quality servo. I just received another relatively cheap servo to replace it, but it is a bit longer so I need to mod the support. I'll report back if it improves things.
On the other hand, the pan servo should not jitter that much. But I'm using the new Arduino Servo library that uses Timer1 and interrupts to set the pulses. I also use the I2C interface that is using interrupts too. Sometimes they interfere. I had bigger problems when I was running everything on one board. Now I have it separated in 4 boards (4 MCUs). Now I can have the robot sing and dance at the same time. I can have it on waiting for voice commands while executing another task. The boards send and receive stuff to each other as needed, so far so good.
I also need to slow down the servos, they move like Admin's karate ERP. I'll take a look at his code to see what I can do about this.
But more importantly, I need to focus on the robot's senses. So far only the Ping sensor and the Thermopile Array are working properly. I have problems with the Sharp sensors, they give me weird measurements, not sure yet where the problem is. With a wall at a constant distance (nothing moves) the measurement increments with random values, although I reset the variable each time before the measurement is taken. The Ping sensor is much more stable, at a fixed distance, it gives me the same reading and it has faster refresh rate than the Sharp Sensor, although it uses sound not light.
So, a lot more work is needed until the robot will be able to fetch that beer!