R
O B O
E
Robot con
detección lumínica
y de obstáculos
M
S
O B I L E
E T
■ Todavía no hemos explorado ni mucho menos todas las posibilidades que ofrece el ROBO Mobile Set.
Vamos a combinar ahora dos funcionalidades que ya hemos visto: la detección lumínica y la detección
de obstáculos. Desde el punto de vista científico, el robot está equipado con dos modos de
comportamiento. Puesto que los dos modelos de conducta no pueden estar activos simultáneamente,
han de recibir diferentes grados de prioridad. El robot se encuentra normalmente en el modo de
detección lumínica. Si detecta un obstáculo, es decir, un peligro para él, pasa automáticamente al modo
que le permite evitarlo. Si todo está en orden, el robot puede entonces continuar su búsqueda de la
fuente de luz.
Cuando los programadores profesionales se enfrentan a una tarea tan complicada como esta, no se
lanzan a programar como si tal cosa, sino que proceden a hacer uso de una u otra estrategia de
programación. Uno de estos métodos es el llamado enfoque "top-down" (o "de arriba a abajo").
En esta manera de proceder se define la totalidad del sistema desde los niveles superiores hacia los
inferiores, sin preocuparse al principio de concretar todos y cada uno de los detalles. Este
es el método que precisamente vamos a utilizar nosotros en este caso.
Ta r e a 1 ( n i v e l 3 )
Enseña al robot a actuar de la siguiente manera:
● Busca una fuente de luz.
● En cuanto la localices, síguela.
● Si te topas con un obstáculo en el camino, evítalo.
● A continuación vuelve a buscar una fuente de luz.
Completa la tarea utilizando los elementos de programa del
nivel 3 de ROBO Pro. Resuélvela empleando un enfoque "de arriba a abajo".
C o n s e j o s :
Para empezar, estructura la tarea en tres partes:
• Averiguar si el robot ve alguna fuente de luz (subprograma de detección lumínica)
• Preguntar si está chocando con algún obstáculo (subprograma de detección de obstáculos)
• En función de los resultados de esas dos preguntas, decirle al robot lo que tiene que hacer
(subprograma de movimiento).
Para generar los subprogramas de detección lumínica y de obstáculos, debemos empezar por preguntarnos
cuáles son las diferentes situaciones en las que se puede encontrar el robot. Asígnale a cada una de ellas
un valor numérico y haz que se guarde en una variable con ayuda de un elemento de comando. Cada
situación generará entonces una reacción, que se ejecutará en el subprograma de movimiento.
S u b p r o g r a m a d e d e t e c c i ó n l u m í n i c a :
Nº Situación
0 No hay fuente de luz disponible
1 Fuente de luz justo ante el robot
2 Fuente de luz a la izquierda del robot
3 Fuente de luz a la derecha del robot
1 1
3 3
0 0
1 1
3 3
0 0
C
U A D E R N O
A D J U N T O
Estado de los sensores Reacción
I6=0; I7=0
I6=1; I7=1
I7=1
I6=1
Buscar luz
Avanzar en línea recta
Describir curva a la izquierda
Describir curva a la derecha