Diseño e implementación de un sistema de navegación semiautomática para un robot tipo Crawler en ROS2

Bookmark (0)
Please login to bookmark Close

Este Trabajo de Fin de Grado consiste en el diseño, implementación y validación de un sistema de navegación semiautónoma para un robot móvil en un entorno simulado, utilizando la plataforma ROS 2 como base de desarrollo. El objetivo principal se basa en el seguimiento de un robot a una trayectoria de barrido sobre una superficie rectangular definida por el usuario, siguiendo especificaciones funcionales previamente establecidas.
Para ello, se ha desarrollado un sistema completo de planificación y control, que incluye un módulo generador de trayectorias tipo zigzag mediante líneas paralelas conectadas por curvas semicirculares, y un controlador basado en el algoritmo Pure Pursuit, el cual ha sido modificado respecto a su versión original para adaptarlo mejor al caso de uso planteado.
La validación del sistema se ha llevado a cabo mediante simulaciones en Gazebo, con apoyo de herramientas como RViz para depuración y visualización del comportamiento del robot, incluyendo trayectorias, waypoints y errores de seguimiento. Se han utilizado tanto odometría como ground truth para la evaluación del rendimiento del sistema de navegación.
Durante el desarrollo del proyecto, se ha seguido una metodología ágil basada en sprints semanales, lo que ha facilitado la planificación iterativa, la evaluación continua de avances y la integración progresiva de funcionalidades.
Este proyecto se enmarca dentro de un enfoque práctico y aplicable, ya que el patrón de movimiento desarrollado podría adaptarse fácilmente a tareas reales como la limpieza de superficies o la inspección de áreas planas mediante trayectorias de cobertura. De forma resumida, los principales hitos del desarrollo han sido los siguientes:
Análisis de requisitos y definición del problema: entorno de simulación, objetivos funcionales y restricciones geométricas de la trayectoria.
Diseño de nodos ROS 2 independientes para planificación y control, comunicados mediante temas.
Simulación completa en Gazebo, en un entorno plano sin obstáculos, representando un escenario estático.
Generación automática de trayectorias de barrido a partir de dos puntos dados por el usuario, que definen un rectángulo. La trayectoria se compone de líneas paralelas separadas por una distancia d, conectadas mediante arcos semicirculares.
Implementación del controlador Pure Pursuit adaptado para estos tipos de trayectorias, incluyendo ajustes en la lógica de selección del punto de seguimiento.
Evaluación del error de seguimiento, optimización de parámetros y validación final mediante pruebas repetidas y análisis cualitativo y cuantitativo del desempeño.
ABSTRACT
This Bachelor´s Degree Final Project consists of the design, implementation, and validation of a semi-autonomous navigation system for a mobile robot in a simulated environment, using the ROS 2 platform as the development framework. The main objective focuses on enabling a robot to follow a sweeping trajectory across a user-defined rectangular surface, adhering to previously established functional specifications.
For this purpose, a complete planning and control system has been developed, including a trajectory generator module that creates zigzag patterns through parallel lines connected by semicircular curves, and a controller based on the Pure Pursuit algorithm. This algorithm has been modified from its original version to better suit the proposed use case.
System validation was conducted through Gazebo simulations, supported by tools like RViz for debugging and visualizing robot behavior, including trajectories, waypoints, and tracking errors. Both odometry and ground truth were used to evaluate the navigation system’s performance.
Throughout the development process, an agile methodology based on weekly sprints was followed, which facilitated iterative planning, continuous evaluation of progress, and progressive integration of system components.
This project adopts a practical and applicable approach, as the developed movement pattern could easily be adapted to real-world tasks such as surface cleanning or flat area inspection through coverage paths.
In summary, the key milestones of the development include:
Requirements analysis and problem definition: simulation environment, functional objectives, and trajectory geometric constraints.
Design of independent ROS 2 nodes for planning and control, communicating through topics.Complete simulation in Gazebo within an obstacle-free flat environment representing a static scenario.
Automatic generation of sweeping trajectories from two user-provided points defining a rectangle. The trajectory consists of parallel lines spaced at distance d, connected by semicircular arcs.
Implementation of an adapted Pure Pursuit controller specifically for this type of paths, including adjustments to the lookahead point selection logic.
Evaluation of tracking error, parameter optimization, and final validation through repeated testing and qualitative and quantitative performance analysis.

