Boas.
Estive a pensar em como utilizar o PID no meu robot para seguir uma de linha, mas de modo a que perceba o que estou a fazer. A ideia que tenho resume-se na seguinte imagem:
Bem para começar vou usar 5 sensores TCRT5000 e da forma como podem ver na tabela em "Sensores/Linha" de modo a ter uma melhor resolução. Na tabela uso os sensores de forma digital (0, 1) mas como metade do diodo emissor pode ficar em cima da linha, vou usa-los de forma analógica, obtendo ainda melhor resolução.
Então para tal, calculo uma média ponderada atribuindo "pesos" a cada sensor, definindo assim o setpoint.
Sobre o PID, pelo que li a formula mais usada será aquela. Como tal preciso de calcular o erro em função do tempo que traduz-se directamente na velocidade em x, do robot. Isto caso utilize o erro como a distância entre o sensor central e o centro da linha, na direcção x.
Depois aplica-se a formula e obtêm-se o valor do PID. A ultima tabela esta la so para observar os diferentes valores com diferentes velocidades. Trata-se de um comportamento linear, maior velocidade, maior PID.
Agora, cheira-me que isto tá tudo mal e gostava de conhecer as vossas opiniões.
Áh, e agora como utilizo o valor PID para definir as velocidades dos motores (PWM)? De forma percentual?
Cumps
Edit: Esqueci-me de relacionar o setpoint com o erro, mas o que interessa é o conceito.