ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::view::ConflictZone Class Reference

#include <conflictset.h>

Inheritance diagram for adore::view::ConflictZone:
Inheritance graph
Collaboration diagram for adore::view::ConflictZone:
Collaboration graph

Public Member Functions

 ConflictZone ()
 
double getStartProgress () const
 
double getEndProgress () const
 
bool hasEndProgress () const
 
double getWaitingPosition () const
 
bool hasPriority () const
 
TrafficQueuegetCrossTraffic ()
 
const LimitLinegetLimitLine () const
 
void setStartProgress (double value)
 
void setEndProgress (double value)
 
void setHasEndProgress (bool value)
 
void setWaitingPosition (double value)
 
void setPriority (bool value)
 
void setCrossTraffic (TrafficQueue &trafficqueue)
 
void setLimitLine (LimitLine &limitline)
 

Private Attributes

double startProgress_
 
double endProgress_
 
bool hasEndProgress_
 
double waitingPosition_
 
bool hasPriority_
 
TrafficQueue crossTraffic_
 
LimitLine limitLine_
 

Detailed Description

ConflictZone - area of overlapping lanes, where the lane containing the conflict zone has lower priority than other lanes. A conflict zone may not be entered by AV at the same time as higher-priority cross traffic will enter the zone. A conflict zone is an abstraction for conflicts occuring at lane merges, roundabouts, pedestrian/zebra crossings, crossings with yield sign, etc.

Constructor & Destructor Documentation

◆ ConflictZone()

adore::view::ConflictZone::ConflictZone ( )
inline
Here is the call graph for this function:

Member Function Documentation

◆ getCrossTraffic()

TrafficQueue* adore::view::ConflictZone::getCrossTraffic ( )
inline

◆ getEndProgress()

double adore::view::ConflictZone::getEndProgress ( ) const
inline

getEndProgress - returns progress at which conflict zone ends.

◆ getLimitLine()

const LimitLine& adore::view::ConflictZone::getLimitLine ( ) const
inline

getLimitLine - returns the associated limit line information.

◆ getStartProgress()

double adore::view::ConflictZone::getStartProgress ( ) const
inline

getStartProgress - returns progress at which conflict zone starts

◆ getWaitingPosition()

double adore::view::ConflictZone::getWaitingPosition ( ) const
inline

getWaitingPosition - returns progress where AV has to wait, if it cannot enter conflict zone.

◆ hasEndProgress()

bool adore::view::ConflictZone::hasEndProgress ( ) const
inline

hasEndProgress - returns false, if the conflict zone is unbounded, e.g. in case of a lane merge

◆ hasPriority()

bool adore::view::ConflictZone::hasPriority ( ) const
inline

hasPriority - returns true, if objects in traffic que have priority

Here is the caller graph for this function:

◆ setCrossTraffic()

void adore::view::ConflictZone::setCrossTraffic ( TrafficQueue trafficqueue)
inline

◆ setEndProgress()

void adore::view::ConflictZone::setEndProgress ( double  value)
inline
Here is the caller graph for this function:

◆ setHasEndProgress()

void adore::view::ConflictZone::setHasEndProgress ( bool  value)
inline
Here is the caller graph for this function:

◆ setLimitLine()

void adore::view::ConflictZone::setLimitLine ( LimitLine limitline)
inline

◆ setPriority()

void adore::view::ConflictZone::setPriority ( bool  value)
inline

setPriority - sets the hasPriority_ member

Parameters
valuetrue, if objects in crossTraffic_ have priority over ego vehicle
Here is the caller graph for this function:

◆ setStartProgress()

void adore::view::ConflictZone::setStartProgress ( double  value)
inline
Here is the caller graph for this function:

◆ setWaitingPosition()

void adore::view::ConflictZone::setWaitingPosition ( double  value)
inline
Here is the caller graph for this function:

Member Data Documentation

◆ crossTraffic_

TrafficQueue adore::view::ConflictZone::crossTraffic_
private

TrafficQueue of objects approaching and leaving conflict zone. TrafficObject with currentProgress<entranceProgress approaches conflict zone. TrafficObject with entranceProgress<currentProgress<exitProgress is located inside conflict zone. TrafficOjbect with exitProgress<currentProgress has passed along conflict zone

◆ endProgress_

double adore::view::ConflictZone::endProgress_
private

Progress along ALane at which ConflictZone ends

◆ hasEndProgress_

bool adore::view::ConflictZone::hasEndProgress_
private

Determines whether the ConflictZone has an immediate end. Conflict zone at an X crossing ends after crossing the conflicting lane. Conflict zone at a Y crossing (merging of two lanes) extends indefinitely.

◆ hasPriority_

bool adore::view::ConflictZone::hasPriority_
private

true, if traffic objects in crossTraffic_ have right of way

◆ limitLine_

LimitLine adore::view::ConflictZone::limitLine_
private

LimitLine associated with ConflictZone.

◆ startProgress_

double adore::view::ConflictZone::startProgress_
private

Progress along ALane at which ConflictZone starts

◆ waitingPosition_

double adore::view::ConflictZone::waitingPosition_
private

Offset from ConflictZone at which to wait for access


The documentation for this class was generated from the following file: