java.lang.Object
org.opentrafficsim.road.gtu.lane.perception.mental.Fuller
All Implemented Interfaces:
Mental

public class Fuller extends Object implements Mental
Task-capability interface in accordance to Fuller (2011). Task demand is the sum of demands described by individual Tasks. These take exogenous information to describe the workload in fundamental relations. Task demand is divided by task capability to arrive at a task saturation. Task saturation is input to BehavioralAdaptations which alter parameters describing personal traits, such as desired headway and desired speed. In this way, task demand is kept at an equilibrium as described by Fuller.

A BehavioralAdaptation may also determine what the level of situational awareness is, which includes determining reaction time. Both situational awareness and reaction time parameters can be used in perception to model deteriorated perception due to a task demand imbalance.

Fuller, R., Driver control theory: From task difficulty homeostasis to risk allostasis, in Handbook of Traffic Psychology. 2011. p. 13-26

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

Author:
Alexander Verbraeck, Peter Knoppers, Wouter Schakel
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
    Behavioral adaptation by changing parameter values.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.opentrafficsim.base.parameters.ParameterTypeDouble
    Task capability in nominal task capability units, i.e. mean is 1.
    static final org.opentrafficsim.base.parameters.ParameterTypeDouble
    Task saturation.
    static final org.opentrafficsim.base.parameters.ParameterTypeDouble
    Critical task saturation.
    static final org.opentrafficsim.base.parameters.ParameterTypeDouble
    Maximum task saturation, pertaining to maximum deterioration.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Fuller(Set<? extends Task> tasks, Set<Fuller.BehavioralAdaptation> behavioralAdapatations)
    Constructor with custom situational awareness.
    Fuller(Set<? extends Task> tasks, Set<Fuller.BehavioralAdaptation> behavioralAdapatations, TaskManager taskManager)
    Constructor with custom situational awareness.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addTask(Task task)
    Adds a task.
    void
    apply(LanePerception perception)
    Apply mental model on perception.
    double
    Returns the anticipation reliance of the given task id.
    double
    Returns the demand of the given task id.
    org.djutils.immutablecollections.ImmutableSet<Task>
    Returns the tasks.
    void
    Removes a task.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • TC

      public static final org.opentrafficsim.base.parameters.ParameterTypeDouble TC
      Task capability in nominal task capability units, i.e. mean is 1.
    • TS_CRIT

      public static final org.opentrafficsim.base.parameters.ParameterTypeDouble TS_CRIT
      Critical task saturation.
    • TS_MAX

      public static final org.opentrafficsim.base.parameters.ParameterTypeDouble TS_MAX
      Maximum task saturation, pertaining to maximum deterioration.
    • TS

      public static final org.opentrafficsim.base.parameters.ParameterTypeDouble TS
      Task saturation.
  • Constructor Details

    • Fuller

      public Fuller(Set<? extends Task> tasks, Set<Fuller.BehavioralAdaptation> behavioralAdapatations)
      Constructor with custom situational awareness.
      Parameters:
      tasks - Set<? extends Task>; tasks
      behavioralAdapatations - Set<BehavioralAdaptation>; behavioralAdapatations
    • Fuller

      public Fuller(Set<? extends Task> tasks, Set<Fuller.BehavioralAdaptation> behavioralAdapatations, TaskManager taskManager)
      Constructor with custom situational awareness.
      Parameters:
      tasks - Set<? extends Task>; tasks
      behavioralAdapatations - Set<BehavioralAdaptation>; behavioralAdapatations
      taskManager - TaskManager; task manager
  • Method Details

    • addTask

      public void addTask(Task task)
      Adds a task.
      Parameters:
      task - Task; task to add
    • removeTask

      public void removeTask(Task task)
      Removes a task.
      Parameters:
      task - Task; task to remove
    • getTasks

      public org.djutils.immutablecollections.ImmutableSet<Task> getTasks()
      Returns the tasks.
      Returns:
      ImmutableSet<Task> tasks
    • apply

      public void apply(LanePerception perception) throws org.opentrafficsim.base.parameters.ParameterException, GtuException
      Apply mental model on perception.
      Specified by:
      apply in interface Mental
      Parameters:
      perception - LanePerception; perception
      Throws:
      org.opentrafficsim.base.parameters.ParameterException - if a parameter is missing or out of bounds
      GtuException - exceptions pertaining to the GTU
    • getAnticipationReliance

      public double getAnticipationReliance(String taskId)
      Returns the anticipation reliance of the given task id.
      Parameters:
      taskId - taskId; task id to return the anticipation reliance for.
      Returns:
      double; anticipation reliance of given task id, NaN if not present
    • getTaskDemand

      public double getTaskDemand(String taskId)
      Returns the demand of the given task id.
      Parameters:
      taskId - taskId; task id to return the demand for.
      Returns:
      double; demand of given task id, NaN if not present
    • toString

      public String toString()
      Overrides:
      toString in class Object