![]() |
SUMO - Simulation of Urban MObility
|
Class for low-level platoon policy. More...
#include <MSSOTLPlatoonPolicy.h>
Public Member Functions | |
bool | canRelease (SUMOTime elapsed, bool thresholdPassed, bool pushButtonPressed, const MSPhaseDefinition *stage, int vehicleCount) |
void | clearParameter () |
Clears the parameter map. More... | |
double | computeDesirability (double vehInMeasure, double vehOutMeasure, double vehInDispersionMeasure, double vehOutDispersionMeasure) |
Computes the desirability of this policy, necessary when used in combination with an high level policy. More... | |
double | computeDesirability (double vehInMeasure, double vehOutMeasure) |
virtual int | decideNextPhase (SUMOTime elapsed, const MSPhaseDefinition *stage, int currentPhaseIndex, int phaseMaxCTS, bool thresholdPassed, bool pushButtonPressed, int vehicleCount) |
MSSOTLPolicyDesirability * | getDesirabilityAlgorithm () |
double | getDouble (const std::string &key, const double defaultValue) const |
Returns the value for a given key converted to a double. More... | |
const std::map< std::string, std::string > & | getMap () const |
Returns the inner key/value map. More... | |
std::string | getName () |
const std::string | getParameter (const std::string &key, const std::string &defaultValue="") const |
Returns the value for a given key. More... | |
virtual double | getThetaSensitivity () |
bool | knowsParameter (const std::string &key) const |
Returns whether the parameter is known. More... | |
MSSOTLPlatoonPolicy (const std::map< std::string, std::string > ¶meters) | |
MSSOTLPlatoonPolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm) | |
MSSOTLPlatoonPolicy (MSSOTLPolicyDesirability *desirabilityAlgorithm, const std::map< std::string, std::string > ¶meters) | |
void | setParameter (const std::string &key, const std::string &value) |
Sets a parameter. More... | |
virtual void | setThetaSensitivity (double val) |
void | unsetParameter (const std::string &key) |
Removes a parameter. More... | |
void | updateParameter (const std::map< std::string, std::string > &mapArg) |
Adds or updates all given parameters from the map. More... | |
void | writeParams (OutputDevice &out) const |
Protected Member Functions | |
void | init (std::string prefix, const Parameterised *parameterised) |
void | init () |
void | init (std::string prefix, const Parameterised *parameterised) |
bool | pushButtonLogic (SUMOTime elapsed, bool pushButtonPressed, const MSPhaseDefinition *stage) |
bool | sigmoidLogic (SUMOTime elapsed, const MSPhaseDefinition *stage, int vehicleCount) |
Protected Attributes | |
double | m_k |
std::string | m_prefix |
std::string | m_prefix |
double | m_pushButtonScaleFactor |
bool | m_useSigmoid |
Class for low-level platoon policy.
Definition at line 42 of file MSSOTLPlatoonPolicy.h.
MSSOTLPlatoonPolicy::MSSOTLPlatoonPolicy | ( | const std::map< std::string, std::string > & | parameters | ) |
Definition at line 24 of file MSSOTLPlatoonPolicy.cpp.
References init().
MSSOTLPlatoonPolicy::MSSOTLPlatoonPolicy | ( | MSSOTLPolicyDesirability * | desirabilityAlgorithm | ) |
Definition at line 29 of file MSSOTLPlatoonPolicy.cpp.
References MSSOTLPolicy::getDesirabilityAlgorithm(), init(), and MSSOTLPolicyDesirability::setKeyPrefix().
MSSOTLPlatoonPolicy::MSSOTLPlatoonPolicy | ( | MSSOTLPolicyDesirability * | desirabilityAlgorithm, |
const std::map< std::string, std::string > & | parameters | ||
) |
Definition at line 35 of file MSSOTLPlatoonPolicy.cpp.
References MSSOTLPolicy::getDesirabilityAlgorithm(), init(), and MSSOTLPolicyDesirability::setKeyPrefix().
|
virtual |
Implements MSSOTLPolicy.
Definition at line 42 of file MSSOTLPlatoonPolicy.cpp.
References DBG, MSPhaseDefinition::maxDuration, MSPhaseDefinition::minDuration, PushButtonLogic::pushButtonLogic(), SigmoidLogic::sigmoidLogic(), and WRITE_MESSAGE.
|
inherited |
Clears the parameter map.
Definition at line 97 of file Parameterised.cpp.
References Parameterised::myMap.
|
inherited |
Computes the desirability of this policy, necessary when used in combination with an high level policy.
Definition at line 105 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, MSSOTLPolicy::getName(), MSSOTLPolicy::myDesirabilityAlgorithm, and WRITE_MESSAGE.
|
inherited |
Definition at line 114 of file MSSOTLPolicy.cpp.
References MSSOTLPolicyDesirability::computeDesirability(), DBG, MSSOTLPolicy::getName(), MSSOTLPolicy::myDesirabilityAlgorithm, and WRITE_MESSAGE.
|
virtualinherited |
Reimplemented in MSSOTLCongestionPolicy.
Definition at line 123 of file MSSOTLPolicy.cpp.
References MSSOTLPolicy::canRelease(), DBG, MSPhaseDefinition::isCommit(), MSPhaseDefinition::isDecisional(), MSPhaseDefinition::isTransient(), time2string(), and WRITE_MESSAGE.
Referenced by MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), and MSSwarmTrafficLightLogic::decideNextPhase().
|
inlineinherited |
Definition at line 127 of file MSSOTLPolicy.h.
Referenced by MSSOTLCongestionPolicy::MSSOTLCongestionPolicy(), MSSOTLMarchingPolicy::MSSOTLMarchingPolicy(), MSSOTLPhasePolicy::MSSOTLPhasePolicy(), MSSOTLPlatoonPolicy(), MSSOTLRequestPolicy::MSSOTLRequestPolicy(), and MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic().
|
inherited |
Returns the value for a given key converted to a double.
[in] | key | The key to ask for |
[in] | defaultValue | The default value to return if no value is stored under the key |
Definition at line 87 of file Parameterised.cpp.
References TplConvert::_2double(), and Parameterised::myMap.
Referenced by MSDevice_Battery::buildVehicleDevices().
|
inlineinherited |
Returns the inner key/value map.
Definition at line 117 of file Parameterised.h.
References Parameterised::myMap, and Parameterised::writeParams().
Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), GUIParameterTableWindow::closeBuilding(), NBTrafficLightDefinition::compute(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIPolygon::getParameterWindow(), GUIJunctionWrapper::getParameterWindow(), GUIPointOfInterest::getParameterWindow(), GUIContainer::getTypeParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), NIImporter_OpenStreetMap::insertEdge(), GUIParameterTableWindow::numParams(), TraCIServerAPI_TrafficLight::processGet(), and ROPerson::saveAsXML().
|
inlineinherited |
Definition at line 124 of file MSSOTLPolicy.h.
Referenced by MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicy::computeDesirability(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), and MSSwarmTrafficLightLogic::updateSensitivities().
|
inherited |
Returns the value for a given key.
[in] | key | The key to ask for |
[in] | defaultValue | The default value to return if no value is stored under the key |
Definition at line 77 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), NBEdge::addRestrictedLane(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLRequestTrafficLightLogic::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Edge::getParameter(), libsumo::Polygon::getParameter(), libsumo::Route::getParameter(), libsumo::POI::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Person::getParameter(), libsumo::Lane::getParameter(), libsumo::Vehicle::getParameter(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NIImporter_OpenStreetMap::insertEdge(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), libsumo::Helper::moveToXYMap(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), MSSOTLPolicyDesirability::readParameter(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), MSDevice_SSM::useGeoCoords(), and NWWriter_DlrNavteq::writeLinksUnsplitted().
|
inlinevirtualinherited |
Definition at line 118 of file MSSOTLPolicy.h.
Referenced by MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), and MSSwarmTrafficLightLogic::updateSensitivities().
|
protectedinherited |
Definition at line 27 of file MSSOTLPolicy.cpp.
References TplConvert::_2double(), Parameterised::getParameter(), PushButtonLogic::m_prefix, PushButtonLogic::m_pushButtonScaleFactor, and WRITE_MESSAGE.
Referenced by MSSOTLPhasePolicy::init(), MSSOTLMarchingPolicy::init(), and init().
|
protectedvirtual |
Reimplemented from MSSOTLPolicy.
Definition at line 68 of file MSSOTLPlatoonPolicy.cpp.
References PushButtonLogic::init(), and SigmoidLogic::init().
Referenced by MSSOTLPlatoonPolicy().
|
protectedinherited |
Definition at line 47 of file MSSOTLPolicy.cpp.
References TplConvert::_2double(), Parameterised::getParameter(), PushButtonLogic::m_prefix, and WRITE_MESSAGE.
Referenced by MSSOTLPhasePolicy::init(), and init().
|
inherited |
Returns whether the parameter is known.
[in] | key | The key to ask for |
Definition at line 71 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NBEdge::append(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), NWWriter_DlrNavteq::getBrunnelType(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_SSM::getOutputFilename(), MSTriggeredRerouter::getWeight(), MSDevice_SSM::requestsTrajectories(), and MSDevice_SSM::useGeoCoords().
|
protectedinherited |
Definition at line 33 of file MSSOTLPolicy.cpp.
References MSPhaseDefinition::duration, PushButtonLogic::m_prefix, PushButtonLogic::m_pushButtonScaleFactor, and WRITE_MESSAGE.
Referenced by MSSOTLPhasePolicy::canRelease(), MSSOTLMarchingPolicy::canRelease(), and canRelease().
|
inherited |
Sets a parameter.
[in] | key | The parameter's name |
[in] | value | The parameter's value |
Definition at line 51 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by SUMORouteHandler::addParam(), NLHandler::addParam(), ShapeHandler::addPOI(), NBEdge::Lane::Lane(), NIImporter_OpenDrive::loadNetwork(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), ShapeHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), NBNodeCont::remapIDs(), libsumo::Edge::setParameter(), libsumo::Route::setParameter(), libsumo::Polygon::setParameter(), libsumo::POI::setParameter(), libsumo::TrafficLight::setParameter(), and libsumo::Lane::setParameter().
|
inlinevirtualinherited |
Definition at line 121 of file MSSOTLPolicy.h.
Referenced by MSSwarmTrafficLightLogic::updateSensitivities().
|
protectedinherited |
Definition at line 63 of file MSSOTLPolicy.cpp.
References MSPhaseDefinition::duration, PushButtonLogic::m_prefix, RandHelper::rand(), and WRITE_MESSAGE.
Referenced by MSSOTLPhasePolicy::canRelease(), and canRelease().
|
inherited |
Removes a parameter.
[in] | key | The parameter's name |
Definition at line 57 of file Parameterised.cpp.
References Parameterised::myMap.
|
inherited |
Adds or updates all given parameters from the map.
[in] | mapArg | The keys/values to insert |
Definition at line 63 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_SUMO::_loadNetwork(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLJunctionControlBuilder::closeJunction(), NBTrafficLightDefinition::compute(), and NIImporter_OpenStreetMap::insertEdge().
|
inherited |
Definition at line 102 of file Parameterised.cpp.
References OutputDevice::closeTag(), StringUtils::escapeXML(), Parameterised::myMap, OutputDevice::openTag(), SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_PARAM, and OutputDevice::writeAttr().
Referenced by Parameterised::getMap(), ROVehicle::saveAsXML(), MEVehicle::saveState(), MSVehicle::saveState(), SUMOVTypeParameter::write(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeJunction(), NWWriter_SUMO::writeLane(), NWWriter_XML::writeNodes(), MSDevice_Vehroutes::writeOutput(), SUMOPolygon::writeXML(), and PointOfInterest::writeXML().
|
protectedinherited |
Definition at line 62 of file MSSOTLPolicy.h.
|
protectedinherited |
Definition at line 52 of file MSSOTLPolicy.h.
Referenced by PushButtonLogic::init(), SigmoidLogic::init(), PushButtonLogic::pushButtonLogic(), and SigmoidLogic::sigmoidLogic().
|
protectedinherited |
Definition at line 63 of file MSSOTLPolicy.h.
|
protectedinherited |
Definition at line 51 of file MSSOTLPolicy.h.
Referenced by PushButtonLogic::init(), and PushButtonLogic::pushButtonLogic().
|
protectedinherited |
Definition at line 61 of file MSSOTLPolicy.h.