Introducción a la Robótica
Mecanismos avanzados (1)
Dra Angélica Muñoz [email protected]
Coordinación de Ciencias Computacionales, INAOE
Planificación (1)
De manera general, planificar concierne el trazo de un
camino que enlace dos o más puntos del ambiente, o bien dos o más estados del robot.
La planificación está muy ligada a la representación del ambiente del robot.
Los planificadores actúan sobre el espacio de
configuraciones (Cspace) del robot, que se representa
usualmente como una estructura de datos que permite al robot identificar su pose, así como la ubicación de los
objetos del ambiente y del objetivo.
-Planificación (2)
El Cspace se representa generalmente en 2D, para limitar el número de variables que el robot debe representar y
procesar.
-Planificación (3)
Cuando se tienen mapas topológicos o métricos, la
planificación de trayectorias puede realizarse con ayuda de algoritmos de recorridos de grafos, e.g. Dijkstra.
Los algoritmos clásicos de búsqueda de soluciones de
Inteligencia Artificial, e.g. Hill-climbing, A*; o variaciones de estos algoritmos, pueden también utilizarse para planificar una trayectoria en ambas clases de mapas.
En el área de robótica, en el campo específico de
planificación, también se han desarrollado algoritmos
específicos para la explotación de estas representaciones.
-Planificación basada en campos potenciales (1)
Los métodos de planificación basada en campos
potenciales (potential field methods) han sido propuestos
y refinados por Andrews & Hogan(1983), Khatib(1985) y Sato(1987).
Originalmente se propusieron para la planificación de movimientos para manipuladores, y fueron luego
exportados y aplicados en robots móviles.
Estos planificadores permiten a un robot encontrar una ruta entre dos estados o puntos físicos de un ambiente que contiene obstáculos y al menos un objetivo.
-Planificación basada en campos potenciales (2)
El principio de funcionamiento consiste en la
definición de fuerzas externas que actúan sobre un
robot y que influyen en su desplazamiento.
Así, los obstáculos en el ambiente generan fuerzas
repulsivas en el robot, mientras que los objetivos
generan fuerzas atractivas.
Una fuerza R, resulta de la suma de todas las fuerzas,
repulsivas y atractivas. R determina, en cada paso, la
dirección a la que se dirige el robot y su velocidad de
desplazamiento.
-Planificación basada en
campos potenciales (3)
Para calcular dichas fuerzas, se aplican
ecuaciones de Laplace,
utilizadas comúnmente para el cálculo de potenciales y campos eléctricos.
Una vez calculadas esas fuerzas, el robot se abre camino entre dos puntos conocidos bajo la influencia de las mismas.
Imágenes tomadas de (Masoud 2006)
-Planificación basada en campos potenciales (4)
Planificador de Koren & Borenstein (1991)
El planificador opera sobre una mapa representado en forma de rejilla de ocupación llamado histogram grid, C, cada una de cuyas celdas Cij tiene asociado un valor de certeza o
probabilidad de ocupación, que representa la probable existencia de un obstáculo.
Conforme el robot se mueve, se delimita a su alrededor una ventana o subregión de C, de ws x ws celdas, denominada
región activa, cuyas celdas a su vez se denominan celdas activas. El robot se ubica siempre en el centro de esta
región.
-Planificación basada en campos potenciales (5)
Planificador de Koren & Borenstein (1991)
La idea general es que las fuerzas que se ejercen sobre el robot son proporcionales al gradiente de una función de potencial:
donde U(x,y) representa la función de potencial que actúa sobre la posición del robot
8 -= -∇ U(x, y)
Planificación basada en
campos potenciales (6)
Planificador de Koren & Borenstein (1991)
Cada celda activa ejerce una fuerza repulsiva hacia el robot, Fij
Fij = + donde:
Fcr: fuerza repulsiva constante
d(i,j): distancia entre la celda activa Cij y el robot; (xo, y0): coordenadas del robot; (x, y): coordenadas de la celda activa Cij; Cij: valor de certeza de la celda activa Cij; W: ancho del cuerpo del robot, e.g. en número de celdas; : vector unitario [1,0]; :: vector unitario [0,1].
Imagen tomada de (Koren & Borenstein 1991) FcrWCij d(i,j) x-x0
(
d(i,j) y-y0 d(i,j))
9 -x0, y0 x, y x, y x, y xt, ytPlanificación basada en
campos potenciales (7)
Planificador de Koren & Borenstein (1991)
Note que si:
ƒ =
podemos reescribir Fij como sigue:
Fij = ƒ + ƒ
podemos reescribir la fórmula como Imagen tomada de (Koren & Borenstein 1991) x-x0
(
d(i,j))
9 -x0, y0 x, y x, y x, y xt, yt FcrWCij d(i,j)(
y-y0 d(i,j))
Planificación basada en campos potenciales (8)
Planificador de
Koren & Borenstein (1991)¿Qué representan los valores Fij de las celdas
activas?
La suma de las fuerzas repulsivas Fij de las celdas
activas, se suman para generar la fuerza repulsiva,
Fr, en una posición dada:
Fr = ∑i,j Fij
-Planificación basada en campos potenciales (9)
Planificador de Koren & Borenstein (1991)
Simultáneamente, el objetivo (aún cuando se encuentre fuera de las celdas activas) ejerce una fuerza atractiva hacia el robot, Ft
donde:
Fct: fuerza atractiva constante del objetivo dt: distancia entre el objetivo y el robot (xo, y0): coordenadas del robot
(xt, yt): coordenadas del objetivo y : vectores unitarios Ft = Fct + dt xt - x0 yt - y0 dt 11
-Planificación basada en campos potenciales (10)
Planificador de Koren & Borenstein (1991)
Ambas fuerzas, Fr y Ft, se combinan en R, la cual es
utilizada por el robot para decidir la siguiente acción:
R = Fr + Ft
-Planificación basada en campos potenciales (11)
Planificador de Koren & Borenstein (1991)
¿Cuáles son los requisitos para un planificador basado en campos potenciales?
•Conocimiento a priori del ambiente del robot, para definir
fuerzas constantes, así como probabilidades de ocupación de las celdas, y para situar la meta.
•Sensado constante, para muestrear las celdas activas y
probablemente ubicación de la meta, si es que ésta no es fija.
-Planificación basada en campos potenciales (13)
El equilibrio de fuerzas repulsivas y atractivas
debe ser cuidadosamente establecido. Las acciones del robot podrían compro- meterse en regiones de paso obligatorio en las cuales
abundan las fuerzas repulsivas.
15
-Planificador deKoren & Borenstein (1991)
¿Cuáles son los problemas de un planificador de este tipo? ¿Cuáles situaciones pueden resolverse y cuáles no?
Considere por ejemplo el siguiente caso
!!!!!!"# $$$$$$$$$$$$$%%%%&& %%%%%%%%%%&& $$$%%%%%%&& !!!!!!!!! !!!!!!!!$ !!!!$$$$$ %%%%&&&' %%%% &' %%%%%%&& %%%%%%%%%%&& %%%%%%%%%%&& !!!!!!"# !!!!!!"# !!!!!!"#
Planificación basada en propagación (1)
La familia de planificadores basados en propagación
(wavefront based planners) está basada en una idea propuesta por J.C Latombe y su grupo (Hsu et al. 1999).
Estos planificadores se basan en la hipótesis de expansividad del
espacio de estados, consistente en la posibilidad de “muestrear” de
manera uniforme el Cspace en
subconfiguraciones conectadas por una línea recta o por una iteración
de tiempo n. Expansividad del Cspace, y secuencia de
conexiones entre p y q, tomado de Hsu et al. (1999)
-Planificación basada en propagación (2)
El funcionamiento de estos planificadores se resume a los siguientes pasos:
(1) Muestrear el Cspace
(2) Evaluar el subespacio muestreado y seleccionar una nueva posición del robot, de acuerdo con algún criterio previamente determinado.
La evaluación del paso (2) debe permitir a un robot llegar al estado final a partir de cualquier estado inicial, siguiendo
generalmente un gradiente, e.g. positivo para planificadores basados en campos potenciales, o negativo para los basados en propagación.
-Planificación basada en propagación (3)
La evaluación no es estática, aún cuando se hace sobre un subespacio del Cspace, considera información global del problema, muchas veces actualizada en tiempo de ejecución.
Estos planificadores son adecuados para un Cspace representado en forma de rejilla de ocupación.
-Planificación basada en propagación (3)
Planificador de Murphy et al. 1996
Se cuestiona el principio de representación de las rejillas de ocupación clásicas, según el cual todo lo que le
importa saber a un robot de una celda es si está vacía u ocupada.
Aunque vacías, estas celdas no deberían ser atractivas para el robot
-Planificación basada en propagación (4)
Planificador de Murphy et al. 1996
Aún en ambientes sin obstáculos, puede haber rutas destinadas a los peatones, cuyas celdas correspondientes deberían también ser atractivas para el robot.
Y aún en ambientes con obstáculos “ornamentales”, se espera que un robot se conduzca respetando ciertas celdas del ambiente.
-Planificación basada en propagación (5)
Planificador de Murphy et al. 1996
La idea básica es que el Cspace es un material conductor que permite la radiación de calor desde un punto o estado inicial hasta un punto o estado final.
Las preferencias sobre el terreno se representan como pesos que indican el atractivo de ciertas celdas, y que se calculan considerando dirección hacia la meta, distancias hacia posibles submetas, y distancia total hacia la meta. Cada celda tiene además un costo que representa el precio de cruzar la región correspondiente.
-Planificación basada en propagación (6)
Planificador de Murphy et al. 1996
El algoritmo Trulla (Murphy et al. 1996) es un algoritmo óptimo de planificación de trayectorias en rejillas de
ocupación “aumentadas” con información adicional, preferencias y costos.
Tanto las preferencias como los costos son considerados por el robot en su búsqueda de una ruta hacia el estado final o meta.
El Cspace tiene la forma de una rejilla de n x m celdas.
Si hay un camino que lleve del estado inicial al estado final, se alcanzará en un tiempo finito.
-Planificación basada en propagación (7)
Planificador de Murphy et al. 1996
Probabilidades de ocupación
...
... 0.00 0.01 0.10 0.00 ... ... 0.10 0.12 0.00 0.01 ...
Valores que expresan el atractivo de las celdas. Note que el atractivo debe invertirse, para que las celdas
“preferibles” tengan asociados valores bajos. ... 0.50 0.50 0.50 0.50 ... ... 0.95 0.94 0.93 0.92 ...
Costos que expresan la conductividad o dificultad del terrero ... x x x x ... ... 9 9 8 7 ... ... 8 8 8 6 ... 23
-Planificación basada en propagación (8)
Planificador de Murphy et al. 1996
Las preferencias se manejan como valores en el rango [0,1], a mayor preferencia, menor valor. Los costos se asignan en el rango [1-9,x].
Las celdas conteniendo obstáculos no propagan el calor, tienen un costo asociado de x. El resto de celdas propaga el calor de manera sistemática hasta alcanzar la meta. Estas últimas
celdas tienen asociados costos numéricos: entre más alto sea su valor representa mayor dificultad o precio de la navegación. En cada iteración, la información contenida en las celdas es contabilizada para determinar qué tan bien conduce y propaga el calor cada celda.
-Planificación basada en propagación (9)
Ejemplo de propagación entre celdas para enlazar el punto marcado con un cuadrado en el extremo superior izquierdo de la rejilla, con una celda al interior de la habitación de la izquierda en el centro de la rejilla Ejemplo tomado de Murphy (2000)
con cálculo de la trayectoria en una fase -Algoritmo de Trulla (simplificado)
Ubicar celda-central en el centro del robot. Mientras estado inicial si ≠ estado final sn
“Muestrear” celdas de una ventana activa V de dimensiones i x j alrededor de celda-central. Contabilizar el calor emitido por cada celda y combinarlo con probabilidades de ocupación e información sobre preferencias de la celda. Para cada celda en V con P numérico calcular:
C = P * Fij * Cij
donde P: Peso o costo asociado a la celda analizada, Fij: Otros factores combinados de la celda como preferencias sobre las rejillas, Cij: Probabilidad de ocupación de la celda.
Elegir como celda-central la celda con menor valor.
Fin mientras Fin Trulla
-Planificación basada en propagación (10)
¿Aseguran los planificadores basados en propagación que encontrarán una ruta entre dos estados?
¿Qué elementos son indispensables para el buen desempeño de un planificador de esta familia?
¿Qué casos son críticos?
¿Qué tan costoso es instrumentar un planificador basado en propagación?
Los planificadores basados en propagación producen planes óptimos en ambientes estacionarios. En ambientes dinámicos en donde se dispone de información pronta y puntal de los cambios, es también muy
competitivo. Su diseño no es trivial, requiere de la combinación de múltiples influencias que si no son adecuadamente pesadas y
combinadas pueden producir un comportamiento errático en el robot.
-Planificación (4)
Debe considerarse que en la planificación inciden tanto las condiciones en que se desempeña el robot, como su
morfología y locomoción.
Un planificador para un robot que se desempeña en un ambiente con superficie plana, puede ser inútil para el mismo robot cuando se desempeña en un ambiente con superficie irregular. En este último ambiente, hay zonas intransitables que el robot debe evitar.
Por lo que respecta la morfología y la locomoción del robot, la planificación de trayectorias no es igual para robots holonómicos que para robots no-holonómicos.
-Planificación (5)
La planificación de movimientos y de trayectorias tanto para robots manipuladores como para robots móviles es un
problema difícil.
La mayoría de algoritmos de planificación clásicos son computacionalmente intensivos. De manera general, un planificador completo, tomará un tiempo exponencial con respecto al número de DOF del robot (Hsu et al. 1999) para
encontrar una ruta existente entre dos puntos.
Las mejoras a los algoritmos de planificación se concentran en reducir el tamaño del espacio de estados que el robot debe considerar.
-Planificación (6)
La evasión de obstáculos, por ejemplo, es más simple para robots cilíndricos que para robots cúbicos de base rectangular. Estos últimos deben verificar que su área
trasera está libre antes de retroceder o girar, por ejemplo, mientras que los cilíndricos pueder girar sobre su propio eje.
Aún cuando la planificación de trayectorias tiene un
carácter esencialmente deliberativo, puede combinarse con mecanismos reactivos en arquitecturas del enfoque híbrido.
-Referencias (1)
Andrews J.R., Hogan N. (1983) Impedance control as a
framework for implementing obstacle avoidance in a
manipulator. Control of
Manufacturing Processes and Robotics Systems, pp. 243-251.
Khatib O. (1986) Real-time obstacle avoidance for
manipulators and mobile robots.
The International Journal of Robotics Research, 5(1), pp.
90-98.
Hsu D., Latombe J.-C., Motwani R. (1999) Path planning in
expansive configuration spaces.
International Journal of
Computational Geometry and
Applications, 9(4-5), pp. 495-512.
Koren Y., Borenstein J. (1991) Potential field methods and their inherent limitations for mobile robot navigation. Proceedings of
the IEEE Conference on Robotics and Automation (ICRA), pp.
1398-1404.
-Referencias (2)
Murphy R. R., Hughes K., Noll E. (1996) An explicit path planner to facilitate reactive control and
terrain preferences. Proceedings
of the 1996 IEEE International Conference on Robotics and Automation.
Sato K. (1987) Collision
avoidance in multi-dimensional space using laplace potential.
Proceedings of the 15th
Conference of the Robotics Society of Japan, pp. 155-156.
31
-Masoud A. A. (2006) Managing the dynamics of a potential field-guided robot in a cluttered
environment. 9th IEEE
International Workshop on Advanced Motion Control, pp.
272-277.
Murphy R.R. (2000) Introduction
to AI Robotics. MIT Press.
Murphy R. R., Hughes K., Noll E. (1996) An explicit path planner to facilitate reactive control and
terrain preferences. Proceedings
of the 1996 IEEE International Conference on Robotics and Automation.
Sato K. (1987) Collision
avoidance in multi-dimensional space using Laplace potential.
Proceedings of the 15th
Conference of the Robotics Society of Japan, pp. 155-156.