ad_rss
Classes | Typedefs | Enumerations | Functions
ad::rss::state Namespace Reference

namespace state More...

Classes

struct  AccelerationRestriction
 DataType AccelerationRestriction. More...
 
struct  LateralRssState
 DataType LateralRssState. More...
 
struct  LongitudinalRssState
 DataType LongitudinalRssState. More...
 
struct  ProperResponse
 DataType ProperResponse. More...
 
struct  RssState
 DataType RssState. More...
 
struct  RssStateInformation
 DataType RssStateInformation. More...
 
struct  RssStateSnapshot
 DataType RssStateSnapshot. More...
 
struct  UnstructuredConstellationRssState
 DataType UnstructuredConstellationRssState. More...
 
struct  UnstructuredConstellationStateInformation
 DataType UnstructuredConstellationStateInformation. More...
 

Typedefs

typedef std::vector<::ad::rss::state::RssStateRssStateVector
 DataType RssStateVector. More...
 
typedef ::ad::physics::Distance2DList UnstructuredTrajectorySet
 DataType UnstructuredTrajectorySet. More...
 

Enumerations

enum class  LateralResponse : int32_t { None = 0 , BrakeMin = 1 }
 DataType LateralResponse. More...
 
enum class  LongitudinalResponse : int32_t { None = 0 , BrakeMinCorrect = 1 , BrakeMin = 2 }
 DataType LongitudinalResponse. More...
 
enum class  RssStateEvaluator : int32_t {
  None = 0 , LongitudinalDistanceOppositeDirectionEgoCorrectLane = 1 , LongitudinalDistanceOppositeDirection = 2 , LongitudinalDistanceSameDirectionEgoFront = 3 ,
  LongitudinalDistanceSameDirectionOtherInFront = 4 , LateralDistance = 5 , IntersectionOtherPriorityEgoAbleToStop = 6 , IntersectionEgoPriorityOtherAbleToStop = 7 ,
  IntersectionEgoInFront = 8 , IntersectionOtherInFront = 9 , IntersectionOverlap = 10
}
 DataType RssStateEvaluator. More...
 
enum class  UnstructuredConstellationResponse : int32_t { None = 0 , ContinueForward = 1 , DriveAway = 2 , Brake = 3 }
 DataType UnstructuredConstellationResponse. More...
 

Functions

std::ostream & operator<< (std::ostream &os, AccelerationRestriction const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, LateralResponse const &value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, LateralRssState const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, LongitudinalResponse const &value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, LongitudinalRssState const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, ProperResponse const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, RssState const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, RssStateEvaluator const &value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, RssStateInformation const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, RssStateSnapshot const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, UnstructuredConstellationResponse const &value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, UnstructuredConstellationRssState const &_value)
 standard ostream operator More...
 
std::ostream & operator<< (std::ostream &os, UnstructuredConstellationStateInformation const &_value)
 standard ostream operator More...
 
bool isLongitudinalSafe (RssState const &rssState)
 is rss state longitudinal safe More...
 
bool isLateralSafe (RssState const &rssState)
 is rss state lateral safe More...
 
bool isUnstructuredConstellationSafe (RssState const &rssState)
 is rss unstructured constellation state safe More...
 
bool isDangerous (RssState const &rssState)
 is rss state dangerous More...
 
void combineState (state::UnstructuredConstellationRssState const &state, physics::Acceleration &driveAwayBrakeMin, bool &driveAwayToBrakeTransition, state::UnstructuredConstellationResponse &response, ::ad::geometry::HeadingRangeVector &responseHeadingRanges, physics::AccelerationRange &accelerationRange)
 combineState and update AccelerationRestriction More...
 
void combineState (state::LongitudinalRssState const &state, state::LongitudinalResponse &response, physics::AccelerationRange &accelerationRange)
 combineState and update AccelerationRestriction More...
 
