O assunto deste post é o controlador PID. É um controlador para sistemas de realimentação, não é apenas usado em robótica, mas também em muitos processos industriais.
Sistema de realimentação
Um sistema de realimentação tem um processo sendo controlado, um sensor envia sinais para o controlador. Este faz alguns ajustes no processo para que o sensor envie sinais desejados.
Setpoint (SP) é o valor de saída desejado que a variável de processo (PV) deve alcançar. Se SP é igual a PV, o controlador não precisa atuar sobre o processo. Se SP é diferente de PV, o controlador atua sobre o processo até o sensor indicar que PV já está igual a SP. Um exemplo deste sistema pode ser um ar condicionado ou aquecedor em um quarto, cujo SP é a temperatura que a pessoa coloca, o controlador é o ar condicionado ou aquecedor, o sensor mede a temperatura e o processo é o quarto.
O que é PID?
PID significa Proporcional, Integral e Derivativo respectivamente, cada um dos três é um bloco de controle. Não precisa usar sempre todos os três, pode-se também usar apenas o P, PI, ou PD.
A diferença entre SP e o PV é chamada de erro. Cada um dos blocos de controle pega o erro representado por e(t) e multiplica pelo ganho K. No P, o ganho é K_{p} e a saída fica:
K_{p}\cdot e(t)
As saídas em I e D respectivamente:
K_{i}\int_{0}^{\tau}e(\tau)d\tau
K_{d}\cdot \frac{\mathrm{d} e(t)}{\mathrm{d} t}
Todas as saídas dos blocos ativados são somadas. \int_{0}^{\tau} significa a integral em um intervalo de tempo \tau e \frac{\mathrm{d} }{\mathrm{d} t} é a derivada da função. Integral e derivada são cálculos avançados que não vou entrar com profundidade neste post. Os ganhos dos blocos de controle podem ser ajustados. Se os valores dos ganhos forem muito baixos, vai demorar para chegar no setpoint (curva vermelha no gráfico). Por outro lado, com ganhos muito elevados, o sinal pode ir rápido no setpoint, mas vai gerar oscilação indesejada (curva preta).
A oscilação indesejada se chama overshoot. Os valores dos ganhos para obter a resposta desejada dependem do controlador e do processo.
Algoritmos de controladores PID
O controlador PID pode ter três algoritmos: interativo, não-interativo e paralelo. O interativo ou série é o mais antigo.
K_{c}\cdot \left [ e(t)+\frac{1}{T_{i}}\int e(t)dt \right ]\cdot \left [1+T_{d}\frac{\mathrm{d} }{\mathrm{d} t} \right ]
Este é o algoritmo não-interativo, se o bloco D for desativado (Td=0), ele funciona como o interativo sem o D.
K_{c}\left [ e(t)+\frac{1}{T_{i}}\int e(t)dt +T_d \frac{\mathrm{d} e(t)}{\mathrm{d} t}\right ]
O algoritmo paralelo, não possui um controle de ganho que afeta todos os três blocos e cada bloco tem um ganho.
K_{p}\cdot e(t)+K_{i}\int e(t)dt+K_{d}\frac{\mathrm{d} e(t)}{\mathrm{d} t}
Aplicação em robótica
Como usar o controlador PID em robôs? Se o sistema de controle de um robô tiver realimentação (loop fechado), pode-se implementar um controlador PID. Um exemplo é um encoder, sensor que mede a velocidade dos motores, envia os dados para o controlador controlar a velocidade do motor com PWM. Um robô que se equilibra sobre 2 rodas pode ter um controlador PID.
1 thought on “Controlador PID”