SecondaryConflictAwareResolutionPlanner

class SecondaryConflictAwareResolutionPlanner(safetyReasoner: SafetyReasoner, aircraftMover: AircraftMover = AircraftMover(), maneuverApplier: ManeuverApplier = ManeuverApplier(), predictionHorizonTicks: Int = 8, conflictDetector: ConflictDetector = ConflictDetector( aircraftMover = aircraftMover, safetyReasoner = safetyReasoner, )) : ResolutionPlanner(source)

Resolution planner that prevents secondary conflicts through forward simulation.

Candidate maneuvers are checked by the symbolic reasoner and then simulated over a short horizon. A maneuver is accepted only if it does not introduce new conflicts.

Constructors

Link copied to clipboard
constructor(safetyReasoner: SafetyReasoner, aircraftMover: AircraftMover = AircraftMover(), maneuverApplier: ManeuverApplier = ManeuverApplier(), predictionHorizonTicks: Int = 8, conflictDetector: ConflictDetector = ConflictDetector( aircraftMover = aircraftMover, safetyReasoner = safetyReasoner, ))

Functions

Link copied to clipboard
open override fun planResolution(conflict: Conflict, state: SimulationState): ResolutionPlan?