@@ -58,34 +58,76 @@ PathWithLaneId resamplePathWithSpline(
58
58
const PathWithLaneId & path, const double interval, const bool keep_input_points = false ,
59
59
const std::pair<double , double > target_section = {0.0 , std::numeric_limits<double >::max ()});
60
60
61
+ /* *
62
+ * @brief Gets index based on target index and arc length.
63
+ * @param [in] path Path.
64
+ * @param [in] target_idx Target index.
65
+ * @param [in] signed_arc Signed arc length. (Positive is forward)
66
+ * @return Index
67
+ */
61
68
size_t getIdxByArclength (
62
69
const PathWithLaneId & path, const size_t target_idx, const double signed_arc);
63
70
71
+ /* *
72
+ * @brief Clips path according to the target index and length.
73
+ * @param [in] path Path.
74
+ * @param [in] target_idx Target index.
75
+ * @param [in] forward Forward distance from target index.
76
+ * @param [in] backward Backward distance from target index.
77
+ * @return Index
78
+ */
64
79
void clipPathLength (
65
80
PathWithLaneId & path, const size_t target_idx, const double forward, const double backward);
66
81
67
- void clipPathLength (
68
- PathWithLaneId & path, const size_t target_idx, const BehaviorPathPlannerParameters & params);
69
-
70
82
PathWithLaneId convertWayPointsToPathWithLaneId (
71
83
const autoware::freespace_planning_algorithms::PlannerWaypoints & waypoints,
72
84
const double velocity, const lanelet::ConstLanelets & lanelets);
73
85
86
+ /* *
87
+ * @brief Get indices where the driving direction would reverse.
88
+ * @param [in] path Original path.
89
+ * @return Indices.
90
+ */
74
91
std::vector<size_t > getReversingIndices (const PathWithLaneId & path);
75
92
93
+ /* *
94
+ * @brief Divide path by given indices.
95
+ * @param [in] path Original path.
96
+ * @param [in] indices Where to split the path.
97
+ * @return Divided paths.
98
+ */
76
99
std::vector<PathWithLaneId> dividePath (
77
100
const PathWithLaneId & path, const std::vector<size_t > & indices);
78
101
102
+ /* *
103
+ * @brief Corrects the velocity implemented in the trajectory by judging the vehicle driving
104
+ * direction.
105
+ * @param [in] divided_paths Multiple path with lane ID.
106
+ * @return
107
+ */
79
108
void correctDividedPathVelocity (std::vector<PathWithLaneId> & divided_paths);
80
109
81
110
// only two points is supported
82
- std::vector<double > splineTwoPoints (
111
+ std::vector<double > spline_two_points (
83
112
const std::vector<double > & base_s, const std::vector<double > & base_x, const double begin_diff,
84
113
const double end_diff, const std::vector<double > & new_s);
85
114
115
+ /* *
116
+ * @brief Interpolates pose between 2 pose.
117
+ * @param [in] start_pose Start pose.
118
+ * @param [in] end_pose End pose.
119
+ * @param [in] resample_interval Resampling interval.
120
+ * @return Array of pose
121
+ */
86
122
std::vector<Pose> interpolatePose (
87
123
const Pose & start_pose, const Pose & end_pose, const double resample_interval);
88
124
125
+ /* *
126
+ * @brief Get ego pose which is not shifted.
127
+ * @param [in] ego_pose Ego pose.
128
+ * @param [in] prev_path Previous path with lane ID.
129
+ * @return Unshifted pose.
130
+ */
89
131
geometry_msgs::msg::Pose getUnshiftedEgoPose (
90
132
const geometry_msgs::msg::Pose & ego_pose, const ShiftedPath & prev_path);
91
133
@@ -94,6 +136,12 @@ PathWithLaneId calcCenterLinePath(
94
136
const double longest_dist_to_shift_line,
95
137
const std::optional<PathWithLaneId> & prev_module_path = std::nullopt);
96
138
139
+ /* *
140
+ * @brief Combines 2 path which do not overlap.
141
+ * @param [in] path1 First path.
142
+ * @param [in] path2 Second path.
143
+ * @return Combined path.
144
+ */
97
145
PathWithLaneId combinePath (const PathWithLaneId & path1, const PathWithLaneId & path2);
98
146
99
147
BehaviorModuleOutput getReferencePath (
0 commit comments