void combineState (state::LateralRssState const &state, state::LateralResponse &response, physics::AccelerationRange &accelerationRange, bool const isLaneBoundariesObject)
 combineState and update AccelerationRestriction More...
 
state::ProperResponse combineProperResponse (state::ProperResponse const &left, state::ProperResponse const &right)
 Combine two proper responses. More...
 

Detailed Description

namespace state

namespace for RSS state datatypes and operations

Typedef Documentation

◆ RssStateVector

DataType RssStateVector.

A vector of RSS states.

◆ UnstructuredTrajectorySet

typedef ::ad::physics::Distance2DList ad::rss::state::UnstructuredTrajectorySet

DataType UnstructuredTrajectorySet.

Describes the potential endpoints of all possible trajectories during unstructured constellation calculation

Enumeration Type Documentation

◆ LateralResponse

enum ad::rss::state::LateralResponse : int32_t
strong

DataType LateralResponse.

Enumeration defining the possible lateral responses. Be aware: there has to be a strict order of the enumeration values according to the strictness of the response.

Enumerator
None 

No action required.

BrakeMin 

Vehicle has to decerate at least with brake min laterally

◆ LongitudinalResponse

enum ad::rss::state::LongitudinalResponse : int32_t
strong

DataType 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
None 

No action required.

BrakeMinCorrect 

Vehicle has to decerate at least with brake min correct longitudinally

BrakeMin 

Vehicle has to decerate at least with brake min longitudinally

◆ RssStateEvaluator

enum ad::rss::state::RssStateEvaluator : int32_t
strong

DataType RssStateEvaluator.

The method used to evaluate the respone.

Enumerator
None 

Not evaluated.

LongitudinalDistanceOppositeDirectionEgoCorrectLane 

longitudinal, opposite direction, correct lane

LongitudinalDistanceOppositeDirection 

longitudinal, opposite direction

LongitudinalDistanceSameDirectionEgoFront 

longitudinal, same direction, ego in front

LongitudinalDistanceSameDirectionOtherInFront 

longitudinal, same direction, ego at back

LateralDistance 

lateral

IntersectionOtherPriorityEgoAbleToStop 

intersection, other has prio, ego can stop

IntersectionEgoPriorityOtherAbleToStop 

intersection, ego has prio, other can stop

IntersectionEgoInFront 

intersection, ego in front

IntersectionOtherInFront 

intersection, other in front

IntersectionOverlap 

intersection, overlap

◆ UnstructuredConstellationResponse

DataType UnstructuredConstellationResponse.

Enumeration defining the possible unstructured constellation responses.

Enumerator
None 

No response.

ContinueForward 

The object is allowed to continue forward.

DriveAway 

The object is allowed to drive away within the calculated heading range.

Brake 

The vehicle has to brake.

Function Documentation

◆ combineProperResponse()

state::ProperResponse ad::rss::state::combineProperResponse ( state::ProperResponse const &  left,
state::ProperResponse const &  right 
)

Combine two proper responses.

Parameters
[in]left– a RSS response to become RSS safe.
[in]right– another RSS response to become RSS safe.
Returns
The combined proper response considering the worst-case

◆ combineState() [1/3]

void ad::rss::state::combineState ( state::LateralRssState const &  state,
state::LateralResponse response,
physics::AccelerationRange &  accelerationRange,
bool const  isLaneBoundariesObject 
)

combineState and update AccelerationRestriction

Updates the lateral acceleration_restrictions

Parameters
[in]state- The lateral state to update the acceleration restrictions with
[in,out]response– the combined RSS response to become RSS safe.
[in,out]accelerationRange- The restrictions on the vehicle acceleration to become RSS safe.
[in]isLaneBoundariesObjectis the object a lane boundaries object (which is ignored if none response)

◆ combineState() [2/3]

void ad::rss::state::combineState ( state::LongitudinalRssState const &  state,
state::LongitudinalResponse response,
physics::AccelerationRange &  accelerationRange 
)

