Class ChannelTaskIntersection
- All Implemented Interfaces:
Identifiable,ChannelTask,Task
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 Summary
FieldsModifier and TypeFieldDescriptionstatic final ParameterTypeDurationConflicting vehicle decay parameter.static final ParameterTypeLengthEgo decay parameter for distance to the yield line.static final ParameterTypeLengthLook-ahead distance.static final Function<LanePerception,Set<ChannelTask>> Standard supplier that supplies a task per grouped set of conflicts based on common upstream nodes.static final ParameterTypeDoubleMaximum ego task demand.static final ParameterTypeDoubleMaximum task demand due to conflicting vehicle.Fields inherited from interface org.opentrafficsim.road.gtu.perception.mental.channel.ChannelTask
FRONT, IN_VEHICLE, LEFT, REAR, RIGHT -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedChannelTaskIntersection(LaneBasedGtu gtu, DistancedObject<Conflict> first, SortedSet<DistancedObject<Conflict>> conflicts, org.opentrafficsim.road.gtu.perception.mental.channel.ChannelTaskIntersection.IntersectionTaskGroup intersectionTaskGroup) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiondoublecalculateTaskDemand(LanePerception perception) Calculates the task demand.Return the channel this task pertains to.Methods inherited from class org.opentrafficsim.road.gtu.perception.mental.AbstractTask
getId, getTaskDemand, getTaskDemandMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.djutils.base.Identifiable
getIdMethods inherited from interface org.opentrafficsim.road.gtu.perception.mental.Task
getTaskDemand, getTaskDemand
-
Field Details
-
LOOKAHEAD
Look-ahead distance. -
TD_B
Maximum ego task demand. -
BETA_YL
Ego decay parameter for distance to the yield line. -
TD_C
Maximum task demand due to conflicting vehicle. -
BETA_CON
Conflicting vehicle decay parameter. -
SUPPLIER
Standard supplier that supplies a task per grouped set of conflicts based on common upstream nodes.
-
-
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- GTUfirst- first conflict in the intersectionconflicts- conflicts in the groupintersectionTaskGroup- group of all instantaneous intersection tasks
-
-
Method Details
-
getChannel
Description copied from interface:ChannelTaskReturn the channel this task pertains to.- Specified by:
getChannelin interfaceChannelTask- Returns:
- channel this task pertains to.
-
calculateTaskDemand
Description copied from class:AbstractTaskCalculates the task demand.- Specified by:
calculateTaskDemandin classAbstractTask- Parameters:
perception- perception- Returns:
- task demand
-