Branch data Line data Source code
1 : : // ----------------- BEGIN LICENSE BLOCK ---------------------------------
2 : : //
3 : : // Copyright (C) 2020-2021 Intel Corporation
4 : : //
5 : : // SPDX-License-Identifier: LGPL-2.1-only
6 : : //
7 : : // ----------------- END LICENSE BLOCK -----------------------------------
8 : :
9 : : #include <ad/geometry/GeometryOperation.hpp>
10 : : #include <ad/geometry/Types.hpp>
11 : : #include "TestSupport.hpp"
12 : : #include "ad/rss/unstructured/RssUnstructuredConstellationChecker.hpp"
13 : :
14 : : namespace ad {
15 : : namespace rss {
16 : : namespace unstructured {
17 : :
18 : 4 : TEST(RssUnstructuredConstellationCheckerTests, calculateDriveAwayAngle)
19 : : {
20 : 1 : ::ad::geometry::HeadingRange range;
21 [ + - ]: 1 : RssUnstructuredConstellationChecker unstructuredConstellationChecker;
22 [ + - + - : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateDriveAwayAngle(
+ - + - -
+ - - - -
- - - - ]
23 [ + - ]: 1 : ::ad::geometry::Point(0, 0), ::ad::geometry::Point(1, 0), physics::cPI / 4., range));
24 [ + - + - : 1 : ASSERT_EQ(range.begin, 3. / 4. * physics::cPI);
- + - - -
- - - +
- ]
25 [ + - + - : 1 : ASSERT_EQ(range.end, -3. / 4. * physics::cPI);
- + - - -
- - - +
- ]
26 : :
27 [ + - + - : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateDriveAwayAngle(
+ - + - -
+ - - - -
- - - - ]
28 [ + - ]: 1 : ::ad::geometry::Point(0, 0), ::ad::geometry::Point(0, 1), physics::cPI / 4., range));
29 [ + - + - : 1 : ASSERT_EQ(range.begin, -3. / 4. * physics::cPI);
- + - - -
- - - +
- ]
30 [ + - + - : 1 : ASSERT_EQ(range.end, -1. / 4. * physics::cPI);
- + - - -
- - - +
- ]
31 : :
32 [ + - + - : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateDriveAwayAngle(
+ - + - -
+ - - - -
- - - - ]
33 [ + - ]: 1 : ::ad::geometry::Point(0, 0), ::ad::geometry::Point(-1, 0), physics::cPI / 4., range));
34 [ + - + - : 1 : ASSERT_EQ(range.begin, -1. / 4. * physics::cPI);
- + - - -
- - - +
- ]
35 [ + - + - : 1 : ASSERT_EQ(range.end, 1. / 4. * physics::cPI);
- + - - -
- - - +
- ]
36 : :
37 [ + - + - : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateDriveAwayAngle(
+ - + - -
+ - - - -
- - - - ]
38 [ + - ]: 1 : ::ad::geometry::Point(0, 0), ::ad::geometry::Point(0, -1), physics::cPI / 4., range));
39 [ + - + - : 1 : ASSERT_EQ(range.begin, 1. / 4. * physics::cPI);
- + - - -
- - - +
- ]
40 [ + - + - : 1 : ASSERT_EQ(range.end, 3. / 4. * physics::cPI);
- + - - -
- - - +
- ]
41 : :
42 [ + - + - : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateDriveAwayAngle(
+ - + - -
+ - - - -
- - - - ]
43 [ + - ]: 1 : ::ad::geometry::Point(0, 0), ::ad::geometry::Point(1, 1), physics::cPI / 4., range));
44 [ + - - + : 1 : ASSERT_EQ(range.begin, physics::cPI);
- - - - -
- + - ]
45 [ + - + - : 1 : ASSERT_EQ(range.end, -physics::cPI_2);
- + - - -
- - - +
- ]
46 : :
47 [ + - + - : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateDriveAwayAngle(
+ - + - -
+ - - - -
- - - - ]
48 [ + - ]: 1 : ::ad::geometry::Point(0, 0), ::ad::geometry::Point(0, 1), 3. / 4. * physics::cPI, range));
49 [ + - + - : 1 : ASSERT_EQ(range.begin, 3. / 4. * physics::cPI);
- + - - -
- - - +
- ]
50 [ + - + - : 1 : ASSERT_EQ(range.end, 1. / 4. * physics::cPI);
- + - - -
- - - +
- ]
51 : :
52 [ + - + - : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateDriveAwayAngle(
+ - + - -
+ - - - -
- - - - ]
53 [ + - ]: 1 : ::ad::geometry::Point(0, 0), ::ad::geometry::Point(0, 1), physics::cPI / 2., range));
54 [ + - - + : 1 : ASSERT_EQ(range.begin, physics::cPI);
- - - - -
- + - ]
55 [ + - - + : 1 : ASSERT_EQ(range.end, physics::Angle(0.0));
- - - - -
- + - ]
56 : :
57 [ + - + - : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateDriveAwayAngle(
+ - + - -
+ - - - -
- - - - ]
58 [ + - ]: 1 : ::ad::geometry::Point(0, 0), ::ad::geometry::Point(0, -1), physics::cPI / 2., range));
59 [ + - - + : 1 : ASSERT_EQ(range.begin, physics::Angle(0.0));
- - - - -
- + - ]
60 [ + - - + : 1 : ASSERT_EQ(range.end, physics::cPI);
- - - - -
- + - ]
61 [ + - ]: 1 : }
62 : :
63 : 4 : TEST(RssUnstructuredConstellationCheckerTests, calculateState_emptyTrajectorySets)
64 : : {
65 [ + - ]: 1 : RssUnstructuredConstellationChecker unstructuredConstellationChecker;
66 : 1 : state::UnstructuredConstellationRssState unstructured_constellation_state;
67 : 1 : core::RelativeConstellation constellation;
68 : 1 : constellation.constellation_type = world::ConstellationType::Unstructured;
69 [ + - ]: 1 : constellation.ego_state = createRelativeVehicleState(world::ObjectType::EgoVehicle, 0.0, 0.0);
70 [ + - ]: 1 : constellation.other_state = createRelativeVehicleState(world::ObjectType::OtherVehicle, 0.0, 0.0);
71 : 1 : state::UnstructuredConstellationStateInformation egoStateInfo;
72 : 1 : state::UnstructuredConstellationStateInformation otherStateInfo;
73 [ + - - + : 1 : ASSERT_FALSE(unstructuredConstellationChecker.calculateState(
- - - - -
- - - ]
74 [ + - ]: 1 : constellation, egoStateInfo, otherStateInfo, unstructured_constellation_state));
75 [ + - + - : 1 : }
+ - + - +
- ]
76 : :
77 : 4 : TEST(RssUnstructuredConstellationCheckerTests, calculateState_other_in_front_of_ego_stopped)
78 : : {
79 [ + - ]: 1 : RssUnstructuredConstellationChecker unstructuredConstellationChecker;
80 : 1 : state::UnstructuredConstellationRssState unstructured_constellation_state;
81 : 1 : core::RelativeConstellation constellation;
82 : 1 : constellation.constellation_type = world::ConstellationType::Unstructured;
83 [ + - ]: 1 : constellation.ego_state = createRelativeVehicleState(world::ObjectType::EgoVehicle, 0.0, 0.0);
84 [ + - ]: 1 : constellation.other_state = createRelativeVehicleState(world::ObjectType::OtherVehicle, 0.0, 0.0);
85 [ + - ]: 1 : constellation.ego_state.dynamics.unstructured_settings.drive_away_max_angle = physics::cPI / 4.;
86 : 1 : state::UnstructuredConstellationStateInformation egoStateInfo;
87 : 1 : state::UnstructuredConstellationStateInformation otherStateInfo;
88 [ + - + - ]: 1 : getUnstructuredVehicle(::ad::geometry::Point(0.5, 0.5), true, egoStateInfo, constellation.ego_state);
89 [ + - + - ]: 1 : getUnstructuredVehicle(::ad::geometry::Point(0.5, 4.5), true, otherStateInfo, constellation.other_state);
90 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateState(
- - - - -
- - - ]
91 [ + - ]: 1 : constellation, egoStateInfo, otherStateInfo, unstructured_constellation_state));
92 [ - + - - : 1 : ASSERT_TRUE(unstructured_constellation_state.is_safe);
- - - - -
- + - ]
93 [ + - - + : 1 : ASSERT_EQ(unstructured_constellation_state.response, state::UnstructuredConstellationResponse::ContinueForward);
- - - - -
- + - ]
94 : :
95 : : // Drive away
96 [ + - + - ]: 1 : getUnstructuredVehicle(::ad::geometry::Point(0.5, 0.5), true, egoStateInfo, constellation.ego_state);
97 [ + - + - ]: 1 : getUnstructuredVehicle(::ad::geometry::Point(0.5, 2.0), true, otherStateInfo, constellation.other_state);
98 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateState(
- - - - -
- - - ]
99 [ + - ]: 1 : constellation, egoStateInfo, otherStateInfo, unstructured_constellation_state));
100 [ - + - - : 1 : ASSERT_FALSE(unstructured_constellation_state.is_safe);
- - - - -
- + - ]
101 [ + - - + : 1 : ASSERT_EQ(unstructured_constellation_state.response,
- - - - -
- ]
102 [ + - ]: 1 : state::UnstructuredConstellationResponse::DriveAway); // as both stopped
103 [ + - + - : 1 : ASSERT_EQ(unstructured_constellation_state.heading_range.begin, -3. / 4. * physics::cPI);
- + - - -
- - - +
- ]
104 [ + - + - : 1 : ASSERT_EQ(unstructured_constellation_state.heading_range.end, -1. / 4. * physics::cPI);
- + - - -
- - - +
- ]
105 [ + - + - : 1 : }
+ - + - +
- ]
106 : :
107 : 4 : TEST(RssUnstructuredConstellationCheckerTests, calculateState_frontal_ego_approaching)
108 : : {
109 [ + - ]: 1 : RssUnstructuredConstellationChecker unstructuredConstellationChecker;
110 : 1 : state::UnstructuredConstellationRssState unstructured_constellation_state;
111 : 1 : core::RelativeConstellation constellation;
112 : 1 : constellation.constellation_type = world::ConstellationType::Unstructured;
113 [ + - ]: 1 : constellation.ego_state = createRelativeVehicleState(world::ObjectType::EgoVehicle, 1.0, 0.0);
114 [ + - ]: 1 : constellation.other_state = createRelativeVehicleState(world::ObjectType::OtherVehicle, 0.0, 0.0);
115 [ + - ]: 1 : constellation.ego_state.dynamics.unstructured_settings.drive_away_max_angle = physics::cPI / 4.;
116 : 1 : state::UnstructuredConstellationStateInformation egoStateInfo;
117 : 1 : state::UnstructuredConstellationStateInformation otherStateInfo;
118 [ + - + - ]: 1 : getUnstructuredVehicle(::ad::geometry::Point(0.5, 0.5), true, egoStateInfo, constellation.ego_state);
119 [ + - + - ]: 1 : getUnstructuredVehicle(::ad::geometry::Point(0.5, 4.5), false, otherStateInfo, constellation.other_state);
120 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateState(
- - - - -
- - - ]
121 [ + - ]: 1 : constellation, egoStateInfo, otherStateInfo, unstructured_constellation_state));
122 [ - + - - : 1 : ASSERT_TRUE(unstructured_constellation_state.is_safe);
- - - - -
- + - ]
123 [ + - - + : 1 : ASSERT_EQ(unstructured_constellation_state.response, state::UnstructuredConstellationResponse::ContinueForward);
- - - - -
- + - ]
124 : :
125 : : // brake
126 [ + - + - ]: 1 : getUnstructuredVehicle(::ad::geometry::Point(0.5, 0.5), true, egoStateInfo, constellation.ego_state);
127 [ + - + - ]: 1 : getUnstructuredVehicle(::ad::geometry::Point(0.5, 1.5), false, otherStateInfo, constellation.other_state);
128 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateState(
- - - - -
- - - ]
129 [ + - ]: 1 : constellation, egoStateInfo, otherStateInfo, unstructured_constellation_state));
130 [ - + - - : 1 : ASSERT_FALSE(unstructured_constellation_state.is_safe);
- - - - -
- + - ]
131 [ + - - + : 1 : ASSERT_EQ(unstructured_constellation_state.response, state::UnstructuredConstellationResponse::Brake);
- - - - -
- + - ]
132 [ + - + - : 1 : }
+ - + - +
- ]
133 : :
134 : 4 : TEST(RssUnstructuredConstellationCheckerTests, calculateState_ego_in_front_driving_continueforward)
135 : : {
136 [ + - ]: 1 : RssUnstructuredConstellationChecker unstructuredConstellationChecker;
137 : 1 : core::RelativeConstellation constellation;
138 : 1 : constellation.constellation_type = world::ConstellationType::Unstructured;
139 [ + - ]: 1 : constellation.ego_state = createRelativeVehicleState(world::ObjectType::EgoVehicle, 1.0, 0.0);
140 : 1 : constellation.ego_state.unstructured_object_state.center_point.x = physics::Distance(20.0);
141 [ + - ]: 1 : constellation.other_state = createRelativeVehicleState(world::ObjectType::OtherVehicle, 1.0, 0.0);
142 : 1 : constellation.other_state.unstructured_object_state.center_point.x = physics::Distance(0.0);
143 : 1 : state::UnstructuredConstellationStateInformation egoStateInfo;
144 : :
145 : 1 : state::RssState rssState;
146 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateRssStateUnstructured(
- - - - -
- - - ]
147 [ + - ]: 1 : world::TimeIndex(1.), constellation, egoStateInfo, rssState));
148 [ - + - - : 1 : ASSERT_TRUE(rssState.unstructured_constellation_state.is_safe);
- - - - -
- + - ]
149 [ + - - + : 1 : ASSERT_EQ(rssState.unstructured_constellation_state.response,
- - - - -
- ]
150 [ + - ]: 1 : state::UnstructuredConstellationResponse::ContinueForward);
151 : :
152 : : // other must brake, ego continue forward
153 : 1 : constellation.other_state.unstructured_object_state.center_point.x = physics::Distance(5.0);
154 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateRssStateUnstructured(
- - - - -
- - - ]
155 [ + - ]: 1 : world::TimeIndex(2.), constellation, egoStateInfo, rssState));
156 [ - + - - : 1 : ASSERT_TRUE(rssState.unstructured_constellation_state.is_safe);
- - - - -
- + - ]
157 [ + - - + : 1 : ASSERT_EQ(rssState.unstructured_constellation_state.response,
- - - - -
- ]
158 [ + - ]: 1 : state::UnstructuredConstellationResponse::ContinueForward);
159 [ + - + - : 1 : }
+ - + - ]
160 : :
161 : 4 : TEST(RssUnstructuredConstellationCheckerTests, calculateState_ego_in_front_stopped_drive_away)
162 : : {
163 [ + - ]: 1 : RssUnstructuredConstellationChecker unstructuredConstellationChecker;
164 : 1 : core::RelativeConstellation constellation;
165 : 1 : constellation.constellation_type = world::ConstellationType::Unstructured;
166 [ + - ]: 1 : constellation.ego_state = createRelativeVehicleState(world::ObjectType::EgoVehicle, 1.0, 0.0);
167 : 1 : constellation.ego_state.unstructured_object_state.center_point.x = physics::Distance(20.0);
168 [ + - + - ]: 1 : constellation.ego_state.dynamics.unstructured_settings.drive_away_max_angle = 3. * physics::cPI / 4.;
169 [ + - ]: 1 : constellation.other_state = createRelativeVehicleState(world::ObjectType::OtherVehicle, 1.0, 0.0);
170 : 1 : constellation.other_state.unstructured_object_state.center_point.x = physics::Distance(0.0);
171 : 1 : state::UnstructuredConstellationStateInformation egoStateInfo;
172 : :
173 : 1 : state::RssState rssState;
174 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateRssStateUnstructured(
- - - - -
- - - ]
175 [ + - ]: 1 : world::TimeIndex(1.), constellation, egoStateInfo, rssState));
176 [ - + - - : 1 : ASSERT_TRUE(rssState.unstructured_constellation_state.is_safe);
- - - - -
- + - ]
177 [ + - - + : 1 : ASSERT_EQ(rssState.unstructured_constellation_state.response,
- - - - -
- ]
178 [ + - ]: 1 : state::UnstructuredConstellationResponse::ContinueForward);
179 : :
180 : : // other must brake, ego drive away
181 : 1 : constellation.other_state.unstructured_object_state.center_point.x = physics::Distance(5.0);
182 : 1 : constellation.ego_state.unstructured_object_state.speed_range.minimum = physics::Speed(0.0);
183 : 1 : constellation.ego_state.unstructured_object_state.speed_range.maximum = physics::Speed(0.0);
184 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateRssStateUnstructured(
- - - - -
- - - ]
185 [ + - ]: 1 : world::TimeIndex(2.), constellation, egoStateInfo, rssState));
186 [ - + - - : 1 : ASSERT_FALSE(rssState.unstructured_constellation_state.is_safe);
- - - - -
- + - ]
187 [ + - - + : 1 : ASSERT_EQ(rssState.unstructured_constellation_state.response, state::UnstructuredConstellationResponse::DriveAway);
- - - - -
- + - ]
188 [ + - + - : 1 : }
+ - + - ]
189 : :
190 : 4 : TEST(RssUnstructuredConstellationCheckerTests, calculateState_other_in_front_stopped_drive_away)
191 : : {
192 [ + - ]: 1 : RssUnstructuredConstellationChecker unstructuredConstellationChecker;
193 : 1 : core::RelativeConstellation constellation;
194 : 1 : constellation.constellation_id = 1;
195 : 1 : constellation.constellation_type = world::ConstellationType::Unstructured;
196 [ + - ]: 1 : constellation.ego_state = createRelativeVehicleState(world::ObjectType::EgoVehicle, 1.0, 0.0);
197 : 1 : constellation.ego_state.unstructured_object_state.center_point.x = physics::Distance(0.0);
198 [ + - + - ]: 1 : constellation.ego_state.dynamics.unstructured_settings.drive_away_max_angle = 3. * physics::cPI / 4.;
199 [ + - ]: 1 : constellation.other_state = createRelativeVehicleState(world::ObjectType::OtherVehicle, 0.0, 0.0);
200 : 1 : constellation.other_state.unstructured_object_state.center_point.x = physics::Distance(20.0);
201 : 1 : state::UnstructuredConstellationStateInformation egoStateInfo;
202 : :
203 : 1 : state::RssState rssState;
204 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateRssStateUnstructured(
- - - - -
- - - ]
205 [ + - ]: 1 : world::TimeIndex(1.), constellation, egoStateInfo, rssState));
206 [ - + - - : 1 : ASSERT_TRUE(rssState.unstructured_constellation_state.is_safe);
- - - - -
- + - ]
207 [ + - - + : 1 : ASSERT_EQ(rssState.unstructured_constellation_state.response,
- - - - -
- ]
208 [ + - ]: 1 : state::UnstructuredConstellationResponse::ContinueForward);
209 : :
210 : : // other must brake, ego drive away
211 : 1 : constellation.ego_state.unstructured_object_state.center_point.x = physics::Distance(5.0);
212 : 1 : constellation.ego_state.unstructured_object_state.speed_range.minimum = physics::Speed(0.0);
213 : 1 : constellation.ego_state.unstructured_object_state.speed_range.maximum = physics::Speed(0.0);
214 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateRssStateUnstructured(
- - - - -
- - - ]
215 [ + - ]: 1 : world::TimeIndex(2.), constellation, egoStateInfo, rssState));
216 [ - + - - : 1 : ASSERT_FALSE(rssState.unstructured_constellation_state.is_safe);
- - - - -
- + - ]
217 [ + - - + : 1 : ASSERT_EQ(rssState.unstructured_constellation_state.response, state::UnstructuredConstellationResponse::DriveAway);
- - - - -
- + - ]
218 : :
219 : : // ego drives away with forbidden heading
220 : 1 : constellation.ego_state.unstructured_object_state.center_point.x = physics::Distance(5.0);
221 : 1 : constellation.ego_state.unstructured_object_state.speed_range.minimum = physics::Speed(5.0);
222 : 1 : constellation.ego_state.unstructured_object_state.speed_range.maximum = physics::Speed(5.0);
223 [ + - ]: 1 : constellation.ego_state.unstructured_object_state.steering_angle = physics::cPI / 5.;
224 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateRssStateUnstructured(
- - - - -
- - - ]
225 [ + - ]: 1 : world::TimeIndex(3.), constellation, egoStateInfo, rssState));
226 [ - + - - : 1 : ASSERT_FALSE(rssState.unstructured_constellation_state.is_safe);
- - - - -
- + - ]
227 [ + - - + : 1 : ASSERT_EQ(rssState.unstructured_constellation_state.response, state::UnstructuredConstellationResponse::Brake);
- - - - -
- + - ]
228 : :
229 : : // ego forced to stop. drive away again possible
230 : 1 : constellation.ego_state.unstructured_object_state.center_point.x = physics::Distance(5.0);
231 : 1 : constellation.ego_state.unstructured_object_state.speed_range.minimum = physics::Speed(0.0);
232 : 1 : constellation.ego_state.unstructured_object_state.speed_range.maximum = physics::Speed(0.0);
233 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateRssStateUnstructured(
- - - - -
- - - ]
234 [ + - ]: 1 : world::TimeIndex(4.), constellation, egoStateInfo, rssState));
235 [ - + - - : 1 : ASSERT_FALSE(rssState.unstructured_constellation_state.is_safe);
- - - - -
- + - ]
236 [ + - - + : 1 : ASSERT_EQ(rssState.unstructured_constellation_state.response, state::UnstructuredConstellationResponse::DriveAway);
- - - - -
- + - ]
237 : :
238 : : // ego drives away with allowed heading
239 : 1 : constellation.ego_state.unstructured_object_state.center_point.x = physics::Distance(5.0);
240 : 1 : constellation.ego_state.unstructured_object_state.speed_range.minimum = physics::Speed(5.0);
241 : 1 : constellation.ego_state.unstructured_object_state.speed_range.maximum = physics::Speed(5.0);
242 [ + - ]: 1 : constellation.ego_state.unstructured_object_state.steering_angle = physics::cPI / 4.;
243 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateRssStateUnstructured(
- - - - -
- - - ]
244 [ + - ]: 1 : world::TimeIndex(5.), constellation, egoStateInfo, rssState));
245 [ - + - - : 1 : ASSERT_FALSE(rssState.unstructured_constellation_state.is_safe);
- - - - -
- + - ]
246 [ + - - + : 1 : ASSERT_EQ(rssState.unstructured_constellation_state.response, state::UnstructuredConstellationResponse::DriveAway);
- - - - -
- + - ]
247 : :
248 : : // ego drives away with allowed heading but other started to move again
249 : 1 : constellation.ego_state.unstructured_object_state.center_point.x = physics::Distance(5.0);
250 : 1 : constellation.ego_state.unstructured_object_state.speed_range.minimum = physics::Speed(5.0);
251 : 1 : constellation.ego_state.unstructured_object_state.speed_range.maximum = physics::Speed(5.0);
252 [ + - ]: 1 : constellation.ego_state.unstructured_object_state.steering_angle = physics::cPI / 4.;
253 : 1 : constellation.other_state.unstructured_object_state.center_point.x = physics::Distance(21.0);
254 [ + - - + : 1 : ASSERT_TRUE(unstructuredConstellationChecker.calculateRssStateUnstructured(
- - - - -
- - - ]
255 [ + - ]: 1 : world::TimeIndex(6.), constellation, egoStateInfo, rssState));
256 [ - + - - : 1 : ASSERT_FALSE(rssState.unstructured_constellation_state.is_safe);
- - - - -
- + - ]
257 [ + - - + : 1 : ASSERT_EQ(rssState.unstructured_constellation_state.response, state::UnstructuredConstellationResponse::Brake);
- - - - -
- + - ]
258 [ + - + - : 1 : }
+ - + - ]
259 : :
260 : : } // namespace unstructured
261 : : } // namespace rss
262 : : } // namespace ad
|