@@ -244,7 +244,8 @@ bool checkOccupancyGridCollision(
244
244
245
245
bool isStopped (
246
246
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)
248
249
{
249
250
odometry_buffer.push_back (self_odometry);
250
251
// Delete old data in buffer_stuck_
@@ -259,7 +260,7 @@ bool isStopped(
259
260
bool is_stopped = true ;
260
261
for (const auto & odometry : odometry_buffer) {
261
262
const double ego_vel = utils::l2Norm (odometry->twist .twist .linear );
262
- if (ego_vel > duration_lower ) {
263
+ if (ego_vel > velocity_upper ) {
263
264
is_stopped = false ;
264
265
break ;
265
266
}
@@ -879,7 +880,8 @@ bool GoalPlannerModule::canReturnToLaneParking(const PullOverContextData & conte
879
880
{
880
881
// return only before starting free space parking
881
882
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 )) {
883
885
return false ;
884
886
}
885
887
@@ -1760,7 +1762,9 @@ bool GoalPlannerModule::isStuck(
1760
1762
}
1761
1763
1762
1764
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 )) {
1764
1768
return false ;
1765
1769
}
1766
1770
@@ -1801,7 +1805,8 @@ bool GoalPlannerModule::hasFinishedCurrentPath(const PullOverContextData & ctx_d
1801
1805
}
1802
1806
1803
1807
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 )) {
1805
1810
return false ;
1806
1811
}
1807
1812
0 commit comments