Our project focuses on conducting periodic surveillance in difficult-to-reach areas, especially in emergency situations. To achieve this, we use a team of UAVs for aerial observation, which offers increased efficiency and ability to access hard-to-reach locations. To maintain communication and coordination between UAVs, we employ a relay chaining approach. The system is controlled using the Robot Operating System (ROS) framework, with nodes designed to implement the coverage algorithm and relay chain system. Our goal is to develop a method for efficient and effective reconnaissance in emergency situations in areas with difficult terrain, utilizing UAVs and relay chaining.
Here there is the result of the project. In particular it is shown the partial coverage performed by the swarm of drones and then the total coverage of the graph performed.
In the pictures there are different spheres colors:
- red: it means that this graph node has not been discovered yet;
- green: it means the graph node has already been discovered by a drone.
All the spheres started with red, then they become green when discovered by a drone.
The only node which remains red is the starting one which is not a node to perform a coverage on but it only represents the base station.
The graph nodes changes color gradually and returns to red as the time passes. The nodes are useable again once they are red again.
-
WLS Windows Subsystem for Linux (v. 1.0.3.0) is a compatibility layer that enables users to run Linux applications on Windows 10 seamlessly, without the need for a virtual machine.
-
ROS: Robot Operating System (v. Noetic) is an open-source framework for building robot applications. It provides libraries, tools, messaging and communication protocols for exchanging data between components of a robot system.
-
UE: Unreal Engine (v. 4.27.2) is a game engine and development platform for creating high-quality video games, architectural visualizations, and other interactive 3D experiences. It provides tools for 3D modeling, animation, and simulation, and a powerful scripting system.
-
AirSim: (v. 1.8.1) is an open-source simulation platform for testing autonomous systems, especially drones, in a virtual environment. It provides a high-fidelity simulation environment that accurately models physics and dynamics of aerial vehicles, and a variety of sensor models for testing perception and control algorithms.
- AirSim ROS Wrapper: (v. 1.8.1) is a software package that connects the AirSim simulation platform with the ROS framework. It allows users to interface AirSim with ROS and enables the use of ROS tools and libraries for developing and testing autonomous systems in a simulated environment.
In order to run the code follow these steps:
# Run the AirSim ROS Wrapper
roslaunch airsim_ros_pkgs airsim_node.launch output:=screen host:=192.168.1.17
# Run the Drone Coverage
python ./run.py
# Load the map
rosservice call /graph_loader/load_graph "location: '/path_to_workspace/src/graph_loader/graphs/mountain_graph.json'"
# Compute a new path for the drones
rosservice call /graph_loader/compute_path "node_start: 'p0' node_goal: 'p2'"
The solution could be improved by transmitting information through a relay of drones controlled in Virtual Reality using a First Person View headset, providing an immersive and intuitive experience for the operator, leading to quicker and more effective information transmission. The VR-FPV interface should also allow individual control of each drone to monitor the mountain in real-time, enabling quick identification and response to potential hazards.
Matteo Maragliano
Mattia Musumeci
Davide Leo Parisi
Sara Sgambato