combineState and update AccelerationRestriction

Updates the longitudinal accelerationRestriction

Parameters
[in]state- The longitudinal state to update the acceleration restrictions with
[in,out]response– the combined RSS response to become RSS safe.
[in,out]accelerationRange- The combined restrictions on the vehicle acceleration to become RSS safe.

◆ combineState() [3/3]

void ad::rss::state::combineState ( state::UnstructuredConstellationRssState const &  state,
physics::Acceleration &  driveAwayBrakeMin,
bool &  driveAwayToBrakeTransition,
state::UnstructuredConstellationResponse response,
::ad::geometry::HeadingRangeVector &  responseHeadingRanges,
physics::AccelerationRange &  accelerationRange 
)

combineState and update AccelerationRestriction

Updates the longitudinal accelerationRestriction

Parameters
[in]state- The unstructured constellation state to update the acceleration restrictions with
[in,out]driveAwayBrakeMin– the minimal brake_min of all drive-away states
[in,out]driveAwayToBrakeTransition– a transition from drive-Away to Brake happened
[in,out]response– the combined RSS response to become RSS safe.
[in,out]responseHeadingRanges– the combined RSS response heading ranges (for driving away)
[in,out]accelerationRange- The combined restrictions on the vehicle acceleration to become RSS safe.

◆ isDangerous()

bool ad::rss::state::isDangerous ( RssState const &  rssState)
inline

is rss state dangerous

Parameters
[in]rssStateto check

true if dangerous, false if not

◆ isLateralSafe()

bool ad::rss::state::isLateralSafe ( RssState const &  rssState)
inline

is rss state lateral safe

Parameters
[in]rssStateto check

true if safe, false if not

◆ isLongitudinalSafe()

bool ad::rss::state::isLongitudinalSafe ( RssState const &  rssState)
inline

is rss state longitudinal safe

Parameters
[in]rssStateto check

true if safe, false if not

◆ isUnstructuredConstellationSafe()

bool ad::rss::state::isUnstructuredConstellationSafe ( RssState const &  rssState)
inline

is rss unstructured constellation state safe

Parameters
[in]rssStateto check

true if safe, false if not

◆ operator<<() [1/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
AccelerationRestriction const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueAccelerationRestriction value
Returns
The stream object.

◆ operator<<() [2/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
LateralResponse const &  value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]valueLateralResponse value
Returns
The stream object.

◆ operator<<() [3/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
LateralRssState const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueLateralRssState value
Returns
The stream object.

◆ operator<<() [4/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
LongitudinalResponse const &  value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]valueLongitudinalResponse value
Returns
The stream object.

◆ operator<<() [5/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
LongitudinalRssState const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueLongitudinalRssState value
Returns
The stream object.

◆ operator<<() [6/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
ProperResponse const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueProperResponse value
Returns
The stream object.

◆ operator<<() [7/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
RssState const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueRssState value
Returns
The stream object.

◆ operator<<() [8/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
RssStateEvaluator const &  value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]valueRssStateEvaluator value
Returns
The stream object.

◆ operator<<() [9/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
RssStateInformation const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueRssStateInformation value
Returns
The stream object.

◆ operator<<() [10/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
RssStateSnapshot const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueRssStateSnapshot value
Returns
The stream object.

◆ operator<<() [11/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
UnstructuredConstellationResponse const &  value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]valueUnstructuredConstellationResponse value
Returns
The stream object.

◆ operator<<() [12/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
UnstructuredConstellationRssState const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueUnstructuredConstellationRssState value
Returns
The stream object.

◆ operator<<() [13/13]

std::ostream& ad::rss::state::operator<< ( std::ostream &  os,
UnstructuredConstellationStateInformation const &  _value 
)
inline

standard ostream operator

Parameters
[in]osThe output stream to write to
[in]_valueUnstructuredConstellationStateInformation value
Returns
The stream object.