Skip to content
Akshay Dahiya edited this page Aug 22, 2017 · 3 revisions

Hydra Flock Simulation Wiki

Hydra Flock Simulation is an application that simulates the movements of a flock of drones that have as objective to detect the presence of fires or abnormal heat spots in a given geographical area using an infrared sensors.
The simulation uses the Hydrus and Hydra-py.

How to run the Simulation:

  • create and activate a new virtualenv
  • upgrade pip and setuptools
  • check if python3-dev is installed
  • chmod +x bootstrap-dev.sh
  • ./bootstrap-dev.sh
  • chmod +x init.sh
  • ./bootstrap-dev.sh

Interacting with the simulation

The user can interact with the simulation from the simulation GUI. He can submit messages in a structured format to the central controller, the central controller will then parse the submitted message and issue commands to respective drones. Progress can be seen in controller and drone logs in the GUI.

Some general information

  • Supported Directions are [N, S, E, W]
  • The user can only turn drones ON (Active) or Off (Off), rest all the states are automatically handled by the drone mechanics. To read more about the drone mechanics, read the drone design page.
  • Speed can be any number less than the MaxSpeed value of the drone, for any value greater than MaxSpeed, drones will use the MaxSpeed value.

Some Examples

  • Set Drone 2 speed 100 (Change the speed of drone with id 2 to 100 Km/h.)
  • Set Drone 8 direction N (Change the direction of drone with id 8 to North.)
  • Set Drone 13 status off (Turn drone with id 13 off.)
  • Set Drone 8 status active (Turn drone with id 8 on.)

NOTE:- Changing the drone direction won't work if the drone is in Confirming state.

The simulation has 3 main components:

  • A flock of N flying drones (Drone)
  • A centralized Hydra server (Central Controller)
  • A Javascript Application for the GUI part (Monitoring app)

Drone Design

To understand how the drone behavior is simulated and how things work, head over to the Drone design page of the wiki.

Central Controller Design

To understand how to use central controller behavior is simulated and how things work, head over to the Controller design page of the wiki.