EV3#7: Exercicios seguidor de linha

6
Clube de Programação e Eletrónica 26 Lego Ev3 Exercícios introdutórios PROJETO LEGO MINDSTORMS EV3 5. Exercícios seguidores de linha Neste capítulo, exploraremos alguns exercícios seguidores de linha com robôs EV3. 5.1. Usando um sensor de cor, seguir a linha pela direita O programa mais simples que se pode fazer é usando um sensor de cor – modo intensidade de luz refletida - junto ao chão (como na figura ao lado) e colocar o robô de um dos lados da linha. Neste exercício, vamos colocá-lo do lado direito. Se movermos o robô para fora e para cima da linha, podemos medir a luz refletida no Port View do software do EV3 (canto inferior direito). Quando o robô se encontra fora da linha, a superfície deve ser branca e a luz refletida encontra- se perto do valor 100. Esse valor baixa muito à medida que pomos o robô sobre a linha preta. Como decidimos fazer o robô contornar a linha pela direita, quando o valor da intensidade luminosa refletida aumenta, significa que o robô se está a afastar da linha e deve rodar para a esquerda; caso o valor da intensidade luminosa refletida diminua, significa que o robô está a colocar-se sobre a linha preta e, por isso, deve rodar para a direita. Está disponível em https://www.youtube.com/watch?v=lqU8BTAvkOg um vídeo com a demonstração dos exercícios propostos neste capítulo.

Transcript of EV3#7: Exercicios seguidor de linha

Page 1: EV3#7: Exercicios seguidor de linha

Clube de Programação e Eletrónica

26 Lego Ev3 – Exercícios introdutórios

PROJETO LEGO MINDSTORMS EV3 5. Exercícios seguidores de linha Neste capítulo, exploraremos alguns exercícios seguidores de linha com robôs EV3.

5.1. Usando um sensor de cor, seguir a linha pela direita O programa mais simples que se pode fazer é usando um sensor de cor – modo intensidade de luz refletida - junto ao chão (como na figura ao lado) e colocar o robô de um dos lados da linha. Neste exercício, vamos colocá-lo do lado direito. Se movermos o robô para fora e para cima da linha, podemos medir a luz refletida no Port View do software do EV3 (canto inferior direito). Quando o robô se encontra fora da linha, a superfície deve ser branca e a luz refletida encontra-se perto do valor 100. Esse valor baixa muito à medida que pomos o robô sobre a linha preta. Como decidimos fazer o robô contornar a linha pela direita, quando o valor da intensidade luminosa refletida aumenta, significa que o robô se está a afastar da linha e deve rodar para a esquerda; caso o valor da intensidade luminosa refletida diminua, significa que o robô está a colocar-se sobre a linha preta e, por isso, deve rodar para a direita.

Está disponível em https://www.youtube.com/watch?v=lqU8BTAvkOg um vídeo com a demonstração dos exercícios propostos neste capítulo.

Page 2: EV3#7: Exercicios seguidor de linha

Clube de Programação e Eletrónica

27 Lego Ev3 – Exercícios introdutórios

Um programa possível para concretizar a ideia proposta é:

Resultados: O movimento revela-se pouco suave; a velocidade do robô tem de ser baixa; a capacidade de realizar ângulos apertados é reduzida.

Page 3: EV3#7: Exercicios seguidor de linha

Clube de Programação e Eletrónica

28 Lego Ev3 – Exercícios introdutórios

5.2. Usando dois sensores de cor O uso de dois sensores de cor – modo intensidade de luz refletida – instalados como se indica na figura ao lado, simplifica a programação. Os sensores têm de estar instalados de forma a que a linha que o robô deve seguir se encontre no meio dos dois. Se a deteção de luz refletida do sensor da direita for superior à deteção da luz do sensor da esquerda, o robô deve rodar para a esquerda; caso a deteção de luz refletida pelo sensor da esquerda seja superior ao valor detetado pelo sensor da esquerda, o robô deve rodar para a direita. Um programa possível para concretizar a ideia proposta é:

Resultados: O movimento é ainda pouco suave; a velocidade do robô tem de ser baixa; a capacidade de realizar ângulos apertados é reduzida. Tem a vantagem, relativamente ao programa anterior, de não ter de definir qual o lado da linha que vai ser contornado.

Page 4: EV3#7: Exercicios seguidor de linha

Clube de Programação e Eletrónica

29 Lego Ev3 – Exercícios introdutórios

5.3. Usando dois sensores de cor e suavizando o movimento O movimento do robô com dois sensores como o descrito em 5.2., pode ser suavizado se for calculada a diferença entre os valores lidos pelos dois sensores. Caso essa diferença seja muito grande, o robô deve rodar com um ângulo apertado. Caso a diferença seja pequena, o robô deve rodar com um valor de ângulo pequeno; finalmente, caso a diferença entre as medidas da luz refletida seja nula, o robô deve seguir em frente. O sentido da rotação é determinado pelo sinal da operação de subtração realizada. Um programa possível para concretizar a ideia proposta é:

Resultados: O movimento suaviza bastante relativamente aos exercícios anteriores. Tem o inconveniente de , caso perca a linha, de seguir em frente.

Page 5: EV3#7: Exercicios seguidor de linha

Clube de Programação e Eletrónica

30 Lego Ev3 – Exercícios introdutórios

5.4. Usando dois sensores de cor, suavizando o movimento e procurando a linha caso “a perca” No exercício 5.3., quando o robô “perdia a linha”, como a diferença entre as intensidades medidas pelos dois robôs era nula, o robô seguia em frente. Neste exercício, a diferença entre os valores medidos pelos sensores é calculada. Caso esse valor seja superior, em módulo, a 10, o robô é sujeito a instruções iguais às do exercício anterior. Caso esse valor seja inferior, significa que o valor lido pelos dois sensores é muito próximo. Nesse caso, os valores medidos são somados. Caso a soma seja superior a 180, significa que robô se encontra sobre a superfície branca (o valor lido pelos sensores é elevado) e deve rodar até encontrar de novo a linha; caso a soma seja inferior a 180, significa que o robô se encontra sobre a linha preta (o valor lido pelos sensores é baixo) e por isso deve seguir em frente. Um programa possível para concretizar a ideia proposta é:

Resultados: O movimento mantém-se suave. Caso o robô “perca a linha”, gira sobre si próprio até que a encontre de novo.

Page 6: EV3#7: Exercicios seguidor de linha

Clube de Programação e Eletrónica

31 Lego Ev3 – Exercícios introdutórios

5.5. Usando um sensor de cor, suavizando o movimento Este exercício baseia-se na proposta do canal de Youtube Blue Angel: https://www.youtube.com/watch?v=ODAGVeeDagk Esta proposta, que assume o robô com apenas um sensor de cor – modo intensidade de luz refletida – e que o contorno da linha será feito pelo lado direito da mesma, a velocidade de cada um dos motores é controlada individualmente. Para tal, recorre-se à diferença entre o valor lido pelo sensor e o valor que seria lido caso este estivesse sobre a parte branca da pista e à diferença entre o valor lido pelo sensor e o valor que seria lido caso este estivesse sobre a linha preta. Cada uma destas diferenças é multiplicada por um fator de 0,3 e enviada para a velocidade com que os motores da direita e da esquerda, respetivamente, se devem movimentar. O fator de 0,3 pretende reduzir a velocidade do motor (relativamente à obtida caso a diferença fosse colocada “em bruto” na velocidade de cada motor) e pode ser modificado. O programa proposto é o seguinte:

Resultados: O movimento mantém-se suave, mas menos rigoroso no seguimento da linha que o obtido no exercício 5.4.