Resumen
La inteligencia de enjambre hace uso de las propiedades emergentes que surgen de la interacción de un conjunto de agentes o robots relativamente incapaces, entre ellos, y con el entorno. Dichas propiedades emergentes no están explícitamente programadas, y son el resultado de la operación de múltiples agentes o robots que ejecutan unas reglas simples.
La robótica de enjambre es un campo de investigación centrado en el desarrollo de metodologías, algoritmos, y aplicaciones de los principios de inteligencia de enjambre para el control de sistemas multi-robot. La aplicación de dichos principios dota los sistemas multi-robot de tres características notables: escalabilidad, flexibilidad y robustez.
Por la naturaleza de los sistemas de robótica de enjambre, su desarrollo y validación requiere del uso de un número considerable de robots, o en todo caso, de agentes simulados. Por este motivo, un área de investigación se centra en la creación de plataformas robóticas y simuladores. El presente trabajo está contenido dentro de esa área.
Los objetivos originales del proyecto estaban orientados la implementación de algoritmos basados en inteligencia de enjambre que permitieran coordinar un pequeño grupo de robots. Estos robots, utilizarían el entorno de Arduino, y un Arduino UNO como controladores. Tras esto, se implementaría un modelo reducido de ellos en el simulador Gazebo.
Las deficiencias encontradas en el hardware original obligaron a reorientar el proyecto y sus objetivos originales. Así, el fin último de este proyecto paso a ser el de desarrollar una plataforma robótica orientada a la robótica de enjambre, dejando la implementación de algoritmos de robótica de enjambre, y la creación de un modelo simulado a futuros proyectos derivados de este.
Para el desarrollo de la plataforma robótica, en primer lugar se han identificado las necesidades más habituales que se presentan durante el desarrollo de algoritmos de robótica de enjambre. Entre las más relevantes esta la necesidad de disponer de un sistema sensores que permita detectar e identificar otros robots en un entorno cercano, así como distinguirlos de los obstáculos. Dado que no existen módulos comerciales que implementen esta función, una parte del presente trabajo se ha orientado al desarrollo de este sistema.
Además de estos trabajos, para dar soporte a la plataforma robótica en el entorno de desarrollo de Arduino, se ha implementado un core de Arduino con soporte nativo de FreeRTOS. Adicionalmente, se ha desarrollado un sistema de carga remota de programas, que permite actualizar el programa ejecutado por las plataformas a través de una conexión Wifi. Dicho sistema está integrado en el core de Arduino.
Por último, se ha desarrollado una API de control mínima, que permite comprobar la funcionalidad de la plataforma y que podría servir de base para futuros desarrollos derivados de este proyecto.
Abstract:
Swarm intelligence leverages emergent properties that arise from the interaction of a set of relatively incapable agents or robots among themselves and with the environment. These emergent properties are not explicitly programmed; instead, they result from the operation of multiple agents or robots executing simple rules.
Swarm robotics is a research field focused on developing methodologies, algorithms, and applications of swarm intelligence principles for controlling multi-robot systems. Applying these principles provides multi-robot systems with three notable characteristics: scalability, flexibility, and robustness.
Due to the nature of swarm robotics systems, their development and validation require a considerable number of robots, or at the very least, simulated agents. For this reason, one area of research focuses on creating robotic platforms and simulators. This current work falls within that area.
The project’s original objectives were aimed at implementing swarm intelligence-based algorithms to coordinate a small group of robots. These robots would use the Arduino environment and an Arduino UNO as controllers. After this, a reduced model of them would be implemented in the Gazebo simulator.
The deficiencies found in the original hardware forced a reorientation of the project and its initial objectives. Thus, the ultimate goal of this project became the development of a robotic platform oriented towards swarm robotics, leaving the implementation of swarm robotics algorithms and the creation of a simulated model for future derivative projects.
For the development of the robotic platform, the most common needs encountered during the development of swarm robotics algorithms were first identified. Among the most relevant is the need for a sensor system that can detect and identify other robots in a nearby environment, as well as distinguish them from obstacles. Since no commercial modules implement this function, a part of this work has focused on developing this system.
In addition to this work, to support the robotic platform in the Arduino development environment, an Arduino core with native FreeRTOS support has been implemented. Additionally, a remote program loading system has been developed, which allows updating the program executed by the platforms via a Wi-Fi connection. This system is integrated into the Arduino core.
Finally, a minimal control API has been developed, which allows checking the platform’s functionality and could serve as a basis for future developments derived from this project.
Resumen
La inteligencia de enjambre hace uso de las propiedades emergentes que surgen de la interacción de un conjunto de agentes o robots relativamente incapaces, entre ellos, y con el entorno. Dichas propiedades emergentes no están explícitamente programadas, y son el resultado de la operación de múltiples agentes o robots que ejecutan unas reglas simples.
La robótica de enjambre es un campo de investigación centrado en el desarrollo de metodologías, algoritmos, y aplicaciones de los principios de inteligencia de enjambre para el control de sistemas multi-robot. La aplicación de dichos principios dota los sistemas multi-robot de tres características notables: escalabilidad, flexibilidad y robustez.
Por la naturaleza de los sistemas de robótica de enjambre, su desarrollo y validación requiere del uso de un número considerable de robots, o en todo caso, de agentes simulados. Por este motivo, un área de investigación se centra en la creación de plataformas robóticas y simuladores. El presente trabajo está contenido dentro de esa área.
Los objetivos originales del proyecto estaban orientados la implementación de algoritmos basados en inteligencia de enjambre que permitieran coordinar un pequeño grupo de robots. Estos robots, utilizarían el entorno de Arduino, y un Arduino UNO como controladores. Tras esto, se implementaría un modelo reducido de ellos en el simulador Gazebo.
Las deficiencias encontradas en el hardware original obligaron a reorientar el proyecto y sus objetivos originales. Así, el fin último de este proyecto paso a ser el de desarrollar una plataforma robótica orientada a la robótica de enjambre, dejando la implementación de algoritmos de robótica de enjambre, y la creación de un modelo simulado a futuros proyectos derivados de este.
Para el desarrollo de la plataforma robótica, en primer lugar se han identificado las necesidades más habituales que se presentan durante el desarrollo de algoritmos de robótica de enjambre. Entre las más relevantes esta la necesidad de disponer de un sistema sensores que permita detectar e identificar otros robots en un entorno cercano, así como distinguirlos de los obstáculos. Dado que no existen módulos comerciales que implementen esta función, una parte del presente trabajo se ha orientado al desarrollo de este sistema.
Además de estos trabajos, para dar soporte a la plataforma robótica en el entorno de desarrollo de Arduino, se ha implementado un core de Arduino con soporte nativo de FreeRTOS. Adicionalmente, se ha desarrollado un sistema de carga remota de programas, que permite actualizar el programa ejecutado por las plataformas a través de una conexión Wifi. Dicho sistema está integrado en el core de Arduino.
Por último, se ha desarrollado una API de control mínima, que permite comprobar la funcionalidad de la plataforma y que podría servir de base para futuros desarrollos derivados de este proyecto.
Abstract:
Swarm intelligence leverages emergent properties that arise from the interaction of a set of relatively incapable agents or robots among themselves and with the environment. These emergent properties are not explicitly programmed; instead, they result from the operation of multiple agents or robots executing simple rules.
Swarm robotics is a research field focused on developing methodologies, algorithms, and applications of swarm intelligence principles for controlling multi-robot systems. Applying these principles provides multi-robot systems with three notable characteristics: scalability, flexibility, and robustness.
Due to the nature of swarm robotics systems, their development and validation require a considerable number of robots, or at the very least, simulated agents. For this reason, one area of research focuses on creating robotic platforms and simulators. This current work falls within that area.
The project’s original objectives were aimed at implementing swarm intelligence-based algorithms to coordinate a small group of robots. These robots would use the Arduino environment and an Arduino UNO as controllers. After this, a reduced model of them would be implemented in the Gazebo simulator.
The deficiencies found in the original hardware forced a reorientation of the project and its initial objectives. Thus, the ultimate goal of this project became the development of a robotic platform oriented towards swarm robotics, leaving the implementation of swarm robotics algorithms and the creation of a simulated model for future derivative projects.
For the development of the robotic platform, the most common needs encountered during the development of swarm robotics algorithms were first identified. Among the most relevant is the need for a sensor system that can detect and identify other robots in a nearby environment, as well as distinguish them from obstacles. Since no commercial modules implement this function, a part of this work has focused on developing this system.
In addition to this work, to support the robotic platform in the Arduino development environment, an Arduino core with native FreeRTOS support has been implemented. Additionally, a remote program loading system has been developed, which allows updating the program executed by the platforms via a Wi-Fi connection. This system is integrated into the Arduino core.
Finally, a minimal control API has been developed, which allows checking the platform’s functionality and could serve as a basis for future developments derived from this project. Read More


