Skip to content

Latest commit

 

History

History
79 lines (51 loc) · 3.94 KB

README.md

File metadata and controls

79 lines (51 loc) · 3.94 KB

IM-WANTEDD

License CI CD

A mobile wireless mesh network simulation for rescue missions using drones.

Created by Thomas Svendal and Carl Gützkow

Run the simulation here

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.

Documentation and report

Visit the repository report for a guide, documentation and an in depth look at the project.

Features

  • 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.

External Dependencies (Crates)

  • 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.

Installation

  1. Ensure you have Rust and Cargo installed. Refer to the Rust documentation for installation instructions.

  2. Follow this installation guide in case dependencies are not fulfilled.

  3. Clone the IM-WANTEDD repository:

git clone [email protected]:thomsen85/IM-WANTEDD.git
  1. Navigate to the project directory:
cd IM-WANTEDD
  1. Build and run the simulation:
cargo run --release

Troubleshooting

If you have any trouble running the simulation, please refer to the Bevy installation guide here. If problems persist, please open an issue.

Usage

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

CI/CD

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.

License

IM-WANTEDD is licensed under the MIT License.