ad_rss
RssStateOperation.hpp
Go to the documentation of this file.
1 // ----------------- BEGIN LICENSE BLOCK ---------------------------------
2 //
3 // Copyright (C) 2018-2021 Intel Corporation
4 //
5 // SPDX-License-Identifier: LGPL-2.1-only
6 //
7 // ----------------- END LICENSE BLOCK -----------------------------------
12 #pragma once
13 
16 
20 namespace ad {
24 namespace rss {
28 namespace state {
29 
37 inline bool isLongitudinalSafe(RssState const &rssState)
38 {
39  return rssState.longitudinal_state.is_safe;
40 }
41 
49 inline bool isLateralSafe(RssState const &rssState)
50 {
51  return rssState.lateral_state_right.is_safe && rssState.lateral_state_left.is_safe;
52 }
53 
61 inline bool isUnstructuredConstellationSafe(RssState const &rssState)
62 {
64 }
65 
73 inline bool isDangerous(RssState const &rssState)
74 {
76  {
77  return !isUnstructuredConstellationSafe(rssState);
78  }
79  else
80  {
81  return !isLongitudinalSafe(rssState) && !isLateralSafe(rssState);
82  }
83 }
84 
99  physics::Acceleration &driveAwayBrakeMin,
100  bool &driveAwayToBrakeTransition,
102  ::ad::geometry::HeadingRangeVector &responseHeadingRanges,
103  physics::AccelerationRange &accelerationRange);
104 
116  state::LongitudinalResponse &response,
117  physics::AccelerationRange &accelerationRange);
118 
131  state::LateralResponse &response,
132  physics::AccelerationRange &accelerationRange,
133  bool const isLaneBoundariesObject);
134 
144 
145 } // namespace state
146 } // namespace rss
147 } // namespace ad
LateralResponse
DataType LateralResponse.
Definition: LateralResponse.hpp:46
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
bool isUnstructuredConstellationSafe(RssState const &rssState)
is rss unstructured constellation state safe
Definition: RssStateOperation.hpp:61
bool isDangerous(RssState const &rssState)
is rss state dangerous
Definition: RssStateOperation.hpp:73
bool isLongitudinalSafe(RssState const &rssState)
is rss state longitudinal safe
Definition: RssStateOperation.hpp:37
LongitudinalResponse
DataType LongitudinalResponse.
Definition: LongitudinalResponse.hpp:46
bool isLateralSafe(RssState const &rssState)
is rss state lateral safe
Definition: RssStateOperation.hpp:49
UnstructuredConstellationResponse
DataType UnstructuredConstellationResponse.
Definition: UnstructuredConstellationResponse.hpp:44
state::ProperResponse combineProperResponse(state::ProperResponse const &left, state::ProperResponse const &right)
Combine two proper responses.
namespace ad
Definition: LateralRelativePosition.hpp:28
DataType LateralRssState.
Definition: LateralRssState.hpp:45
bool is_safe
Definition: LateralRssState.hpp:122
DataType LongitudinalRssState.
Definition: LongitudinalRssState.hpp:45
bool is_safe
Definition: LongitudinalRssState.hpp:122
DataType ProperResponse.
Definition: ProperResponse.hpp:50
DataType RssState.
Definition: RssState.hpp:49
::ad::rss::state::LateralRssState lateral_state_left
Definition: RssState.hpp:158
::ad::rss::state::UnstructuredConstellationRssState unstructured_constellation_state
Definition: RssState.hpp:163
::ad::rss::state::LateralRssState lateral_state_right
Definition: RssState.hpp:153
::ad::rss::world::ConstellationType constellation_type
Definition: RssState.hpp:168
::ad::rss::state::LongitudinalRssState longitudinal_state
Definition: RssState.hpp:148
DataType UnstructuredConstellationRssState.
Definition: UnstructuredConstellationRssState.hpp:46
bool is_safe
Definition: UnstructuredConstellationRssState.hpp:123