View Full Version : 2 wheel self balancing robot

06-23-2009, 11:04 PM

i have been thinking about this problem for quiet some time now...

i read on the net that a two wheel balancing robot can not be made alone by accelerometer and it is necessary to use both accelerometer and a gyro to build a 2 wheel balancing robot !

but the argument which i can give is

if we use a 2 axis ( or 3 axis but one axis will not be required) accelerometer..
where one axis is vertical ( perpendicular to the mounting of the accelerometer)

and other is horizontal ( in the direction of mounting of accelerometer and perpendicular to the line joining the two wheels).

thus according to me even if there is a motion of the body the effect is only on the z axis (vertical axis) and if it tilts the effect is on the horizontal axis...

thus following the above observations we can detect tilt and if possible motion.

the rate as stated by a gyroscope can be calculated by taking readings at different times and dividing it by the time interval...

and thus using the above information we can send appropriate control to the motors ( mostly DC , pwm) and control the motion...

i hope using the above procedure an accurate 2 wheel balancing robot can be built using just accelerometer ...

however before laying my hands upon this project i would like to have some reviews and suggestions on this idea...

any help will be highly appreciated...


ps: this is the first time i am writing a post so i apologize for the mistakes!!

06-24-2009, 03:17 AM
It will work , but not really well

Here is a example of what you are trying to do


06-24-2009, 08:12 AM

thanks vikas...

i saw the video. i realized the problem.

however i suppose the robot here did not implement the proportional derivative ( PD ) technique however i was planning to implement the PD in my robot.

will it not increase the accuracy and self balancing....????


06-25-2009, 10:17 AM

this uses simple sharp sensors for the same. pretty effective. But not fool proof

06-25-2009, 10:34 AM
Here`s a link to video of my twb:


The problem with sharp sensors is that they cannot balance a bot on inclined planes. Other than that i think they give a pretty reliable output.

Also you might need to set reference for different coloured surfaces individually. Although my bot works pretty well on most of the surfaces

06-25-2009, 10:36 AM

thanks a7400

it is good idea to use sharp sensors for measuring distance from the ground and using the data for balancing...

but the whole thing of using sharp sensors defeat the purpose of using accelerometer in 2 wheel balancing robot ( well this project was mainly meant to work and implement accelerometers properly... :) )

any other advise will be highly appreciated....


07-22-2009, 10:45 PM
Why the sensors??

Sensors are required mainly for dynamic balancing , like the Segway or any other types that carry a load like a standing humanbeing.
This is an inverted pendulum, and needs dynamic sense & balancing system to eep the 'Hi CG" machine from toppling.

The sensor requirement may be minimal or nil, if the CG is low ( preferably below the axle) as the machine will now balance by itself. It will have more stability too. Some rocking movement maybe evident and this can be overcome by minimal simple sensors. An accelero or a Gyro is really not a requirement for this 'static balance'.

The requirement is really due to fast reaction time of the motors/ Drive combo. This is enhanced by the gyro, which detects rotational movement around the axle of the wheels.
Accelerometers sense the linear movement and is not always necessary. I have seen a lot of designs where an accelero is used, but actually unnecessary , when the entire machine is low profile and low CG types. Some of them use 3axis Accelerometers too !!!! :O

The Youtube example from the above link (Adwait) is one example of a wasted Accelerometer. The vehicle looks quite stable due to Low CG.

An experiment is different from a project.......

07-22-2009, 11:55 PM
Hi ,
every one implementing this doest require a gyro or acceleration measuring adxl chips simplicity is the answer use a simple potentio meter with a long stick to measure the angle of tilt. for a complete refrence design visit microchip.com.


plz every one start thinking out of the box...........dont think about expensive solution think practicle solution............

KISS-keep it stupid and simple