Seguidor de Linha com controle PID: mudanças entre as edições
Linha 57: | Linha 57: | ||
;Caso de uma RETA: Algumas situações possíveis são: | ;Caso de uma RETA: Algumas situações possíveis são: | ||
#O robô '''segue a linha''' com '''erro zero'''. | #O robô '''segue a linha''' com '''erro zero'''. | ||
#O robô '''deriva aleatoriamente | #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'''. | #: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. | #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'''. | #: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'''<ref>http://wiki.foz.ifpr.edu.br/wiki/index.php/Sistemas_de_Controle#Sistemas_de_Controle</ref> existente em alguns controles de ação proporcional. | #:Vemos esta ação como equivalente a eliminação do '''erro residual'''<ref>http://wiki.foz.ifpr.edu.br/wiki/index.php/Sistemas_de_Controle#Sistemas_de_Controle</ref> existente em alguns controles de ação proporcional. |
Edição das 00h52min de 17 de maio de 2018
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.
- 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:
- No momento seguinte, quando o erro estabiliza, somente o controle proporcional atua levando o robô de volta a linha.
- Quando o erro diminui, o controle proporcional também diminui, e o controle derivativo atua em sentido inverso, ajustando a trajetória do robô e evitando que saia para fora do outro lado da linha.
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)