Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(intersection): add flag to enable creep towards intersection occlusion #3510

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
occlusion:
enable: true
occlusion_detection_area_length: 70.0 # [m]
enable_creeping: false # flag to use the creep velocity when reaching occlusion limit stop line
occlusion_creep_velocity: 0.8333 # the creep velocity to occlusion limit stop line
free_space_max: 43
occupied_min: 58
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,8 @@ class IntersectionModule : public SceneModuleInterface
{
bool enable;
double occlusion_detection_area_length; //! used for occlusion detection
double occlusion_creep_velocity; //! the creep velocity to occlusion limit stop lline
bool enable_creeping;
double occlusion_creep_velocity; //! the creep velocity to occlusion limit stop lline
int free_space_max;
int occupied_min;
bool do_dp;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ IntersectionModuleManager::IntersectionModuleManager(rclcpp::Node & node)
ip.occlusion.enable = node.declare_parameter<bool>(ns + ".occlusion.enable");
ip.occlusion.occlusion_detection_area_length =
node.declare_parameter<double>(ns + ".occlusion.occlusion_detection_area_length");
ip.occlusion.enable_creeping = node.declare_parameter<bool>(ns + ".occlusion.enable_creeping");
ip.occlusion.occlusion_creep_velocity =
node.declare_parameter<double>(ns + ".occlusion.occlusion_creep_velocity");
ip.occlusion.free_space_max = node.declare_parameter<int>(ns + ".occlusion.free_space_max");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -405,7 +405,7 @@ bool IntersectionModule::modifyPathVelocity(PathWithLaneId * path, StopReason *
if (!occlusion_activated_) {
is_go_out_ = false;
/* in case of creeping */
if (insert_creep_during_occlusion) {
if (insert_creep_during_occlusion && planner_param_.occlusion.enable_creeping) {
const auto [start, end] = insert_creep_during_occlusion.value();
for (size_t i = start; i < end; ++i) {
planning_utils::setVelocityFromIndex(
Expand Down