@@ -76,9 +76,22 @@ Polygon2d createExtendedPolygon(
76
76
const PoseWithVelocityAndPolygonStamped & obj_pose_with_poly, const double lon_length,
77
77
const double lat_margin, const bool is_stopped_obj, CollisionCheckDebug & debug);
78
78
79
+ /* *
80
+ * @brief Converts path (path with velocity stamped) to predicted path.
81
+ * @param path Path.
82
+ * @param time_resolution Time resolution.
83
+ * @return Predicted path.
84
+ */
79
85
PredictedPath convertToPredictedPath (
80
86
const std::vector<PoseWithVelocityStamped> & path, const double time_resolution);
81
87
88
+ /* *
89
+ * @brief Calculates RSS related distance.
90
+ * @param front_object_velocity Velocity of front object.
91
+ * @param rear_object_velocity Velocity of rear object.
92
+ * @param rss_params RSS parameters.
93
+ * @return Longitudinal distance.
94
+ */
82
95
double calcRssDistance (
83
96
const double front_object_velocity, const double rear_object_velocity,
84
97
const RSSparams & rss_params);
@@ -128,9 +141,29 @@ ExtendedPredictedObjects filterObjectPredictedPathByTimeHorizon(
128
141
const ExtendedPredictedObjects & objects, const double time_horizon,
129
142
const bool check_all_predicted_path);
130
143
144
+ /* *
145
+ * @brief Filters the path by obtaining points after target pose.
146
+ * @param path Path to filter.
147
+ * @param target_pose Target pose.
148
+ * @return Filtered path.
149
+ */
131
150
std::vector<PoseWithVelocityStamped> filterPredictedPathAfterTargetPose (
132
151
const std::vector<PoseWithVelocityStamped> & path, const Pose & target_pose);
133
152
153
+ /* *
154
+ * @brief Iterate the points in the ego and target's predicted path and
155
+ * perform safety check for each of the iterated points using RSS parameters
156
+ * @param planned_path The planned path of the ego vehicle.
157
+ * @param ego_predicted_path Ego vehicle's predicted path
158
+ * @param objects Detected objects.
159
+ * @param debug_map Map for collision check debug.
160
+ * @param parameters The common parameters used in behavior path planner.
161
+ * @param rss_params The parameters used in RSSs
162
+ * @param check_all_predicted_path If true, uses all predicted path
163
+ * @param hysteresis_factor Hysteresis factor
164
+ * @param yaw_difference_th Threshold for yaw difference
165
+ * @return True if planned path is safe.
166
+ */
134
167
bool checkSafetyWithRSS (
135
168
const PathWithLaneId & planned_path,
136
169
const std::vector<PoseWithVelocityStamped> & ego_predicted_path,
@@ -144,16 +177,14 @@ bool checkSafetyWithRSS(
144
177
* perform safety check for each of the iterated points.
145
178
* @param planned_path The predicted path of the ego vehicle.
146
179
* @param predicted_ego_path Ego vehicle's predicted path
147
- * @param ego_current_velocity Current velocity of the ego vehicle.
148
180
* @param target_object The predicted object to check collision with.
149
181
* @param target_object_path The predicted path of the target object.
150
- * @param common_parameters The common parameters used in behavior path planner.
151
- * @param front_object_deceleration The deceleration of the object in the front.(used in RSS)
152
- * @param rear_object_deceleration The deceleration of the object in the rear.(used in RSS)
153
- * @param yaw_difference_th maximum yaw difference between any given ego path pose and object
154
- * predicted path pose.
182
+ * @param common_parameters Common parameters used for behavior path planning.
183
+ * @param rss_parameters The parameters used in RSS.
184
+ * @param hysteresis_factor Hysteresis factor.
185
+ * @param yaw_difference_th Threshold of yaw difference.
155
186
* @param debug The debug information for collision checking.
156
- * @return true if distance is safe .
187
+ * @return True if there is no collision .
157
188
*/
158
189
bool checkCollision (
159
190
const PathWithLaneId & planned_path,
@@ -166,16 +197,17 @@ bool checkCollision(
166
197
/* *
167
198
* @brief Iterate the points in the ego and target's predicted path and
168
199
* perform safety check for each of the iterated points.
169
- * @param planned_path The predicted path of the ego vehicle.
200
+ * @param planned_path The planned path of the ego vehicle.
170
201
* @param predicted_ego_path Ego vehicle's predicted path
171
- * @param ego_current_velocity Current velocity of the ego vehicle.
172
202
* @param target_object The predicted object to check collision with.
173
203
* @param target_object_path The predicted path of the target object.
174
- * @param common_parameters The common parameters used in behavior path planner.
175
- * @param front_object_deceleration The deceleration of the object in the front.(used in RSS)
176
- * @param rear_object_deceleration The deceleration of the object in the rear.(used in RSS)
204
+ * @param vehicle_info Ego vehicle information.
205
+ * @param rss_parameters The parameters used in RSS.
206
+ * @param hysteresis_factor Hysteresis factor.
207
+ * @param max_velocity_limit Maximum velocity of ego vehicle.
208
+ * @param yaw_difference_th Threshold of yaw difference.
177
209
* @param debug The debug information for collision checking.
178
- * @return a list of polygon when collision is expected.
210
+ * @return List of polygon which collision is expected.
179
211
*/
180
212
std::vector<Polygon2d> get_collided_polygons (
181
213
const PathWithLaneId & planned_path,
@@ -187,6 +219,17 @@ std::vector<Polygon2d> get_collided_polygons(
187
219
188
220
bool checkPolygonsIntersects (
189
221
const std::vector<Polygon2d> & polys_1, const std::vector<Polygon2d> & polys_2);
222
+
223
+ /* *
224
+ * @brief Checks for safety using integral predicted polygons.
225
+ * @param ego_predicted_path The predicted path of ego vehicle.
226
+ * @param vehicle_info Information (parameters) about ego vehicle.
227
+ * @param objects Surrounding objects.
228
+ * @param check_all_predicted_path Whether to check all predicted paths of objects.
229
+ * @param params Parameters for integral predicted polygon.
230
+ * @param debug_map Map to store debug information.
231
+ * @return True if the ego vehicle's path is safe, and false otherwise.
232
+ */
190
233
bool checkSafetyWithIntegralPredictedPolygon (
191
234
const std::vector<PoseWithVelocityStamped> & ego_predicted_path, const VehicleInfo & vehicle_info,
192
235
const ExtendedPredictedObjects & objects, const bool check_all_predicted_path,
0 commit comments