This is walkthrough of a desktop application for detection of anomalies in various flights. It displays an animation of a flight utilizing a flight simulator called FlightGear. During the project we implement the MVVM architecture, while using the .Net Framework called WPF. The application implements a TCP client which sends data to the FlightGear simulator server. The flight inspector supports real-time updates of anomalies through graphs and animations that represent the current state of the flight.
- Jump to every selected moment during the flight, by moving the slider back and forth.
- Change the flight speed as desired or temporarily pause it.
- Joystick animation that represent real time visualization of the plane's rudder.
- Real-time update of flight statistics such as altimeter, airspeed, heading degree, pitch, roll and yaw.
- Select a flight feature to inspect it's current state.
- Display of the current chosen feature's graph and it's most correlated counterpart, both of which update in real-time.
- Loading an anomaly detection algorithm to your desire in runtime.
- Use a linear regression anomaly detection algorithm, that displays the regression line of the chosen feature and its most correlated feature.
- Use a minimum enclosing circle anomaly detection algorithm, that displays the minimum enclosing circle of the chosen feature and its most correlated feature.
- Points indicating an anomaly will be painted red, while points belonging to the last 30 seconds of the flight will appear in gray in real-time.
- Display a list of anomalous times, and jump to each anomaly as you see fit to inspect it more efficently.
- Further documentation in the code.
├── FlightSimulator
│ ├── Files - Helper files like train flight and test flight as well as playback-small.xml which is required for instalation.
│ ├── FlightSimulator - contains the project's code files
│ │ ├── bin - contains the executable and related files.
│ │ │ ├── Debug
│ │ │ │ ├── net5.0-windows
│ │ │ │ │ ├── FlightSimulator.exe - the executable file of the application.
│ │ ├── Images - contains the images displayed during the execution of the application.
│ │ ├── obj - object file and nugets.
│ ├── FlightSimulator.sln - the solution that is required to run.
└── plugins - contains the minimal circle dll and linear regression dll files.
- Microsoft .NET 5.0.104 (x64)
- FlightFear 2020.3.8 (For windows 7,8,10)
- Visual Studio 2019
- Download this repository.
- Make sure the settings file ("playback_small.xml") is located in the proper directory (flightGear/data/protocols).
- Open "FlightSimulator.sln" in Visual studio and build the project.
- Open the FlightSimulator.exe file which is located at FlightSimulator/bin/Debug folder to see the home screen.
- Load the chosen anomaly detection algorithm's dll, for exmaple a Linear Regression dll or a Minimum Enclosing Circle dll.
- Make sure that the uploaded algorithm has a learn-normal(), detect(), returnShape() and getGraphName() methods.
- Make sure that the .dll file name is exactly the same as the class name of the uploaded algorithm.
- Load the csv train file.
- Load the csv test file.
- Press the play button and enjoy the flight!