and on 27 Jan 2006:
A couple of questions:
1) Is the algorithm as published not the same as the one tested? I.e., the one that "works pretty well" does not clamp the integral term?I ask because my experience is that PID controllers will not work at all, or only for a short time, without limiting the growth of the "I" term.
2) Did you test the algorithm/robot behavior for other than the ability to drive a straight line? For example, ability to maintain constant velocity while climbing over obstacles, or with one wheel on a low friction surface (hardwood, concrete) and another on a high friction surface (carpet, gravel) ?PID controls must be able to adjust the robot's response to two different types of input. One is when the control changes, as when the robot is instructed to change speeds. The other is when the environment changes, as when the robot must climb over something, or passes from concrete to grass, or linoleum to carpet, etc.
3) Do you have any data on how well your algorithm responds to these sorts of real world surfaces?best regards, dpa