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

#include <alane.h>

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

Public Member Functions

virtual bool isValid () const =0
 
virtual double getSMax () const =0
 
virtual double getSMin () const =0
 
bool inSRange (double s) const
 
virtual double getProgressOfWidthOpen () const =0
 
virtual double getProgressOfWidthClosed () const =0
 
virtual const TrafficQueuegetOnLaneTraffic () const =0
 
virtual const ConflictSetgetConflictSet () const =0
 
virtual double getSpeedLimit (double s)=0
 
virtual double getLeftIndicatorHint (double s)=0
 
virtual double getRightIndicatorHint (double s)=0
 
virtual bool hasSpeedRecommendation (double s) const =0
 
virtual double getSpeedRecommendation (double s) const =0
 
virtual double getNavigationCost (double s)=0
 
virtual void boundNavigationCost (double s0, double s1, double &cmin, double &cmax)=0
 
virtual double getHeading (double s)=0
 
virtual double getCurvature (double s, int derivative)=0
 
virtual double getOffsetOfLeftBorder (double s)=0
 
virtual double getOffsetOfRightBorder (double s)=0
 
virtual void toRelativeCoordinates (double xe, double ye, double &s, double &n)=0
 
virtual void toEucledianCoordinates (double s, double n, double &xe, double &ye, double &ze)=0
 

Detailed Description

ALane - represents traffic and traffic rules for a lane. ALane uses a coordinate system (s,n), with s progress along the lane and n lateral offset, perpendicular to s.

Member Function Documentation

◆ boundNavigationCost()

virtual void adore::view::ALane::boundNavigationCost ( double  s0,
double  s1,
double &  cmin,
double &  cmax 
)
pure virtual

boundNavigationCost - return bounds for navigation-cost on a distance s interval along the lane

Parameters
cminthe minimum cost on the interval is returned
cmaxthe maximum cost on the interval is returned

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

◆ getConflictSet()

virtual const ConflictSet& adore::view::ALane::getConflictSet ( ) const
pure virtual

◆ getCurvature()

virtual double adore::view::ALane::getCurvature ( double  s,
int  derivative 
)
pure virtual

getCurvature - return the lane coordinate system's curvature kappa=1/R and its derivatives 1,2,... at a progress s the derivative is given as 1: d kappa / ds, 2: d^2 kappa / ds^2, ... if a derivative is unavailable, 0 will be returned

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

◆ getHeading()

virtual double adore::view::ALane::getHeading ( double  s)
pure virtual

getHeading - return the heading of the lane at a distance s along the lane

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

◆ getLeftIndicatorHint()

virtual double adore::view::ALane::getLeftIndicatorHint ( double  s)
pure virtual

◆ getNavigationCost()

virtual double adore::view::ALane::getNavigationCost ( double  s)
pure virtual

getNavigationCost - return remaining navigation cost at a certain distance s along the lane

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

◆ getOffsetOfLeftBorder()

virtual double adore::view::ALane::getOffsetOfLeftBorder ( double  s)
pure virtual

getOffsetOfLeftBorder - return the lateral offset of the left border at a progress s

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

◆ getOffsetOfRightBorder()

virtual double adore::view::ALane::getOffsetOfRightBorder ( double  s)
pure virtual

getOffsetOfRightBorder - return the lateral offset of the right border at a progress s

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

◆ getOnLaneTraffic()

virtual const TrafficQueue& adore::view::ALane::getOnLaneTraffic ( ) const
pure virtual

getOnLaneTraffic - return queue of traffic objects moving on lane, ordered by progress of objects on lane

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

◆ getProgressOfWidthClosed()

virtual double adore::view::ALane::getProgressOfWidthClosed ( ) const
pure virtual

getProgressOfWidthClosed - return progress s, where target lane is no longer wide enough to contain AV

Implemented in adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, adore::env::BorderBased::DependentLane, and adore::env::ThreeLaneViewDecoupled::LaneProxy.

◆ getProgressOfWidthOpen()

virtual double adore::view::ALane::getProgressOfWidthOpen ( ) const
pure virtual

getProgressOfWidthOpen - return progress s, where target lane is wide enough to contain AV for the first time

Implemented in adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, adore::env::BorderBased::DependentLane, and adore::env::ThreeLaneViewDecoupled::LaneProxy.

◆ getRightIndicatorHint()

virtual double adore::view::ALane::getRightIndicatorHint ( double  s)
pure virtual

◆ getSMax()

virtual double adore::view::ALane::getSMax ( ) const
pure virtual
Returns
the maximum s parameter of the relative coordinate system

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

◆ getSMin()

virtual double adore::view::ALane::getSMin ( ) const
pure virtual
Returns
the minimum s parameter of the relative coordinate system

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

◆ getSpeedLimit()

virtual double adore::view::ALane::getSpeedLimit ( double  s)
pure virtual

getSpeedLimit - return the speed limit at a certain distance s along the lane

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

◆ getSpeedRecommendation()

virtual double adore::view::ALane::getSpeedRecommendation ( double  s) const
pure virtual

getSpeedRecommendation - return a speed recommendation at a certain distance s along the lane

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

◆ hasSpeedRecommendation()

virtual bool adore::view::ALane::hasSpeedRecommendation ( double  s) const
pure virtual

hasSpeedRecommendation - return true, if a speed recommendation is available (GLOSA or other infrastructure advice) at a certain distance s along the lane

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

◆ inSRange()

bool adore::view::ALane::inSRange ( double  s) const
inline
Returns
true if getSMin()<s && s<getSMax()
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isValid()

virtual bool adore::view::ALane::isValid ( ) const
pure virtual

isValid - return true if representation of lane is valid

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

◆ toEucledianCoordinates()

virtual void adore::view::ALane::toEucledianCoordinates ( double  s,
double  n,
double &  xe,
double &  ye,
double &  ze 
)
pure virtual

coordinate transformation from road relative coordinates (s,n) to euclidean (xe,ye,ze)

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

◆ toRelativeCoordinates()

virtual void adore::view::ALane::toRelativeCoordinates ( double  xe,
double  ye,
double &  s,
double &  n 
)
pure virtual

coordinate transformation from euclidean (xe,ye) to road relative coordinates (s,n)

Implemented in adore::env::ThreeLaneViewDecoupled::LaneProxy, adore::env::BorderBased::LaneFollowingViewProxy, adore::env::BorderBased::LaneFollowingView, and adore::env::BorderBased::DependentLane.

Here is the caller graph for this function:

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