-
Notifications
You must be signed in to change notification settings - Fork 0
Planificación de Trayectoria
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.
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".
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
Campos de probabilidad con degradado de la campana:
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.
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.
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.
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.
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.
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.
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.
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.
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.
Robot
Comunicación
Planificación de Trayectoria
Control de Movimiento