Skip to content

Commit 11206eb

Browse files
authored
feat(dynamic_avoidance): add max obstacle vel (#5142)
* feat(dynamic_avoidance): add max obstacle vel Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com> * update config Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com> --------- Signed-off-by: Takayuki Murooka <takayuki5168@gmail.com>
1 parent 79d76ca commit 11206eb

File tree

4 files changed

+8
-2
lines changed

4 files changed

+8
-2
lines changed

planning/behavior_path_planner/config/dynamic_avoidance/dynamic_avoidance.param.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
motorcycle: true
1717
pedestrian: false
1818

19+
max_obstacle_vel: 100.0 # [m/s]
1920
min_obstacle_vel: 0.0 # [m/s]
2021

2122
successive_num_to_entry_dynamic_avoidance_condition: 5

planning/behavior_path_planner/include/behavior_path_planner/scene_module/dynamic_avoidance/dynamic_avoidance_module.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ struct DynamicAvoidanceParameters
5656
bool avoid_bicycle{false};
5757
bool avoid_motorcycle{false};
5858
bool avoid_pedestrian{false};
59+
double max_obstacle_vel{0.0};
5960
double min_obstacle_vel{0.0};
6061
int successive_num_to_entry_dynamic_avoidance_condition{0};
6162
int successive_num_to_exit_dynamic_avoidance_condition{0};

planning/behavior_path_planner/src/scene_module/dynamic_avoidance/dynamic_avoidance_module.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -411,10 +411,12 @@ void DynamicAvoidanceModule::updateTargetObjects()
411411
continue;
412412
}
413413

414-
// 1.b. check if velocity is large enough
414+
// 1.b. check obstacle velocity
415415
const auto [obj_tangent_vel, obj_normal_vel] =
416416
projectObstacleVelocityToTrajectory(prev_module_path->points, predicted_object);
417-
if (std::abs(obj_tangent_vel) < parameters_->min_obstacle_vel) {
417+
if (
418+
std::abs(obj_tangent_vel) < parameters_->min_obstacle_vel ||
419+
parameters_->max_obstacle_vel < std::abs(obj_tangent_vel)) {
418420
continue;
419421
}
420422

planning/behavior_path_planner/src/scene_module/dynamic_avoidance/manager.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ DynamicAvoidanceModuleManager::DynamicAvoidanceModuleManager(
4747
p.avoid_bicycle = node->declare_parameter<bool>(ns + "bicycle");
4848
p.avoid_motorcycle = node->declare_parameter<bool>(ns + "motorcycle");
4949
p.avoid_pedestrian = node->declare_parameter<bool>(ns + "pedestrian");
50+
p.max_obstacle_vel = node->declare_parameter<double>(ns + "max_obstacle_vel");
5051
p.min_obstacle_vel = node->declare_parameter<double>(ns + "min_obstacle_vel");
5152
p.successive_num_to_entry_dynamic_avoidance_condition =
5253
node->declare_parameter<int>(ns + "successive_num_to_entry_dynamic_avoidance_condition");
@@ -136,6 +137,7 @@ void DynamicAvoidanceModuleManager::updateModuleParams(
136137
updateParam<bool>(parameters, ns + "motorcycle", p->avoid_motorcycle);
137138
updateParam<bool>(parameters, ns + "pedestrian", p->avoid_pedestrian);
138139

140+
updateParam<double>(parameters, ns + "max_obstacle_vel", p->max_obstacle_vel);
139141
updateParam<double>(parameters, ns + "min_obstacle_vel", p->min_obstacle_vel);
140142

141143
updateParam<int>(

0 commit comments

Comments
 (0)