ad_rss
Classes | Public Types | Public Member Functions | List of all members
ad::rss::unstructured::RssUnstructuredConstellationChecker Class Reference

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

#include <ad/rss/unstructured/RssUnstructuredConstellationChecker.hpp>

Public Types

enum class  SafeState { safe , unsafeBrakeOtherHasPrio , unsafeBrakeEgoHasPrio , unsafeBrakeBoth }
 
enum class  DrivingMode { DriveAway , ContinueForward , Brake , Invalid }
 
using CalculateTrajectorySetsCallbackFunctionType = std::function< bool(::ad::rss::core::RelativeConstellation const &constellation, ::ad::rss::world::ObjectId const &objectId, ::ad::rss::core::RelativeObjectState const &vehicleState, ::ad::geometry::Polygon &brakePolygon, ::ad::geometry::Polygon &continueForwardPolygon)>
 Function callback type for unstructured trajectory set calculation. More...
 

Public Member Functions

 RssUnstructuredConstellationChecker ()
 Constructor.
 
 RssUnstructuredConstellationChecker (RssUnstructuredConstellationChecker const &other)
 Copy constructor.
 
 ~RssUnstructuredConstellationChecker ()=default
 Destructor.
 
RssUnstructuredConstellationCheckeroperator= (RssUnstructuredConstellationChecker const &other)
 Assignment operator.
 
bool calculateRssStateUnstructured (world::TimeIndex const &time_index, core::RelativeConstellation const &constellation, state::UnstructuredConstellationStateInformation &egoStateInfo, state::RssState &rssState)
 Calculate safety checks and determine required rssState for unstructured constellations. More...
 
void registerCalculateTrajectorySetsCallback (world::ObjectType objectType, CalculateTrajectorySetsCallbackFunctionType calculateTrajectorySetsCallback)
 Register a callback for unstructured trajectory set calculation. More...
 

Detailed Description

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

Note: Implements the checks and responses given by the definitions 19-22 of the RSS paper (arXiv:1708.06374v6)

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

Member Typedef Documentation

◆ CalculateTrajectorySetsCallbackFunctionType

using ad::rss::unstructured::RssUnstructuredConstellationChecker::CalculateTrajectorySetsCallbackFunctionType = std::function<bool(::ad::rss::core::RelativeConstellation const &constellation, ::ad::rss::world::ObjectId const &objectId, ::ad::rss::core::RelativeObjectState const &vehicleState, ::ad::geometry::Polygon &brakePolygon, ::ad::geometry::Polygon &continueForwardPolygon)>

Function callback type for unstructured trajectory set calculation.

Parameters
[in]constellationThe relative constellation the calculation is based on
[in]objectIdThe id of the object the calculation is based on (one of the two constellation objects)
[in]vehicleStateThe relative object state of the object the calculation is based on (one of the two constellation vehicle states)
[out]brakePolygonThe calculated brake polygon
[out]continueForwardPolygonThe calculated continue forward polygon
Returns
false if a failure occurred during calculations, true otherwise

Member Function Documentation

◆ calculateRssStateUnstructured()

bool ad::rss::unstructured::RssUnstructuredConstellationChecker::calculateRssStateUnstructured ( world::TimeIndex const &  time_index,
core::RelativeConstellation const &  constellation,
state::UnstructuredConstellationStateInformation egoStateInfo,
state::RssState rssState 
)

Calculate safety checks and determine required rssState for unstructured constellations.

Parameters
[in]time_indexthe time index of the constellation
[in]constellationconstellation to analyze
[out]egoStateInforssState of the ego vehicle (Be aware: only calculated/updated once per timestep)
[out]rssStaterssState of the vehicle
Returns
false if a failure occurred during calculations, true otherwise

◆ registerCalculateTrajectorySetsCallback()

void ad::rss::unstructured::RssUnstructuredConstellationChecker::registerCalculateTrajectorySetsCallback ( world::ObjectType  objectType,
CalculateTrajectorySetsCallbackFunctionType  calculateTrajectorySetsCallback 
)
inline

Register a callback for unstructured trajectory set calculation.

Parameters
[in]objectTypeThe object type this trajectory set calculation should be applied
[in]calculateTrajectorySetsCallbackThe actual callback function to perform the trajectory set calculation

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