Um controlador PID serve para o que o nome diz, controlar. O controlo é feito através da aplicação ao erro de um ganho Kp(Proporcional), Ki(Integrador) e Kd(Derivada).
Vamos considerar o nosso
processo(o que aparece na imagem a verde) o accionamento de um motor. Como saída do processo temos a velocidade do motor, vamos supor que é 70rpm. O
setpoint é o nosso valor referencia, isto é, a velocidade à qual queremos que o nosso motor funcione. Supondo que queremos que nosso motor roda a uma velocidade de 100rpm então é este o nosso Setpoint ou referencia.
Neste momento temos a velocidade actual e a referencia, o nosso erro vai ser a diferença entre estes logo o nosso erro=100-70=30rpm.
Este erro agora vai ser multiplicado pelo Kp, integrado e multiplicado pelo Ki, derivado e multiplicado por Kd. No final estes sinais são todos somados e este valor vai gerar a tensão que devemos aplicar no motor.
Se não usarem um controlador deste tipo não é possível saber como reage o motor, como este evolui para a velocidade pretendido. Assim ao usarem o controlador conseguem definir como varia a velocidade do motor, qual o overshoot motor, podem definir se atinge mais rápido ou mais lento a velocidade pretendida entre outras coisas.
Nesse caso dos segue-linhas ele usam o pid para fazer o controlo da possição do robot face à linha. O pensamento é o mesmo do que falei antes. No caso do link que indicas-te ele usa um vector com 8 leds IR. A nossa referencia é que a linha esteja sempre o no meio do vector dos leds IR por isso vamos considerar que se a linha estiver na ponta esquerda o valor é 4, se estiver no meio é 0 e na ponta direita é -4, isto é varia entre -4 a 4, a nossa referencia será 0. imaginem que a linha está na ponta esquerda o valor da posição da linha vai ser 4, logo vamos ter um erro=4. Este erro passa pelo PID e é gerado um valor para controlar a direcção para a qual o motor deve ir para ficando no meio da linha.