This article presents a full course for autonomous aerial robotics inside the RoboticsAcademy framework. This “drone programming” course is open-access and ready-to-use for any teacher/student to teach/learn drone programming with it for free. The students may program diverse drones on their computers without a physical presence in this course. Unmanned aerial vehicles (UAV) applications are essentially practical, as their intelligence resides in the software part. Therefore, the proposed course emphasizes drone programming through practical learning. It comprises a collection of exercises resembling drone applications in real life, such as following a road, visual landing, and people search and rescue, including their corresponding background theory. The course has been successfully taught for five years to students from several university engineering degrees. Some exercises from the course have also been validated in three aerial robotics competitions, including an international one. RoboticsAcademy is also briefly presented in the paper. It is an open framework for distance robotics learning in engineering degrees. It has been designed as a practical complement to the typical online videos of massive open online courses (MOOCs). Its educational contents are built upon robot operating system (ROS) middleware (de facto standard in robot programming), the powerful 3D Gazebo simulator, and the widely used Python programming language. Additionally, RoboticsAcademy is a suitable tool for gamified learning and online robotics competitions, as it includes several competitive exercises and automatic assessment tools.
19 July 2023 in Journal of Intelligent & Robotic Systems
In recent years, the use of unmanned aerial vehicles has spread across different fields of the industry due to their ease of deployment and minimal operational risk. Firefighting is a dangerous task for the humans involved, in which the use of UAVs presents itself as a good first-action protocol for a rapid response to an incipient fire because of their safety and speed of action. Current research is mainly focused on wildland fires, but fires in urban environments are barely mentioned in the bibliography. To motivate the research on this topic, ICUAS’22 organized an international competition inspired by this mission, with the challenge of a UAV traversing an area populated by obstacles, finding a target, and precisely throwing a ball to it. For this competition, the Computer Vision and Aerial Robotics (CVAR-UPM) team developed a solution composed of multiple modules and structured by a mission planner. In this paper, we describe our approach and the developed architecture that led us to be awarded the first prize in the competition.
This paper presents the development and implementation of a multiple unmanned aerial vehicle system focused on coverage path planning on multiple separated areas capable of re‐planning the collective mission in case of unexpected events. For this purpose, we present a distributed‐centralized architecture that uses heuristic and computationally efficient methods to perform the planning/re‐planning and decision‐making tasks during the control of the mission execution. We performed a computational evaluation of the algorithms, comparing them with other proposals, together with experiments in simulated and real flights. The results show that the system can distribute tasks equitably among the aircraft in an efficient way, even in the middle of the flight, when facing unexpected events; and show a higher computational efficiency when compared to multiple proposals in the state of the art.
14 November 2023 in Multimedia Tools and Applications
The utilization of autonomous unmanned aerial vehicles (UAVs) has increased rapidly due to their ability to perform a variety of tasks, including industrial inspection. Conducting testing with actual flights within industrial facilities proves to be both expensive and hazardous, posing risks to the system, the facilities, and their personnel. This paper presents an innovative and reliable methodology for developing such applications, ensuring safety and efficiency throughout the process. It involves a staged transition from simulation to reality, wherein various components are validated at each stage. This iterative approach facilitates error identification and resolution, enabling subsequent real flights to be conducted with enhanced safety after validating the remainder of the system. Furthermore, this article showcases two use cases: wind turbine inspection and photovoltaic plant inspection. By implementing the suggested methodology, these applications were successfully developed in an efficient and secure manner.
Unmanned Aerial Vehicles (UAVs) are part of our daily lives with a number of applications in diverse fields. On many occasions, developing these applications can be an arduous or even impossible task for users with a limited knowledge of aerial robotics. This work seeks to provide a middleware programming infrastructure that facilitates this type of process. The presented infrastructure, named DroneWrapper, offers the user the possibility of developing applications abstracting the user from the complexities associated with the aircraft through a simple user programming interface. DroneWrapper is built upon the de facto standard in robot programming, Robot Operating System (ROS), and it has been implemented in Python, following a modular design that facilitates the coupling of various drivers and allows the extension of the functionalities. Along with the infrastructure, several drivers have been developed for different aerial platforms, real and simulated. Two applications have been developed in order to exemplify the use of the infrastructure created: follow-color and follow-person. Both applications use techniques of computer vision, classic (image filtering) or modern (deep learning), to follow a specific-colored object or to follow a person. These two applications have been tested on different aerial platforms, including real and simulated, to validate the scope of the offered solution.