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.
Insira um loop. Dessa maneira, o robô vai realizar a checagens quantas vezes for necessário. Em nosso caso, ele funcionará por 60 segundos.
- Inserimos o bloco do sensor ultrassônico;
- Adicionamos o bloco de matemática no modo subtrair;
- Ligamos a distância do sensor em a;
- 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.
- Colocamos um bloco de matemática no modo multiplicação;
- Ligamos o resultado da parte 1 em a;
- Colocamos o número 5 em b. Dessa maneira, o programa vai multiplicar o resultado da parte 1 por 5;
- Adicionamos um bloco mover Direção no modo ligado;
- Ligamos o resultado do bloco de matemática anterior na velocidade;
- 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: