Hacer un robot seguidor de línea: descripción general
Ahora sabemos todo sobre los robots de seguimiento de líneas: qué son y por qué son útiles. ¡Ahora es el momento de hacer uno propio!
Primero trazaremos la pista, entenderemos la lógica y luego crearemos un guión en PictoBlox para verlo en acción. Vamos a empezar.
Trazando la pista
Coloque la pista en el suelo.
Notarás 3 líneas negras perpendiculares en la pista. Los usaremos en las próximas lecciones como puntos de control.
Entendiendo la lógica
La lógica detrás del funcionamiento de un robot de seguimiento de líneas es simple:
- Primero, configuraremos el umbral del sensor de infrarrojos izquierdo y derecho.
- Si ambos sensores están activos, significa que el robot está en una encrucijada y, por lo tanto, debe detenerse.
- Si solo el sensor izquierdo está activo, esto significa que el robot se está desviando hacia su derecha y debemos volver a encarrilarlo. Por tanto, debemos hacer que se mueva un poco hacia la izquierda.
- Si solo está activo el sensor derecho, esto significa que el robot se está desplazando hacia su izquierda. Por tanto, debemos hacer que se mueva un poco hacia la derecha.
- Si ninguno de los sensores está activo, significa que la línea negra está entre ellos y el robot va en la dirección correcta. Por tanto, debería seguir avanzando.
- Repita los pasos 2 a 5.
Hay 3 cosas importantes que usaremos en un robot de seguimiento de línea:
- F : La velocidad con la que el robot avanzará cuando no haya detectado una línea negra.
- T1 y T2 : Cuando el robot está siguiendo la línea y si uno de los sensores dice el de la izquierda, detecta la línea negra, entonces el robot está fuera de pista y tiene que girar a la izquierda para volver a la pista. Y sabemos cómo girar el robot a la izquierda. El motor izquierdo se mueve hacia atrás y el derecho avanza. Pero si ambos se mueven a la misma velocidad, entonces el movimiento del robot se volverá desigual e ineficaz. Por lo tanto tendremos dos velocidades para girar T1 y T2, donde
- T1 será la velocidad con la que el motor avanzará y
- T2 será la velocidad con la que el motor se moverá hacia atrás.
- Tendremos que configurar F, T1 y T2 durante la programación y calibrarlo para un seguimiento de línea efectivo.
Ahora, creemos el script para Quarky basado en esta lógica.
¡Codifiquemos!
Continuemos con el script anterior que hicimos mientras calibramos los sensores de infrarrojos.
- Vaya a la paleta My Blocks y cree un bloque llamado LED Feedback .
Se crearán dos tipos de bloques: un bloque de sombrero y un bloque de pila.
- Arrastre y suelte los dos bloques if-else del script existente debajo del bloque de sombreros LED Feedback .
- Coloque el bloque de pila de retroalimentación LED dentro del bloque para siempre del script restante.
- Agregue un bloque if-else debajo del bloque de pila de retroalimentación LED .
- Vaya a la paleta Operadores y coloque un bloque () y () dentro del espacio en forma de diamante blanco del bloque. Este bloque asegurará que los bloques debajo del brazo if funcionarán solo si ambas condiciones son verdaderas.
- ¿Agregar un sensor de infrarrojos () está activo? bloque en el primer y segundo espacios en blanco del bloque () y () . Seleccione las opciones IR-L e IR-R en el primer y segundo bloque.
- Ahora agregue el bloque stop robot en la rama if ya que queremos que el robot se detenga cuando esto suceda.
- Agregue otro bloque si-si no debajo del brazo si no del primer bloque si-si no .
- En la condición if, ¿ está activado () sensor IR? bloquear y seleccionar IR-L ya que queremos comprobar si el sensor izquierdo está activo.
- Según la lógica, en esta condición, debemos mover a Quarky, un poco hacia su izquierda. Entonces, debajo del brazo si , agregue dos bloques run () motor () con ()% de velocidad . Cambie el motor a la derecha en el primer bloque y la velocidad al 40% (T1).
- En el segundo bloque para el motor izquierdo, cambie la dirección hacia atrás y reduzca la velocidad al 25% (T2). Reducir la velocidad asegurará que el motor se mueva solo un poco a la izquierda lo suficiente como para volver a la normalidad.
- Agregue otro bloque si-si no debajo del brazo si no del segundo bloque si-si no .
- En la condición if, ¿ está activado () sensor IR? bloquear y seleccionar IR-R ya que queremos comprobar si el sensor correcto está activo.
- Según la lógica, en esta condición, debemos mover a Quarky, un poco hacia su derecha. Entonces, debajo del brazo si , agregue dos bloques run () motor () con ()% de velocidad . Cambie el motor a la izquierda en el primer bloque y la velocidad al 40% (T1).
- En el segundo bloque para el motor derecho, cambie la dirección hacia atrás y reduzca la velocidad al 25% (T2). Reducir la velocidad asegurará que el motor se mueva solo un poco a la derecha para volver a la pista.
- A continuación, debajo del brazo si-si no , agregue go () a ()% bloques de velocidad y elija la dirección hacia adelante y la velocidad al 40% (F) .
Ahora, coloque su robot en la pista y ejecute el script haciendo clic en la bandera verde.
Calibrando el Robot
Es posible que el robot no funcione bien con las velocidades que hemos establecido. Ahí es donde entra en juego la calibración del robot.
Tenemos que calibrar las velocidades F, T1 y T2 en el robot para que funcione de manera eficiente. Veamos qué pasa con el cambio de cada parámetro:
- F : Esto controla qué tan rápido se mueve el robot hacia adelante. Si el robot se sobrepasa y no sigue la línea, disminuya el valor.
- T1 y T2 : esto controla cuánto gira el robot para volver a la pista. Si son menos, es posible que el robot no tenga tiempo para volver a la pista y, si están altos, el robot se sacudirá mucho. Puedes ver cómo el robot gira demasiado en este caso. Puede mantener la velocidad T2 entre 0-20 y cambiar el T1 para obtener el resultado más apropiado.
Calibre los parámetros F, T1 y T2 y recuérdelos y los utilizará en las próximas lecciones.