Class Fuller
java.lang.Object
org.opentrafficsim.road.gtu.lane.perception.mental.Fuller
- All Implemented Interfaces:
Mental
public class Fuller extends java.lang.Object implements Mental
Task-capability interface in accordance to Fuller (2011). Task demand is the sum of demands described by individual
Task
s. 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 BehavioralAdaptation
s 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-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Version:
- $Revision$, $LastChangedDate$, by $Author$, initial version 3 apr. 2018
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
Fuller.BehavioralAdaptation
Behavioral adaptation by changing parameter values. -
Field Summary
Fields Modifier and Type Field Description static ParameterTypeDouble
TC
Task capability in nominal task capability units, i.e.static ParameterTypeDouble
TS
Task saturation.static ParameterTypeDouble
TS_CRIT
Critical task saturation.static ParameterTypeDouble
TS_MAX
Maximum task saturation, pertaining to maximum deterioration. -
Constructor Summary
Constructors Constructor Description Fuller(java.util.Set<? extends Task> tasks, java.util.Set<Fuller.BehavioralAdaptation> behavioralAdapatations)
Constructor with custom situational awareness.Fuller(java.util.Set<? extends Task> tasks, java.util.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
getAnticipationReliance(java.lang.String taskId)
Returns the anticipation reliance of the given task id.double
getTaskDemand(java.lang.String taskId)
Returns the demand of the given task id.ImmutableSet<Task>
getTasks()
Returns the tasks.void
removeTask(Task task)
Removes a task.java.lang.String
toString()
-
Field Details
-
Constructor Details
-
Fuller
public Fuller(java.util.Set<? extends Task> tasks, java.util.Set<Fuller.BehavioralAdaptation> behavioralAdapatations)Constructor with custom situational awareness.- Parameters:
tasks
- Set<? extends Task>; tasksbehavioralAdapatations
- Set<BehavioralAdaptation>; behavioralAdapatations
-
Fuller
public Fuller(java.util.Set<? extends Task> tasks, java.util.Set<Fuller.BehavioralAdaptation> behavioralAdapatations, TaskManager taskManager)Constructor with custom situational awareness.- Parameters:
tasks
- Set<? extends Task>; tasksbehavioralAdapatations
- Set<BehavioralAdaptation>; behavioralAdapatationstaskManager
- TaskManager; task manager
-
-
Method Details
-
addTask
Adds a task.- Parameters:
task
- Task; task to add
-
removeTask
Removes a task.- Parameters:
task
- Task; task to remove
-
getTasks
Returns the tasks.- Returns:
- ImmutableSet<Task> tasks
-
apply
Apply mental model on perception.- Specified by:
apply
in interfaceMental
- Parameters:
perception
- LanePerception; perception- Throws:
ParameterException
- if a parameter is missing or out of boundsGTUException
- exceptions pertaining to the GTU
-
getAnticipationReliance
public double getAnticipationReliance(java.lang.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(java.lang.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 java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-