ad_rss
Public Types | Public Member Functions | List of all members
ad::rss::structured::RssIntersectionConstellationChecker Class Reference

Class to check whether an intersection is safe and to determine the proper response for the constellation. More...

#include <ad/rss/structured/RssIntersectionConstellationChecker.hpp>

Public Types

enum class  IntersectionState : std::uint32_t { NonPrioAbleToBreak = 0u , SafeLongitudinalDistance = 1u , NoTimeOverlap = 2u }
 Enum LongitudinalResponse. More...
 

Public Member Functions

 RssIntersectionConstellationChecker ()=default
 Constructor.
 
 ~RssIntersectionConstellationChecker ()=default
 Destructor.
 
bool calculateRssStateIntersection (world::TimeIndex const &time_index, core::RelativeConstellation const &constellation, state::RssState &rssState)
 Calculate safety checks and determine required rssState for intersection constellations. More...
 

Detailed Description

Class to check whether an intersection is safe and to determine the proper response for the constellation.

Note: Implements the checks and responses given by the definitions 16-18 of the RSS paper (arXiv:1708.06374v6) The more detailed lateral intersection handling according to definitions 14 and 15 is not considered, yet. Instead, the current implementation always considers a lateral conflict within intersections and doesn't trigger any lateral response.

Class performs required check to if constellation is safe Class will maintain the previous state of the constellation in order to provide the proper response.

Member Enumeration Documentation

◆ IntersectionState

Enum LongitudinalResponse.

Enumeration defining the possible longitudinal responses

Be aware: there has to be a strict order of the enumeration values according to the strictness of the response

Enumerator
NonPrioAbleToBreak 

NonPrio-Vehicle can stop in front intersection

SafeLongitudinalDistance 

There is a safe longitudinal distance between the vehicles

NoTimeOverlap 

There is no time overlap between the paths of the two vehicles

Member Function Documentation

◆ calculateRssStateIntersection()

bool ad::rss::structured::RssIntersectionConstellationChecker::calculateRssStateIntersection ( world::TimeIndex const &  time_index,
core::RelativeConstellation const &  constellation,
state::RssState rssState 
)

Calculate safety checks and determine required rssState for intersection constellations.

Parameters
[in]time_indexthe time index of the constellation
[in]constellationconstellation to analyze
[out]rssStaterssState of the ego vehicle
Returns
false if a failure occurred during calculations, true otherwise

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