 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
22 #ifndef MSDriverState_h
23 #define MSDriverState_h
43 OUProcess(
double initialState,
double timeScale,
double noiseIntensity);
677 struct DriverStateDefaults {
698 static double minAwareness;
699 static double initialAwareness;
700 static double errorTimeScaleCoefficient;
701 static double errorNoiseIntensityCoefficient;
702 static double speedDifferenceErrorCoefficient;
703 static double speedDifferenceChangePerceptionThreshold;
704 static double headwayChangePerceptionThreshold;
705 static double headwayErrorCoefficient;
706 static double maximalReactionTimeFactor;
double myTimeScale
The time scale of the process.
void step(double dt)
evolve for a time step of length dt.
double myState
The current state of the process.
double getHeadwayErrorCoefficient() const
double getSpeedDifferenceErrorCoefficient() const
double myOriginalReactionTime
Maximal reaction time (value set for the actionStepLength at awareness=1)
void setSpeedDifferenceErrorCoefficient(const double value)
void setState(double state)
set the process' state to a new value
OUProcess myError
Driver's 'error',.
double mySpeedDifferenceChangePerceptionThreshold
double myInitialAwareness
Initial value for 'awareness' \in [0,1].
double myMaximalReactionTime
Maximal reaction time (value set for the actionStepLength at awareness=myMinAwareness)
Provides an interface to an error whose fluctuation is controlled via the driver's 'awareness',...
double getErrorTimeScale() const
void setErrorState(const double state)
OUProcess(double initialState, double timeScale, double noiseIntensity)
constructor
double myHeadwayErrorCoefficient
double getState() const
Obtain the current state of the process.
double myNoiseIntensity
The noise intensity of the process.
double getHeadwayChangePerceptionThreshold() const
An Ornstein-Uhlenbeck stochastic process.
double myMinAwareness
Minimal value for 'awareness' \in [0,1].
virtual ~MSSimpleDriverState()
void setErrorNoiseIntensity(const double value)
double mySpeedDifferenceErrorCoefficient
Scaling coefficients for the magnitude of errors.
double getMinAwareness() const
std::map< const void *, double > myLastPerceivedSpeedDifference
The last perceived speed differences to the corresponding objects.
void updateReactionTime()
double getOriginalReactionTime() const
bool myDebugLock
Used to prevent infinite loops in debugging outputs,.
void setHeadwayErrorCoefficient(const double value)
void updateStepDuration()
double myHeadwayChangePerceptionThreshold
Thresholds above a change in the corresponding quantity is perceived.
double myActionStepLength
Action step length (~current maximal reaction time) induced by awareness level.
void update()
Trigger updates for the errorProcess, assumed gaps, etc.
double getTimeScale() const
MSVehicle * myVehicle
Vehicle corresponding to this driver state.
double getPerceivedHeadway(const double trueGap, const void *objID=nullptr)
void setMaximalReactionTime(const double value)
void setErrorNoiseIntensityCoefficient(const double value)
double getActionStepLength() const
void setErrorTimeScaleCoefficient(const double value)
void setAwareness(const double value)
void setHeadwayChangePerceptionThreshold(const double value)
double getErrorState() const
MSSimpleDriverState(MSVehicle *veh)
void setOriginalReactionTime(const double value)
double getNoiseIntensity() const
void updateAssumedGaps()
Update the assumed gaps to the known objects according to the corresponding perceived speed differenc...
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...
static std::mt19937 myRNG
Random generator for OUProcesses.
double getSpeedDifferenceChangePerceptionThreshold() const
std::map< const void *, double > myAssumedGap
The assumed gaps to different objects.
static std::mt19937 * getRNG()
double getErrorNoiseIntensityCoefficient() const
double myLastUpdateTime
Time point of the last state update.
double getErrorNoiseIntensity() const
void setInitialAwareness(const double value)
double myAwareness
Driver's 'awareness' \in [0,1].
double myErrorNoiseIntensityCoefficient
Coefficient controlling the impact of awareness on the noise intensity of the error process.
void setErrorTimeScale(const double value)
double getAwareness() const
double myErrorTimeScaleCoefficient
Coefficient controlling the impact of awareness on the time scale of the error process.
void setSpeedDifferenceChangePerceptionThreshold(const double value)
double getInitialAwareness() const
void setNoiseIntensity(double noiseIntensity)
set the process' noise intensity to a new value
double getMaximalReactionTime() const
void setTimeScale(double timeScale)
set the process' timescale to a new value
void setMinAwareness(const double value)
double getErrorTimeScaleCoefficient() const
Representation of a vehicle in the micro simulation.