|
El excelente Manual en castellano que acompaña al robot
(puede recogerse libremente en los downloads de www.microcontroladores.com
), permiten completar con éxito en unas horas el montaje
de la máquina y diseñar aplicaciones útiles
y entretenidas manejando el lenguaje más fácil
del mundo, el PBASIC. En la figura 1 se muestra una fotografía
del Home Boe-Bot.

FIGURA
1. Fotografía del robot educativo HOME BOE-BOT.
A
veces hay personas que temen la confección de programas
y el uso del PC para su edición, generalmente debido
a la ignorancia. Para esquivar en un primer encuentro a la
programación el Home Boe-Bot dispone de un software
con el cual se puede controlar todas las acciones del robot,
así como sus sensores, de una manera gráfica
y visual
PROGRAMACIÓN
GRÁFICA CON GUIBot
El
robot que comentamos dispone de un software libre y gratuito
con el cual se pueden construir tareas y acciones mediante
unas pantallas gráficas que evitan tener que utilizar
un lenguaje. Dicho software puede recogerse en:
www.parallax.com/dl/sw/GUIBot.exe
y también en www.microcontroladores.com
se puede recoger un manual en castellano que comenta el manejo
de este sistema intuitivo de programación, que puede
ser un acercamiento suave a la máquina.
Para
que el GUIBot sea operativo es preciso realizar las conexiones
que se ofrecen en la tabla siguiente referidas al conexionado
de las patitas de Entrada y Salida del módulo BASIC
Stamp 2 con los periféricos del robot.
| Servomotor
izquierdo |
Patita
13 |
| Servomotor
derecho |
Patita
12 |
| Sensor
contacto der. |
Patita
4 |
| Sensor
contacto izq. |
Patita
6 |
| Emisor
infrarrojo izq. |
Patita
8 |
| Receptor
infrarrojo izq. |
Patita
7 |
| Emisor
infrarrojo der. |
Patita
1 |
| Receptor
infrarrojo der. |
Patita
0 |
En
caso de no querer usar los bigotes (sensores de contacto)
se deben puentear a Vdd (positivo de la alimentación)
las patitas 4 y 6 del mircrobot.

FIGURA
2. Esquema del conexionado necesario para el funcionamiento
del GUIBot.
Se
puede conocer si se han hecho bien las conexiones, utilizando
un Test que existe en el programa GUIBot con el que se puede
calibrar los servomotores y comprobar el correcto funcionamiento
de sus sensores.
ARRANCANDO
EL GUIBot
Al arrancar el programa aparece una pantalla en la que se
selecciona el modo de funcionamiento. Hay que elegir entre
Modo Principiante (Beginner Mode) y Modo Avanzado (Advanced
Mode).

FIGURA
3. La primera ventana del GUIBot permite elegir el modo de
trabajo.
Modo
Principiante
En
el modo Beginner Mode, sólo se puede gobernar al robot
para que simplemente realice los movimientos que se indiquen.
Es decir, en este modo sólo controlaremos el movimiento
del robot sin poder atender al estado de los sensores de contacto
y los sensores de infrarrojos. Eso sí, el robot, usará
sus sensores para tratar de evitar los obstáculos que
encuentre a su paso, es por esto que si el robot encuentra
algún obstáculo, quizás no haga lo que
habíamos planeado. El robot tratará de evitar
el objeto y luego realizar los pasos indicados. Para que esto
no suceda y tengamos un mayor control, deberemos desmarcar
la opción Sensors Enabled que se encuentra en
la parte derecha de la pantalla.

FIGURA
4. La pantalla correspondiente al Modo Principiante.
En
la figura 4 se muestra la pantalla del Modo Principiante.
Su funcionamiento, como ya adelantábamos anteriormente,
es muy sencillo. Elegimos una de las acciones que deseamos
que haga nuestro robot en el panel de la izquierda rotulado
como Actions, que se representa en la figura 5.

FIGURA
5. Acciones que puede ejecutar el robot en Modo Principiante.
La
diferencia entre girar y rotar es que la rotación se
realiza sin desplazamiento del robot, es decir, rota sobre
su eje y no se desplaza. Sin embargo, en el giro, el robot
avanza y gira simultáneamente, describiendo la trayectoria
de un arco de circunferencia.
La
acción Ir a un paso anterior nos permite realizar
un bucle para poder repetir una serie de pasos anteriores.
Una
vez elegida la acción a realizar, pinchamos sobre el
icono correspondiente y lo arrastramos a la lista de acciones
a realizar Actions to be performed.
Al
arrastrar la acción sobre la lista, nos aparece la
posibilidad de modificar el tiempo durante el cual deseamos
que se realice dicha acción. Dicho tiempo se mide en
segundos y debe estar comprendido entre 0,1 y 25,5 segundos.
En
la figura siguiente, vemos un ejemplo de una trayectoria a
seguir por el robot y la lista de acciones necesaria para
poder llevar a cabo dicha trayectoria.

FIGURA
6. Ejemplo para el seguimiento de una trayectoria.
Apréciese
la diferencia entre el paso 2 (giro) y el paso 4 (rotación).
En el 2 el robot sigue avanzando mientras gira y en el 4,
sin embargo, gira sobre sí mismo sin avanzar.
Para
programar el robot con esa lista de acciones solo hay que
encender el robot, conectarlo al puerto serie del PC y pulsar
el botón GO.
Modo
Avanzado
El
Modo Avanzado es similar al Principiante pero añadiendo
el control sobre los sensores. En la pantalla se ha añadido
en la zona derecha las distintas opciones para el control
del robot ante la detección de objetos por parte de
los sensores.

FIGURA 7. Pantalla correspondiente al Modo Avanzado.
Bajo
este modo, es el usuario quien decide cual será la
respuesta del robot al detectar los objetos. La lista de acciones
a ejecutar Actions to be performed tiene 3 columnas
más: Both, Left y Right (Ambos,
Derecha e Izquierda). Y aparece una lista Sensors Actions
(Acciones de los Sensores) con varias pestañas: All,
Set1, Set2, Set3 y Set4.
En
la lista de acciones de los sensores (Sensor Actions)
se definen las acciones a realizar cuando se active alguno
de los sensores. Dichas acciones se especifican pinchando
y arrastrando las acciones (mover hacia delante, hacia atrás,
girar, rotar,
) hasta la lista correspondiente. Se pueden
definir 5 acciones distintas (Set1, Set2, Set3, Set4
y All) siendo la opción por defecto las acciones
definidas en la pestaña All.
Una
vez definidas dichas acciones, pinchando en el símbolo
+ y arrastrando a la lista de acciones a ejecutar, definimos
que hacer en cada acción al detectar un objeto el sensor
izquierdo, el derecho o ambos.
Ejemplo
Imaginemos
que deseamos hacer lo siguiente:
- Si tanto el sensor derecho como el izquierdo detectan
un objeto:
o El robot se detiene
o El robot retrocede
o Gira aproximadamente 180 grados
- Si solamente el sensor izquierdo detecta un objeto:
o Se para el robot
o Retrocede
o Gira a la derecha
- Si solamente el sensor derecha detecta un objeto:
o Se para el robot
o Retrocede
o Gira a la izquierda
Este
podría ser un esquema válido para que el robot
evite obstáculos que encuentre a su paso.
En
primer lugar hay que definir las acciones a realizar en caso
de que algún sensor se active. Se confeccionan tres
listas de acciones distintas dependiendo del sensor que esté
activado. En la lista All incluiremos las acciones
a realizar cuando los dos sensores detectan un objeto. En
la lista Set1 incluiremos las acciones a realizar cuando
se detecta un objeto por el sensor izquierdo y en la lista
Set2 las correspondientes al sensor derecho.

FIGURA
8. Se confeccionan tres listas de acciones, una para cada
caso.
Por
último, se deben indicar las acciones a realizar. Tras
esto colocaremos las acciones de los sensores en la columna
Both correspondiente a la pestaña All
para que así cuando los dos sensores detecten el obstáculo,
se ejecuten dichas acciones. En la columna left colocaremos
las acciones Set1 y en la columna Right colocaremos
las acciones Set2. Para colocar dichas acciones pulsaremos
en el botón +, que se encuentra junto al título
Sensor Actions y arrastraremos a la columna correspondiente
de la Actions to be performed o lista de acciones a
ejecutar.
En
el ejempo anterior, el resultado final debería ser
parecido al de la figura 9.

FIGURA 9. Resultado final del ejercicio propuesto.
Este
ejemplo ordena al robot moverse hacia delante durante 1,2
segundos. Mientras avanza, si ambos sensores detectan un objeto,
inmediatamente hará las acciones a ejecutar en la lista
Sensor Actions dentro de la pestaña All.
Si el que detecta el objeto sólo es el sensor izquierdo
se ejecutarán las acciones de la pestaña Set1
y en caso de que sea el derecho las de la pestaña Set2.
Y tras acabar estas órdenes pasará al paso 2,
girará durante 1,3 segundos con las mismas condiciones
anteriores y por último volverá a avanzar 1,2
segundos, también con las mismas condiciones anteriores.
Es
importante poner como primera acción del robot ante
la detección del objeto la parada de dicho robot, ya
que de lo contrario, y debido a las inercias del robot y de
sus motores, es posible que dependiendo de la acción
que estuviese haciendo el robot, el resultado sea imprevisto.
CONCLUSIONES
Hemos tratado de mostrar la simplicidad de esta herramienta
que la hace especialmente adecuada para jóvenes alumnos.
Permite comenzar el control de un robot utilizando comandos
gráficos y confeccionando programas de trabajo de forma
intuitiva y visual. De hecho, podríamos encontrar cierta
analogía con el lenguaje de programación LOGO,
lenguaje inspirado en las teorías educacionales del
psicólogo Jean Piaget, donde el alumno daba ordenes
a una tortuga para que avanzase, retrocediese, girase, etcétera.
Dicho lenguaje, desarrollado por Seymour Papert, ha demostrado
durante mucho tiempo su gran utilidad didáctica para
el desarrollo de la capacidad creativa como ayuda para organizar
mejor el conocimiento y saber expresarlo formalmente.
El
GUIBot intenta entusiasmar rápidamente al usuario del
robot que tras conocerlo pasará cómodamente
a comenzar la confección de programas usando el lenguaje
profesional PBASIC con el que tomará un contacto directo
con la realidad industrial y cimentará espléndidamente
los conocimientos tecnológicos que después desarrollará
en la FP o en la Universidad.
Bibliografía
1.-
Software del GUIBot: www.parallax.com/dl/sw/GUIBot.exe
2.- Manual en castellano del Home Boe-Bot: www.microcontroladores.com
3.- Manual en castellano del GUIBot: www.microcontroladores.com
4.- "MICROBÓTICA", Angulo, Romero y Angulo.
Editorial Thomsosn Paraninfo.
5.- "DISEÑO PRÁCTICO CON MICROCONTROLADORES",
Angulo, Romero y Angulo, Editorial Thomson Paraninfo, 2004.
6.- "La Robótica en la ESO", Etxebarría,
Angulo, Marina y Angulo, Revista Española de Electrónica,
Junio 2004.
7.- Página personal del autor: www.ikeretxebarria.net
|