Skip to content

Planificación de Trayectoria

Max Eekhout edited this page Jul 16, 2018 · 6 revisions

Mapa

Rejilla Probabilística de ocupación aplicado como campos de atracción y repulsión

Se realizó una discretización del entorno en centímetros donde se maneja una matriz cuyas celdas contienen un valor de probabilidad el cual indica la certidumbre de un objeto al cual se quiere llegar o del cual se quiere alejar.

Rejilla

Gaussianas

Se calculó con la función de densidad de probabilidad gaussiana, la probabilidad obtenida en cada punto de discretización del campo de la rejilla de probabilidad, lo que es equivalente a cada celda de la matriz. Esto con respecto a la celda del centroide donde está ubicado el objeto atractivo o el objeto repulsivo. Todas las campanas tanto atractivas como repulsivas fueron definidas como valores máximo en el caso de las positivas como "1" y en el caso de las negativas tendrán un valor mínimo de "-1".

Gaussianas

Campanas negativas truncadas en ancho de banda

Se realizaron campanas con amplitud negativas con el fin de representar a nivel simbólico el objeto el cual se quiere evitar, de tal forma de evitar en todo momento ir hacia los valores negativos. Las campanas repulsivas se le delimitaron su ancho de banda para que solamente actuara su campo de probabilidad en un rango determinado, esto debido a que el campo solo fuese repulsivo en un área y no afectara a todo el mapa.

  • Objetos atractivos: rojo

  • Objetos repulsivos: verde

Gaussianas

Campos de probabilidad con degradado de la campana:

Degradado

Algoritmo de trayectoria

Este algoritmo busca realizar una trayectoria basándose en un movimiento hacia el mayor valor de probabilidad hasta llegar a la cima de la campana donde la probabilidad es "1" donde se encuentra el centroide de los objetivos.

Movimiento basado en la probabilidad

Se puede apreciar una selección del punto inicial entre sus 8 vecinos, donde el próximo punto de la trayectoria siempre se inclina hacia el mayor valor de probabilidad que contenga uno de sus vecinos y así sucesivamente hasta llegar a la cima. De esta forma se puede interpretar como si fuera una partícula escalando por una campana de Gauss en 3D.

Pared de probabilidad

Para evitar quedarse atascado en un loop de dos o mas probabilidades donde al moverse de posición regrese a la anterior por el valor de probabilidad, se procedió a realizar una sustitución de cada valor de probabilidad recorrido en la celda por una probabilidad de cero "0", de esta forma se va realizando un recorrido de ceros, donde el algoritmo de búsqueda evitará volver a pasar por algún valor ya recorrido.

Trayectoria primitiva

Luego de lo explicado anteriormente se logra realizar una trayectoria inicial donde siempre que pueda escalar la gaussiana la partícula de búsqueda, esta encontrara un camino para llegar al objeto. Por otro lado la trayectoria no se presenta muy limpia que digamos, ya que este realiza búsquedas en ocasiones generando pozos de probabilidad donde no pudo encontrar al primer intento la trayectoria deseada. Esto ocasiona que la trayectoria recorra áreas nada optimas para que recorra el vehículo.

Pozo naranja

Subtrayectoria de puente alternativo

Al encontrarnos con el problema planteado anteriormente, se presenta la solución de búsqueda de una trayectoria alternativa para optimizar el camino y poder llegar al objetivo.

Cálculo de Subtrayectoria

Para ello tomamos como punto inicial el primer valor que presente mas de dos vecinos. Ya que al presentar mas de dos vecinos implica que ha comenzado el pozo de probabilidad. Posteriormente tomamos como punto final el último valor que presente mas de dos vecinos, esto implica que ha finalizado el pozo de probabilidad y todos aquellos pozos pequeños que hayan estado en el medio, por lo tanto hemos identificado los dos puntos a enlazar para poder tener una trayectoria limpia y optimizada.

try verde

Luego de haber identificado los puntos de inicio y de finalización de esta trayectoria puente o alternativa procedemos a calcular el camino a recorrer para enlazar estos dos puntos, para ello aplicamos el mismo algoritmo de búsqueda de trayectoria con una gaussiana, colocando el punto de llegada como la cima de una gaussiana y dejando que el punto de inicio sea la partícula a escalar la gaussiana para realizar esta trayectoria particular, siempre respetando la probabilidades de de los campos repulsivos. Al haber realizado esta trayectoria auxiliar, presentamos un puente que nos permite visualizar tener una trayectoria completa desde el punto de inicio hasta el punto del objeto atractivo mas cercano.

Pte

Trayectoria corregida

Se pudo obtener la trayectoria corregida al insertar en la trayectoria original y primitiva el puente calculado en la trayectoria alternativa y habiendo eliminado del medio los pozos de probabilidad presentados en el camino. De esta forma obtenemos una trayectoria limpia de inicio a fin.

Try blanca

Trayectorias completas: A continuación se muestran una serie de trayectorias en donde se observa desde el caso mas sencillo en linea recta hasta la evasión de obstáculos para llegar al objetivo.

Recta

1_Obst

Repulsion

Cercana

Cercana1

Cercana2

En S

4_Obs

correcion

barrera

barreraC

barreraCircularM