requirements - Python dependencies.
main - Runs the simulation.
config - Consolidation of all configuration variables.
locations - Creates a model of Hornsea One.
display - Helper functions for converting from kilometers to pixels and back again.
faults - Contains relative probabilities, and other data, associated with wind turbine faults.
time utilities - Useful constants, and a helper function, for converting time in nanoseconds to a human-readable string.
Control Room Class - Functionality for creating ADV paths.
Schedular Class - Constraint Solver for finding optimal paths around a wind farm.
Schedular Test Class - Test the Schedular class.
Vehicle Class - A super class with common functionality for all simulated vehicles.
Vehicle Enum Class - A class that enumerates the states of the vehicles.
Submersive Class - A subclass of Vehicle that simulates a drone.
Boat Class - A subclass of Vehicle that simulates the ADV that deploys the drones.
Windmill Class - A class that simulates a windmill.
hornsea-ws-wd.csv - Real weather data from NASA for the location near Hornsea One.
Weather Class - Simulates weather using data found in hornsea-ws-wd.csv
Sprite Class - A super class with common functionality for sprites.
Submersive Sprite Class - A wrapper class that takes a Submersive object and handles its sprites.
Boat Sprite Class - A wrapper class that takes a Boat object and handles its sprites.
Windmill Sprite Class - A wrapper class that takes a Windmill object and handles its sprites.
sprites/ - Directory containing sprite images
averaging - Moving average calculations for fault detection.
images/ - Created when saving images from the simulation, thus may or may not exist.
OpenSans-Regular.ttf - Pretty font.
README.md - This file.
The simulation without running the GUI (so we can quickly test the code), by calling step()
on each object.
There is a bash script, simulation
, that sets up the virtual environment and runs the simulation.
See simulation -h
for details.