Class ChannelTaskIntersection

java.lang.Object
org.opentrafficsim.road.gtu.perception.mental.AbstractTask
org.opentrafficsim.road.gtu.perception.mental.channel.ChannelTaskIntersection
All Implemented Interfaces:
Identifiable, ChannelTask, Task

public class ChannelTaskIntersection extends AbstractTask implements ChannelTask
Task demand due to intersection, including conflicts. This class implements the task demand model by Yiyun et al. (2026). This defines the task demand as:

TD = b * exp(x / Beta_yl) + c * exp(TTCP / Beta_con)

where x is the distance to the yield line and TTCP is the time-to-conflict-point of the nearest (least TTCP) conflicting vehicle.

This class extents this model to perception with channels. A channel is added for each group of conflicts. A group of conflicts is formed if there is any overlap of their upstream nodes within x0. This upstream search branches at merges but stops at splits.

For each channel i, task demand is determined as:

TDi = Fi * b * exp(x / Beta_yl) + c * exp(TTCPi / Beta_con)

Here, Fi is the factor of the first component that assigns some of the yield line related task demand to channel i. This factor is the results of a weighted average, where each weight is defined as:

Wi = 1 + c * exp(TTCPi / Beta_con)

This equation captures a balance between uniform attention distribution, and attention being given only to the most critical channel. Finally, TTCPi is the least TTCP of all conflicting vehicles upstream of conflicts in the group of channel i.

Copyright (c) 2026-2026 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

Author:
Wouter Schakel
  • Field Details

  • Constructor Details

    • ChannelTaskIntersection

      protected ChannelTaskIntersection(LaneBasedGtu gtu, DistancedObject<Conflict> first, SortedSet<DistancedObject<Conflict>> conflicts, org.opentrafficsim.road.gtu.perception.mental.channel.ChannelTaskIntersection.IntersectionTaskGroup intersectionTaskGroup)
      Constructor.
      Parameters:
      gtu - GTU
      first - first conflict in the intersection
      conflicts - conflicts in the group
      intersectionTaskGroup - group of all instantaneous intersection tasks
  • Method Details

    • getChannel

      public Object getChannel()
      Description copied from interface: ChannelTask
      Return the channel this task pertains to.
      Specified by:
      getChannel in interface ChannelTask
      Returns:
      channel this task pertains to.
    • calculateTaskDemand

      public double calculateTaskDemand(LanePerception perception)
      Description copied from class: AbstractTask
      Calculates the task demand.
      Specified by:
      calculateTaskDemand in class AbstractTask
      Parameters:
      perception - perception
      Returns:
      task demand