Skip to content
Luiz Eduardo Araújo Brayner edited this page Apr 25, 2024 · 8 revisions

Como o Robô segue a linha?

O nosso robô já tem estrutura, motores, sensores, e microcontroladores, mas sem uma sistema que faça um o robô reconhecer a linha e corrigir seu trajéto de a cordo com ela, ele nunca vai conseguir seguir a linha. Para isso usamos um sistema de controle, o PID. Mas o que é um sistema de controle?

Os sistemas de controle são projetados para regular o comportamento de sistemas dinâmicos, seja abrindo e fechando válvulas, ajustando velocidades de motores, ou qualquer outra ação necessária para atingir um objetivo específico. A escolha do tipo de sistema de controle e do controlador depende das características do sistema a ser controlado e dos requisitos de desempenho. Um sistema mantem um Controle de variáveis, tais como:

  • Temperatura
  • Velocidade
  • Posição
  • Pressão

Os sistemas de controle são utilizados em diversas áreas, como na indústria automotiva, aviação, robótica, automação residencial, entre outros.

Existem 2 tipos de sistemas de controle: Os de malha aberta, e Os de malha fechada.

  • Sistemas de Controle de Malha Aberta:
    • O controle de malha aberta é um tipo de controle que não utiliza feedback para ajustar a saída do sistema.
    • As ações de controle são baseadas apenas na entrada e não há correção com base na saída do sistema.
    • Exemplo: Um exemplo de controle de malha aberta é um temporizador de cozinha. Ao definir um tempo específico, o temporizador irá desligar após esse período, independentemente da quantidade ou tipo de alimento que está sendo cozido.
    • Exemplos incluem também interruptores simples e sistemas de controle de tráfego semafórico.

Follow Line (3)

  • Sistemas de Controle de Malha Fechada:
    • São sistemas onde a saída é controlada com base no feedback do sistema.
    • O feedback é comparado com a referência desejada para determinar a ação de controle necessária.
    • Exemplo: Um exemplo de controle de malha fechada é o ar condicionado. O termostato mede a temperatura ambiente e ajusta a saída do ar condicionado para manter a temperatura dentro do intervalo desejado.
    • Exemplos também incluem sistemas de controle de posicionamento de robôs e sistemas de controle de velocidade de veículos.
    • O Sistema que usamos é de malha fechada.

Follow Line (4)


Como Nós Usamos o Sistema de controle?

Existem várias Estratégias de controle, que são os métodos, técnicas ou abordagens utilizadas para fazer o controle propriamente dito. A que usamos é o Controle PID(Proportional–integral–derivative controller), mas antes de explicar como o PID funciona é interessante destacarmos as entradas e saídas que vão participar do Sistema.

SchemaFolowLine_bb

Dado um esquema antigo como representação, mas a lógica continua a mesma independente das atualizações, existem 2 áreas destacadas, são as entradas e saídas que fazem parte do sistema, no componente marcado como "1" é o sensor que vai ler a linha, e o "2" os motores que movem o robô. O nosso sensor é formado por um array de 8 sensores que lêem de 0 a 2500(sendo 0 branco e 2500 Preto) a biblioteca da pololu que foi feita para esse sensor retorna o valor estimado de onde a linha branca está no sensor. A partir do input continuo(por isso é um sistema de controle de malha fechada) do sensor a velocidade dos motores serão alteradas para manter o robô com a linha no centro do sensor.


PID (Proportional–integral–derivative controller)

Dado tudo isso, O que é PID? São controladores comumente usados em sistemas de controle de malha fechada. Ele recebe o sinal de erro, que é a diferença entre a saída medida do sistema e a referência desejada. Eles ajustam a saída com base em três componentes: proporcional, integral e derivativo. Esses controladores são amplamente utilizados devido à sua simplicidade e eficácia em uma variedade de aplicações.

Follow Line (5)

  • O controlador PID calcula três termos de controle:

    • O termo proporcional (P ou kp) é proporcional ao valor atual do erro.
    • O termo integral (I ou ki) é proporcional à integral do erro ao longo do tempo.
    • O termo derivativo (D ou kd) é proporcional à taxa de variação do erro.
    • O sinal de controle resultante é a soma ponderada desses três termos.
  • Atuação no Sistema:

    • O sinal de controle calculado pelo controlador PID é então enviado ao atuador do sistema.
    • O atuador ajusta as condições do sistema de acordo com o sinal de controle recebido.
    • Isso pode envolver a aplicação de uma força, a variação de uma entrada de energia, ou qualquer outra ação necessária para controlar o sistema.
  • Feedback:

    • À medida que o sistema é controlado, os sensores continuam monitorando seu estado atual.
    • Essas informações de feedback são enviadas de volta ao controlador, fechando o loop de controle.
    • O controlador PID ajusta continuamente a saída com base no feedback recebido, mantendo assim o sistema o mais próximo possível do ponto de ajuste.

Dada a definição, no nosso projeto o sistema recebe o feedback pelos sensores e apartir dele ajusta a velocidade dos motores fazendo a linha branca ficar ao centro, mas o PID tem um ponto negativo, para chegarmos nas constantes que usamos precisamos ficar testando até o robô completar a pista, depois de um longo tempo testando valores chegamos em valores que funcionam muito bem no nosso robô, conseguimos também adquirir uma experiência em como o PID se comportava de acordo com cada mudança que faziamos nos valores, mas esses pontos a seguir NÃO SÃO CERTEZA PARA OS PROJETOS EM GERAL, isso acontece provavelmente por conta de como nosso código foi implementado e nosso robô montado, mas não temos certeza, dado isso se estiverem seguindo nossa documentação talvez isso seja útil:

Proporcional

  • É o erro: controla como vai fazer as curvas
  • Controla como fazer curvas
  • Se kp é pequeno:
    • Ele vai fazer curvas suavemente ( quase em linha reta)
  • Se kp for alto
    • Ele vai fazer as curvas abruptamente
    • Ou/e Vai oscilar em linhas retas
    • Ou vai fazer a curva muito fechada e sai da pista

Integrativa:

  • Acumula erro: objetiva eliminar o erro residual adicionando um efeito de controle. Quando o erro for eliminado o termo integral para aumentar.
  • É inversamente proporcional a Kp (Kp diminiu com a diminuição do erro, mas o efeito integral aumenta
  • Ajuda o robo a parar de oscilar
  • Se Ki é muito alto ele vai oscilar mais ainda

Derivativa

  • Calcula o erro atual e o erro anterior.
  • Kd vai ser alto quando ele entrar em uma curva fechada
  • Quanto mais rápida a mudança maior o controle e amortecimento.
  • Se Kd for pequeno demais:
    • Não tem efeito
  • Se kd for alto demais:
    • Se move muito lentamente
    • Ou faz curvas que não existem

Agradecimento especial ao @joaosgotti por ter dado uma aula sobre sistemas de controle para o nosso Time