Skip to content

Adds pilot delay #55

@heronyang

Description

@heronyang

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:

  1. Checks if another aircraft "is_close_to" the next target at aircraft.tick().
  2. If yes, inject a delay on this aircraft
  3. Adds another list in the itinerary for "pilot_delay" which should be similar to scheduler_delay and uncertainty_delay.
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions