Society of Robots  Robot Forum
General Misc => Misc => Topic started by: Half Shell on December 22, 2008, 12:40:24 PM

I'll be taking Controls Engineering in college next term, but true to my form I'm already reading up on the subject matter. Whenever I use a PID control loop I either guess and check my values or, more recently, I've used the ZieglerNichols method of calculating Kp, Ki, and Kd.
Here's some questions I've been wondering about of late:
What's the best way to perform a stepresponse on your system for accurate results? So far I've literally just ran the motor and recorded its positional response while in the arm it'll be running (since most of the time I'm doing PID position control), but it is difficult when you're working on such a small range of movement.
Also,
What other methods do you use when calculating your PID constants?

PID constants are modified empirically, not calculated.
Of course, you can calculate them, if you know at any point in time every constant and variable in your phyisical system, but that's rarely possible.
But it's faster to modify them in real time and see how your system reacts.
edit: I'm talking, of course, about real life examples. In a problem/question involved in a course, you usually assume the perfect medium.

PID constants are modified empirically, not calculated.
Of course, you can calculate them, if you know at any point in time every constant and variable in your phyisical system, but that's rarely possible.
But it's faster to modify them in real time and see how your system reacts.
edit: I'm talking, of course, about real life examples. In a problem/question involved in a course, you usually assume the perfect medium.
Perfectly calculated, no. But by observing a stepresponse you can determine the constants via well known methods. These are, of course, not perfect methods, but in all will give you approximate values that will most likely stabilize your system.