Vehículos de Braitenberg en NXT-G

todosSiguiendo con la serie de artículos sobre los vehículos de Braitenberg en NXT-G, que ya vimos en los artículos Braitenberg en LeJOS y Braitenberg en RobotC, hemos querido ir un poco más allá haciendo un sistema de robots que, a modo de tren autónomo, buscan la luz de su compañero de delante para seguir el recorrido.

El primero de los robots, el que haría de locomotora siguiendo con el símil de los trenes, está controlado remotamente desde el joystick en NXT-G al mismo tiempo que enciende unas bombillas en la parte trasera para dar un punto de referencia al robot que debe seguirlo.

El montaje

lateral

Hay una diferencia importante entre este montaje y el que usamos en los artículos anteriores sobre Braitenberg, y es la posición de los sensores:

frontal

En este caso hemos optado por ponerlos perpendiculares al robot, en lugar de diagonales como en el caso del montaje anterior. Esto favorece la posibilidad de reconocer la luz que se encuentra frente al robot, ya que tenemos 4 estados (ver artículo sobre máquinas de estados):
1. No hay luz o está demasiado lejos (los sensores no reciben luz o es muy escasa) — Parado
2. La luz se mueve hacia la derecha (el sensor de la derecha recibe más luz) — Giro a la derecha
3. La luz se mueve hacia la izquierda (el sensor de la izquierda recibe más luz) — Giro a la izquierda
4. La luz está frente al robot (ambos sensores reciben por igual) — Movimiento hacia delante

La implementación de esta máquina de estados está el el programa que viene a continuación.

Programa

Tomamos inicialmente el valor de la luz ambiente (cuando no se han encendido aún las bombillas) luego comprobamos si la diferencia entre las nuevas medidas de luz son suficientemente grandes con respecto a luz ambiente como para considerar que esa es nuestra bombilla objetivo, y si ese es el caso nos moveremos de acuerdo con sus desplazamientos: girando cuando la bombilla gira o recto si el robot guía sigue recto.

El valor con el cual comparamos depende directamente de nuestras condiciones de luz y del montaje concreto de nuestro robot, en nuestros experimentos esa diferencia ha tomado valores entre 7 y 15.

Es muy importante reseñar la necesidad de unas condiciones correctas de luz para este experimento, ya que, aunque se ha realizado un estudio previo de la luz ambiente, necesitamos poder diferenciar correctamente la luz que proviene de nuestra bombilla de cualquier otra fuente de luz (una lámpara, la luz solar, etc… ). Por lo que se aconseja un entorno lo más oscuro posible.

En el siguiente vídeo se pueden apreciar los resultados del experimento

Cabe destacar que todos nuestros robots llevan exactamente el mismo montaje y programa, con la excepción del primero (que es controlado remotamente).
Además se ha introducido un pequeño cambio de última hora en el programa que veíamos más arriba, todos los robots seguidores esperan un sonido fuerte (por ejemplo una palmada) antes de comenzar la ejecución del bucle principal.

Sin embargo, tal y como se aprecia en el vídeo, cuando los giros son muy cerrados, o el vehículo que va delante se mueve demasiado rápido, podemos llegar a perder la referencia.

Comments are closed.