Como já pudemos observar nas aulas até então, máquinas são muito boas para fazer as mais variadas tarefas. Entretanto, elas tendem a ser pouco delicadas sem a programação correta: Se movem muito rápido, ou mesmo fazem uma ação com muita força. Isto pode ser prejudicial pois existe possibilidade de estragar algum produto que está sendo produzido.

Para isso existe o Controle Proporcional, uma estratégia de programação para dar movimentos mais fluídos e eficientes ao robô. Quando fazemos alguma tarefa, normalmente pensamos na melhor maneira de fazê-la: Qual a forma que utiliza menos recursos, que dá o melhor resultado final, que é mais estética. Em todos estes casos, nós adaptamos a maneira como ás realizamos para ter o resultado final que queremos. Para isso, precisamos mudar a aproximação que temos em cada situação. Imagine o seguinte: Você precisa ir o mais rápido possível até uma linha, vendado, e seus amigos precisam te ajudar a parar exatamente sobre ela.  A melhor estratégia para vencer esse jogo é pensar que quando a linha está longe, você deve se mover o mais rápido que puder e, conforme for se aproximando da linha, diminuir sua velocidade para não passar dela. O mesmo vale para os robôs.

A técnica usada para fazer isso acontece em dois estágios:

1: O robô deve computar o erro: Qual a distância entre o robô e o trajeto?

2: O robô deve fazer uma correção: O robô toma uma ação que é proporcional ao erro (o que dá o nome à técnica, Controle Proporcional).

No exemplo que usamos, os colegas que assistem a pessoa indo até a linha computam o erro e sabem o quão longe a pessoa que está vendada do objetivo. Conforme ele se aproxima, eles corrigem a pessoa vendada, dizendo que ela deve desacelerar o passo, para que não vá além da linha. Para isso dar certo, vamos construir um Seguidor Cachorro, com o auxílio do sensor ultrassônico. O objetivo do robô é se manter sempre à mesma distância de um objeto diretamente à frente do sensor ultrassônico. O erro que ele deve calcular é o quanto ele está longe do objeto e a correção que tem que ser feita é que ele deve se mover mais rápido proporcionalmente a quão longe o objeto está do sensor. Para isso, comece a programação da seguinte maneira:

Construa o Robô Educador

Adicione o sensor Ultrassônico

Parte 1: Computando o erro

O erro é a distância atual MENOS a distância que queremos.

  1. Insira um loop. Dessa maneira, o robô vai realizar a checagens quantas vezes for necessário. Em nosso caso, ele funcionará por 60 segundos.

  2. Inserimos o bloco do sensor ultrassônico;
  3. Adicionamos o bloco de matemática no modo subtrair;
  4. Ligamos a distância do sensor em a;
  5. Colocamos o número 15 em b. Dessa maneira, o programa vai subtrair 15 da distância lida pelo sensor;

Parte 2: Fazendo a correção

A correção é multiplicar o erro por uma velocidade apropriada.

  1. Colocamos um bloco de matemática no modo multiplicação;
  2. Ligamos o resultado da parte 1 em a;
  3. Colocamos o número 5 em b. Dessa maneira, o programa vai multiplicar o resultado da parte 1 por 5;
  4. Adicionamos um bloco mover Direção no modo ligado;
  5. Ligamos o resultado do bloco de matemática anterior na velocidade;
  6. Exemplo: O sensor lê 20cm
    Quer dizer que 20 – 15 = 5.
    O erro é 5. 5 x 5 = 25
    25 é uma velocidade adequada para andar exatamente 5cm.

Sugestão de Programação

O programa ficará assim no EV3 Classroom: