A mobile wireless mesh network simulation for rescue missions using drones.
Created by Thomas Svendal and Carl Gützkow
IM-WANTEDD is a simulation program written in Rust with Bevy, designed to visualize and simulate a mobile wireless mesh network for rescue missions. The simulation includes a network of drones that communicate with each other to triangulate the position of nearby beacons. The program aims to provide an interactive and realistic environment to study and analyze the behavior of the network in realistic scenarios.
Visit the repository report for a guide, documentation and an in depth look at the project.
- Simulates a mobile wireless mesh network with drones for rescue missions.
- Realistic visualization and simulation of drone movements and communication.
- Dynamic network topology with decentralized communication.
- Easy-to-use interface for controlling and monitoring the simulation.
- Bevy: A game engine built in Rust. Website. Used for creating the simulation graphics.
- Bevy egui: A user interface for user controls that works with bevy. Website. Used for adding simulation controls.
- Chrono: A date and time library. Website. Used for timestamps for ping results in the simulation.
-
Ensure you have Rust and Cargo installed. Refer to the Rust documentation for installation instructions.
-
Follow this installation guide in case dependencies are not fulfilled.
-
Clone the IM-WANTEDD repository:
git clone [email protected]:thomsen85/IM-WANTEDD.git
- Navigate to the project directory:
cd IM-WANTEDD
- Build and run the simulation:
cargo run --release
If you have any trouble running the simulation, please refer to the Bevy installation guide here. If problems persist, please open an issue.
The simulation starts by the user choosing a scenario. The scenario determines how many drones are used, the connection between them and beacons in the world. When a scenario is selected, the drones load in and starts moving. During the simulation, you can interact with it using the user interface controls. Changes that can be made during the simulation includes:
- Connection distance between drones
- Displaying the drone's ID
- Displaying the drone's beacon ping radii
- The height of the terrain to reveal or hide beacon
It is possible to change the camera's angle and position by dragging the screen
There is one continous integration and one continous deployment script in the project. CI is used for building, checking linting and running tests in the project. You can find one of the latest run here. The workflow file is found here. CD is used for building the documentation and deploying it to github pages. You can find one of the latest run here.
IM-WANTEDD is licensed under the MIT License.