|
ad_rss
|
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. | |
| RssUnstructuredConstellationChecker & | operator= (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... | |
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.
| 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.
| [in] | constellation | The relative constellation the calculation is based on |
| [in] | objectId | The id of the object the calculation is based on (one of the two constellation objects) |
| [in] | vehicleState | The relative object state of the object the calculation is based on (one of the two constellation vehicle states) |
| [out] | brakePolygon | The calculated brake polygon |
| [out] | continueForwardPolygon | The calculated continue forward polygon |
| 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.
| [in] | time_index | the time index of the constellation |
| [in] | constellation | constellation to analyze |
| [out] | egoStateInfo | rssState of the ego vehicle (Be aware: only calculated/updated once per timestep) |
| [out] | rssState | rssState of the vehicle |
|
inline |
Register a callback for unstructured trajectory set calculation.
| [in] | objectType | The object type this trajectory set calculation should be applied |
| [in] | calculateTrajectorySetsCallback | The actual callback function to perform the trajectory set calculation |