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

LaneFollowingview provides traffic related information for the current lane. More...

#include <lanefollowingview.h>

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

Public Types

typedef LaneFollowingGeometry< 20, 200 > TLaneFollowingGeometry
 

Public Member Functions

 LaneFollowingView (adore::params::AFactory *paramsfactory, LocalRoadMap *localRoadMap, adore::env::traffic::TrafficMap *trafficMap)
 Construct a new LaneFollowingView object. More...
 
 LaneFollowingView (LocalRoadMap *localRoadMap, adore::env::traffic::TrafficMap *trafficMap)
 
std::unordered_multimap< view::ConflictZone *, std::vector< Border * > > * getConflictSetPlotData ()
 
void update ()
 update the LaneFollowingView More...
 
LocalRoadMapgetLocalRoadMap ()
 
void getBordersToPrint (std::vector< Border * > &result, std::vector< int > &ids)
 
TLaneFollowingGeometrygetGeometry ()
 
virtual bool isValid () const override
 
virtual double getSMax () const override
 
virtual double getSMin () const override
 
virtual double getProgressOfWidthOpen () const override
 
virtual double getProgressOfWidthClosed () const override
 
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) override
 
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
 
std::vector< Coordinate > * getCornerPoints ()
 
std::vector< BorderOverlapSet > * getOverlapSet ()
 
std::vector< Border * > * get_right_borders_of_conf_lanes ()
 
- Public Member Functions inherited from adore::view::ALane
bool inSRange (double s) const
 

Private Attributes

LocalRoadMaplrm_
 
TLaneFollowingGeometry lfg_
 
adore::params::APLaneFollowingViewapLFV_
 
adore::env::traffic::EgoLaneTraffic elt_
 
adore::env::BorderBased::ConflictSet cs_
 

Detailed Description

LaneFollowingview provides traffic related information for the current lane.

Member Typedef Documentation

◆ TLaneFollowingGeometry

Constructor & Destructor Documentation

◆ LaneFollowingView() [1/2]

adore::env::BorderBased::LaneFollowingView::LaneFollowingView ( adore::params::AFactory paramsfactory,
LocalRoadMap localRoadMap,
adore::env::traffic::TrafficMap trafficMap 
)
inline

Construct a new LaneFollowingView object.

Parameters
paramsfactoryparameter factory
localRoadMaplocal road map
trafficMaptraffic map
Here is the call graph for this function:

◆ LaneFollowingView() [2/2]

adore::env::BorderBased::LaneFollowingView::LaneFollowingView ( LocalRoadMap localRoadMap,
adore::env::traffic::TrafficMap trafficMap 
)
inline

Member Function Documentation

◆ boundNavigationCost()

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

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.

◆ get_right_borders_of_conf_lanes()

std::vector<Border *>* adore::env::BorderBased::LaneFollowingView::get_right_borders_of_conf_lanes ( )
inline
Here is the call graph for this function:

◆ getBordersToPrint()

void adore::env::BorderBased::LaneFollowingView::getBordersToPrint ( std::vector< Border * > &  result,
std::vector< int > &  ids 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getConflictSet()

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

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

Implements adore::view::ALane.

◆ getConflictSetPlotData()

std::unordered_multimap<view::ConflictZone*, std::vector<Border*> >* adore::env::BorderBased::LaneFollowingView::getConflictSetPlotData ( )
inline
Here is the caller graph for this function:

◆ getCornerPoints()

std::vector<Coordinate>* adore::env::BorderBased::LaneFollowingView::getCornerPoints ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getCurvature()

virtual double adore::env::BorderBased::LaneFollowingView::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:
Here is the caller graph for this function:

◆ getGeometry()

TLaneFollowingGeometry* adore::env::BorderBased::LaneFollowingView::getGeometry ( )
inline
Here is the caller graph for this function:

◆ getHeading()

virtual double adore::env::BorderBased::LaneFollowingView::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:
Here is the caller graph for this function:

◆ getLeftIndicatorHint()

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

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

Implements adore::view::ALane.

◆ getLocalRoadMap()

LocalRoadMap* adore::env::BorderBased::LaneFollowingView::getLocalRoadMap ( )
inline

◆ getNavigationCost()

virtual double adore::env::BorderBased::LaneFollowingView::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::LaneFollowingView::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::LaneFollowingView::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::LaneFollowingView::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:
Here is the caller graph for this function:

◆ getOverlapSet()

std::vector<BorderOverlapSet>* adore::env::BorderBased::LaneFollowingView::getOverlapSet ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getProgressOfWidthClosed()

virtual double adore::env::BorderBased::LaneFollowingView::getProgressOfWidthClosed ( ) const
inlineoverridevirtual

getProgressOfWidthClosed - returns the s-coordinate of the position where the lane ends to have at least the required width

Implements adore::view::ALane.

◆ getProgressOfWidthOpen()

virtual double adore::env::BorderBased::LaneFollowingView::getProgressOfWidthOpen ( ) const
inlineoverridevirtual

getProgressOfWidthOpen - returns the 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::LaneFollowingView::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::LaneFollowingView::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::LaneFollowingView::getSMin ( ) const
inlineoverridevirtual
Returns
the minimum s parameter of the relative coordinate system

Implements adore::view::ALane.

◆ getSpeedLimit()

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

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

Implements adore::view::ALane.

Here is the caller graph for this function:

◆ getSpeedRecommendation()

virtual double adore::env::BorderBased::LaneFollowingView::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::LaneFollowingView::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::LaneFollowingView::isValid ( ) const
inlineoverridevirtual

isValid - return true if representation of lane is valid

Implements adore::view::ALane.

Here is the call graph for this function:

◆ toEucledianCoordinates()

virtual void adore::env::BorderBased::LaneFollowingView::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:
Here is the caller graph for this function:

◆ toRelativeCoordinates()

virtual void adore::env::BorderBased::LaneFollowingView::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:
Here is the caller graph for this function:

◆ update()

void adore::env::BorderBased::LaneFollowingView::update ( )
inline

update the LaneFollowingView

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ apLFV_

adore::params::APLaneFollowingView* adore::env::BorderBased::LaneFollowingView::apLFV_
private

parameters

◆ cs_

adore::env::BorderBased::ConflictSet adore::env::BorderBased::LaneFollowingView::cs_
private

conflict set

◆ elt_

adore::env::traffic::EgoLaneTraffic adore::env::BorderBased::LaneFollowingView::elt_
private

traffic on this lane

◆ lfg_

TLaneFollowingGeometry adore::env::BorderBased::LaneFollowingView::lfg_
private

◆ lrm_

LocalRoadMap* adore::env::BorderBased::LaneFollowingView::lrm_
private

local road map


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