View Full Version : [Project] GBOT90 Balancing Bot Demos Dirty Martini Test with PID Control

03-25-2010, 01:24 AM
A previous post on the subject of GBOT with PID control was intended to make and learn the hardware and software aspects of ZX-40A microcontrollers from zbasic.net with control systems. I used that experience to extend the GBOT into a 5 foot tall balancing robot. I added an aluminum frame, disabled the forward looking IR range sensors and added a new GP2D120 IR sensor for pitch control. The result is the GBOT90 shown in the link below.

Noise and resolution was an issue but manageable. The Vref was set to 3.0V to improve resolution. No gyros and no acceleromenters were used, just the single GP2D120 IR range sensor for pitch rate & angle measurements. I used the same PID control system from the GBOT but updated the gains. Proportional and integral gains were much higher. Integral gain was highest.

The Tamiya motors are controlled with PWM modulation sent to the Pololu VNH2SP30 motor driver. At low duty cycles, the motors are not synchronized. Is this expected?

YouTube- GBOT90 Balancing Ground Bot with PID Control

03-29-2010, 02:21 PM
Great work ! A bit sad the video is so short, we want to see much more of this nice piece of your work !!

03-30-2010, 01:12 AM
Great project!
The response seem to be very fast. How many samples/measurements are done per second?


03-30-2010, 12:45 PM
Using the ZX-40a processor from zbasic.net, the main program loop runs at 100Hz. Using the ZX-40n, I can increase it to 2,000Hz. However, the update rate for the IR range sensor is only 25Hz so the ZX-40a at 100Hz is more than adequate.

04-25-2010, 01:59 AM
I'm interested in improving the IR range sensor noise with a Kalman filter. I've tried using running averages and butterworth filtering, and although they improve the system, I think more can be done. Anyone have a good primer on Kalman filters? Thanks.