Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2.1. Introduccin.
Se dene navegacin como la metodologa (o arte) que permite guiar el curso de un robot mvil a travs de un entorno con obstculos. Existen diversos esquemas, pero todos ellos poseen en comn el afn por llevar el vehculo a su destino de forma segura. La capacidad de reaccin ante situaciones inesperadas debe ser la principal cualidad para desenvolverse, de modo ecaz, en entornos no estructurados. Las tareas involucradas en la navegacin de un robot mvil son: la percepcin del entorno a travs de sus sensores, de modo que le permita crear una abstraccin del mundo; la planicacin de una trayectoria libre de obstculos, para alcanzar el punto destino seleccionado; y el guiado del vehculo a travs de la referencia construida. De forma simultnea, el vehculo puede interaccionar con ciertos elementos del entorno. As, se dene el concepto de operacin como la programacin de las herramientas de a bordo que le permiten realizar la tarea especicada. Un ejemplo de esta ltima nocin es el transporte automtico de materiales y herramientas dentro de una clula de manufactura exible (FMS), lo que implica no slo el movimiento fsico de dichos elementos desde la estacin de entrada de material hasta la mquina que lo requiera, sino que adems pueda realizar operaciones como el cambio automtico de la herramienta o la descarga automtica del material en la mquina que lo haya solicitado (Newman y Kempf, 1.985). Este captulo introduce los conceptos fundamentales que denen la problemtica de la realizacin de trabajos por parte de los robots mviles. As, en primer lugar se precisan los conceptos de misin, navegacin y operacin (apartado 2.2.). A continuacin se plantean esquemas de navegacin utilizados por robots mviles para realizar una tarea, identicando sus principales componentes (apartado 2.3.). En los siguientes apartados se desarrollan dos de estos componentes: el planicador (apartado 2.4.) y el generador (apartado 2.5.), los cuales constituyen el motivo de las aportaciones de esta tesis en los captulos siguientes. Se procede a una revisin de ambos, dentro de los distintos tipos de
21
metodologas, para con posterioridad realizar una formalizacin que los dena de manera precisa. Como ampliacin de la labor planicacin espacial que ejercen los componentes de planicacin y generacin, se introduce el concepto de trayectoria (apartado 2.6.). La utilizacin de dicho concepto posibilita una planicacin temporal de la tarea del robot mvil, con lo que se consigue un mayor rendimiento del comportamiento del mismo. Por ltimo, se destacan los aspectos ms relevantes de este captulo en las conclusiones (apartado 2.7.).
Control de Navegacin
Control de Operacin
Figura 2.1. Esquema bsico de la arquitectura necesaria en un robot mvil para realizar una misin.
En la mencionada gura, se presenta un mdulo de control de misin (Ollero y otros, 1.994) dedicado a coordinar al controlador de desplazamientos (control de navegacin) con el controlador del elemento que interacciona con el entorno de trabajo
22
(control de operacin). Esta coordinacin debe efectuarse de forma perfecta para cumplir los objetivos impuestos por la misin, denida de acuerdo con ciertas especicaciones de entrada. Formalmente, el control de misin debe analizar el problema y encontrar una estrategia para resolverlo, de suerte que el resultado de este anlisis ser un plan de navegacin y otro de operacin, los cuales se entregan a los mdulos correspondientes de la parte inferior de la gura 2.1.
Generacin del camino1: En primer lugar dene una funcin continua que interpola la secuencia de objetivos construida por el planicador. Posteriormente procede a la discretizacin de la misma a n de generar el camino. Seguimiento del camino: Efecta el desplazamiento del vehculo, segn el camino generado mediante el adecuado control de los actuadores del vehculo (Martnez, 1.994). Estas tareas pueden llevarse a cabo de forma separada, aunque en el orden especicado. La interrelacin existente entre cada una de estas tareas conforma la estructura de control de navegacin bsica en un robot mvil (Shin y Singh, 1.990) y se muestra en la gura 2.2.
1. En la bibliografa es frecuente encontrar el concepto de planificacin de caminos como la unin de las tareas de planificacin de la ruta y generacin del camino.
23
Tarea y Mapa del entorno Planicador de la ruta Secuencia de puntos cartesianos Generador de caminos Camino continuo Posicin del Vehculo Seguidor de caminos Sensores de posicin. Comandos de direccin y velocidad. Servo Controladores Actuadores del robot
En el esquema dispuesto en la gura 2.2 se parte de un mapa de entorno y de las especicaciones de la tarea de navegacin. De estos datos se realiza la planicacin de un conjunto de objetivos representados como una secuencia de puntos cartesianos dispersos que denen la ruta. Dicho conjunto cumple los requisitos de la tarea impuesta asegurndose de que la ruta asociada est libre de obstculos. Mediante el uso del generador del camino se construye la referencia que utilizar el seguidor de caminos para generar los comandos de direccionamiento y velocidad que actuarn sobre los servocontroladores del vehculo. Por ltimo, mediante el uso de los sensores internos del vehculo (sensores de posicin) en conjuncin con tcnicas odomtricas, se produce una estimacin de la posicin actual (Cox, 1.991), la cual ser realimentada al seguidor de caminos. La complejidad del sistema necesario para desarrollar esta tarea depende principalmente del conocimiento que se posee del entorno de trabajo. As, la gura 2.2 considera que se cuenta con un mapa del entorno que responde de forma el a la realidad. Mediante el uso adecuado del mismo se puede construir un camino que cumpla los requisitos impuestos por la tarea de navegacin, sin que el vehculo colisione con algn elemento del entorno. Sin embargo, es posible que el modelo del entorno del que dispone el robot adolezca de ciertas imperfecciones al omitir algunos detalles del mismo. El esquema presentado en 2.2 resulta inecaz, al no asegurar la construccin de un camino libre de obstculos. Por ello se necesita introducir en la estructura de control bsica nuevos elementos que palien este defecto. Un esquema de navegador utilizado en aplicaciones, donde la informacin acerca del entorno de trabajo vara desde un perfecto conocimiento del mismo hasta poseer un cierto grado de incertidumbre, es el mostrado en la gura 2.3. Dicho sistema corresponde al implantado en el robot mvil Blanche de los laboratorios
24
Tarea
Descripcin Entorno
Planicador Global Ruta Global Planicador Local Ruta Local Generador Camino Control Movimientos Comandos Control Sistema de Locomocin Figura 2.3. Navegador implantado en el robot mvil Blanche de AT&T. Posicin Actual y Velocidad. Actualizar Entorno
Sistema Sensorial
El esquema presentado contiene en lneas generales, el funcionamiento de la estructura de navegacin bsica. Lo novedoso reside en el desdoblamiento de la tarea de planicacin en dos subtareas: planicacin global y local. La primera de estas subtareas es anloga al mdulo de planicacin de la gura 2.2 y construye una ruta sobre la cual se puede denir un camino libre de obstculos segn la informacin que a priori se posee del entorno. Si la descripcin del entorno introducida fuese perfecta, la ruta calculada sera de forma directa la entrada de la tarea generador. Sin embargo, al no serlo, puede dar lugar a la construccin de un camino que no est libre de obstculos, con el consiguiente peligro de que el vehculo impacte con algn elemento del entorno. La tarea de planicacin local recibe informacin del sistema sensorial sobre el entorno local del robot, segn el radio de alcance de los sensores externos de a bordo. Mediante el anlisis de estos datos actualiza el modelo preliminar del entorno y decide si se precisa replanicar la ruta local del robot. La clave del esquema presentado en la gura 2.3 para adaptarse a diversos entornos, aunque no se posea un conocimiento exhaustivo del mismo, reside en la distincin efectuada entre planicacin global y local. Ambos conceptos se pueden denir con mayor precisin de forma que sigue (Levi, 1.987): Planicacin global: Construir o planicar la ruta que lleve al robot a cada una de las submetas determinadas por el control de misin, segn las especicaciones del problema que debe resolverse. Esta planicacin es una aproximacin al camino nal que se va a seguir, ya que en la realizacin de esta accin no se consideran los detalles del entorno local al vehculo.
25
Planicacin local: Resolver las obstrucciones sobre la ruta global en el entorno local al robot para determinar la ruta real que ser seguida. El modelo del entorno local se construye mediante la fusin de la informacin proporcionada por los sensores externos del robot mvil. La construccin de la ruta global puede realizarse antes de que el vehculo comience a ejecutar la tarea, mientras que la planicacin local se lleva a cabo en tiempo de ejecucin. En el caso de realizar una navegacin sobre entornos totalmente conocidos es obvio que resulta innecesario proceder a una planicacin local, pero a medida que disminuye el conocimiento de la zona por la cual el robot mvil realiza su tarea, aumenta la relevancia de la misma. En aplicaciones de navegacin en exteriores o campo a travs (Daily, 1.988; Brunitt y otros, 1.992) el conocimiento que se posee del entorno es pobre y por tanto se necesita hacer un uso intensivo de la planicacin local. En el robot mvil Navlab II de CMU (Goto y Stentz, 1.987) la navegacin est conada totalmente al planicador local, de suerte que el camino que debe seguir se construye de forma dinmica a medida que se navega. El esquema empleado recurre a un uso ms intenso del sistema sensorial que en el caso del Blanche, y se responsabiliza de la coordinacin de la percepcin, planicacin y control del vehculo para guiarlo por el camino especicado, mientras verica el entorno, y realizar el sorteo de obstculos. La interaccin de cada uno de los mdulos en este esquema de navegacin local queda representado en la gura 2.4.
Planicador Local
Generador
Seguidor
Controlador Movimientos
Percepcin
Actuadores
Hardware del Vehculo Figura 2.4. Navegador local implantado en el Navlab II de CMU.
26
El funcionamiento de este navegador local est basado en la realizacin de un ciclo de construccin del mapa local del entorno inmediato al robot mvil, la eleccin de una ruta segura por la cual puede pasar el vehculo, de acuerdo con la informacin suministrada, para, a continuacin construir el camino, y por ltimo, realizar el seguimiento. La iteracin de este ciclo ocurre cada vez que el control de movimientos termina de seguir el camino actual, pasndose en ese momento a la construccin del prximo mapa local de entorno. La diferencia entre los esquemas de navegador presentados radica en la adaptacin que debe poseer el robot mvil para moverse por su entorno de trabajo segn el conocimiento de que disponga sobre la estructura del mismo, dndose mayor ponderacin a la planicacin global o local. Sin embargo, mantienen un nexo comn en la realizacin de forma secuencial y continua las operaciones de percepcin, planicacin-generacin y seguimiento. Este grupo de acciones permite el desarrollo de la navegacin minimizando cierto ndice de coste, como puede ser la distancia recorrida o el consumo energtico del vehculo. Se habla en este caso de una descomposicin jerrquica en mdulos funcionales que encadenados en forma de ciclo realizan la denominada navegacin estratgica (Brooks, 1.986). Adems, este tipo de navegacin se caracteriza por la necesidad de conocer con el mnimo error posible la posicin actual del vehculo, ya que la realimentacin de esta informacin es la base para el clculo de la prxima accin de control. Mediante el uso de la odometra del vehculo se puede realizar esta accin, pero debido a la naturaleza del mtodo y a las caractersticas de los sensores utilizados, la estimacin efectuada se ve afectada por errores acumulativos (Watanabe y Yuta, 1.990). Cuando dichos errores alcanzan niveles indeseables se hace necesario eliminarlos mediante la utilizacin de algoritmos de estimacin de la posicin basados en referencias externas (Gonzlez J., 1.993). La navegacin estratgica tiene sus limitaciones en entornos dinmicos no conocidos, ya que requiere un completo conocimiento de la dinmica de los posibles obstculo mviles, adems de una adecuada actualizacin del mapa de entorno. La losofa alternativa a la navegacin estratgica consiste en el uso intensivo de sensores de bajo coste (transductores ultrasnicos, sensores infrarojos, sensores tctiles, etc.) con el n de reaccionar dinmicamente ante el entorno, con lo cual pierde relevancia el concepto de planicacin y seguimiento de caminos. Esta tendencia se ha basado en la subsumption architecture (Brooks, 1986), una arquitectura descompuesta en mdulos especializados en realizar tareas individuales, denominados comportamientos. Se trata de una descomposicin vertical del problema de navegacin que se comporta de forma eciente en entornos dinmicos donde se posee un conocimiento impreciso del mismo. Este esquema aparece mostrado en la gura 2.5.
27
Control Movimientos.
En cada intervalo de navegacin el sistema sensorial, segn la informacin extrada del entorno local del robot, activa uno o varios comportamientos simples que suman sus actuaciones, de suerte que el comportamiento nal resulta una mezcla de los simples activados. La navegacin reactiva basada en comportamientos ha sido implantada en mltiples aplicaciones (Arkin, 1987; Anderson y Donath, 1988) entre las que predominan los comportamientos de supervivencia, dando lugar a robots errantes que se mueven con libertad por entornos desconocidos e incluso dinmicos, sin colisionar con los obstculos, pero que raramente obedecen a un plan establecido, imprescindible en misiones reales.
28
Fr Robot
p=(x,y) Fg
Sistema global
El vector que proporciona informacin sobre el estado actual del robot viene dado, en principio, por dos componentes: la posicin p y la orientacin . Por tanto, se puede denir conguracin como: q = ( p, ) = ( x, y, ) (2.1)
Se denomina espacio de conguraciones C del robot R a todas las conguraciones q que puede tomar el robot en su entorno de trabajo. El subconjunto de C ocupado por el robot R cuando este se encuentra en q, se denota por R(q). Si el robot se modela de forma circular con radio , R(q) se dene como: R ( q ) = { q i C q, q i } (2.2)
29
En el caso de un robot puntual, en la expresin (2.2), es nulo, con lo cual se cumple: R(q) = {q} (2.3)
En el espacio de trabajo, donde el robot realizar su tarea, se encuentran distribuidos una serie de obstculos denidos como un conjunto de objetos rgidos B y que se encuentran distribuidos por el espacio de conguraciones C. B = { b 1, b 2, , b q } (2.4)
El conjunto de conguraciones del espacio C ocupadas por un obstculo se dene por bi(q), de tal forma que el subconjunto de conguraciones de C, que especican el espacio libre de obstculos viene dado por: C l = { q C R ( q ) b i ( q ) = }
i=1 q
(2.5)
Segn esta metodologa, el problema de la planicacin, tal y como se ha denido, queda transformado en la bsqueda de una sucesin de posturas q tal que la primera de ellas sea la postura actual del robot qa y la ltima de esta sucesin la postura objetivo qf. Todas las posturas de la serie deben pertenecer al subconjunto Cl denido en la expresin (2.5). Es decir, una ruta Qr que conecta la postura inicial qa con la nal qf es: Q r = { q a, , q f q i C l } (2.6)
La especicacin de este conjunto Qr, implica la construccin de una funcin ruta denida de la siguiente forma: : [ 0, 1 ] C l tal que: ( 0 ) = qa (1) = q f (2.8) (2.7)
Adems de la restriccin mostrada en (2.7), se le exige a la funcin , teniendo en cuenta la suposicin de robot un omnidireccional, la continuidad. Este concepto se reeja en la siguiente expresin:
s s0
lim ( s ), ( s 0 ) = 0
(2.9)
30
n1
n4
n7
n2 n3
n5
n6
qf
En el grafo mostrado (Figura 2.7.), se puede observar cmo slo estn unidos los nodos directamente visibles, de tal forma que el conjunto de arcos estar formado por las
31
aristas de los obstculos, ms el resto de lneas que relacionan los vrtices de los diferentes polgonos. Mediante un algoritmo de bsqueda en grafos se elige la ruta que una la conguracin inicial con la nal minimizando alguna funcin de coste. La ruta que cumple el objetivo de la navegacin queda denida como una sucesin de segmentos que siguen los requisitos especicados. Aunque en principio el mtodo est desarrollado para entornos totalmente conocidos, existe una versin denominada LNAV (Rao y otros, 1.988) capaz de efectuar una planicacin local a medida que se realiza la labor de navegacin. Este algoritmo, que parte de una determinada posicin, determina los nodos visibles desde el punto actual. Elige el ms cercano de los nodos visibles, segn distancia eucldea a la posicin nal, para desplazarse posteriormente al nodo seleccionado y marcarlo como visitado. Desde esta nueva posicin se vuelve a iterar el proceso hasta llegar a la posicin nal (xito), o bien no existen ms nodos sin visitar (fracaso). Dentro de los mtodos basados en grafos de visibilidad, se encuentran algoritmos especializados en la bsqueda de la ruta ptima que lleve al vehculo desde la posicin inicial A hasta la nal B a travs de un entorno en el cual el espacio libre entre obstculos est modelado mediante el uso de dos cadenas de segmentos (Lodares y Abellana, 1.989; Muoz y otros, 1.993).
x y A B
Figura 2.8. Planicacin con el espacio libre de obstculos modelado mediante cadenas.
Aunque estn restringidos a esquemas de entornos muy concretos, el uso queda justicado debido a su bajo coste computacional. Como se puede observar en la gura 2.8, los algoritmos desarrollados para encontrar la ruta ptima bajo las condiciones descritas, se
32
basan en enlazar los nodos situados en las zonas convexas del entorno tal que dos nodos consecutivos son visibles. El uso de mtodos de planicacin basados en grafos de visibilidad est muy extendido, debido a que se pueden construir algoritmos a bajo coste computacional que resuelvan el referido problema. Sin embargo, utilizar como nodos los vrtices de los obstculos implica que no son inmediatamente aplicables en la prctica, ya que un robot mvil real no consiste en un punto. Por ello, algunos autores (Latombe, 1.991) denominan a la ruta planicada semi-libre de obstculos.
De esta forma, se dice que existe un camino desde una conguracin inicial qa hasta otra nal qf, supuestas ambas libres de obstculos, si y solo si existe una curva continua desde RT(qa) hasta RT(qf). La denicin de la funcin retraccin RT implica la construccin del diagrama de Voronoi (Rombaut y otros, 1.991). La idea fundamental, como se ha expuesto en el primer prrafo de este subapartado, es ampliar al mximo la distancia entre el camino del robot y los obstculos. Por ello, el diagrama de Voronoi resulta el lugar geomtrico de las conguraciones que se encuentran a igual distancia de los dos obstculos ms prximos del entorno. El diagrama estar formado por dos tipos de segmentos: rectilneos y parablicos. La eleccin de la modalidad de segmento corresponde con la clase de elementos de los obstculos ms cercanos que se encuentren enfrentados entre s. De esta forma, el lugar
33
geomtrico de las conguraciones que se hallan a igual distancia de dos aristas de dos obstculos diferentes es una lnea recta, mientras que en el caso de tratarse de un vrtice y una arista resulta una parbola.
e2
n1 a1 s2 e1
a3
n3 a2 Cv e4
n2 s1
En la gura 2.9 se muestra un entorno delimitado por un polgono de aristas {e1,e2,e3,e4} y un obstculo triangular de vrtices {n1,n2,n3} y aristas {a1,a2,a3}. La retraccin del espacio libre en una red continua de curvas es el diagrama de Voronoi Cv, representado mediante las lneas de trazo grueso. Los dos tipos de segmento utilizados en la construccin del diagrama pueden distinguirse en la mencionada gura, as, el segmento s1 es el lugar geomtrico de los puntos equidistantes entre la arista e1, y el vrtice n2. Por otra parte, puede observarse como el segmento rectilneo s2 cumple la misma condicin pero con respecto a las aristas e1 y e2. Dado una conguracin q no perteneciente a Cv, existe un nico punto p ms cercano perteneciente a un vrtice o arista de un obstculo. La funcin RT(q) se dene como el primer corte con Cv de la lnea que une p con q (Figura 2.10.).
34
Diagrama Voronoi
Obstculo RT(q) p
El algoritmo de planicacin, en esencia, consiste en encontrar la secuencia de segmentos si del diagrama de Voronoi tal que conecten RT(qa) con RT(qf), Dicha secuencia conforma la ruta buscada. A continuacin se describe el algoritmo: i) Calcular el diagrama de Voronoi. ii) Calcular RT(qa) y RT(qf). iii) Encontrar la secuencia de segmentos {s1,...,sp} tal que RT(qa) pertenece a s1 y RT(qf) pertenece a sp. iv) Si se encuentra dicha secuencia, devolver la ruta. Si no indicar condicin de error. Al igual que los grafos de visibilidad, este mtodo tambin trabaja en entornos totalmente conocidos y con obstculos modelados mediante polgonos. Sin embargo, tambin existen versiones para la utilizacin del mismo con obstculos inesperados (Meng, 1.988).
35
alejado de los obstculos. De forma que la ruta que lleve al robot desde una conguracin inicial hasta otra nal estar compuesta por una serie de CRG interconectados, de tal modo que la conguracin de partida se encuentre en el primer cilindro de la sucesin y la nal en el ltimo. La construccin de un CRG se realiza a partir de las aristas de los distintos obstculos que se encuentran en el entorno. Para que un par de aristas 1ai y 2aj pertenecientes a los obstculos b1 y b2 respectivamente puedan formar un cilindro generalizado, deben cumplir las siguientes condiciones: i) La arista 1ai est contenida en una recta que divide al plano en dos regiones. La arista 2aj debe yacer por completo en la regin opuesta en la que se encuentra situada b1. Este criterio es simtrico. ii) El producto escalar de los vectores normales con direccin hacia el exterior del obstculo que contiene cada arista debe resultar negativo. Si se cumplen estas condiciones signica que ambas aristas se encuentran enfrentadas, y por tanto se puede construir un CRG con ellas (Figura 2.11.).
b1
b2
2v 1v i
j 2
aj
1a i
Figura 2.11. Condiciones que deben cumplir dos aristas para construir un CRG.
Una vez detectadas dos aristas que pueden formar un CRG, el siguiente paso ser construirlo. El proceso para alcanzar este cometido, se encuentra descrito en la gura 2.12.
36
b4
2a j
b2
eje
1a i
b1
b3
El primer paso es el clculo del eje del CRG, el cual se dene como la bisectriz del ngulo formado por el corte de las rectas que contienen las aristas 1ai y 2aj que cumplen las condiciones i) y ii) expuestas ms arriba. Por ambos lados de dichas aristas se construyen segmentos rectilneos paralelos al eje, con origen en los vrtices de las aristas implicadas y con extremo sealado por la proyeccin del primer obstculo que corta el eje. Repitiendo este proceso, se construye una red CRG en el entorno del robot que modela el espacio libre del mismo. El robot navegar por el eje del cilindro, en el cual se encuentran anotadas para cada punto el rango de orientaciones admisibles. El paso de un CRG a otro se produce siempre y cuando sus ejes intersecten y la interseccin del rango de orientaciones admisibles en el punto de corte de ambos ejes no sea nulo.
37
con determinada forma geomtrica tal que resulte fcil de calcular un camino entre dos conguraciones distintas pertenecientes a la celda, y la comprobacin para averiguar si dos celdas son adyacentes debe disfrutar de la mayor simpleza posible. Aparte de estas caractersticas, la descomposicin global del espacio libre implica que no deben existir solapamientos entre celdas y que la unin de todas ellas corresponde exactamente al espacio libre. El grafo de conectividad es un grafo no dirigido, y su construccin est asociada a la descomposicin en celdas efectuada en el paso anterior, del tal forma, que los nodos van a ser cada una de las celdas, existiendo un arco entre dos celdas si y solo si son adyacentes (Figura 2.13.).
7 5
Una vez especicado el grafo de conectividad,slo queda emplear un algoritmo de bsqueda en grafos, para la deteccin de la celda que contiene la postura a la cual se desea llegar, tomando como partida la que contiene la postura inicial. Los distintos mtodos basados en este principio, se distinguen por la forma en la cual realizan la descomposicin en celdas y como se construye el grafo de conectividad. El mtodo ms sencillo de descomposicin del espacio libre del entorno en celdas resulta el denominado descomposicin trapezoidal (Latombe, 1,991). Este mtodo se basa en la construccin de segmentos rectilneos paralelos al eje Y del sistema global Fg a partir de los vrtices de cada uno de los elementos del entorno. El nal del segmento queda delimitado por el primer corte de la lnea con un elemento del entorno. Esta descomposicin es la mostrada en la gura 2.14.
38
El grafo de conectividad se construye por medio de la unin de los puntos medios de los segmentos verticales denidos (Figura 2.15.).
Este tipo de enfoque se presta a muchas variantes, por ejemplo la utilizacin de varios niveles de resolucin para una bsqueda jerarquizada (Kambhampati y Davis, 1.986), o bien el uso de celdas en tres dimensiones para la planicacin de caminos en espacios tridimensionales (Stentz, 1.990).
39
La fuerza articial F(p) a la que afecta el vehculo en la posicin p, por el potencial articial U(p) resulta: F ( p ) = U ( p ) (2.12)
Al igual que la funcin potencial, la fuerza articial es el resultado de la suma de una fuerza de atraccin Fa(p), proveniente de la posicin destino, y otra fuerza de repulsin Fr(p) debidas a los obstculos del entorno de trabajo: F ( p ) = Fa ( p ) + Fr ( p ) (2.13)
As, la navegacin basada en campos potenciales se basa en llevar a cabo la siguiente secuencia de acciones: i) Calcular el potencial U(p) que acta sobre el vehculo en la posicin actual p segn la informacin recabada de los sensores. ii) Determinar el vector fuerza articial F(p) segn la expresin (2.12). iii) En virtud del vector calculado construir las consignas adecuadas para los actuadores del vehculo que hagan que ste se mueva segn el sentido, direccin y aceleracin especicadas por F(p).
1. Debido a la naturaleza del mtodo, se utiliza solamente el componente de posicin de una configuracin. Por ello, en este subapartado la notacin no corresponde exactamente a la introducida.
40
La iteracin continua del ciclo expuesto proporciona una navegacin reactiva basada en campos potenciales. El comportamiento del vehculo est muy ligado a la denicin que se efecte de los potenciales de atraccin y repulsin. El potencial de atraccin debe ir en funcin de la distancia eucldea a la posicin destino, de forma, que a medida que el robot mvil se acerca, este disminuya su inuencia. Por otra parte, el potencial repulsivo conviene que slo inuya en el movimiento del vehculo cuando ste se encuentre demasiado prximo a un obstculo, de forma que la fuerza debida a este hecho tenga una direccin tal que lo aleje del mismo. En la posicin destino es necesario que la suma de ambos potenciales resulte nula. En el caso de conocer todo el entorno de trabajo y realizando una simulacin del movimiento del robot a travs del mismo, resulta posible construir una ruta que lleve al vehculo desde la posicin inicial hasta la nal. Dada la posicin actual pi, la prxima posicin que debe alcanzar en un ciclo de simulacin pi+1 resulta: pi + 1 = pi + i J ( U ( p ) ) (2.14)
donde i es un factor de escalado y J(U(p)) representa al jacobiano de la funcin potencial en el punto p. El factor de escalado dene la longitud del segmento con origen en pi y nal en pi+1, y debe ser tal que dicho segmento est libre de obstculos. El problema en este tipo de mtodos deviene en la aparicin de mnimos locales, es decir lugares que no son la posicin destino en los cuales el potencial resulta nulo. Una situacin de este tipo puede hacer que el robot quede atrapado en una posicin que no sea la destino, o bien debido a la naturaleza discreta del mtodo girar alrededor de ella. Solucionar este conicto implica denir ciertas funciones potenciales que eviten la aparicin de mnimos locales, lo cual resulta arduo, si bien existen soluciones que lo aseguran en entornos donde los obstculos estn modelados mediante crculos (Rimon y Koditschek, 1.988). Otra solucin para evitar caer en un mnimo local se encuentra en el uso de un algoritmo de bsqueda en grafos. Para ello se divide el entorno mediante el uso de una rejilla. Cada celda tiene almacenado un valor que indica su potencial. Un algoritmo de bsqueda utilizable es A*, usndose como funcin de coste la funcin potencial. La expansin de la celda elegida se realiza mediante el recurso a las celdas vecinas.
41
42
l
Figura 2.16. Modelo cinemtico de la bicicleta.
Las ventajas de optar por la antedicha eleccin aparecen descritas a continuacin: El ngulo de direccionamiento en cualquier punto del camino se determina de forma geomtrica con independencia de la velocidad, de la siguiente forma: l = atan -- donde l es la distancia entre ejes y el radio de giro actual. La velocidad angular de la rueda trasera motora queda determinada por la velocidad del vehculo v y el radio de la rueda Rw.: v = -----Rw (2.16) (2.15)
Si el punto de gua se encontrase situado en cualquier otro lugar, las expresiones para el direccionamiento y la velocidad angular seran mas complejas que las mostradas en las ecuaciones (2.15) y (2.16). El vehculo posee la capacidad para realizar el mnimo radio de giro min con el valor mximo del ngulo de direccin max (Nelson, 1.988). La orientacin del vehculo est alineada con la direccin de la tangente del punto actual del camino. El radio de giro actual coincide con el radio del crculo de osculacin del punto presente del camino.
43
Circulo de osculacin.
Camino
Tangente
Punto Actual
Mediante el uso de este modelo se solventa la necesidad de que la funcin sobre la cual se dene el camino ofrezca las siguientes propiedades: i) Poseer continuidad en posicin, orientacin y curvatura: Discontinuidades en la orientacin del camino conllevan la necesidad de imprimir un cambio brusco en la orientacin del vehculo, el cual no lo puede efectuar debido a la restriccin de no holonomicidad. Por otra parte, una discontinuidad en la curvatura requerira una aceleracin innita de la rueda de direccin. ii) Acotacin de los valores que puede tomar la curvatura: Debido a la denicin de la curvatura como la inversa del radio del crculo de osculacin existe una radio mnimo que puede realizar el vehculo segn el ngulo mximo de direccionamiento. iii) Variacin lineal de la curvatura: Una variacin suave y lineal de la curvatura minimiza el esfuerzo de control que se debe ejercer sobre los actuadores del vehculo. Como consecuencia se reducen los errores que se producen en el seguimiento del camino. El cumplimiento de las condiciones expuestas por parte de la funcin sobre la cual se construye el camino, hace que este ltimo resulte admisible desde el punto de vista cinemtico. Adems, las caractersticas de la curvatura de continuidad y variacin lineal proporcionan cambios suaves en la fuerza centrfuga que acta sobre robot mvil cuando ste se encuentra desplazndose sobre un camino especicado. Por tanto, las condiciones antes reseadas son tambin recomendables desde el punto de vista dinmico.
44
La literatura especica un amplio grupo de mtodos de generacin de caminos. La tcnica ms simple para la generacin de caminos se fundamenta en la unin de los puntos elegidos de la ruta mediante la concatenacin de segmentos y crculos (Nelson, 1.990). La principal desventaja de los mtodos basados en esta premisa, segn las conclusiones del prrafo anterior, se constituye en la aparicin de discontinuidades del ngulo de direccionamiento en ciertas conguraciones en la rueda directriz. Otros mtodos evitan este problema con la construccin de caminos continuos en curvatura utilizando alguna clase de curva de interpolacin cbica como por ejemplo curvas cbicas tipo Bezier (Segovia y Rombaut, 1.993) pero la mayora de ellos no asegura una limitacin de la curvatura. Las curvas clotoidales (Kanayama y Miyake, 1.985; Shin y Singh, 1.990) o espirales (Kanayama y Hartman, 1.989) s aseguran una curvatura acotada a lo largo del camino, incluso su variacin de forma lineal, pero no poseen una frmula cerrada para su calculo, lo cual diculta su ejecucin en tiempo real.
(2.17)
45
subapartado anterior. De esta forma, la postura i-sima del camino resulta qi=(pi,i,i) donde los dos ltimos componentes se denen como sigue: P' x ( i ) i = ( P ( i ) ) = tanh ---------------- P' y ( i )
i = ( P ( i ) ) =
d P ( i ) ds
(2.18)
La discretizacin de la funcin camino P() se dene como una aplicacin biyectiva de en 4, a la cual a cada valor i del parmetro se le asocia una postura qi. De este modo, se construye una secuencia Q de posturas qi, que se denomina camino. Sea L={1,2,...,n} los valores posibles del parmetro en el intervalo [0,], tal que 1=0 y n=, por lo que la denicin del conjunto ordenado Q como camino es: Q = { [ P ( i ) , ( P ( i ) ) , ( P ( i ) ) ] ( i L ) } (2.19)
Segn la denicin dada de camino, no se consideran la presencia de posibles obstculos en el entorno o las restricciones que deben imponerse en el camino para que el robot pueda realizarlo. Estas se presentan como caracterstica fundamentales que denen un buen camino. Como continuacin a la formulacin basada en el espacio de conguraciones, sea B={b1,b2,...,bq} el conjunto de obstculos y R(qi) la regin del espacio que ocupa el robot en la conguracin qi. La condicin precisa para que el vehculo en su recorrido del camino especicado por Q no colisione con ningn obstculo de su entorno es: ( q i Q ) b j B ; R ( q i ) b j = (2.20)
En segundo lugar, la capacidad de un robot mvil de la realizacin de un camino, desde el punto de vista cinemtico, depende exclusivamente de la restriccin de noholonomicidad de la curvatura. Si se considera (dx,dy) el cambio de posicin efectuado por el robot en un tiempo dt, esta restriccin se enuncia como sigue: sin d x + cos dy = 0 (2.21)
46
De este modo, si la funcin camino P() no viola esta restriccin, el camino Q podr ser seguido. El efecto de la ecuacin (2.21) se congura como la limitacin del radio de giro mnimo que puede desarrollar el robot. Por tanto, si el radio de giro del robot es min, entonces la funcin P() debe verificar lo siguiente: 1 1 i [0,] ( P ( i ) ) [ ---------,---------] min min y como consecuencia, el camino Q 1 ( q i Q ) q i = ( x i, y i, i, i ) ;--- min i (2.23) (2.22)
en la que esta ltima expresin se denomina como la condicin de admisibilidad cinemtica del camino Q.
47
Restricciones debidas a las caractersticas fsicas del vehculo: Se reeren a las limitaciones impuestas por el comportamiento cinemtico y dinmico del robot mvil. Ambos imponen restricciones a la velocidad mxima que puede desarrollar el vehculo segn las caractersticas del camino que se desea recorrer. Restricciones debidas a requerimientos operacionales: En misiones donde el robot se encuentra integrado como un elemento ms de un sistema ms complejo, debe adaptar la velocidad de navegacin segn los requerimientos de operacin de la misin en curso. El seguimiento de caminos a altas velocidades se ve afectado por la dinmica del vehculo, la cual interere en la capacidad del seguidor para llevar a cabo su tarea con el mnimo error posible. El objetivo consiste en planicar una velocidad mxima que segn las caractersticas del vehculo y del camino proporcionen una navegacin segura. Esta puede ser variable con el n de obtener un mayor rendimiento de la tarea de navegacin. De este modo, en el NavLab II se considera que la principal restriccin dinmica del vehculo viene provocada por la aparicin de aceleraciones laterales que lo pongan en peligro de vuelco. Por tanto la planicacin de velocidades persigue, en este caso concreto, el objetivo de limitar el valor mximo que pueden alcanzar las aceleraciones arriba mencionadas (Shin, 1.990). Dicha restriccin se representa como una curva denida en un plano de fase espacio-velocidad, que se divide en una regin de velocidades admisibles y en otra de inadmisibles (Shiller y Gwo, 1.991). En otras palabras, determina una cota superior a las velocidades que cumplen la restriccin a lo largo del camino especicado (Figura 2.18.a). En el caso de representar varias restricciones en el mencionado plano, la interseccin de todas las regiones admisibles que cada una de las restricciones constituye el conjunto de velocidades que pueden planicarse a lo largo del camino (Figura 2.18.b).
Restriccin 2 Restriccin
a)
Espacio
b)
Espacio
48
Las restricciones debidas a los requerimientos operacionales persiguen la integracin del robot mvil dentro de un sistema ms complejo para que aqul realice de forma adecuada los objetivos de operacin. As, el robot mvil debe adaptar su velocidad en cada momento para realizar de modo satisfactorio operaciones como de transporte de material, sincronizacin con las distintas mquinas en tareas de carga o descarga, o efectuar su trabajo de forma segura cuando se encuentre cerca de operadores humanos (Wilfong, 1.990). Dentro de este tipo de restricciones se plantea el problema que supone evitar los obstculos mviles cuya trayectoria y tamao son conocidos. Este es un problema tpico en la planicacin de trayectorias de una ota de robots mviles cuyos caminos presentan intersecciones. El objetivo se establece en evitar que los robots colisionen. La realizacin de la planicacin temporal para la solucin del problema planteado consiste en la utilizacin de un plano espacio-temporal, en el cual se representar mediante rectngulos una serie de zonas prohibidas (Kant y Zucker, 1.986; 1.988). Un rectngulo modela un rea espacio-temporal inaccesible por el cruce de un obstculo circular a travs del camino construido. Este hecho se muestra en tres fases en la gura 2.19.a. En la primera fase se representa el instante de tiempo t1 en el cual el mvil intercepta el camino. En la segunda se muestra el segmento de longitud mxima de camino ocupado por el obstculo en el transcurso de su movimiento. De este modo, dicho segmento queda identicado en la gura por los puntos s1 y s2. Finalmente, en la tercera fase se expone el instante t2 cuando el obstculo deja de obstruir el camino. De esta forma, el rectngulo que especica el rea prohibida en el plano espacio-temporal se dene por los puntos (s1,t1), (s2,t1), (s2, t2) y (s1,t2), como se reeja en la gura 2.19.b.
t2 Camino s1 t1
a) Cruce de un obstculo circular a travs del camino planicado Tiempo
Camino s2
Camino
t2
t1
Espacio s1 s2 b) Representacin en el plano espacio-temporal del obstculo mvil
49
La planicacin de velocidades segn la representacin descrita permite el uso de mtodos de planicacin de rutas en el plano, considerando que la ruta resultado debe ser montona creciente. Como punto de partida se elige el origen del plano espacio-temporal y como destino puede utilizarse cualquier punto de la recta de espacio constante igual a sf, donde sf representa la longitud de arco total del camino planicado.
Tiempo
Espacio
sf
Figura 2.20. Planicacin de velocidades en el plano espacio-temporal.
En la gura 2.20 se ha utilizado un mtodo basado en grafos de visibilidad para la realizacin de la planicacin de velocidades. Con esta metodologa se precisa especicar una pendiente mnima de cada uno de los segmentos que componen la ruta. Esta pendiente dene la velocidad mxima que puede desarrollar el vehculo. En la mencionada gura, en trazo grueso, se plantea una solucin al problema de la planicacin de velocidades. Por ltimo, si se desea recorrer el camino en un tiempo especicado, se toma como destino el punto de la recta representada en 2.20. que corresponde a la limitacin impuesta. El mtodo descrito para la planicacin de velocidades, descansa en el conocimiento del tamao y la trayectoria de los obstculos mviles, y la lleva a cabo sobre un camino ya determinado. Otros mtodos realizan la construccin de la trayectoria directamente para lograr evitar los obstculos mviles y no mviles sin especicar en primer lugar un camino que sortee los obstculos jos. Para ello, desarrollan una planicacin en el espacio, donde se toma el tiempo como tercera dimensin (Fujimura y Samet, 1.988). Los obstculos se modelan en el espacio tridimensional con los mismos principios que se muestran en la gura 2.19. Tras este paso, se divide el espacio en un conjunto de celdas tridimensionales, notando las que contienen alguna porcin de obstculos como ocupadas. La construccin de la trayectoria se realiza por medio de un conjunto de celdas libres.
50
V' ( s )
v v
a a [ L i ( s ), L s ( s )]
V'' ( s )
s
s s [ L i ( s ), L s ( s )]
(2.24)
donde las funciones L i ( s ), L s ( s ), L i ( s ), L s ( s ), L i ( s ) y L s ( s ) son las cotas inferior y superior de la funcin velocidad y de sus dos primeras derivadas respectivamente; y donde S especica la longitud del camino. La representacin paramtrica con respecto al espacio recorrido de las cotas aparece motivado por el carcter variable de las mismas a lo largo del camino (debido a las caractersticas del camino y del vehculo, o a las restricciones operacionales existentes en cada momento). Se pueden considerar como un conjunto de desigualdades que denen una franja de velocidades admisibles para realizar la navegacin a lo largo del camino. Al igual que en la metodologa utilizada en la construccin de un camino se procede a discretizarla como paso posterior a la denicin de la funcin velocidad. El resultado de esta operacin se constituye en el conjunto W de los valores que la referencia de velocidad adopta en cada intervalo de control. Considerando S={s1,...,sn} como el conjunto de valores utilizados para discretizar V(s), el conjunto W de velocidades discretas se dene de acuerdo a la siguiente expresin: W = { V ( s i ) s i S } = { v 1, , v n } (2.25)
La trayectoria Q se construye merced a los valores de conguracin y velocidad obtenidos del camino Q y al conjunto W, y resulta de la aplicacin biyectiva entre los mencionados conjuntos: Q = QW = { q 1, , q n } q i = ( q i, v i ) ;q i Q ,v i W (2.26)
51
2.7. Conclusiones
El objetivo de este captulo se ha congurado como introduccin a las cuestiones que se desarrollarn a lo largo de esta tesis. En primer lugar se ha expuesto la problemtica de la navegacin, as como la descripcin de cada una de las subtareas que se ven involucradas. A este respecto, se han desarrollado en los sucesivos apartados del captulo las tareas de planicacin y generacin, ya que ello se conforma como los objetivos de los restantes captulos de la tesis. El desarrollo de la tarea de planicacin encierra el objetivo de construir una trayectoria libre de obstculos que conduzca al robot mvil desde la posicin inicial hasta la de destino. Esta debe ser admisible, segn las caractersticas del vehculo, y vericar ciertas restricciones operacionales. Esta tarea se cumplimenta en tres fases diferenciadas: planicacin de la ruta, generacin del camino y planicacin temporal. La primera de estas fases constituye una primera aproximacin a la trayectoria nal mediante la denicin de una ruta libre de obstculos, construida a partir de la informacin que se posee del entorno y mediante la aplicacin de un mtodo estratgico. En la construccin de la ruta no considera ninguna caracterstica del vehculo, ya que slo ha de garantizar la continuidad en posicin. Por ello, debe recibir un tratamiento que la adece para su seguimiento. Este tratamiento es llevado a cabo por la tarea de generacin y su resultado consiste en la conversin de la ruta en un camino. Y por otra parte, resulta de la interpolacin de una curva sobre ciertos puntos elegidos de la ruta. Resulta de inters que la curva interpoladora posea ciertas caractersticas de continuidad en orientacin y en curvatura, y sobre todo que esta ltima se encuentre acotada. La vericacin estas limitaciones implica que el camino resultante de la discretizacin de la curva sea admisible desde el punto de vista cinemtico y por tanto utilizable para realizar la tarea de navegacin. Por ltimo, al camino se le aade una curva de velocidad para su conversin en trayectoria. La construccin de dicha curva implica cumplir ciertas limitaciones sobre la velocidad debido a las caractersticas cinemticas y dinmicas del vehculo, as como las del camino. De manera opcional se pueden utilizar restricciones operacionales en la construccin de la curva de velocidad, por ejemplo un modelo en que se eviten los obstculos mviles conocidos.
52