​Este Trabajo de Fin de Grado consiste en el diseño, implementación y validación de un sistema de navegación semiautónoma para un robot móvil en un entorno simulado, utilizando la plataforma ROS 2 como base de desarrollo. El objetivo principal se basa en el seguimiento de un robot a una trayectoria de barrido sobre una superficie rectangular definida por el usuario, siguiendo especificaciones funcionales previamente establecidas.
Para ello, se ha desarrollado un sistema completo de planificación y control, que incluye un módulo generador de trayectorias tipo zigzag mediante líneas paralelas conectadas por curvas semicirculares, y un controlador basado en el algoritmo Pure Pursuit, el cual ha sido modificado respecto a su versión original para adaptarlo mejor al caso de uso planteado.
La validación del sistema se ha llevado a cabo mediante simulaciones en Gazebo, con apoyo de herramientas como RViz para depuración y visualización del comportamiento del robot, incluyendo trayectorias, waypoints y errores de seguimiento. Se han utilizado tanto odometría como ground truth para la evaluación del rendimiento del sistema de navegación.
Durante el desarrollo del proyecto, se ha seguido una metodología ágil basada en sprints semanales, lo que ha facilitado la planificación iterativa, la evaluación continua de avances y la integración progresiva de funcionalidades.
Este proyecto se enmarca dentro de un enfoque práctico y aplicable, ya que el patrón de movimiento desarrollado podría adaptarse fácilmente a tareas reales como la limpieza de superficies o la inspección de áreas planas mediante trayectorias de cobertura. De forma resumida, los principales hitos del desarrollo han sido los siguientes:
Análisis de requisitos y definición del problema: entorno de simulación, objetivos funcionales y restricciones geométricas de la trayectoria.
Diseño de nodos ROS 2 independientes para planificación y control, comunicados mediante temas.
Simulación completa en Gazebo, en un entorno plano sin obstáculos, representando un escenario estático.
Generación automática de trayectorias de barrido a partir de dos puntos dados por el usuario, que definen un rectángulo. La trayectoria se compone de líneas paralelas separadas por una distancia d, conectadas mediante arcos semicirculares.
Implementación del controlador Pure Pursuit adaptado para estos tipos de trayectorias, incluyendo ajustes en la lógica de selección del punto de seguimiento.
Evaluación del error de seguimiento, optimización de parámetros y validación final mediante pruebas repetidas y análisis cualitativo y cuantitativo del desempeño.
ABSTRACT
This Bachelor´s Degree Final Project consists of the design, implementation, and validation of a semi-autonomous navigation system for a mobile robot in a simulated environment, using the ROS 2 platform as the development framework. The main objective focuses on enabling a robot to follow a sweeping trajectory across a user-defined rectangular surface, adhering to previously established functional specifications.
For this purpose, a complete planning and control system has been developed, including a trajectory generator module that creates zigzag patterns through parallel lines connected by semicircular curves, and a controller based on the Pure Pursuit algorithm. This algorithm has been modified from its original version to better suit the proposed use case.
System validation was conducted through Gazebo simulations, supported by tools like RViz for debugging and visualizing robot behavior, including trajectories, waypoints, and tracking errors. Both odometry and ground truth were used to evaluate the navigation system’s performance.
Throughout the development process, an agile methodology based on weekly sprints was followed, which facilitated iterative planning, continuous evaluation of progress, and progressive integration of system components.
This project adopts a practical and applicable approach, as the developed movement pattern could easily be adapted to real-world tasks such as surface cleanning or flat area inspection through coverage paths.
In summary, the key milestones of the development include:
Requirements analysis and problem definition: simulation environment, functional objectives, and trajectory geometric constraints.
Design of independent ROS 2 nodes for planning and control, communicating through topics.Complete simulation in Gazebo within an obstacle-free flat environment representing a static scenario.
Automatic generation of sweeping trajectories from two user-provided points defining a rectangle. The trajectory consists of parallel lines spaced at distance d, connected by semicircular arcs.
Implementation of an adapted Pure Pursuit controller specifically for this type of paths, including adjustments to the lookahead point selection logic.
Evaluation of tracking error, parameter optimization, and final validation through repeated testing and qualitative and quantitative performance analysis. Read More