41 OUProcess(
double initialState,
double timeScale,
double noiseIntensity);
48 static double step(
double state,
double dt,
double timeScale,
double noiseIntensity);
Provides an interface to an error whose fluctuation is controlled via the driver's 'awareness',...
double getPerceivedSpeedDifference(const double trueSpeedDifference, const double trueGap, const void *objID=nullptr)
This method checks whether the errorneous speed difference that would be perceived for this step diff...
double getSpeedDifferenceChangePerceptionThreshold() const
double getErrorTimeScaleCoefficient() const
double getErrorNoiseIntensity() const
double myMinAwareness
Minimal value for 'awareness' \in [0,1].
double myHeadwayErrorCoefficient
void setErrorTimeScale(const double value)
double myHeadwayChangePerceptionThreshold
Thresholds above a change in the corresponding quantity is perceived.
double getHeadwayErrorCoefficient() const
OUProcess myError
Driver's 'error',.
double getOriginalReactionTime() const
double myActionStepLength
Action step length (~current maximal reaction time) induced by awareness level.
double getInitialAwareness() const
double myErrorNoiseIntensityCoefficient
Coefficient controlling the impact of awareness on the noise intensity of the error process.
double getPerceivedHeadway(const double trueGap, const void *objID=nullptr)
void setErrorTimeScaleCoefficient(const double value)
double myInitialAwareness
Initial value for 'awareness' \in [0,1].
void setSpeedDifferenceChangePerceptionThreshold(const double value)
double getMaximalReactionTime() const
double getErrorState() const
double myAwareness
Driver's 'awareness' \in [0,1].
double mySpeedDifferenceErrorCoefficient
Scaling coefficients for the magnitude of errors.
double getPerceivedOwnSpeed(double speed)
apply perception error to own speed
double myMaximalReactionTime
Maximal reaction time (value set for the actionStepLength at awareness=myMinAwareness)
void setMinAwareness(const double value)
double getMinAwareness() const
void setHeadwayChangePerceptionThreshold(const double value)
void setInitialAwareness(const double value)
double getErrorTimeScale() const
void setSpeedDifferenceErrorCoefficient(const double value)
void updateReactionTime()
std::map< const void *, double > myAssumedGap
The assumed gaps to different objects.
double getActionStepLength() const
void setOriginalReactionTime(const double value)
void setHeadwayErrorCoefficient(const double value)
void updateStepDuration()
double getErrorNoiseIntensityCoefficient() const
MSVehicle * myVehicle
Vehicle corresponding to this driver state.
double myFreeSpeedErrorCoefficient
void setMaximalReactionTime(const double value)
double getSpeedDifferenceErrorCoefficient() const
void setErrorState(const double state)
double myOriginalReactionTime
Maximal reaction time (value set for the actionStepLength at awareness=1)
void setErrorNoiseIntensityCoefficient(const double value)
void setAwareness(const double value)
void update()
Trigger updates for the errorProcess, assumed gaps, etc.
std::map< const void *, double > myLastPerceivedSpeedDifference
The last perceived speed differences to the corresponding objects.
void setErrorNoiseIntensity(const double value)
void updateAssumedGaps()
Update the assumed gaps to the known objects according to the corresponding perceived speed differenc...
double mySpeedDifferenceChangePerceptionThreshold
double getFreeSpeedErrorCoefficient() const
double getHeadwayChangePerceptionThreshold() const
virtual ~MSSimpleDriverState()
double getAwareness() const
double myErrorTimeScaleCoefficient
Coefficient controlling the impact of awareness on the time scale of the error process.
bool myDebugLock
Used to prevent infinite loops in debugging outputs,.
void setFreeSpeedErrorCoefficient(const double value)
double myLastUpdateTime
Time point of the last state update.
Representation of a vehicle in the micro simulation.
An Ornstein-Uhlenbeck stochastic process.
double getState() const
Obtain the current state of the process.
double getTimeScale() const
static SumoRNG myRNG
Random generator for OUProcesses.
void setTimeScale(double timeScale)
set the process' timescale to a new value
double myState
The current state of the process.
double myTimeScale
The time scale of the process.
double getNoiseIntensity() const
double myNoiseIntensity
The noise intensity of the process.
void step(double dt)
evolve for a time step of length dt.
static SumoRNG * getRNG()
void setNoiseIntensity(double noiseIntensity)
set the process' noise intensity to a new value
void setState(double state)
set the process' state to a new value
Default values for the MSDriverState parameters.
static double speedDifferenceChangePerceptionThreshold
static double headwayChangePerceptionThreshold
static double initialAwareness
static double maximalReactionTimeFactor
static double minAwareness
static double freeSpeedErrorCoefficient
static double headwayErrorCoefficient
static double errorTimeScaleCoefficient
static double errorNoiseIntensityCoefficient
static double speedDifferenceErrorCoefficient