Sigue Línea con GoPiGo utilizando Visión Artificial

Study time Difficulty
2 hours

1- Objetivo

El objetivo de este ejercicio es programar el robot GoPiGo para que siga la línea blanca de la carretera a través de su sensor de visión, es decir, empleando las imágenes que éste recoge con su cámara.

Pero...¿Cómo podemos detectar una línea en una imagen?

La manera más sencilla es utilizar una de las propiedades más importante de las imágenes RGB, el color. Detectaremos la línea blanca filtrando este color en las imágenes, de tal manera que el blanco sea el único color que "ve el robot". De esta manera, nos será mucho más sencillo seguir la línea, sin otros elementos que interfieran en la tarea.

 

2- Sensores del GoPiGo a utilizar

Vamos a utilizar la cámara que tiene incorporada el robot GoPiGo en su parte frontal. La cámara nos proporcionará imagenes RGB (a color) con información relaciona con lo que el robot "está viendo" en cada momento. Así, podremos detecetar en cada instante la línea blanca de la carretera y seguirla. Para ello, dispones en el menú de trabajo al apartado RobotAPI, y dentro de este en el subapartado Sensors

de un bloque de código que accederá a esas imágenes y te permitirá obtener el centro del objeto del color que estás buscando.
Más información: Píldora sensor cámara

3- Actuadores del GoPiGo a utilizar

Vamos a usar los motores que incorpora el GoPiGo (uno en cada rueda motriz) para hacer que se mueva según nuestras necesidades. Para ello, en el el menú d etrabajo puedes encontrar bloques útiles accediendo a RobotAPIMotors.

Los comportamientos que puedes conseguir en el GoPiGo mediante los bloques de código de este apartado son los que se muestran en la siguiente tabla:

avanzar retroceder girarIzquierda girarDerecha

4- Pistas para resolver el ejercicio

  • Debes hacer que tu programa capture la información de los sensores y, en función de esa información, realizar acciones utilizando los actuadores para que el GoPiGo se comporte de la forma deseada
  • Cuando el GoPiGo reciba una orden de avanzar, retroceder o girar, continuará ejecutando dicha orden hasta que reciba otra orden (si la orden es la misma, continuará haciendo lo mismo que estaba haciendo)

¿Puedes conseguir que el GoPiGo siga la línea blanca? ¡Ánimo!

 

5- Vídeo de ejemplo

123 10 i 1 10 1 1 100 1 100 5

Console

Camera Sensor-IR Sensor-Distance Map Imagen RGB