Skip to content

Commit 90bf2d0

Browse files
authoredDec 7, 2024··
fix(goal_planner): fix isStopped judgement (#9585)
* fix(goal_planner): fix isStopped judgement Signed-off-by: kosuke55 <kosuke.tnp@gmail.com> * fix typo Signed-off-by: kosuke55 <kosuke.tnp@gmail.com> --------- Signed-off-by: kosuke55 <kosuke.tnp@gmail.com>
1 parent c9f0f26 commit 90bf2d0

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed
 

‎planning/behavior_path_planner/autoware_behavior_path_goal_planner_module/include/autoware/behavior_path_goal_planner_module/goal_planner_module.hpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,8 @@ bool checkOccupancyGridCollision(
158158

159159
bool isStopped(
160160
std::deque<nav_msgs::msg::Odometry::ConstSharedPtr> & odometry_buffer,
161-
const nav_msgs::msg::Odometry::ConstSharedPtr self_odometry, const double duration_lower);
161+
const nav_msgs::msg::Odometry::ConstSharedPtr self_odometry, const double duration_lower,
162+
const double velocity_upper);
162163

163164
// Flag class for managing whether a certain callback is running in multi-threading
164165
class ScopedFlag

‎planning/behavior_path_planner/autoware_behavior_path_goal_planner_module/src/goal_planner_module.cpp

+10-5
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,8 @@ bool checkOccupancyGridCollision(
244244

245245
bool isStopped(
246246
std::deque<nav_msgs::msg::Odometry::ConstSharedPtr> & odometry_buffer,
247-
const nav_msgs::msg::Odometry::ConstSharedPtr self_odometry, const double duration_lower)
247+
const nav_msgs::msg::Odometry::ConstSharedPtr self_odometry, const double duration_lower,
248+
const double velocity_upper)
248249
{
249250
odometry_buffer.push_back(self_odometry);
250251
// Delete old data in buffer_stuck_
@@ -259,7 +260,7 @@ bool isStopped(
259260
bool is_stopped = true;
260261
for (const auto & odometry : odometry_buffer) {
261262
const double ego_vel = utils::l2Norm(odometry->twist.twist.linear);
262-
if (ego_vel > duration_lower) {
263+
if (ego_vel > velocity_upper) {
263264
is_stopped = false;
264265
break;
265266
}
@@ -879,7 +880,8 @@ bool GoalPlannerModule::canReturnToLaneParking(const PullOverContextData & conte
879880
{
880881
// return only before starting free space parking
881882
if (!isStopped(
882-
odometry_buffer_stopped_, planner_data_->self_odometry, parameters_->th_stopped_time)) {
883+
odometry_buffer_stopped_, planner_data_->self_odometry, parameters_->th_stopped_time,
884+
parameters_->th_stopped_velocity)) {
883885
return false;
884886
}
885887

@@ -1760,7 +1762,9 @@ bool GoalPlannerModule::isStuck(
17601762
}
17611763

17621764
constexpr double stuck_time = 5.0;
1763-
if (!isStopped(odometry_buffer_stuck_, planner_data->self_odometry, stuck_time)) {
1765+
if (!isStopped(
1766+
odometry_buffer_stuck_, planner_data->self_odometry, stuck_time,
1767+
parameters_->th_stopped_velocity)) {
17641768
return false;
17651769
}
17661770

@@ -1801,7 +1805,8 @@ bool GoalPlannerModule::hasFinishedCurrentPath(const PullOverContextData & ctx_d
18011805
}
18021806

18031807
if (!isStopped(
1804-
odometry_buffer_stopped_, planner_data_->self_odometry, parameters_->th_stopped_time)) {
1808+
odometry_buffer_stopped_, planner_data_->self_odometry, parameters_->th_stopped_time,
1809+
parameters_->th_stopped_velocity)) {
18051810
return false;
18061811
}
18071812

0 commit comments

Comments
 (0)
Please sign in to comment.