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

#include <lanechangeview.h>

Inheritance diagram for adore::env::BorderBased::DependentLane:
Inheritance graph
Collaboration diagram for adore::env::BorderBased::DependentLane:
Collaboration graph

Public Member Functions

 DependentLane (LaneFollowingView *lfv, LaneChangeGeometry *lcg, adore::env::traffic::EgoLaneTraffic *elt, adore::env::BorderBased::ConflictSet *cs)
 
virtual bool isValid () const override
 Check whether LaneChangeView is valid. More...
 
virtual double getSMax () const override
 
virtual double getSMin () const override
 
double getProgressOfWidthOpen () const override
 Get the s-coordinate where the lane reaches the required width. More...
 
double getProgressOfWidthClosed () const override
 Get the s-coordinate where the lane stops to have the required width. More...
 
virtual const adore::view::TrafficQueuegetOnLaneTraffic () const override
 
virtual const adore::view::ConflictSetgetConflictSet () const override
 
virtual double getSpeedLimit (double s) override
 
virtual double getLeftIndicatorHint (double s) override
 
virtual double getRightIndicatorHint (double s) override
 
virtual bool hasSpeedRecommendation (double s) const override
 
virtual double getSpeedRecommendation (double s) const override
 
virtual double getNavigationCost (double s) override
 
virtual void boundNavigationCost (double s0, double s1, double &cmin, double &cmax)
 
virtual double getHeading (double s) override
 
virtual double getCurvature (double s, int derivative) override
 
virtual double getOffsetOfLeftBorder (double s) override
 
virtual double getOffsetOfRightBorder (double s) override
 
virtual void toRelativeCoordinates (double xe, double ye, double &s, double &n) override
 
virtual void toEucledianCoordinates (double s, double n, double &xe, double &ye, double &ze) override
 
- Public Member Functions inherited from adore::view::ALane
bool inSRange (double s) const
 

Private Attributes

LaneFollowingViewlfv_
 
LaneChangeGeometrylcg_
 
adore::env::traffic::EgoLaneTrafficelt_
 
adore::env::BorderBased::ConflictSetcs_
 

Detailed Description

DependentLane is the target lane of a lanechange, which depends heavily on the coordinate system of the current/source lane.

Constructor & Destructor Documentation

◆ DependentLane()

adore::env::BorderBased::DependentLane::DependentLane ( LaneFollowingView lfv,
LaneChangeGeometry lcg,
adore::env::traffic::EgoLaneTraffic elt,
adore::env::BorderBased::ConflictSet cs 
)
inline

Member Function Documentation

◆ boundNavigationCost()

virtual void adore::env::BorderBased::DependentLane::boundNavigationCost ( double  s0,
double  s1,
double &  cmin,
double &  cmax 
)
inlinevirtual

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

Implements adore::view::ALane.

◆ getConflictSet()

virtual const adore::view::ConflictSet& adore::env::BorderBased::DependentLane::getConflictSet ( ) const
inlineoverridevirtual

getConflictSet - return set of conflict zones, ordered by occurance along lane

Implements adore::view::ALane.

◆ getCurvature()

virtual double adore::env::BorderBased::DependentLane::getCurvature ( double  s,
int  derivative 
)
inlineoverridevirtual

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

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getHeading()

virtual double adore::env::BorderBased::DependentLane::getHeading ( double  s)
inlineoverridevirtual

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

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getLeftIndicatorHint()

virtual double adore::env::BorderBased::DependentLane::getLeftIndicatorHint ( double  s)
inlineoverridevirtual

getLeftIndicatorHint - return left indicator light hint at s along the lane

Implements adore::view::ALane.

◆ getNavigationCost()

virtual double adore::env::BorderBased::DependentLane::getNavigationCost ( double  s)
inlineoverridevirtual

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

Implements adore::view::ALane.

◆ getOffsetOfLeftBorder()

