Let's Make Robots!

How to start picking PID gain constants?

I want to implement PID to my balancing robot but I have totally no clue where to start with: picking the gain constants.

My only goal is to make it balance by itself, no time for making it move for now.

With gizduino w/ AtMega328 and GY-52 MPU6050, I was able to use the Kalman Filter to fetch the pitch angle without any problem. I tried to process it with just a simple forward-backward motion without PID, and it falls eventually. Seems like the PID is a necessity, as what I have seen in almost all  references.

I don't use wheel encoders, as it is considerably possible to balance without them. I also used L293D to drive the motors.

I really need an advice or a concrete explaination or a technique to start my PID.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

This is what I normally go back to as my PID starting point  http://letsmakerobots.com/node/865

Another good one is the "coffee example"  --do a google for "arduino coffee PID" and you will find it --its kinda a "standard"