Diseño de UV-BOT: Robot Móvil Educativo
Diseño de UV-BOT: Robot Móvil Educativo
53 - 74 (2008)
INGENIERÍA ELECTRÓNICA
Un robot móvil (llamado UV-BOT), fue diseñado en la Universidad del Valle para la
experimentación en robótica y puede ser usado por personas con o sin conocimiento en robótica.
UV-BOT es un robot diferencial y para uso en interiores; cuenta con sensores de proximidad,
detección de luz, localización y comunicaciones, y su velocidad es controlada mediante dos
controladores PI, uno en cada rueda. El firmware del robot fue diseñado usando un micro-núcleo de
tiempo real conocido como FreeRTOS, que soporta tres niveles de complejidad, los cuales poseen un
conjunto de funcionalidades desde el punto de vista de percepción, movilidad, comunicación,
programación y disponibilidad de demos. Estas funcionalidades son empleadas por la interfaz de
usuario para programar el robot gráficamente (nivel básico), usando XML (nivel intermedio) o C
(nivel avanzado). En su nivel avanzado, el robot soporta la programación orientada a
comportamientos. Estos comportamientos fueron utilizados para realizar las pruebas de desempeño
del robot móvil. Como resultado de estas pruebas, se encontró que el sistema de localización de UV-
BOT muestra una incertidumbre promedio de 17 cm. Los comportamientos de retorno (por posición
y luz) y evasión de obstáculos muestran errores promedio de 15 y 12 cm, respectivamente. De este
modo, con UV-BOT se pueden implementar exitosamente tareas básicas en robótica cooperativa.
53
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
54
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
LEGO P3-DX
SR1 Mindstorms RIS HEMISSON KHEPERA II AMIGOBOT
PLATAFORMA
Herramienta
Programación BasicX BotStudio Webots, C C y JAVA C y JAVA
propia, C y JAVA
Motorola
Hitashi H8/3292 PIC16F877
Procesador BasicX-24 68331 Renesas SH7144 Hitashi H8S
16 MHz 20 MHz
25 MHz
EEPROM Flash
(32 kbyte) 32 kbytes de (512 kbytes) 1 Mbyte de
Memoria RAM - 1 Mbyte de flash
RAM (externos) RAM flash
(400 bytes) (512 kbytes)
2 motores DC 2 motores DC 2 motores DC
Locomoción 2 motores DC 2 motores DC 2 motores DC con encoders con encoders con encoders
incrementales incrementales incrementales
8 de luz
2 de contacto
2 sensores de infrarrojos,
1 de inclinación
contacto, 6 de detección 8 de
2 de luz
Sensores 1 sensor de luz de obstáculos proximidad 8 de sonar 8 de sonar
1 de infrarrojo
1 sensor de infrarrojos, infrarrojos
1 de ultrasonido rotación 2 de detección
1 de temperatura
de línea
6 baterías AA de 6 baterías AA de 1 batería
Alimentación 1 batería de 9V recargable de 1 batería de 12 V 1 batería de 12V
1.5 V 1.5 V NiMH
Comunicación Puerto serial Puerto infrarrojo Puerto serial Puerto serial Puerto serial Puerto serial
70 mm de 33 cm de largo 44 cm de largo
12 cm de
Dimensiones - - diámetro 28 cm de ancho 38 cm de ancho
diámetro
30 mm de alto 15 cm de alto 22 cm de alto
Peso - - 200 g 80 g 3.6 kg 9 kg
55
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
encendido, reinicio y operación. El botón de actualización del BootLoader y otro que usa
encendido tiene forma circular y está en el centro; comunicaciones tipo SPI para futuras
el botón de reinicio se encuentra a la derecha del expansiones. La Figura 1b muestra el diagrama de
botón de encendido y se usa para reiniciar una bloques del hardware del robot. En esta figura se
aplicación recientemente descargada. El botón de observan 5 componentes principales: el sistema
operación se encuentra a la izquierda del botón de de percepción (proximidad, luz y contacto), el
encendido y se usa para determinar si se quiere sistema de actuación [servo-motores de DC con
descargar una nueva aplicación o ejecutar la que sus codificadores (encoders) incrementales], el
está descargada (Figura 1a). Al lado izquierdo, el sistema de comunicaciones (de luz infrarroja,
robot posee tres conectores tipo RJ: uno para la RS232 y un pequeño alto-parlante para
descarga de programas al robot, uno para la interacción con el usuario), la alimentación para
todo el sistema y el microcontrolador.
a)
b)
56
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
Sensores de proximidad. La Figura 2a muestra Ellos brindan una resolución de 135 pulsos por
la distribución de los sensores de proximidad. Dos giro de la rueda.
de ellos se encuentran a cada lado del robot, otro en
el frente y otros dos a 45º del sensor central. Para 2.3 Modelos cinemático y dinámico
su implementación, se usaron dispositivos Sharp
GP1UD28YK. Su rango de activación se UV-BOT es un robot de tipo diferencial, con un
encuentra alrededor de los 20 cm medidos desde el soporte trasero y para ser usado en ambientes
sensor. interiores. Según Ollero (2007), el modelo
cinemático de un robot diferencial puede
Sensores de intensidad de luz. La Figura 2b describirse mediante las expresiones:
muestra la distribución de los sensores de
intensidad de luz. Dos de ellos se encuentran a vd + vi (
wd +wi )
c (1)
v= =
cada lado del robot y otro en el frente. El sensor 2 2
del frente está ubicado en un soporte que puede ser
rotado hacia adelante o hacia el piso, de tal manera
que puede usarse para implementar algoritmos
vd - vi (
wd - wi)
c
w= = (2)
sencillos de seguimiento de trayectorias con alto b b
contraste. Estos sensores se implementaron
usando fotorresistencias y su sensibilidad fue donde c es el radio de las ruedas (3.81 cm para este
medida en el robot obteniéndose como resultado caso), b (18 cm para este caso) es la separación de
0.353 cd / V. las ruedas, vi es la velocidad lineal de la rueda
izquierda, vd es la velocidad lineal de la rueda
Sensores de contacto. La Figura 2c muestra la derecha, wi es la velocidad angular de la rueda
distribución de los sensores de contacto. Todos izquierda, wd es la velocidad angular de la rueda
ellos se ubicaron en el parachoques frontal del derecha, v es la velocidad lineal del robot y w es la
robot, ampliando el área de contacto. velocidad angular del robot.
Sistema de odometría. La Figura 3 muestra los El sistema de locomoción del robot se basó en
planos coordenados global y del robot, los cuales servo-motores modificados Futaba S3003, los
son asumidos para el cálculo de la odometría. Los cuales se basan en un motor de corriente directa
odómetros son codificadores incrementales (DC), cuyo modelo de primer orden es bien
ubicados en cada rueda del robot. conocido (Ogata, 1996) y que se usó para
establecer el modelo dinámico del robot.
a) b) c)
Figura 2. (a) Distribución de los sensores de proximidad. (b) Distribución de los sensores de intensidad de luz.
(c) Distribución de los sensores de contacto.
57
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
58
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
velocidad (cm / s)
tiempo (s)
tiempo (s)
59
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
Dependiendo del modo de operación del robot, se A este nivel, no se realizan procesos complejos de
selecciona como fuente de datos ya sea el conector las señales de entrada o salida; se toma el flujo de
RJ11 (programación) o el medio infrarrojo información en bruto.
(ejecución de la aplicación).
3.2 Nivel de complejidad intermedio
3. Requerimientos para la experimentación
en robótica El nivel intermedio brinda la posibilidad de
controlar al robot más delicadamente,
La herramienta propuesta fue diseñada e permitiendo movimientos que tienen en cuenta
implementada con el fin de cumplir ciertos una distancia o ángulo determinado. Se introduce
requerimientos, los cuales son producto de la el manejo del movimiento en un plano,
experiencia de nuestro grupo de investigación en comunicaciones con mensajes más complejos
percepción y sistemas inteligentes en el desarrollo (tramas) y funciones de programación con
de los semilleros de robótica, y de la necesidad ya operaciones lógicas. A este nivel, también se
mencionada de brindar al usuario un esquema de cuenta completamente con las funcionalidades del
trabajo de complejidad creciente que va desde el nivel básico. La Tabla 3 muestra un resumen de
nivel básico hasta el nivel avanzado. sus características. El objetivo de este nivel es
A continuación, se detallan los requerimientos que comenzar a usar el robot como una herramienta
el firmware y la interfaz de usuario tuvieron en capaz de realizar tareas que son un conglomerado
cuenta para el desarrollo de la herramienta en 5 de percepciones y movimientos simples
ejes fundamentales: movilidad, percepción, introducidos en el nivel básico.
comunicaciones, programación y disponibilidad
de demos. 3.3 Nivel de complejidad avanzado
3.1 Nivel de complejidad básico El nivel avanzado hace uso de todas las
características anteriores y las usa para construir
El nivel básico está diseñado para que las una interfaz de software orientada a la
funcionalidades de movilidad, percepción, programación por comportamientos (Brooks,
comunicaciones y programación del robot sean 1986). Se usan esquemas de percepción, hasta 7
invocadas sin mayor dificultad por el usuario, diferentes comportamientos básicos que pueden
brindando una comprensión global de los ser fusionados (usando un árbitro colaborativo) y
estímulos y acciones del robot. La Tabla 2 muestra esquemas de actuación que modifican la
un resumen de sus características. velocidad lineal y angular del robot.
Tema Funcionalidad
Movilidad ·Encendido / apagado de motores.
·Variación de giro y velocidad de motores.
·Giros básicos: aleatorio, adelante, derecha, izquierda y atrás por un tiempo dado.
Percepción ·Lecturas binarias (activo / no activo) de los sensores infrarrojos y de contacto.
·Detección de umbrales de luz: iluminado u oscuridad para cada uno de los sensores de
luz.
Comunicaciones e Interacción ·Tocar canciones y notas.
·Enviar y recibir mensajes por IR.
Programación ·Definición de variables.
·Operaciones aritméticas básicas.
·Control de flujo de programas: while, for, if, repeat, etc.
Predefinidas ·Funciones para encontrar la luz u oscuridad.
·Función para seguir objetos.
·Función para evadir obstáculos.
60
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
Tema Funcionalidad
Movilidad ·Avanzar y retroceder una distancia determinada.
·Girar un ángulo determinado.
·Avanzar, retroceder o girar hasta que un sensor perciba determinada condición.
Percepción ·Obtención de la posición XY del robot.
·Obtención de la velocidad de desplazamiento del robot.
Comunicaciones e Interacción ·Envío y recepción de códigos de identificación de otros robots.
·Determinación del momento adecuado para transmitir un mensaje.
Programación ·Operaciones lógicas (AND, OR, XOR).
·Desplazam ientos a la derecha o izquierda.
·Operaciones aritméticas como potenciación y raíz cuadrada.
Predefinidas ·Desplazamiento del robot a una coordenada XY determinada.
Tema Funcionalidad
Movilidad ·Modificación de la velocidad lineal y angular del robot.
·Modificación de la velocidad lineal de las ruedas.
·Modificación de las características de los controladores PI de las ruedas.
Percepción ·Representación vectorial de los sensores infrarrojos y de contacto.
·Obtención del sector angular libre de obstáculos.
·Obtención del sector angular con más o menos iluminación.
·Obtención de la orientación relativa hacia un objetivo en el plano XY.
Comunicaciones e Interacción ·Idénticas a las del nivel intermedio.
Programación ·En este caso las estructuras de programación, definición de variables y operaciones
sobre éstas son usadas teniendo en cuenta la sintaxis de ANSI C.
Predefinidas ·Comportamientos básicos de: evasión de obstáculos, adición de ruido, retorno por luz,
retorno por posición, seguimiento de objetos, seguimiento de muros y escape.
·Árbitro colaborativo para la fusión de las respuestas de los comportamientos.
·Planificador de prioridades con el fin de determinar la importancia relativa de los
comportamientos.
Además, se introduce el concepto de campos de • PWM motor derecho: para generar la señal de
potencial (Khatib, 1986), muy difundido en el PWM necesaria para mover el motor derecho.
ámbito de la navegación con robots móviles. El
objetivo del nivel avanzado es usar al robot como • PWM motor izquierdo: para generar la señal de
una herramienta para solucionar un problema real. PWM necesaria para mover el motor izquierdo.
La Tabla 4 muestra estas características.
• Sensores de luz y contacto: para capturar y
4. Descripción del firmware procesar la información de los sensores de luz y
contacto.
La Figura 7 muestra la estructura del firmware de
los robots móviles. Este fue desarrollado sobre un • Comunicaciones: para enviar y recibir
micro-núcleo de tiempo real de libre distribución información a través del sistema de
llamado FreeRTOS (FreeRTOS, 2005), sobre el comunicaciones infrarrojas.
cual se implementaron los siguientes procesos:
• Odometría y control de movimiento: para
• Sensores IR: para capturar y procesar la determinar la posición y orientación del robot cada
información de los sensores de proximidad 250 ms y para determinar la velocidad de
infrarrojos. desplazamiento del robot con los controladores PI.
61
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
• Eventos (modificable por el usuario): para valores de los controladores PI de las ruedas
ubicar todos los eventos que pueden lanzar los derecha e izquierda, dirección de giro de los
sensores del robot, por ejemplo: detección de motores, posición en el plano XY y orientación del
obstáculos en alguno de los sensores de robot. De esta manera, las tareas antes
proximidad o contacto, detección de ciertos mencionadas son las únicas que interactúan con el
niveles de iluminación u oscuridad, llegada de un hardware del robot, mientras que la interfaz de
mensaje por el sistema de comunicaciones, etc. A software del usuario sólo accede a la estructura de
cada evento se le asocia una serie de instrucciones datos.
que el usuario especifica en las interfaces de
programación. 5. Descripción funcional básica de la
interfaz de usuario
• Principal (modificable por el usuario): para
ubicar el programa que el usuario quiere ejecutar y El aplicativo de software (ver diagrama de
que es concebido en alguna de las tres interfaces bloques en la Figura 8) permite la programación
de programación. del robot en tres niveles de conocimiento
progresivos: programación gráfica, programación
INICIO basada en XML y programación en ANSI C.
C ONFIGU RAC I9 ON DEL
Como el programa final que se compila y descarga
MICR OC ON TROLA DOR
en el robot debe ser escrito en ANSI C, el
aplicativo de software se encarga de hacer la
traducción transparente entre los lenguajes
PRINC IPAL E VENTOS utilizados en los dos niveles inferiores de
conocimiento.
62
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
63
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
64
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
a)
b) c)
Figura 12. (a) Interfaz para el desarrollo de retos. (b) y (c) Interfaz para el proceso de
LOGIN y registro de usuarios.
65
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
Las Figuras 12b y 12c muestran las interfaces de 6.2 Evasión de obstáculos
LOGIN y creación de un registro en el aplicativo.
La evasión de obstáculos es una característica
6. Pruebas y resultados muy deseada en un robot móvil, que en nuestro
caso se logra a través de un comportamiento que
Considerando las secciones anteriores, se observa usa esquemas de percepción basados en una
que existen muchos módulos que constituyen la representación vectorial de los sensores
herramienta propuesta. Con el fin de probar la infrarrojos (Bacca et al., 2003). Con este
funcionalidad de la herramienta, se comportamiento se obtiene una percepción
implementaron pequeñas aplicaciones en el nivel vectorial de los obstáculos que rodean al robot.
de complejidad avanzado, lo cual implica usar las La respuesta del comportamiento es entonces
funcionalidades de los niveles inferiores. Para convertida en comandos motores (Bacca et al.,
cada una de las aplicaciones se usó la interfaz de 2003) a través de un árbitro que usa un esquema de
software tanto en su nivel básico como en el prioridades definidas en el momento de la
avanzado. Este último nivel se usó para la programación.
programación orientada a comportamientos.
Las respuestas de los comportamientos son
Las aplicaciones seleccionadas son bien vectores normalizados, cuya dirección señala la
conocidas en el ámbito de la robótica móvil: orientación deseada del robot y cuya magnitud
evasión de obstáculos, retorno (homing) de indica el porcentaje de modificación de las
posición, retorno (homing) de luz y una carrera de velocidades lineales de cada rueda. Las
relevos como aplicación básica de robótica coordenadas X / Y del vector deseado se obtienen
cooperativa. mediante las siguientes expresiones:
n=
7
6.1 Sistema de localización
å
X=pn xn (9)
n=
0
La determinación de la incertidumbre del sistema
de localización es una prueba interesante que es
n=
7
previa a las pruebas con las aplicaciones basadas
en comportamientos. En tal prueba, el robot å
Y =pn y n
n=
0
(10)
describe un cuadrado de 1.5 m x 1.5 m, girando
hacia la derecha y luego hacia la izquierda. Esto se
muestra en las Figuras 13a y 13b. La prueba donde pn es la prioridad asociada al
descrita fue realizada 5 veces para cada lado. Las comportamiento n, y xn y yn son las respuestas de
gráficas de dispersión se muestran en las Figuras cada comportamiento. Estas ecuaciones muestran
13c y 13d, tanto para el giro hacia la izquierda cómo el árbitro colaborativo obtiene la respuesta
como hacia la derecha. que es enviada realmente a los motores, siempre
teniendo en cuenta el aporte de cada
Para el recorrido antihorario (hacia la izquierda) comportamiento activo. El conjunto de
se midió una incertidumbre promedio en X de comportamientos que la herramienta emplea se
± 13.89 cm y en Y de ± 13.8 cm, usando una muestra en la Figura 14. De este conjunto, sólo se
distribución t-Student con un margen de confianza usa la evasión de obstáculos.
de 97.5 %. Para el recorrido horario (hacia la
derecha) se midió una incertidumbre promedio en La Figura 15 muestra dos pruebas típicas para
X de ± 17.48 cm y en Y de ± 17.36 cm, usando una observar el comportamiento del robot ante los
distribución t-Student con un margen de confianza obstáculos del entorno.
de 97.5 %.
66
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
a) b)
c)
d)
Figura 13. Pruebas del sistema de localización. (a) Recorrido cuadrado hacia la izquierda. (b) Recorrido cuadrado
hacia la derecha. (c) Curva de dispersión sentido antihorario. (d) Curva de dispersión sentido horario.
67
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
a) b)
Figura 15. Trayectorias del robot ante diferentes configuraciones de obstáculos.
El retorno (homing) es un comportamiento típico Al cambiar la definición del área de interés usando
en robótica móvil cuyo objetivo es orientar al un estímulo análogo como es la luz, el
robot hacia una región de interés. Gracias a que los componente que cambia en el conjunto de
robots móviles soportan la programación comportamientos de la Figura 16 es el
orientada a comportamientos, el comportamiento comportamiento de retorno. Es decir, se desactiva
de retorno puede ser combinado con la evasión de el comportamiento 7 y se activa el 4, de arriba a
obstáculos, de tal manera que la combinación de abajo. En este caso, el robot no conoce
ambos resulta en un comportamiento emergente previamente la posición del estímulo; éste se guía
más complejo (Arkin, 1989). En nuestro caso, la usando sus fotoceldas, obteniendo un vector que
región de interés se define en dos formas: usando se orienta hacia el lugar con más intensidad
una posición en el plano coordenado global y lumínica, y se debe garantizar que el robot pueda
empleando un estímulo como es la luz. Ambas tener línea de vista hacia la fuente de luz, esto es,
formas se usaron en las pruebas que se muestran a los obstáculos no pueden ser muy altos. El robot
continuación. tampoco conoce la distribución de los obstáculos.
Ambos comportamientos básicos se mezclan para
6.3.1 Retorno por posición y evasión de obtener el resultado de la Figura 18a. La prueba
obstáculos fue realizada 5 veces. La Figura 18a muestra las
trayectorias obtenidas al procesar digitalmente los
La Figura 16 muestra el conjunto de vídeos de las pruebas.
comportamientos activos para el retorno por
68
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
Figura 16. Conjunto de comportamientos para el retorno por posición y evasión de obstáculos.
a)
b)
Figura 17. (a) Trayectorias obtenidas para el retorno por posición con evasión de obstáculos. (b) Nube de puntos de las
posiciones reales de llegada.
69
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
a)
b)
Figura 18. (a) Trayectorias de la prueba de retorno por luz y evasión de obstáculos. (b) Nube de puntos de las
posiciones XY reales alcanzadas en la prueba.
70
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
La Figura 19 muestra una secuencia de imágenes Este es el caso del retorno con evasión de
en la cual se puede observar lo anterior. Esta obstáculos, prueba que se llevó a cabo de dos
prueba es uno de los retos que los niños y jóvenes maneras: la primera usando el sistema de
realizan en el semillero de robótica de la odometría, donde se tienen dos comportamientos
Universidad del Valle y la Biblioteca con diferentes grados de importancia, 100 % de
Departamental. importancia para la evasión de obstáculos y 30 %
para orientar al robot hacia la zona de interés
7. Discusión de resultados (punto 100, 0) como se observa en la Figura 17a.
La Figura 17b contiene dos de las 5 pruebas
El desarrollo de las pruebas del sistema de realizadas, las cuales estuvieron dentro del margen
localización proporciona un círculo de de incertidumbre del sistema de localización
incertidumbre que en el peor de los casos tiene un (círculo de 17 cm de radio). En la Figura 17b se
radio de 17 cm. Este valor no es ajeno a la bien observa que inicialmente el robot se orienta hacia
conocida inexactitud de un sistema de localización su destino, pero modifica su trayectoria al
relativo basado en codificadores incrementales encontrarse con el obstáculo. La segunda forma
(Borenstein et al., 1996), pero gracias a la de implementación fue usando estímulos
flexibilidad de la plataforma, esto permite el externos; en este caso, luz que fue capturada por
planteamiento de desarrollos a corto plazo para la sus fotoceldas. Estas fotoceldas fueron usadas
corrección de errores sistemáticos de odometría para establecer un marco coordenado de
(Borenstein et al., 1996) y la adición de un compás intensidades de luz y luego un vector cuyo ángulo
digital para la compensación de los errores de determinaba la orientación hacia donde el robot
odometría usando filtros de Kalman (Ivanjko debía dirigirse. La Figura 18a muestra un
et al., 2004). comportamiento inicial parecido al descrito
anteriormente, con una modificación de la
Las plataformas móviles están en capacidad de trayectoria para evadir el obstáculo y luego
ejecutar aplicaciones que usan la programación acercarse a la zona de interés. Ya que en esta
basada en comportamientos. Los resultados de las prueba es difícil alcanzar por completo la fuente
pruebas de evasión de obstáculos presentadas en la del estímulo, dada la simplicidad de los sensores,
Figura 15a y 15b muestran al robot usando el robot terminó alrededor de la fuente con un
sensores simples para recorrer un laberinto o un círculo de incertidumbre de radio igual a 17 cm,
pasillo. Sin embargo, nótese que hay ciertas distancia a la cual, dependiendo del ángulo de
oscilaciones en la trayectoria detectada, lo cual aproximación, los sensores del robot entraban en
responde a que el espacio libre de obstáculos con saturación. Nótese adicionalmente que el conjunto
el cual se encuentra el robot es muy parecido al de comportamientos con que cuenta el robot está
rango de alcance de sus sensores. Esto se puede ver siendo parametrizado por las prioridades de cada
con más fuerza en la Figura 15b cuando el pasillo uno de ellos. Esto significa que la plataforma está
se estrecha paulatinamente. El robot actualmente preparada para modular su comportamiento
es programado bajo una perspectiva reactiva, lo emergente, dependiendo de la adecuada
cual no le permite tener una percepción global de activación y valor de las prioridades asociadas a
su entorno, sólo local y sin historia. Sin embargo, cada comportamiento.
al introducir la navegación con campos de
potencial, la plataforma se convierte en una Finalmente, los resultados mostrados permiten
herramienta bastante útil para el aprendizaje de observar que la plataforma posee una muy buena
este concepto a diferentes niveles de conocimiento flexibilidad de programación y que está concebida
en robótica. teniendo en cuenta conceptos para la navegación
de robots móviles acordes con el estado del arte
Lo interesante de la programación orientada a actual. Esto resulta muy útil para los objetivos
comportamientos es poder obtener un educativos bajo los cuales fue concebido el
comportamiento emergente más complejo que los sistema inicialmente, ya que permite la
comportamientos básicos que lo conforman. introducción a los siguientes conceptos: control de
movimiento, percepción básica usando la
71
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
a) b)
c)
Figura 19. Secuencia de imágenes cooperación básica. (a) Robot próximo a llegar. (b) Transmisión del mensaje.
(c) El otro robot inicia el recorrido.
72
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
usando retos, el registro de usuarios y el manejo de Brooks, R. (1986). A robust layered control system
los mismos con el fin que cada usuario mantenga for a mobile robot. IEEE Journal of Robotics and
la evolución de sus retos. Automation 2 (1), 14-23.
73
Ingeniería y Competitividad, Volumen 10, No. 2, p. 53 - 74 (2008)
74