Programación gráfica y visual en un robot educativo
En un artículo publicado en Revista Española de Electrónica, “La Robótica en la ESO”, se presentó al robot Home Boe-Bot como el más apropiado para construir y aprender a programar en los últimos cursos de la ESO, tal como lo proponen los programas oficiales de la asignatura de Tecnología, así como en bachillerato ó FP. Las carencias existentes en la actualidad en la impartición de esta materia en muchos centros han desplazado su desarrollo hasta el primer curso de las carreras de Ingeniería en la Universidad en detrimento de la formación de nuestros jóvenes.


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.

Aritza Etxebarria Ruiz y José Mª Angulo Usategui: Programación gráfica y visual en un robot educativo (Home Boe-Bot, robot, pbasic, GUIBot, microbot, ESO, sensores contacto, infrarrojos, movimiento, trayectoria)
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.

Aritza Etxebarria Ruiz y José Mª Angulo Usategui: Programación gráfica y visual en un robot educativo (Home Boe-Bot, robot, pbasic, GUIBot, microbot, ESO, sensores contacto, infrarrojos, movimiento, trayectoria)

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).

Aritza Etxebarria Ruiz y José Mª Angulo Usategui: Programación gráfica y visual en un robot educativo (Home Boe-Bot, robot, pbasic, GUIBot, microbot, ESO, sensores contacto, infrarrojos, movimiento, trayectoria)

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.


Aritza Etxebarria Ruiz y José Mª Angulo Usategui: Programación gráfica y visual en un robot educativo (Home Boe-Bot, robot, pbasic, GUIBot, microbot, ESO, sensores contacto, infrarrojos, movimiento, trayectoria)
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.

Aritza Etxebarria Ruiz y José Mª Angulo Usategui: Programación gráfica y visual en un robot educativo (Home Boe-Bot, robot, pbasic, GUIBot, microbot, ESO, sensores contacto, infrarrojos, movimiento, trayectoria)
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.

Aritza Etxebarria Ruiz y José Mª Angulo Usategui: Programación gráfica y visual en un robot educativo (Home Boe-Bot, robot, pbasic, GUIBot, microbot, ESO, sensores contacto, infrarrojos, movimiento, 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.

Aritza Etxebarria Ruiz y José Mª Angulo Usategui: Programación gráfica y visual en un robot educativo (Home Boe-Bot, robot, pbasic, GUIBot, microbot, ESO, sensores contacto, infrarrojos, movimiento, trayectoria)
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


 

Palabras claves: Home Boe-Bot, robot, pbasic, GUIBot, microbot, ESO, sensores contacto, infrarrojos, movimiento, trayectoria

Comentarios de los lectores a este proyecto:

15/02/2006 - jose bobadilla
premero que nada mis mas cordiales saludos y los felicitos por facilitar este tipo de informacion que hacen que estudiantes como yo no nos de miedo al trabajar con la microbotica si pudieran enviarme algun tipo de informacion acerca de ello se los agradeceria.gracias

15/02/2006 - Iker Etxebarria
Lo mejor es que busques en esta misma web el manual de Robotica de Parallax. Muy interesante para iniciarse en este mundillo. Si no lo encuentras házmelo saber.

24/03/2006 - MILTON AYALA
mirelo

04/06/2006 - Danny segura
me gustaria estar en su proyeto de robot

07/11/2007 - ALEJANDRO CONDE
bun dia a todos necesitourgente donde bajo elprograma gui bot para un proyecto de universida urgente..

07/11/2007 - Iker Etxebarria
Seguramente podrás encontrarlo en www.parallax.com en la sección de software

07/11/2007 - Lorenzo M. Oliver
Hola Alejandro, el enlace de descarga del programa lo encontrarás en www.todomicrostamp.com/sw_download.php

Nombre
   Email
Comentario
(máx. 200 caráct.)  
--> Introduce este número en la siguiente casilla   
Robótica con microcontroladores BASIC Stamp de Parallax. Cualquier nombre de productos o marcas registradas que puedan aparecer en este sitio web, aparecen con fines de identificación y están registradas por sus respectivas compañías. 'BASIC Stamp' es una marca registrada de Parallax, Inc. Aviso legal
Descarga en
PDF (372KB)
Autor/es:
Aritza Etxebarria Ruiz y José Mª Angulo Usategui
Datos contacto:
Más trabajos del autor/es: