kalman filter*balancing robot
I would start with just single-axis accelerometer, such as ADXL202, and add (for the time being) one (or two) small wheel(s) so the robot will not fall if something goes wrong ..
The output voltage from the ADXL sensor (as a tilt sensor) looks like a parabola (hyperbola) and that should be enough tilt/vertical information for a microcontroller to maintain the robot's vertical position and monoeuvre forwards and reverse .. with, and later without, using the supportive wheel(s) ..
Information on the ADXL202 sensor is readily available (google) ..
Regards,
IanP