
Planificación de Trayectorias con FMM
Información del documento
Autor | David Palomo Pérez |
instructor | David Álvarez Sánchez |
Escuela | Universidad Carlos III de Madrid |
Especialidad | Ingeniería de Sistemas y Automática |
Tipo de documento | Proyecto Fin de Grado |
Idioma | Spanish |
Formato | |
Tamaño | 3.37 MB |
Resumen
I.Planificación de Trayectorias para Robots mediante el Método Fast Marching FMM
Este proyecto presenta la integración de tres algoritmos de planificación de trayectorias basados en el método Fast Marching Method (FMM): Fast Marching Square (FM2), Fast Marching Learning (FML) y Fast Marching Square Formations (FM2F). Estos algoritmos, implementados en una interfaz gráfica de usuario (GUI) con MATLAB, buscan encontrar la trayectoria más corta y segura para uno o varios robots, considerando obstáculos y la velocidad del robot. El algoritmo FM2 se centra en encontrar el camino más corto entre dos puntos, mientras que FML se enfoca en reproducir trayectorias en diferentes condiciones y FM2F gestiona la trayectoria de formaciones de robots, utilizando un enfoque de líder-seguidor para evitar colisiones. La interfaz, desarrollada con MATLAB GUIDE, permite cargar mapas, definir parámetros como el grado de saturación y el área de influencia (AOI), y visualizar los resultados. La optimización de trayectorias se logra mediante la manipulación de parámetros como la saturación para ajustar la distancia de seguridad a obstáculos. El proyecto también aborda el modelado de incertidumbre en la posición de los robots y los obstáculos.
1. Introducción a la Planificación de Trayectorias y el Método Fast Marching
El documento inicia describiendo la importancia de la planificación de trayectorias en robótica, especialmente en aplicaciones como la exploración espacial o la incursión terrestre. Se destaca que en los últimos años se han desarrollado algoritmos para este propósito. El proyecto se centra en la integración de tres algoritmos basados en el método Fast Marching Method (FMM), un método que se encarga de calcular la trayectoria más corta y segura teniendo en cuenta los obstáculos. Se menciona que estos algoritmos serán integrados en dos interfaces gráficas: una para configurar parámetros y otra para visualizar los resultados. El objetivo principal es la creación de un algoritmo capaz de encontrar la ruta más corta y segura entre un punto inicial y uno final, superando el desafío de la simple búsqueda de una ruta entre dos puntos. El FMM y sus derivados son presentados como la solución a este problema, lo que sienta la base para la descripción detallada de los algoritmos específicos que se usarán en el proyecto.
2. Descripción de los Algoritmos Fast Marching Square FM2 Fast Marching Learning FML y Fast Marching Square Formations FM2F
Se detallan los tres algoritmos clave del proyecto: Fast Marching Square (FM2), enfocado en calcular trayectorias considerando el camino más corto y la seguridad, utilizando el diagrama de Voronoi para el manejo de obstáculos; Fast Marching Learning (FML), cuyo propósito principal es reproducir trayectorias bajo diferentes condiciones; y Fast Marching Square Formations (FM2F), diseñado para generar trayectorias para una formación de 3 robots. Se explica la importancia del mapa de grises (0 para obstáculos, 1 para espacio libre) utilizado por varios de los algoritmos, junto con la idea del valor T de la onda, que incrementa con la distancia a los obstáculos y representa la velocidad máxima permitida en cada punto. Se introduce el concepto de saturación, que regula la distancia de seguridad al obstáculo más cercano, afectando tanto a la longitud como a la velocidad de la trayectoria. El texto menciona que la saturación óptima busca minimizar la distancia recorrida mientras se mantiene una alta velocidad. El algoritmo FM2F se presenta como una extensión de FM2, pero gestionando la trayectoria de múltiples robots en formación, evitando colisiones. La incertidumbre en la posición de los robots y obstáculos también se considera en el algoritmo FM2F.
3. Implementación y Diseño de la Interfaz Gráfica de Usuario GUI en MATLAB
Esta sección describe la implementación de los algoritmos en MATLAB, utilizando la herramienta GUIDE para el diseño de la interfaz gráfica de usuario. Se mencionan las funcionalidades de la interfaz, incluyendo la capacidad de cargar mapas (bmp, png, mat), añadir obstáculos rectangulares definiendo dos puntos opuestos, mostrar los ejes de coordenadas, y la configuración de parámetros como el Área de Influencia (AOI) y la saturación. Se describe la estructura de la interfaz, organizada de forma que el usuario pueda seguir los pasos de forma secuencial, desde la carga del mapa y la configuración de parámetros hasta la ejecución de los algoritmos. Se explican elementos como el menú editor para generar menús desplegables y la utilización de un UIPanel para agrupar los elementos de la interfaz. La interfaz está diseñada para permitir la carga de mapas ya trabajados y la creación de nuevos mapas, especificando altura y anchura. El diseño facilita la gestión de puntos de demostración, la carga de trayectorias guardadas y la posibilidad de recalcular trayectorias con parámetros modificados.
II.Algoritmos de Planificación FM2 FML y FM2F
El núcleo del proyecto reside en tres algoritmos derivados del FMM: FM2 calcula trayectorias considerando el camino más corto y la seguridad, utilizando técnicas como el diagrama de Voronoi para ampliar los obstáculos. FML reproduce trayectorias en diversas condiciones. FM2F genera trayectorias para formaciones de tres robots, utilizando un sistema líder-seguidor y considerando la incertidumbre en las posiciones. Cada algoritmo utiliza un mapa de velocidades, donde los valores representan la velocidad permitida en cada punto, influenciado por la saturación para controlar la distancia a los obstáculos. Estos algoritmos se integran en una interfaz gráfica para facilitar su uso y visualización.
1. Algoritmo Fast Marching Square FM2 Enfoque en Trayectorias Óptimas
El algoritmo Fast Marching Square (FM2) se presenta como una solución para encontrar la trayectoria más corta entre dos puntos, considerando la velocidad y la distancia recorrida. Se basa en la propagación de una onda desde el punto inicial hasta el punto final, donde el tiempo que tarda la onda en llegar a cada punto representa el tiempo de recorrido. La velocidad de propagación de la onda puede variar dependiendo del entorno, siendo cero en los obstáculos. Para asegurar la seguridad de la trayectoria y evitar colisiones con obstáculos, se utiliza una técnica de ampliación de los obstáculos antes de calcular la trayectoria, empleando, a veces, el diagrama de Voronoi. Se utiliza un mapa de grises donde 0 representa un obstáculo y 1 representa espacio libre. Un parámetro crucial es la saturación, que define la distancia de seguridad que el robot debe mantener con respecto a los obstáculos. A mayor saturación, mayor la distancia de seguridad, lo que puede resultar en trayectorias más largas pero más seguras. Se analiza cómo diferentes grados de saturación impactan en la longitud y la velocidad de la trayectoria resultante, buscando el equilibrio óptimo entre distancia y velocidad.
2. Algoritmo Fast Marching Learning FML Reproducción de Trayectorias en Diferentes Condiciones
El algoritmo Fast Marching Learning (FML) se centra en la reproducción de trayectorias previamente definidas bajo distintas condiciones. Su función principal es replicar trayectorias en entornos cambiantes o con diferentes parámetros. Se utiliza un mapa de saturación que se actualiza dinámicamente según el valor de saturación definido por el usuario, lo cual controla la distancia de seguridad del robot respecto a los obstáculos. Este algoritmo incorpora el concepto de Área de Influencia (AOI), que permite ampliar los puntos de la trayectoria para dar mayor flexibilidad y conectividad al movimiento del robot, evitando un seguimiento rígido de la trayectoria inicial. El AOI permite una mayor flexibilidad en la ruta, pero un valor alto puede alejar excesivamente la ruta del camino marcado inicialmente. Se utiliza una interfaz gráfica para introducir los puntos de la demostración, con mensajes de error para alertar sobre puntos incorrectos dentro de obstáculos o fuera del mapa. El algoritmo también permite cargar trayectorias previamente guardadas para facilitar su reutilización y modificación. El parámetro de saturación influye directamente en los resultados, así como la incertidumbre en la posición del robot.
3. Algoritmo Fast Marching Square Formations FM2F Planificación de Trayectorias para Formaciones de Robots
El algoritmo Fast Marching Square Formations (FM2F) es una extensión de FM2 diseñada para la planificación de trayectorias en formaciones de robots, específicamente una formación de tres robots con un esquema líder-seguidor. Se basa en el cálculo de dos potenciales: un mapa de velocidades para todos los robots de la formación y un potencial que representa la distancia al punto final o meta. Este sistema calcula una trayectoria para el robot líder, mientras los robots seguidores se ajustan dinámicamente a su posición, adaptando la geometría de la formación para evitar colisiones. Los puntos finales para los robots seguidores son calculados de manera parcial, dependiendo de la posición del líder y los obstáculos. Un aspecto diferenciador es la inclusión de los obstáculos y el robot líder en el mapa de velocidades, incrementando la incertidumbre en la posición. Este algoritmo considera la incertidumbre mediante un parámetro ajustable, afectando al movimiento de los seguidores y la distancia entre ellos. La saturación sigue siendo un factor clave que condiciona la distancia de seguridad a los obstáculos, afectando la longitud de la trayectoria. El manejo de obstáculos móviles, como personas o vehículos, es un aspecto relevante para la aplicación real de este algoritmo, requiriendo una adaptación constante de la trayectoria en cada iteración.
III.Implementación en MATLAB GUI
La implementación se realiza en MATLAB, utilizando la herramienta GUIDE para crear dos interfaces gráficas. Una interfaz permite configurar parámetros como el tamaño del mapa, añadir obstáculos (de geometría rectangular), cargar mapas en formatos bmp, png y mat, y configurar valores de saturación y AOI. La segunda interfaz muestra los resultados de la ejecución de los algoritmos de planificación de trayectorias, incluyendo la visualización de mapas de velocidades y trayectorias calculadas. La interfaz se caracteriza por su diseño intuitivo, siguiendo un flujo de arriba hacia abajo para facilitar el uso de los diferentes algoritmos (FM2, FML, FM2F).
1. Desarrollo de la Interfaz con MATLAB GUIDE Funcionalidades y Diseño
La implementación se realizó utilizando MATLAB y su herramienta GUIDE para el diseño de la interfaz gráfica de usuario (GUI). Se crearon dos interfaces: una para la configuración de parámetros y otra para la visualización de resultados. La interfaz de configuración permite cargar mapas desde archivos en formatos bmp, png o mat. También ofrece la posibilidad de crear mapas nuevos especificando las dimensiones (altura y anchura). Se incluye la opción de añadir obstáculos rectangulares al mapa, definiendo sus vértices a través de dos puntos opuestos. Un elemento importante es la inclusión de un control deslizante (slider) y un cuadro de texto (box) para ajustar la saturación, que regula la distancia de seguridad entre el robot y los obstáculos. El Área de Influencia (AOI) también se puede ajustar, impactando en la conectividad de la trayectoria. La interfaz contiene botones para guardar, abrir, cortar, copiar y pegar, además de opciones para alinear y ordenar los elementos gráficos. Un menú editor permite generar menús desplegables con funcionalidades específicas. El diseño general sigue una estructura lógica, colocando la carga de mapas arriba, los parámetros en el centro y los botones de ejecución abajo para facilitar la navegación.
2. Interfaz para el Algoritmo FM2 Parámetros Carga de Mapas y Visualización de Resultados
Para el algoritmo Fast Marching Square (FM2), la interfaz permite configurar parámetros de saturación para obtener diferentes resultados. Se puede cargar un mapa a través del botón 'Load Data', accediendo a una ventana emergente para seleccionar un archivo en formatos bmp, png, o mat. Una vez cargado el mapa, se visualizan sus dimensiones. El diseño de la interfaz sigue una estructura secuencial, colocando la opción de cargar el mapa en la parte superior, los parámetros en la zona media y los botones para introducir puntos y ejecutar el algoritmo en la parte inferior. Este diseño facilita el seguimiento de los pasos necesarios para la ejecución del algoritmo. El botón 'Introduce Demos' permite añadir puntos al mapa que definirán la trayectoria que se procesará, visualizando el punto inicial y final. El parámetro de saturación, controlado mediante un slider, afecta directamente a la trayectoria y su velocidad, actualizando el mapa de saturación en tiempo real.
3. Interfaces para los Algoritmos FML y FM2F Configuración de Parámetros e Incertidumbre
Las interfaces para los algoritmos Fast Marching Learning (FML) y Fast Marching Square Formations (FM2F) comparten similitudes estructurales con la interfaz FM2. Para FML, se utiliza el botón 'Load Data' para cargar mapas en formatos bmp, png, o mat, mostrando el mapa cargado en el eje de demostración y en el mapa de saturación. La introducción de puntos para definir las trayectorias se hace utilizando el ratón y el botón derecho, con mensajes de error para alertas. Existe un botón específico para ejecutar el algoritmo, y la opción para cargar una demostración guardada. Para FM2F, se incluye el ajuste de un parámetro de incertidumbre (mediante un slider), que afecta al movimiento de los robots seguidores, reduciendo la distancia entre ellos cuando la incertidumbre es mayor. La saturación, ajustada mediante un slider y visualizada en un box, también es un parámetro configurable, impactando en la distancia de seguridad y la longitud de la trayectoria. El diseño de ambas interfaces sigue una estructura lógica, con la zona superior para la carga de mapas o workspaces, la zona media para los parámetros, y la zona inferior para los botones de introducción de puntos y ejecución del algoritmo, facilitando el uso por parte del usuario.
IV.Resultados y Conclusiones
El proyecto presenta resultados de pruebas con mapas generados y de ejemplo, mostrando la eficacia de los algoritmos en la generación de trayectorias óptimas. Se analizaron los efectos de la saturación y el AOI en la longitud y velocidad de las trayectorias. Se concluye con la exitosa integración de los algoritmos FMM en una interfaz de usuario amigable, facilitando el análisis y la experimentación con diferentes parámetros de optimización de trayectorias en escenarios de robótica.
1. Ejecución de las Interfaces y Análisis de Resultados
La sección describe la ejecución de las interfaces gráficas, realizando demostraciones para analizar los resultados obtenidos. Se menciona el análisis de los resultados con el fin de evaluar si se alcanzaron los objetivos del proyecto. Se utilizaron mapas de prueba proporcionados y mapas generados en la interfaz. Para el mapa de ensayo se utilizaron valores extremos de saturación para comprobar el cumplimiento de los objetivos teóricos. El proceso incluyó la carga de un mapa mediante el botón 'Load Data', la introducción del número de demostraciones, el ajuste del Área de Influencia (AOI), la introducción de los puntos de las demostraciones usando el ratón, y finalmente, la ejecución del algoritmo. Se describe la aparición de un mensaje al iniciar la introducción de las demostraciones. La evaluación se basó en la comparación de resultados obtenidos con los objetivos teóricos, analizando la influencia de los parámetros utilizados (saturación y AOI) en la eficiencia de los algoritmos de planificación de trayectorias.
2. Posibles Mejoras y Conclusiones del Proyecto
Además del análisis de los resultados, la sección aborda las posibles mejoras o diferentes opciones que se habían considerado durante el desarrollo del proyecto. Se revisan si los objetivos planteados inicialmente se han cumplido satisfactoriamente. Se menciona la adquisición de competencias en el diseño de interfaces gráficas con GUIDE en MATLAB, incluyendo el manejo de los diferentes elementos y la programación en el entorno MATLAB. Se destaca el éxito en la creación de una interfaz para diseñar mapas y realizar pruebas con los algoritmos. Finalmente, se hace una breve mención a los costes materiales, donde se especifica que el portátil utilizado tiene un plazo de amortización de tres años, que fue empleado durante 7 meses, y que se utilizaron alternativas de software gratuitas, siendo el único coste de oficina el internet.
Referencia de documento
- Planning Robot Formations with Fast Marching Square including Uncertainty Conditions (J.V. Gómez, A. Lumbier, S. Garrido and L. Moreno)
- Introducción a MATLAB GUIDE
- Robótica (Wikipedia)