Método de comparación de algoritmos de control de robots móviles
Nelson D. Muñoz CeballosGrupo de Investigación en Control Automático y Robótica ICARO Politécnico Colombiano Jaime Isaza Cadavid, Medellín-Colombia
[email protected] Luís F. Ortiz
Grupo de Investigación en Control Automático y Robótica ICARO Politécnico Colombiano Jaime Isaza Cadavid, Medellín-Colombia
[email protected] Nelson de J. Londoño Ospina
Grupo de Investigación en Manejo Eficiente de la Energía GIMEL Universidad de Antioquia, Medellín-Colombia
RESUMEN
En este artículo se presenta un método para estudiar el desempeño de algoritmos de control para robots móviles. Se comparan dos algoritmos de control, para lo cual se hace necesario desarrollar un método de comparación basado en varios índices o métricas de calidad de las trayectorias, estas métricas son útiles para evaluar el desempeño en el control de una misión de navegación del robot. Se presentan los resultados obtenidos aplicando el método descrito.
Palabras Clave: Robótica, Algoritmos de control, Robots móviles, Índice de desempeño, Red neuronal.
1. INTRODUCCION
En el control de un robot se involucra muchos elementos, desde los algoritmos necesarios para evitar colisiones, hasta el manejo de mapas del entorno para conocer la ubicación del vehiculo. Para afrontar la complejidad de la navegación de los robots, se han desarrollado diferentes algoritmos o arquitecturas software de control en las que se especifica un conjunto de módulos de software, el modo en que se conectan entre ellos y con el mundo exterior. Al implementar un algoritmo de control o toda una arquitectura software en un robot móvil, se busca mejorar el desempeño en las misiones de navegación, brindando robustez y fiabilidad al sistema de control, especialmente en ambientes desconocidos y complejos Los artículos y reportes de investigación sobre algoritmos o arquitecturas de control son típicamente descriptivos, informando lo que el sistema hace y como esta organizado, pero raramente proporcionan métricas que ayuden al lector a determinar que efecto tiene la arquitectura sobre el desempeño del sistema. Los índices
de desempeño o métricas de calidad son un aspecto comúnmente relegado, por lo cual se dificulta hacer una comparación más objetiva del desempeño de los sistemas de navegación de robots (Wong et al, 2002). La falta de consenso en como definir o medir estos sistemas, resta rigor e impide evaluar los progresos en el campo y comparar sus diferentes capacidades (Evans y Messina, 2000). Este articulo muestra como se puede aplicar un método para comparar algoritmos de control de robots móviles.
En la sección 2, se presentan dos algoritmos de control para la navegación de un robot móvil, los cuales sirven como ejemplos para la comparación. En la sección 3 se describe un método útil para comparar el desempeño de algoritmos, el método se basa en la aplicación de un protocolo de evaluación de los experimentos. En la sección 4 se describen los índices de desempeño, en la sección 5 se presentan los resultados y se finaliza con las conclusiones.
2. ALGORITMOS DE CONTROL
Dos algoritmos o arquitecturas de control fueron implementados en software de simulación, para controlar la navegación de un robot móvil de locomoción diferencial denominado Giraa_02 (Muñoz et al, 2006) 2.1 Arquitectura reactiva basada en función potencial Este tipo de arquitectura de control basa su funcionamiento principalmente en tres componentes o bloques: uno de “atracción" hacia el objetivo o meta, otro de “repulsión" hacia los obstáculos y un módulo de “combinación de comandos”. La planificación del movimiento consiste en la adecuada combinación de la atracción y la repulsión, de manera que conduzcan al robot hacia el objetivo sin colisiones. En el módulo de combinación de comandos, se genera las referencias de
control a los actuadores del robot en forma de velocidades (v, w), de avance y de cambio de orientación respectivamente, según el modelo cinemático del Giraa_02. La posición y orientación del robot (x, y, Φ) es proporcionada por el sistema de percepción. La medida de la distancia a los obstáculos, obtenida por los sensores {si} y la posición a alcanzar (x, y)f completa los datos
para la navegación.
El diagrama de bloques de la Figura 1 esquematiza todos los componentes que intervienen en la arquitectura reactiva basada en función potencial. Esta arquitectura ha sido ampliamente utilizada en robots móviles debido a que es bastante intuitiva, sencilla de programar, y produce resultados razonablemente buenos en los entornos más usuales, aunque es muy sensible al problema de los mínimos locales (Latombe, 1996).
Figura 1. Diagrama de bloques de la arquitectura de control basada en función potencial.
2.2 Arquitectura reactiva basada en la fusión adaptativa de comportamientos
Esta es una arquitectura de control basada en comportamientos, donde todas las tareas de alto nivel del robot o misiones (también llamado comportamiento emergente) son puestas en términos de la ejecución temporal de un conjunto de comportamientos primitivos o elementales. Esta arquitectura aprovecha las características de las redes neuronales artificiales, tales como el reconocimiento de patrones y la capacidad de generalización, para realizar una mezcla adaptativa de los comportamientos reactivos, de allí su nombre AFREB - Adaptive Fusion of Reactive Behaviours - (Zalzala y Morris, 1996).
El diagrama de bloques de esta arquitectura se ilustra en la figura 2, y consiste básicamente en los siguientes módulos: fusión de comportamientos, supervisor de fusión, comportamientos primitivos y modulo ejecutor. El eje central de la arquitectura es la forma como se fusiona
los comportamientos. Todos ellos intervienen en el control final del robot, coordinados por el supervisor de fusión que indica el grado de participación de cada uno de ellos.
Figura 2. Diagrama de bloques de la arquitectura reactiva basada en la fusión adaptativa de comportamientos. Modulo Supervisor de Fusión
Este modulo se encarga del calculo de los coeficientes ai que ponderan cada comportamiento primitivo en cada periodo de control, durante la navegación. Busca coordinar los comportamientos de manera apropiada para que no entren en conflicto durante la misión. Para implementar este módulo, se empleó una red neuronal artificial (RNA), esta técnica de inteligencia computacional tiene la característica de aprender de ejemplos para luego generalizar y así responder a situaciones nuevas. La RNA se entrenó para responder correctamente a una misión de navegación, libre de colisiones, entre las posiciones de partida y de llegada. La estructura del supervisor de fusión de comportamientos se muestra en la figura 3
Figura 3. Supervisor de fusión implementado con una RNA.
La información de entrada al modulo supervisor de fusión, es entregada por el sistema de percepción, y corresponde a las ocho medidas de distancia de los sensores y al ángulo de atracción hacia la meta. La salida corresponde a un conjunto de coeficientes ai (con 0 ≤ ai ≤ 1) que indican la importancia de cada comportamiento en ese momento y son entregados por la red neuronal para una apropiada combinación de los comandos de velocidad (v,w) de cada comportamiento primitivo.
3. DEFINICIÓN DEL PROTOCOLO DE EVALUACIÓN
Un protocolo describe los detalles de un estudio integral y planificado para investigar el funcionamiento uniforme de un sistema o equipo, o la aceptabilidad de un nuevo procedimiento. A continuación, se presenta un protocolo que permite evaluar el funcionamiento de un robot móvil con diferentes algoritmos de control, lo cual ayuda a comparar y elegir en función de criterios de valoración del desempeño.
Un esquema del protocolo de evaluación, se observa en la figura 4, su contenido comprende:
3.1 Identificar las características de la arquitectura de control del robot:
P. ej. construcción de mapas, localización, planificación de trayectorias, evasión de obstáculos, etc. Identificar estas características, ayuda a seleccionar el tipo de misión a ejecutar para la comparación entre arquitecturas, la cual tiene sentido si ambas arquitecturas se comparan en torno a las mismas características.
3.2 Determinar la información que tiene el robot sobre el entorno:
También sirve para seleccionar el tipo de misión a ejecutar. Por ejemplo, si el robot tiene un mapa del entorno o de un camino especifico, se puede seleccionar la ejecución de una misión de seguimiento de trayectoria. Si el entorno es conocido se puede esperar un mejor desempeño del robot. (un tiempo de ejecución más corto, etc.).
3.3 Definir el tipo de misión a evaluar:
Con la información de los dos puntos anteriores, se puede elegir la misión más apropiada para las pruebas, p. ej. vigilancia del entorno, navegar hacia una meta, seguimiento de trayectoria, etc.
3.4 Definir un orden de importancia a seguir para evaluar las características de la misión de
navegación:
Una misión de navegación tiene varias características que sirven como elementos de comparación. En general, el orden de importancia inicia con las características de seguridad en la trayectoria o proximidad a obstáculos, luego están otras características de la trayectoria (como tiempo, distancia, etc.) y finalmente, la suavidad del recorrido. Sin embargo, esta prioridad puede variar según el tipo de misión o los intereses del investigador, quien puede considerar, por ejemplo, que la suavidad es más importante en determinada misión. Igualmente, el tiempo y el recorrido están correlacionados, pero no tienen el mismo nivel de importancia para todos los tipos de misión (Lampe y Chatila, 2006).
Figura 4. Protocolo para evaluar el desempeño del robot 3.5 Seleccionar el conjunto de métricas de desempeño a
evaluar:
Se debe seleccionar al menos una métrica por cada característica de navegación que se quiera comparar, y que fueron definidas en el paso anterior
3.6 Obtener resultados:
Evaluar el desempeño con las diferentes métricas seleccionadas en el paso anterior, preferiblemente, en diferentes escenarios.
3.7 Analizar resultados:
En el análisis de los resultados de la ejecución de la misión de navegación, es posible que se detecten inconsistencias en los resultados, por ruido en los
sensores o errores en el tratamiento de la información, entonces, puede ser necesario volver al paso 3.6, de lo contrario se avanza con el protocolo.
3.8 Elaborar conclusiones:
Como paso final del protocolo, se elaboran las conclusiones, las cuales son determinaciones hechas mediante el estudio de los resultados del trabajo precedente con este método.
4. ÍNDICES DE DESEMPEÑO
Existen varias métricas que pueden ser empleadas para evaluar el desempeño de un sistema de navegación, no hay una sola que pueda indicar suficientemente la calidad del sistema completo, por lo tanto, para una evaluación apropiada es importante combinar diferentes índices que cuantifiquen diferentes aspectos del sistema.
4.1 Métricas de Seguridad
Estas métricas expresan la relación de seguridad con la que transita un robot por una trayectoria determinada, teniendo en cuanta la distancia entre el vehículo y los obstáculos que encuentra en el camino (Álvarez, 1998). Medida de Seguridad-1 (SM1): distancia media a los obstáculos durante toda la misión y para todos los sensores.
Medida de Seguridad-2 (SM2): distancia media mínima a los obstáculos.
Distancia Mínima (Min): distancia mínima de cualquier sensor a cualquier obstáculo durante toda la trayectoria, mide el máximo riesgo que se corrió durante la misión
4.2 Métricas Dimensionales
Se considera la trayectoria hacia la meta en sus dimensiones espaciales y temporales.
Longitud de la trayectoria recorrida (PL): es la distancia total recorrida por el vehículo desde el punto de inicio hasta la meta.
Distancia media al objetivo (Mgd): Esta métrica se puede aplicar en robots con capacidad de seguimiento de trayectorias de referencia. Un aspecto importante para determinar la calidad del sistema de navegación de un robot, es la habilidad de seguir una trayectoria que busca alcanzar una meta; entonces para evaluar la calidad en la ejecución de una trayectoria se analiza la distancia
promedio entre el vehículo y la meta. La diferencia es más significativa mientras más corta sea la distancia recorrida (Rosenblatt,1997).
Periodos de Control (LeM): cantidad de periodos de control. Esta medida es relativa al número de decisiones tomadas por el planificador para alcanzar el objetivo, si el robot se mueve a velocidad lineal (v) constante, da una idea del tiempo empleado en completar la misión (Álvarez, 1998).
4.3 Métricas de Suavidad
La suavidad de una trayectoria refleja la consistencia entre la relación decisión-acción tomada por el sistema de navegación, también, la habilidad de anticiparse y responder a eventos de un modo oportuno (Rosenblatt, 1997). La suavidad con que se genera una trayectoria, es una medida de los requerimientos de energía y tiempo para el movimiento, una trayectoria suave permite el ahorro de energía y tiempo (Dongqing, 2006); adicionalmente, es más conveniente para la estructura mecánica del vehículo.
Energía de Curvatura (Bending Energy BE): es una función de la curvatura k, empleada para evaluar la suavidad del movimiento del robot. Para curvas en el plano x-y, la curvatura k en cualquier punto (xi,f(xi)) a lo
largo de una trayectoria, esta dada por:
2 3 2
))
))
(
(
1
(
)
(
)
(
i i ix
f
x
f
x
k
′
+
′′
=
(1)La energía de curvatura puede ser entendida como la energía necesaria para doblar una vara a la forma deseada (Aguirre y González, 2000). BE se puede calcular
como la suma de los cuadrados de la curvatura en cada punto de la línea k(xi,yi), sobre la longitud de la línea L.
Entonces, la energía de curvatura de la trayectoria de un robot esta dada por:
∑
==
n i i i Ek
x
f
x
n
B
1 2(
,
(
))
1
(2)Donde k(xi, yi) es la curvatura en cada punto de la trayectoria del robot y n es el número de puntos de la trayectoria.
La medida de BE es un promedio y no muestra con
claridad suficiente el hecho que algunas trayectorias son más largas que otras, por lo tanto se puede utilizar el TBE,
esta métrica tiene en cuenta la suavidad y la longitud de la trayectoria simultáneamente.
TBE se define como
=
∫
(3)b
a
E
k
x
dx
TB
2(
)
Suavidad de Curvatura (Smoo): esta definida por el cuadrado del cambio en la curvatura k de la trayectoria de un vehículo con respecto al tiempo, integrando a lo largo de la trayectoria y normalizada por el tiempo total t (Rosenblatt, 1997).
t
ds
dt
dk
Smoo
l∫
⎟
⎠
⎞
⎜
⎝
⎛
=
0 2 (4)Suavidad de trayectoria (SmM_mod): es una medida del cambio de la dirección (w) dado en grados, por periodo de control. Esta medida esta relacionada en proporción directa con el esfuerzo de control, cuanto menor sea, menor fue el esfuerzo de control (minimización de actuaciones) realizado en ese eje.
t
ds
dt
d
SmM
l∫
⎟
⎠
⎞
⎜
⎝
⎛
=
0mod
_
θ
(5)5. APLICACIÓN DEL PROTOCOLO, PRUEBAS Y RESULTADOS Que información tiene el robot sobre el entorno ? Para el Giraa_02 el entorno es desconocido, la adquisición de datos en el vehiculo se hace en cada periodo de control, en el cual se lee la posición actual del robot y la orientación (xi,yi,Φi); adicionalmente se sensan ocho (8) medidas de distancia o proximidad a obstáculos, cuya lectura máxima es de 26.5 cm.
Definir el tipo de misión a evaluar:
Para comparar el desempeño del robot, se ejecutará una misión de navegación hacia la meta con evasión de obstáculos.
Definir un orden de importancia a seguir para evaluar las características de la misión:
Se puede convenir un orden de importancia a seguir para evaluar las características de la navegación, así:
I. La distancia entre el vehículo y los obstáculos en su trayectoria
II. La distancia recorrida por el vehículo entre el punto de inicio y la meta
III. El tiempo que emplea en completar la misión IV. La suavidad de la trayectoria generada
La primera, considera la seguridad de la trayectoria y mide el riesgo que corrió el robot durante su
desplazamiento hacia la meta. La segunda y tercera miden aspectos de la planificación de la trayectoria, y la cuarta considera la calidad de la trayectoria en cuanto a requerimientos de energía y tiempo para el movimiento. Seleccionar el conjunto de métricas de desempeño a evaluar:
Estas características se pueden analizar mediante el siguiente conjunto de métricas de desempeño:
• Para evaluar la seguridad se proponen SM1, SM2, Min.
• Para evaluar la trayectoria se proponen PL, LeM.
• Para evaluar la suavidad se propone TBE En general, se requiere solo una métrica por cada una de las 3 categorías, no obstante emplear varias, ayuda a un mejor análisis.
Obtener resultados:
Para las pruebas de desempeño de las arquitecturas de control, se considera 1 escenario que presentan diferentes configuraciones de obstáculos para la navegación del robot, los obstáculos están irregularmente espaciados y tienen diferentes tamaños. Las simulaciones, inician en la posición (100,170) y la coordenada de la meta es (470,350). Los resultados de las trayectorias generadas por las arquitecturas se observan en las figuras 5 y 6. En la tabla 1 se resumen los resultados obtenidos en simulación con las dos arquitecturas de control según las métricas de calidad descritas.
Tabla 1: Resultados del desempeño del robot. Índice Arquit. 1 Arquit. 2
SM1 [cm] 25.9 25.7 SM2 [cm] 13 14 Min [cm] 3 7 PL [cm] 441.8 429.9 LeM 222 216 TBE 0.2810 0.0718 SM1 máximo = 26.5cm
En una trayectoria sin obstáculos, para el Giraa_02 SM1 seria máximo = 26.5cm, similarmente ocurriría con SM2 y Min.
Análisis de Resultados:
En la tabla 1, se observa que la arquitectura 2 emplea menos periodos de control y por consiguiente menos tiempo en completar la misión, además, recorre una trayectoria más segura y más corta. La arquitectura 2 realiza una trayectoria mucho más suave, con el consecuente ahorro de energía y menor esfuerzo de la estructura mecánica del robot. Por todo lo anterior, se puede considerar la arquitectura 2 como la mejor opción.
Figura5. Trayectoria generada por la arquitectura 1
Figura 6. Trayectoria generada por la arquitectura 2
5. TRABAJO FUTURO
Varios trabajos futuros están asociados al proyecto: • Asociar el modelo dinámico del robot a los
índices de desempeño, para orientar mejor el análisis de resultados y las conclusiones
• Incluir otras variaciones al protocolo, como por ejemplo, dar peso o ponderar las métricas según el tipo de misión.
• Investigar nuevas métricas, que midan por ejemplo, que tan inteligente puede ser el sistema de control.
6. CONCLUSIONES
Se presentó un ejemplo de cómo aplicar un método de comparación de algoritmos de control de robots móviles. El protocolo se constituye como una herramienta de ayuda en el análisis de las arquitecturas de control en cuanto al desempeño en misiones de navegación. De los resultados obtenidos, se deduce la necesidad de establecer un procedimiento estándar que sirva para analizar y comparar las arquitecturas de control desde varias métricas de desempeño. Para hacer un estudio detallado de comparación entre dos o más algoritmos de control, se sugiere aplicar el protocolo en varios escenarios de navegación diferentes, y en cada escenario realizar varias pruebas.
RECONOCIMIENTOS
Este trabajo fue desarrollado por miembros del grupo de investigación en manejo eficiente de la energía GIMEL de la Universidad de Antioquia y del grupo de
instrumentación, control automático y robótica ICARO del Politécnico Colombiano Jaime Isaza Cadavid, Medellín.
REFERENCIAS.
Aguirre E., González A. (2000) Fuzzy behaviors for mobile robot navigation: design, coordination and fusion; International Journal of Approximate Reasoning, vol 25, 255-289.
Álvarez, J. (1998) Planificación del movimiento de vehículos autónomos basada en sensores. Tesis doctoral, Universidad de Oviedo, 178 pp, Oviedo, España.
Dongqing S. (2006) Aerial robot navigation in cluttered urban environments. PhD Thesis, The Florida State University, 87pp, Florida, EEUU.
Evans J., Messina E. (2000) Performance Metrics for Intelligent Systems, In Proceeding of the Performance Metrics for Intelligent Systems Workshop, Gaithersburg, MD, August 14-16. Lampe A., Chatila R. (2006) Performance measure for
the evaluation of mobile robot autonomy. En: Proceedings of the 2006 IEEE international conference on robotics and automation. Orlando, Florida – May. pp. 4057-4062
Latombe J.C. (1996) Robot Motion Planning,. Kluwer Academic Publishers, Boston, 4ta Ed.
Muñoz N., Andrade C., Londoño N. (2006) Diseño y construcción de un robot móvil orientado a la enseñanza e investigación; Revista Ingeniería & Desarrollo. Número 19. Uninorte, Barranquilla. Rosenblatt J. (1997) DAMN: Distributed Architecture for
Mobile Navigation. Ph.D. Thesis, Carnegie Mellon University Robotics Institute, Pittsburgh, PA.
Wong S., Middleton L., MacDonald B. (2002) Performance metrics for robot coverage tasks. In Proceedings Australasian Conference on Robotics and Automation (ACRA), pp 7--12, Auckland, New Zealand.
Zalzala A., Morris A. (1996) Neural Networks for Robotic Control, Ellis Horwood, 278 pp.