Ya os hablamos con anterioridad del sigue líneas proporcional con LEGO MINDSTORMS NXT, en esta ocasión revisaremos nuestra antigua entrada y la actualizaremos en un nuevo proyecto desarrollado con su sucesor LEGO MINDSTORMS EV3.
En el anterior post os comentábamos que el algoritmo básico de un sigue lineas consiste en realizar un zig zag cabeceando sobre una línea a medida que se avanza. La ventaja de esta solución es la simplicidad, pero se traduce en un mayor espacio recorrido y por ende en una velocidad menor. Sin embargo existen soluciones alternativas que permiten un movimiento que evita el cabeceo de la solución anterior. ¡Sigue leyendo y descubrirás como conseguirlo con tu LEGO MINDSTORMS EV3!
En el algoritmo básico aplicamos una potencia constante al motor, definiendo la misma al seleccionar el icono del motor. Esta potencia se mantiene constante durante la ejecución del programa. El cabeceo a veces es excesivo y puede provocar que el robot salga de su recorrido.
Aquí os mostramos el programa del sigue líneas básico :
En este programa utilizamos un interruptor, condicionado por la medición de la intensidad de la luz reflejada recibida por el sensor de color. Si el sensor de color recibe menos del valor definido en el interruptor, entrará en acción el caso verdadero (✓) y accionará el motor B que en nuestro caso es el izquierdo, y detendrá el motor C. El vehículo girará hacia la derecha y recibirá una lectura diferente de la definida, por lo tanto entrará en acción el caso falso (X), que detiene el motor B y acciona el motor C haciendo que el vehículo gire hacia la izquierda, así ira siguiendo la línea con los cabeceos antes mencionados.
Existe la posibilidad de programar los motores con un valor de potencia variable, y de esta manera podemos conseguir que la potencia del motor dependa de las lecturas del valor de la intensidad de la luz reflejada. Este sistema de control de la potencia del motor depende de la realimentación del valor recibido por el sensor.
Al contrario que en la versión anterior, esta hará uso de todo el rango de valores que puede encontrarse en el sensor de color. Vamos a ver con nuestro programa de sigue líneas proporcional EV3 de que estamos hablando.
Nuestro programa consta de dos partes, primero, fuera del bucle encontramos un bloque personalizado (My block – Mi bloque) en el que podemos incluir otros bloques para simplificar el resultado final de nuestra programación.
Dentro del primer bloque, nos encontramos con el programa que nos permite calibrar el sensor de color, operación necesaria cuando trabajamos con la intensidad de la luz reflejada, ya que ninguna sala ni tapete son iguales y recibiremos diferentes lecturas según donde realicemos el experimento.
Aquí os mostramos el contenido :
Una vez calibrado el sensor de color, entrará dentro del bucle y se accionará nuestro programa de sigue líneas, que funciona de la siguiente manera :
El primer bloque es el encargado de tomar la información sobre la cantidad de luz reflejada que es recibida por el sensor, mediante el cable de datos que podemos ver de color amarillo, transfiere la información al bloque de operaciones matemáticas y resta al valor recibido 35 (Este valor viene condicionado por la mediciones recibidas a la hora de realizar nuestro proyecto). El resultado de esa operación es transferido a otro bloque de operaciones matemáticas que lo divide entre 1,5 y envía el resultado al bloque de motor “volante” haciendo que altere el giro de nuestro vehículo.
Aquí podéis ver un video del resultado de nuestro proyecto.
Esperamos que os haya gustado el proyecto, si lo lleváis a cabo os animamos a que nos lo contéis y nos etiquetéis en nuestras redes sociales.