Seguidor de Linha com controle PID
Seguidor de Linha com controle PID
Teoria sobre Sistemas de Controle PID
- Sistemas de Controle
- Um resumo da teoria sobre Sistemas de Controle em Malha Fechada e do Controle Proporcional Integral Derivativo.
Vetor de Sensores e Determinação do Erro
O Seguidor de Linha utiliza um vetor com sete sensores para seguir a linha e determinar o erro do robô em relação a linha.
Dependendo da posição do vetor sobre a linha, apenas um ou dois sensores podem reconhecer a linha ao mesmo tempo, como mostra as figuras abaixo [1]:
- Apenas sensor central (s3) reconhece a linha.
- Sensor central (s3) e sensor (s4) reconhecem a linha.
- Possibilidades para o vetor de sensores
- Quando o sensor central está sobre a linha o erro é zero.
- Quando o carrinho deriva para esquerda, sensibilizando os sensores a direita do ponto central, o erro é positivo. Quando deriva para direita, sensibilizando os sensores a esquerda do ponto central, o erro é negativo.
Sensores 0 1 2 3 4 5 6 ------------- 1 0 0 0 0 0 0 --> Erro -6 1 1 0 0 0 0 0 --> Erro -5 0 1 0 0 0 0 0 --> Erro -4 0 1 1 0 0 0 0 --> Erro -3 0 0 1 0 0 0 0 --> Erro -2 0 0 1 1 0 0 0 --> Erro -1 0 0 0 1 0 0 0 --> Erro 0 0 0 0 1 1 0 0 --> Erro 1 0 0 0 0 1 0 0 --> Erro 2 0 0 0 0 1 1 0 --> Erro 3 0 0 0 0 0 1 0 --> Erro 4 0 0 0 0 0 1 1 --> Erro 5 0 0 0 0 0 0 1 --> Erro 6
Ação de Controle Proporcional
A ação de controle proporcional do Seguidor de Linha vai corrigir a trajetória do robô, ajustando a velocidades dos motores a partir de um ganho Kp, proporcional ao erro:
Caso o robô derive para esquerda, a velocidade dos motores é ajustada para que o robô volte para a linha:
- a velocidade do motor esquerdo é acrescida do valor ;
- a velocidade do motor direito é diminuída do valor .
Caso o robô derive para direita, a ação de controle ajusta a velocidade dos motores para corrigir a trajetória para o outro lado.
Ação de Controle Proporcional Integral
A ação de controle proporcional integral do vai corrigir a trajetória do robô combinando a ação proporcional e a integral.
O controle integral ajusta a ação de controle em função ao somatório do erro em um dado intervalo de tempo, chamado tempo integral.
Análise sobre a ação do controle integral
Alguns pontos de análise do controle integral sobre o robô Seguidor de Linha:
- Caso de uma RETA
- Algumas situações possíveis são:
- O robô segue a linha com erro zero.
- O robô deriva aleatoriamente para um lado e para outro resultando, provavelmente, em somatório de erro também zero.
- Nestes dois casos, portanto, como o somatório de erro é zero, controle integral tem ação nula.
- O robô deriva sistematicamente para um lado devido a possíveis desequilíbrios de velocidades dos motores, levando com o passar do tempo a um somatório de erro diferente de zero para um dos lados.
- Neste caso, inicialmente somente o controle proporcional atua, ajustando a trajetória do robô em função do desequilíbrio de velocidades. Entretanto, a medida que o somatório do erro cresce, o controle integral passa a atuar. Quando o robô passar a seguir linha com erro instantâneo zero, o controle integral continua agindo equilibrando as velocidades a partir do somatório de erro acumulado.
- Vemos esta ação como equivalente a eliminação do erro residual[2] existente em alguns controles de ação proporcional.
- Caso de uma CURVA
- O somatório de erros será diferente de zero em função do lado da curva.
- Inicialmente somente o controle proporcional atua, ajustando a trajetória do robô à curva. Entretanto, a medida que o somatório do erro cresce, o controle integral passa a atuar. A partir de um dado momento, o controle integral passa a prevalecer, fazendo o robô acompanhar a curva com erro instantâneo zero, portanto, sem ação proporcional.
Tempo integral
O tempo integral é o tempo da ação do controle integral.
Para os casos relatados acima, seria interessante reiniciar o tempo de integração a cada início de reta e a cada início de curva.
- Marcações de pista do seguidor de linha
- No caso da pista para o Seguidor de Linha, as marcações de início e fim de curva poderiam ser utilizadas como delimitadores dos tempos integração. Neste caso, a cada marcação encontrada, se poderia zerar o somatório de erros, iniciando, portanto, um novo tempo de integração.
Ação de Controle Proporcional Derivativa
A ação do controle derivativo é proporcional a taxa de variação do erro atuante. Vai ter ação, portanto, nos períodos transitórios quando o erro cresce ou diminui.
No caso do robô Seguidor de Linha, quando o erro cresce, o controle derivativo atua reforçando a ação do controle proporcional. Entretanto algumas situações merecem destaque:
- Quando o erro estabiliza, isto é, permanece constante, o controle derivativo passa a ter ação nula e somente o controle proporcional atua levando o robô de volta a linha.
- Quando a ação do controle proporcional corrigir a trajetória, fazendo o erro diminuir, o controle proporcional também diminui, e o controle derivativo atua em sentido inverso, atenuando o controle proporcional e evitando que saia para fora do outro lado da linha.
- Esta última ação do controle derivativo visa diminuir a ação do controle proporcional a medida nos aproximamos do ponto de referência.
Tempo Derivativo
O tempo derivativo está relacionado a taxa de amostragem dos sensores, que corresponde ao loop de execução do programa.
Acelerar ou retardar o tempo derivativo pode fazer uma diferença significativa no desempenho do robô. Isso é definido pelas declarações de delay presentes no código.
Referências:
- http://labdegaragem.com/profiles/blogs/tutorial-rob-seguidor-de-linha-com-controle-pid-e-ajustes-por
- http://www.roboliv.re/conteudo/pid-controle-proporcional-integral-derivativo
- http://www.andrix.com.br/robo-seguidor-de-linha-utilizando-um-controlador-proporcional-derivativo-pd-com-arduino/
Artigos:
- http://www2.uesb.br/computacao/wp-content/uploads/2014/09/ROB%C3%94-SEGUIDOR-DE-LINHA-AUT%C3%94NOMO-UTILIZANDO-O-CONTROLADOR-PROPORCIONAL-DERIVATIVO-EM-UMA-PLATAFORMA-DE-HARDWARE-SOFTWARE-LIVRE.pdf
- http://sistemaolimpo.org/midias/uploads/230c61ca8833329f9ffc867a89566dcd.pdf
Referências
--Evandro.cantu (discussão) 08h58min de 16 de maio de 2018 (BRT)