virtual double adore::env::BorderBased::DependentLane::getOffsetOfLeftBorder ( double  s)
inlineoverridevirtual

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

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getOffsetOfRightBorder()

virtual double adore::env::BorderBased::DependentLane::getOffsetOfRightBorder ( double  s)
inlineoverridevirtual

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

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getOnLaneTraffic()

virtual const adore::view::TrafficQueue& adore::env::BorderBased::DependentLane::getOnLaneTraffic ( ) const
inlineoverridevirtual

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

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getProgressOfWidthClosed()

double adore::env::BorderBased::DependentLane::getProgressOfWidthClosed ( ) const
inlineoverridevirtual

Get the s-coordinate where the lane stops to have the required width.

Returns
double s-coordinate of the position where the lane ends to have at least the required width

Implements adore::view::ALane.

◆ getProgressOfWidthOpen()

double adore::env::BorderBased::DependentLane::getProgressOfWidthOpen ( ) const
inlineoverridevirtual

Get the s-coordinate where the lane reaches the required width.

Returns
double s-coordinate of the position where the lane starts to have at least the required width

Implements adore::view::ALane.

◆ getRightIndicatorHint()

virtual double adore::env::BorderBased::DependentLane::getRightIndicatorHint ( double  s)
inlineoverridevirtual

getRightIndicatorHint - return right indicator light hint at s along the lane

Implements adore::view::ALane.

◆ getSMax()

virtual double adore::env::BorderBased::DependentLane::getSMax ( ) const
inlineoverridevirtual
Returns
the maximum s parameter of the relative coordinate system

Implements adore::view::ALane.

Here is the call graph for this function:

◆ getSMin()

virtual double adore::env::BorderBased::DependentLane::getSMin ( ) const
inlineoverridevirtual
Returns
the minimum s parameter of the relative coordinate system

Implements adore::view::ALane.

◆ getSpeedLimit()

virtual double adore::env::BorderBased::DependentLane::getSpeedLimit ( double  s)
inlineoverridevirtual

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

Implements adore::view::ALane.

◆ getSpeedRecommendation()

virtual double adore::env::BorderBased::DependentLane::getSpeedRecommendation ( double  s) const
inlineoverridevirtual

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

Implements adore::view::ALane.

◆ hasSpeedRecommendation()

virtual bool adore::env::BorderBased::DependentLane::hasSpeedRecommendation ( double  s) const
inlineoverridevirtual

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

Implements adore::view::ALane.

◆ isValid()

virtual bool adore::env::BorderBased::DependentLane::isValid ( ) const
inlineoverridevirtual

Check whether LaneChangeView is valid.

Returns
true if representation is valid
false if representation is invalid

Implements adore::view::ALane.

Here is the call graph for this function:

◆ toEucledianCoordinates()

virtual void adore::env::BorderBased::DependentLane::toEucledianCoordinates ( double  s,
double  n,
double &  xe,
double &  ye,
double &  ze 
)
inlineoverridevirtual

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

Implements adore::view::ALane.

Here is the call graph for this function:

◆ toRelativeCoordinates()

virtual void adore::env::BorderBased::DependentLane::toRelativeCoordinates ( double  xe,
double  ye,
double &  s,
double &  n 
)
inlineoverridevirtual

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

Implements adore::view::ALane.

Here is the call graph for this function:

Member Data Documentation

◆ cs_

adore::env::BorderBased::ConflictSet* adore::env::BorderBased::DependentLane::cs_
private

conflict set

◆ elt_

adore::env::traffic::EgoLaneTraffic* adore::env::BorderBased::DependentLane::elt_
private

traffic on this lane

◆ lcg_

LaneChangeGeometry* adore::env::BorderBased::DependentLane::lcg_
private

connected LaneChangeGeometry

◆ lfv_

LaneFollowingView* adore::env::BorderBased::DependentLane::lfv_
private

connected LaneFollowingView


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