Documentos de Académico
Documentos de Profesional
Documentos de Cultura
21
explorado e inclusive es necesario definir el tipo de sensores con los que se cuenta ya que
ello nos da pauta a saber el tipo de informacin de la que se puede hacer uso.
22
23
por ltimo, para saber la direccin del giro que cada robot debe hacer tambin se basan en
una probabilidad extra.
Con una variedad de comportamientos para cada robot como la descrita
anteriormente, este algoritmo persigue cubrir una mayor rea del ambiente que con un
mismo comportamiento en todos los robots involucrados. Adems para llevar a cabo el
regreso de los robots a la base solo se sigue la ruta almacenada en memoria que asegura
estar libre de obstculos.
Por otro lado est tambin el algoritmo propuesto por Rekleitis, Dudek and Milios
[10], en el cual se modela el mundo como un simple polgono dentro del cual existen
obstculos representados igualmente por otros polgonos. La tcnica de exploracin para un
espacio modelado de esta forma es bsicamente hacer ya sea una descomposicin con
trapezoides o bien mediante triangulaciones, para as cubrir la mayor extensin del terreno,
y el modo de hacer esto posible es con dos robots que siempre deben mantener una lnea de
visin entre ellos. Lo que podemos destacar de este algoritmo es la forma de atacar el
problema de la determinacin de posicin del robot en el espacio; el mecanismo es que slo
un robot se mueve a la vez mientras el otro permanece esttico, cuando el robot en
movimiento cubre la mayor distancia posible sin perder el contacto visual con el otro, se
detiene y entonces entra en accin el otro robot.
La razn para mantener siempre a un robot en movimiento mientras el otro
permanece esttico es para conservar siempre un punto de referencia confiable y
perfectamente reconocible, es decir cada robot sirve como referencia al otro para saber su
ubicacin dentro del territorio explorado; aunque para el presente trabajo solo se cuenta con
un robot, ste algoritmo nos deja ver que el empleo de marcas fijas o puntos de referencia
es una tcnica muy empleada siempre y cuando claro, se cuente con un sistema de visin
para el robot.
El algoritmo de exploracin utilizado por los Millibots [11], emplea una tcnica
para la construccin del mapa, en la cual se maneja una cuadrcula de ocupacin que se rige
por una frmula bayesiana. De esta manera se permite combinar las lecturas de los distintos
sensores con los que cuenta el robot. A cada celda se le da una probabilidad de estar
ocupada, e inicialmente al no tener conocimiento del espacio, todas las celdas tienen un
valor de 0.5 lo cual es equivalente a la probabilidad de que esa celda este libre o este
24
ocupada. Este mtodo permite combinar las lecturas de cada sensor para saber el estado de
cada celda en la cuadricula, as durante el proceso de generacin del mapa se cambian los
valores de las celdas, donde un valor de cero corresponde a una celda libre y un valor de
uno corresponde a una celda ocupada por un obstculo.
Aunque las diferentes tcnicas revisadas se enfocan al trabajo en equipo de dos o
mas robots de similares caractersticas, de cada uno podemos extraer ideas muy
significativas que de alguna manera se pueden adaptar al trabajo de un solo robot de tipo
explorador. Obviamente para el trabajo con un solo robot estn de ms por el momento las
tcnicas para intercambio de informacin entre robots, los mtodos para fusin de mapas
locales, etc; aunque no deben tampoco desecharse estos conceptos pues de alguna manera
pueden significar trabajo a futuro a partir del actual. Lo que si se puede rescatar de los
algoritmos utilizados para trabajo cooperativo de robots son las tcnicas para la navegacin
del espacio, para la determinacin de posiciones y finalmente para la construccin del mapa
resultado de la exploracin.
Como es evidente cada uno de los algoritmos descritos anteriormente se maneja en
condiciones diferentes de alguna manera preestablecida, por lo cual se puede ver
claramente que para poder aplicar un determinado algoritmo primero de deben sentar los
lineamientos o supuestos sobre los que se va a trabajar.
As, una vez que hemos revisado algunos algoritmos ya existentes podemos elegir
no estrictamente un algoritmo tal cual, sino tomar de cada uno lo que pueda representar una
ventaja para efectos del presente trabajo.
Se puede decir que el algoritmo a implementar ser del modelo "Maestromultiesclavos", aunque con algunas variaciones dado que no se van a utilizar varios robots
sino slo un explorador, considerando no tener un robot que funcione como maestro sino
mas bien tener en una computadora un proceso que lo represente, el cual estar encargado
de dirigir el trabajo del "robot - explorador" y procesar la informacin obtenida. El robot no
guardar en si mismo la informacin recolectada dadas sus limitaciones, sino que la estar
enviando de manera continua al proceso central. El robot tendr un tipo de movimiento
autnomo, gobernado por el algoritmo para la exploracin y un tipo de movimiento
dirigido por el usuario directamente.
25
radiacin luminosa;
infrarrojos
La deteccin de proximidad usando sensores infrarrojos debe tomar en cuenta
Dada una superficie con poca capacidad para reflejar la luz, se pueden presentar tres
dificultades si se desean hacer mediciones de distancia:
Los sensores pueden ser engaados por otras fuentes de luz que entren en el rango
de los infrarrojos
Es por esto que este tipo de sensores son mas empleados para la deteccin de obstculos
que para la determinacin de distancias o para reconocimiento de objetos. Sin embargo en
el presente trabajo se propone implementar un sistema capaz de utilizar este tipo de
dispositivos para llevar a cabo estas tareas de la manera mas precisa posible, dentro de los
rangos que nos permitan las caractersticas de los sensores.
El primer algoritmo para la deteccin y eliminacin de colisiones en tiempo real fue
presentado en 1985 por Khatib a travs del concepto de artificial potential fields [12].
Este concepto se desarroll principalmente para la planeacin de trayectorias libres de
obstculos para un brazo manipulador, sin embargo ha sido adaptado y aplicado tambin en
robots mviles. La idea bsica del campo potencial artificial puede ser descrita como que el
manipulador se mueve en un campo de fuerzas, la posicin a ser alcanzada representa un
polo de atraccin y los obstculos son superficies que ejercen repulsin sobre las partes del
manipulador.
La frmula completa es:
U art (x ) = U xd (x ) + U o (x )
en donde se considera el problema de evitar la colisin con un solo obstculo O y donde xd
representa la posicin objetivo, as U xd (x ) representa el campo potencial de atraccin
mientras que U o (x ) representa el campo potencial de repulsin., y finalmente U art (x )
identifica el campo potencial artificial al cual est sujeto el robot.
1
El campo de potencial de atraccin es simplemente U xd (x ) = 2 k p (x
donde Kp es el aumento en la posicin. Por otro lado
27
U o (x )
xd )
en
U art (x )
x = xd
U o (x )
valor tienda a infinito cuando el efector del brazo de robot se aproxime ms a la superficie
del obstculo. Como medida de prevencin contra posibles fuerzas en la vecindad del
obstculo que puedan perturbar, la influencia del campo de potencial debe ser limitada a
una regin especfica que rodee al obstculo.
Usando ecuaciones analticas f(x ) = 0
para
descripcin
del
obstculo,
la
primera funcin para el campo de potencial artificial que se uso estaba basada en los
valores de la funcin f(x),
1
1
U o (x ) = 2
f(x )
0,
1
f(x 0 )
if f(x ) f(x o ),
La regin de influencia de este campo de potencial est limitada por las superficies
f(x) = 0 y f(x) = f(xo), donde xo es un punto dado en la vecindad del obstculo y es una
constante de aumento. Esta funcin de potencial se puede obtener de manera simple en
tiempo real ya que no requiere de clculos de distancias. Sin embargo, este potencial es
difcil de usar para obstculos asimtricos donde la separacin entre la superficie del
obstculo y las superficies equipotenciales pueden variar ampliamente.
Usando la distancia mas corta a un obstculo O se propuso el siguiente campo de
potencial artificial
1
1
U o (x ) = 2
0,
1
0
if 0 ,
if > 0 .
28
F (i , j ) =
F cr C (i , j ) x t
2
d (i , j )
x0
d (i , j )
ax
yt
y0
d (i , j )
ay
donde:
Fcr = fuerza constante (repulsin)
29
F (i , j ) .
ij
En cualquier momento del movimiento el robot tambin es afectado por una fuerza
Ft de atraccin hacia el punto objetivo; esta fuerza est dada por el punto T, el cual
representa el objetivo y cuyas coordenadas son conocidas por el robot. As, la fuerza de
atraccin est dada por:
F (i , j ) = F ct
xt
x0
d (t )
x
a
yt
y0
d (t )
ay
donde:
Fct = fuerza constante (atraccin hacia el objetivo)
d(t) = distancia entre el objetivo y el robot
xt, yt = coordenadas del objetivo
La suma vectorial de todas las fuerzas, tanto la repulsiva de las celdas ocupadas como la
fuerza de atraccin ejercida por el objetivo producen un vector de fuerza resultante R:
R = Ft + Fr
Y la direccin de R, =
R
(en grados) es usada como referencia para el comando que
| R|
30
(-) es un operador definido especialmente para dos operandos, y (en grados), y es usado
en la forma c = (-) . El resultado es la diferencia rotacional ms pequea entre y , de
tal manera que c siempre est en el rango de 180 < c < 180.
Mas adelante se desarroll otro mtodo llamado Vector Field Histogram (VFH) el
cual es mucho mas rpido y trabaja buscando huecos en histogramas polares construidos
localmente [14]. Los valores del histograma son inversamente proporcionales a las
distancias de los obstculos alrededor del robot. Lo que en el ambiente real es una ruta libre
de obstculos en el histograma es reflejada como un valle, as el algoritmo funciona
tomando el valle ms amplio para determinar la nueva direccin a seguir para el robot.
El algoritmo VFH ha pasado por varias etapas pues inicialmente se concibi como
VFH+ el cual construa un histograma polar alrededor del robot buscando por aberturas que
representaran una posible ruta, luego determinaba entre una y tres direcciones para cada
posible ruta. El algoritmo asigna un costo a cada una de las direcciones candidatas y
selecciona aquella que tenga el costo mas bajo. De esta forma, al igual que en algunos otros
de los algoritmos para la eliminacin de colisiones se presenta un detalle interesante ya que
una vez que se detecta la presencia de un obstculo en los alrededores del robot,
normalmente se pueden tener al menos dos opciones de caminos alternativos a seguir por el
en vas de evitar la colisin, sin embargo muchas veces una de las dos opciones puede ser
no tan apropiada para el siguiente movimiento del robot.
Como una mejora a este algoritmo, su sucesor denominado VFH* analiza las
consecuencias de seguir cada una de las direcciones candidatas antes de hacer la eleccin
final. Para cada una de las direcciones candidatas el algoritmo procesa la nueva posicin y
orientacin que el robot tendr despus de hacer el movimiento proyectndolo a una
distancia ds. Para cada una de estas posiciones el algoritmo construye nuevamente un
histograma polar basndose en la informacin del mapa del ambiente. El histograma se
analiza con direcciones candidatas y repitiendo este proceso ng veces se construye un rbol
de bsqueda de profundidad ng en el cual los nodos terminales (metas) corresponden a una
distancia total proyectada dt = ng * ds.
El objetivo de este proceso es encontrar una apropiada trayectoria proyectada de
distancia dt. Los nodos en el rbol de bsqueda representan las posiciones proyectadas y
orientaciones del robot, mientras que los arcos representan las direcciones candidatas de
31
una posicin a otra. Como ya se dijo, cada direccin tiene un costo asignado y el costo
asociado a cada nodo no es otra cosa que la suma de todos las ramas que estn arriba de l
hasta el punto de partida. Teniendo estos valores en los nodos, el algoritmo toma aquella
direccin candidata que lleve hasta el nodo final y tenga el menor costo.
Algo muy importante para este algoritmo es que la profundidad de la meta es
directamente proporcional a la distancia total proyectada dt, de tal forma que mientras
mayor sea el valor seleccionado para ste parmetro mayor ser la anticipacin que se tenga
de los movimientos y mejores sern los resultados del algoritmo. Sin embargo, si este
parmetro es muy grande el desempeo del algoritmo decae y se hace muy lento por lo cual
es recomendado elegir un valor que se acerque al rango de los sensores del robot.
Ahora bien, la mayora de los algoritmos existentes coinciden en tres principios
bsicos que son:
El robot debe navegar de manera segura an frente a errores por parte de los
sensores
Y aunque en realidad estos puntos representan las bases generales para los algoritmos
desarrollados para la deteccin y eliminacin de obstculos, tambin se han desarrollado
algunas otras tcnicas como el Curvature-Velocity Method [15], el cual aade los
siguientes puntos de inters:
La dinmica del robot debe ser tomada en cuenta para permitirle una
navegacin a altas velocidades en ambientes poblados
32
manera adecuada el robot para poder maximizar una funcin objetivo que relacione la
seguridad, velocidad y orientacin hacia el objetivo.
Para este mtodo se asume que el robot siempre viaja sobre arcos de un circulo cuya
curvatura esta dada por c =
vr
siendo vr la velocidad de rotacin y vt la velocidad de
vt
traslacin, adems una curvatura positiva denota que el movimiento se hace en el sentido
de las manecillas del reloj. De esta manera cada punto en el espacio de velocidad
corresponde al movimiento de curvatura constante en el espacio cartesiano, aunque esto no
es mas que una aproximacin, dados los efectos de aceleracin
Para transformar los obstculos del espacio cartesiano al espacio de velocidad
primero se convierte el obstculo al espacio de configuracin y para todas las curvaturas c,
se calcula la distancia dc (c, obs) que el robot tendra que viajar antes de colisionar con el
obstculo obs. Luego se define la funcin de la distancia para un obstculo en el espacio de
velocidad como:
dc
d v (vt , vr , obs ) =
vr
, obs ,
vt
si vt 0
en cualquier otro caso
yi
atan
xi
=
atan
1
c
yi
xi
d c (c , obs ) =
1
c
c < 0
yi,
|(1/c)| ,
c > 0
c = 0
c 0
33
vt
vt max
dist(vt , vr ) =
head (vr ) = 1
vr T c |
34
35
trabajos plantea un algoritmo para la localizacin basado en lo que llama posturas factibles
[17]. Un ejemplo que ayuda a definir lo que una postura factible significa para esta tcnica
sera el caso en que la lectura de los sensores de un robot indicaran la presencia de un
obstculo dos metros hacia el norte, entonces cualquier posicin que estuviera dos metros
al sur desde el borde de un obstculo en el mapa, sera una postura factible. En otras
palabras, una postura factible es una posicin consistente con los datos de los sensores y la
informacin de un mapa.
Este algoritmo fue desarrollado para implementarse con el uso de sensores tales
como sonar o lser, ya que la idea bsica se apoya en las medidas que proveen este tipo de
dispositivos. La distancia arrojada por los sensores es representada como un vector cuya
cola corresponde a la posicin del robot Para poder dar una posicin dentro de un mapa
geomtrico que sea congruente con las lecturas de alcance debe cumplirse que si se ubica la
cola del vector de distancia en una posicin dada, entonces la punta de ese vector debe estar
sobre un obstculo pero el cuerpo del vector no debe intersectar ningn obstculo. Las
posibles posiciones del robot, dadas las posiciones de los obstculos, deben seguir la
siguiente condicin: cualquier lugar en el que la cola del vector pueda encontrarse de tal
forma que la punta del vector intersecte un obstculo pero el cuerpo del vector no lo haga
representa un lugar donde el robot puede estar.
Mediante la interseccin de las posiciones factibles para un conjunto de varias
lecturas de sensores, el conjunto de posturas factibles se reduce en gran medida, dejando
solo aquellas que no pueden ser precisadas con los datos disponibles.
Los errores originados por los sensores pueden causar que la interseccin de
posturas factibles est vaca, sin embargo estos errores se pueden manejar de diferentes
formas para reducir su impacto. La inexactitud de los sensores por ejemplo puede ser
considerada y manejada con un difuminado del mapa, mientras que, los errores grandes se
pueden absorber omitiendo las lecturas de algunos de los sensores.
Por otro lado encontramos tambin las tcnicas basadas en los filtros de Kalman
en donde la gran mayora de los trabajos que se han hecho utilizando esta idea, asumen que
la incertidumbre sobre la posicin del robot se puede representar mediante una distribucin
Gaussiana. Tambin se asume que las lecturas de los sensores son mapeadas a
distribuciones de forma Gaussiana sobre la posicin del robot. Para estas suposiciones, los
36
filtros de Kalman poseen una serie de reglas para la actualizacin que ofrecen una
extremada eficiencia, adems de que estas tcnicas han probado ser suficientemente
robustas y precisas para el rastreo de la posicin de un robot.
Un filtro de Kalman es un estimador que infiere parmetros de inters a partir de
observaciones inciertas e imprecisas. Se realiza de forma recursiva de tal manera que
cualquier nueva medicin puede ser procesada en el momento que llega.
Algunas otras estrategias como la localizacin topolgica Markov o la localizacin
basada en celdas Markov han surgido buscando ir mas a all de las diversas suposiciones
manejadas por los filtros de Kalman. La diferencia entre estos dos mtodos radica en la
forma de representar de manera discreta el espacio de estados. Por ejemplo en algunos
trabajos realizados, la localizacin topolgica Markov ha sido usada para implementar un
tipo de navegacin basada en marcas y el espacio ha sido organizado de acuerdo a la
estructura topolgica del ambiente. Sin embargo, la tosca resolucin de la representacin
limita la precisin en las estimaciones de posicin dando como resultado slo una nocin
del lugar en el que se encuentra el robot; y se puede decir que ests caractersticas son
generales cuando se emplea la localizacin topolgica.
A diferencia de lo anterior, la localizacin basada en celdas desarrolla una
integracin numrica sobre una cuadrcula de puntos espaciada uniformemente, lo cual
conlleva seleccionar la parte que interesa del espacio y usarla como base para una
aproximacin de la densidad del espacio. Aunque este tipo de mtodos son muy poderosos
requieren de un gran trabajo computacional y de una restriccin al tamao y resolucin del
espacio. Los requerimientos computacionales impactan en gran medida sobre la precisin
en forma tal que no todas las medidas pueden ser procesadas en tiempo real ocasionando
que mucha informacin valiosa sea descartada.
Este mtodo asume que la localizacin del robot es el nico estado en el ambiente y
conocindolo es todo lo que se necesita saber acerca del pasado para poder predecir los
datos futuros. Esta suposicin resulta inexacta si el ambiente contiene objetos en
movimiento a parte del robot.
El algoritmo de localizacin Monte Carlo (MCL por sus siglas en ingls) [18] forma
parte de un conjunto de desarrollos elaborados en los aos setentas y que han sido
retomados recientemente. MCL usa tcnicas de muestreo rpido para representar el
37
conocimiento del robot. Cuando el robot se mueve o percibe algo se lleva a cabo un re
muestreo que sirve para estimar la posterior distribucin. Una de las grandes ventajas con
respecto a otros mtodos es que el MCL negocia computacin y precisin utilizando un
esquema de muestreo adaptativo que determina el nmero de muestras sobre la marcha; de
esta forma se obtienen grandes beneficios ya que el mtodo utiliza una mayor cantidad de
muestras cuando la situacin lo demanda, mientras que cuando se tiene una cierta nocin de
la posicin, el conjunto de muestras que son procesadas es menor. En comparacin con los
algoritmos Markov, el MCL presenta grandes ahorros en trminos de memoria necesaria as
como de computacin requerida.
Un ltimo algoritmo a revisar asegura satisfacer requerimientos tales como: ser
capaz de lidiar con incertidumbre en la informacin tanto de los sensores como al mismo
tiempo del ambiente modelado; ser capaz de integrar lecturas de muy diferentes tipos de
sensores a travs del tiempo y poder explotar de forma arbitraria aquellas caractersticas del
ambiente que puedan ser captadas por los sensores. El principio del enfoque de celda de
probabilidad de ocupacin [19] es acumular en cada celda la probabilidad posterior de que
esa celda represente la posicin actual del robot.
Las celdas de probabilidad de ocupacin tienen tres dimensiones (x, y, ) las cuales
conforman cada posible estado del robot, representando la posicin y la orientacin en el
plano. Un conjunto de celdas de este tipo provee una aproximacin de la funcin de
probabilidad de la posicin actual del robot. La aproximacin es adaptada integrando las
posibilidades de informacin de los sensores sobre el tiempo. Estas posibilidades son
computadas relacionando las medidas contra un modelo dado del ambiente.
Una mejora de este mtodo con respecto a otros similares es que en lugar de
considerar todas las posibles posiciones para el robot, lo cual significa un amplio espacio de
estados aun para ambientes reales de tamao razonable, se considera un pequeo espacio
cbico que contiene solo aquellas posiciones alrededor de la posicin actual estimada del
robot.
La forma en que este mtodo permite una rpida integracin a datos de nuevos
sensores es basndose en un rpido y adaptable modelo en el cual se utiliza directamente la
informacin proveniente de los sensores permitiendo explotar de forma arbitraria las
caractersticas que se van detectando del ambiente en el cual se encuentra inmerso el robot.
38
Aunque pareciera que este algoritmo establece lo mismo que la tcnica de los filtros
de Kalman, la diferencia est en la aproximacin de la funcin de probabilidad de posicin,
ya que aunque esta tcnica proporciona una aproximacin discreta de esta funcin, los
filtros de Kalman generalmente hacen la aproximacin global mediante una funcin de
densidad Gaussiana. El problema es que no todas las situaciones pueden ser representadas
por simples distribuciones Gaussianas y es en tales situaciones que el algoritmo anterior
permite un mejor tratamiento.
39
2.6 Conclusiones
A lo largo del captulo se han revisado distintos algoritmos enfocados a la
resolucin de un problema especfico por separado sin embargo ha sido necesario abarcar
40
estos distintos aspectos para tener un marco de trabajos existentes que sirva como punto de
referencia al presente desarrollo. El paso importante ahora es hacer una apropiada seleccin
de ideas que sirvan para la implementacin de un algoritmo para exploracin como ha sido
propuesto en los objetivos.
Cada una de las tcnicas revisadas ofrece un acercamiento distinto al problema, no
obstante no debe perderse de vista que tambin cada una ha sido desarrollada para
implementarse utilizando un determinado equipo por lo que para poder hacer una seleccin
de ideas primero debe asegurarse su factibilidad de acuerdo a los recursos disponibles para
el presente trabajo.
De acuerdo al anlisis realizado una de las tcnicas de inters para cumplir con los
fines propuestos es el modelo Maestro-Multiesclavo considerando a la computadora
central como el Maestro y al robot como el esclavo, adems de su idea de generacin de
rutas de navegacin aleatoria. El segundo concepto til es el utilizado por los Millibots en
cuando a la idea de mantener una cuadrcula con celdas de ocupacin regidas por uno de
tres valores posibles indicando su estado en el ambiente real. Y finalmente, el rastreo de
posicin es la estrategia elegida para la localizacin del robot.
Por otro lado, en cuanto a las herramientas disponibles que se pueden emplear para
implementar los mdulos correspondientes a la visualizacin propuesta, ms adelante se
detallar la eleccin y su justificacin.
41