-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Labels
Description
Problem
Currently, conflicts created by the uncertainty module in the simulation is not preventable if the scheduler doesn't reschedule every tick. Instead, these kinds of conflicts lead to an early termination to reflect the real world: "if there's a crash in the airport, there's no way the airport will continue to function properly."
Solution
Therefore, we need a pilot behavior design in our simulation logic. The pilots should add a delay on its own aircraft is it found out the target node is occupied by another aircraft.
Code
We should add:
- Checks if another aircraft "is_close_to" the next target at aircraft.tick().
- If yes, inject a delay on this aircraft
- Adds another list in the itinerary for "pilot_delay" which should be similar to scheduler_delay and uncertainty_delay.
- Updates the state_logger, analyst and reporter objects for logging the results.
Note
The hardest part of this feature should be finding out a good way to move multiple aircrafts at the same time. Note that the simulation is actually sequential so the moves may or may not affect other aircrafts.
Reactions are currently unavailable