EquipoiseBot is my two wheeled self balancing robot. It can be controlled using a homebuilt IR remote. This robot is based on a couple of PIC microcontrollers that work together. I have built all the mechanics and electronics from scratch.
The robot uses two accelerometers and one gyro to make it balance. Two different values representing the angle of the robot are calculated. One from the accelerometers using the mathematical tangens-funktion and one from the gyro using integration. Those two angle values are combined in a filter to make one new value which is used as input in a PID regulator to contol the motors, keeping the robot in balance.
The remote is built in the casing of an old transmitter from an RC helicopter. The transmitter sends the X and Y positions of the control stick over IR using using standrad 1200 baud serial data modulated with 38KHz and a homemade data protocol.
The steering signal from the remote is just added to one of the motorsignals and subtracted from the other. The forvard/reverse signal from the remote are added to the angle value after the filter described above. The steering works great but the forward/reverse is far from perfect. The remote is commanding the robot to lean at an angle, not to drive at a commanded speed. There is nothing preventing the robot from driving to fast, if this occurs it falls over. This makes the robot hard to control.
EquipoiseBot is equipped with quadrature wheel encoders. Those are not used at all but in the future they can be used to make the robot stand still in one place, or to improve the remote control function.
Below are some pictures from the building of EquipoiseBot. If you like you can read more and see more pictures of EquipoiseBot at my website: http://diytechinnovations.se/robots/equipoisebot/equipoisebot.html