fischertechnik Mobile Robots II Manual De Instrucciones página 55

Ocultar thumbs Ver también para Mobile Robots II:
Tabla de contenido

Publicidad

Idiomas disponibles

Idiomas disponibles

Resultado:
Una vez que nuestro robot haya descubierto la pista, la seguirá
infatigablemente. Si hemos hecho una pista en forma de una línea
cerrada, el robot se desplazará en ese circuito. Deberemos evitar
curvas muy cerradas pues los fotorsensores perdería allí el contacto
con la línea. Si bien el robot intentará localizar la pista nuevamente,
le será únicamente posible en una zona prácticamente libre de
obstáculos.
4.6 La polilla electrónica
El problema de la combinación de diferentes formas de comportamiento
tales como búsqueda, persecución y desvío ha aparecido repetidamente
hasta ahora. Por esa razón, quisiéramos efectuar otro experimento para
verificar la combinación de tales comportamientos. Resumamos los
resultados obtenidos hasta ahora. El detector de luz sigue más o menos cie-
gamente a una linterna colocada delante de él. El robot supone
tácitamente que donde hubo una linterna no aparecerán obstáculos.
Asimismo parte del principio que no alcanzará realmente a la linterna.
Estas suposiciones corresponden a la realidad solamente en casos
excepcionales. Nos encontramos obligados a conducir al robot alrededor
de cada uno de los obstáculos. Necesitaríamos un robot que esquive los ob-
stáculos por sí mismo. Para eso hemos com-
E6
del modelo con detección de obstáculos.
Desde el punto de vista científico, hemos equipado el robot con dos tipos
de comportamiento. Puesto que ambos patrones de comportamiento no
pueden estar activos simultáneamente, reciben diferentes prioridades. Para
nosotros significa esto que normalmente el robot buscará luz. Cuando se
detecte un obstáculo, casi un peligro para el robot, se activará el
comportamiento para esquivar obstáculos. Una vez salvada la situación,
el robot podrá volver a buscar luz.
De esta manera hemos concedido al robot facultades vitales que le permiten
navegar autónomamente y evitar peligros. Quien tenga un amigo que
también posea un sistema modular de construcción fischertechnik, puede
continuar experimentando en esta materia. En cada uno de los robots
se montará sencillamente una fuente de luz y los robots se buscarán uno
al otro.
Hasta ahora hemos trabajado en la programación principalmente según el
principio de "intento y fallo". Tú has empezado con programas simples y te
habrás dado cuenta a lo largo de los experimentos como el robot ha hecho
lo que tenía que hacer.
Quienes diseñan software profesionalmente no se pueden de ninguna
manera echar mano de tales métodos de diseño. En tales casos, se deberá
definir una estrategia detallada de diseño antes de escribir la primera línea
del programa. Esto no se hace por hacer, sino que se utilizan directivas ya
establecidas. Se han establecido procesos que llevan nombres raros como
plementado, como se presenta en la
ilustración, el modelo "robot
E7
con detección de obstácu-
los" con la propiedad de
búsqueda de luz.
Conectaremos los foto-
transistores a E6 y E7,
todo lo demás lo asumiremos
por ejemplo "diseño top down". Con ellos se intenta definir el sistema
entero desde arriba hacia abajo sin ocuparse al principio de los detalles.
Intentaremos programar nuestra polilla según el diseño top down.
Empezaremos para ello con el programa principal, el llamado "main loop".
La ilustración muestra el diseño sencillo. El main loop está conformado
simplemente por las formas de comportamiento necesarias para el robot,
BÚSQUEDA, CONTACTO y ANDAR. La variable Var1 nos parece rara y nos
preguntamos como priorizar con un circuito tan
simple las formas de comportamiento del robot.
Bien, el establecimiento de prioridades tiene
lugar mediante la secuencia de subprogramas y
para la asignación de comandos de desplazamien-
to se usa la variable Var1. Si lo pensamos
detenidamente, es posible reducir los movimientos
de desplazamiento del robot a un número de
maniobras claramente definido. El robot requiere
un movimiento de búsqueda, un movimiento para
esquivar y un movimiento de corrección. Los movimientos para esquivar y
de corrección deberán diferenciarse según la dirección, a la derecha o a la
izquierda. Con esto se hace evidente que el subprograma BÚSQUEDA calcula
un movimiento de n (n = número total de movimientos) movimientos
posibles, del mismo modo que el subprograma CONTACTO lo hace. Ya que
CONTACTO se ejecuta después de BÚSQUEDA, sobrescribe las instrucciones
de BÚSQUEDA. El subprograma ANDAR ejecuta únicamente lo que se le
ordena. El proceso de diseño top down parecen sernos de gran utilidad. Pero
aún no sabemos como son los subprogramas. Empecemos con el
primer subprograma BÚSQUEDA. Este subprograma es responsable de la
consulta de los fotosensores. Dependiendo de ambos sensores existen cuatro
variantes posibles: sensor izquierdo, sensor derecho, sensor derecho e
izquierdo, ningún sensor. Con ello se definen exactamente cuatro maniobras,
ENCUENTRA, ADELANTE, IZQUIERDA, DERECHA. Estas maniobras se asignan
también a subprogramas; actuaremos rígidamente según los criterios de
diseño top down. Ahora sabemos como es el subprograma BÚSQUEDA.
BÚSQUEDA entrega un parámetro que es transformado en ANDAR. El
subprograma en sí es muy sencillo. El parámetro de salida se configura a
través de múltiples ecuaciones. En el programa listo se verificará en el
subprograma CONTACTO si obstáculos han estimulado los sensores del robot.
Por razones de simplicidad pasamos por alto este programa y no ocupamos
E
53

Publicidad

Capítulos

Tabla de contenido
loading

Tabla de contenido