Im currently designing a robot for my undergraduate project. One of the task of this robot is to follow the wall. For the purpose I'm using a PID control system, where the reference is given from a ultrasonic sensor. So my problem here is im having a hard time tuning the PID. I know i can find the P coefficient pretty easily by plotting the desired set point range vs desired motor output speed. Even then the robot is not so stable, so i though of adding DI part of PID. But how do find out roughly the values of these coefficients without just trying out random values (manual tuning)? Thank you so much. Much appreciated.

  • $\begingroup$ This article helped me a lot: igor.chudov.com/manuals/Servo-Tuning/PID-without-a-PhD.pdf $\endgroup$ – cube Oct 16 '14 at 7:54
  • $\begingroup$ There are many ways to tune a PID: manual, from a process model in Matlab, Ziegler-Nichols, etc. Your application does not seem to require critical performances, so manual tuning would probably yield the best return on (time) investiment. Reduce P for stability at the expense of setting time, increase I to reduce the steady-state error (if any), and don't touch D if the response is fast enough without it. $\endgroup$ – marcv81 Oct 16 '14 at 14:22
  • $\begingroup$ Thank you. Is it possible to find to find a rough value of Kp by plotting desired output vs input? Plus, what is a steady state error? Sorry I'm not so good with this subject. Thanks again. $\endgroup$ – Vino Oct 16 '14 at 15:40
  • $\begingroup$ Tag people to get them to read the comments addressed to them. I don't know of a way to get a rough Kp, start low and double each time until it's high enough. A steady state error is when you want to be 20cm from the wall and you get a stable path but 25cm away. $\endgroup$ – marcv81 Oct 20 '14 at 18:54

Browse other questions tagged or ask your own question.