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

dynamic_obstacle_stop_module does not check obstacles behind EGO's vehicle #7065

Open
3 tasks done
beyzanurkaya opened this issue May 19, 2024 · 3 comments · May be fixed by #7076 or autowarefoundation/autoware_launch#999
Open
3 tasks done
Assignees
Labels
component:planning Route planning, decision-making, and navigation. (auto-assigned)

Comments

@beyzanurkaya
Copy link
Contributor

Checklist

  • I've read the contribution guidelines.
  • I've searched other issues and no duplicate issues were found.
  • I've agreed with the maintainers that I can plan this task.

Description

Even if objects behind the EGO vehicle are detected, they are not used in path planning. This can result in a vehicle following the EGO from behind and trying to overtake it, potentially causing a collision. Therefore, objects located behind the EGO vehicle and whose predicted paths intersect with the trajectory should be taken into consideration in dynamic_obstacle_stop_module

Purpose

To prevent a potential collision and make autonomous driving safer.

Possible approaches

Objects behind the EGO vehicle whose predicted path intersects with the EGO's trajectory should not be filtered out in the dynamic_obstacle_stop_module and should be taken into consideration.

Definition of done

As long as a vehicle following the EGO from behind and attempting to overtake remains within the detection area, the EGO vehicle will stop.

@beyzanurkaya beyzanurkaya added the component:planning Route planning, decision-making, and navigation. (auto-assigned) label May 19, 2024
@beyzanurkaya beyzanurkaya self-assigned this May 19, 2024
@maxime-clem
Copy link
Contributor

Thank you for opening this issue.
Currently the dynamic_obstacle_stop module does not use the predicted paths but uses a simple "constant heading + constant velocity" model to predict the future positions of the dynamic objects (see the documentation page).

I agree we may want to consider predicted paths of dynamic objects. How about adding two parameters to the dynamic_obstacle_stop module ? One parameter ignore_objects_behind_ego, and one parameter use_predicted_paths.

By the way, I am planning to move the dynamic_obstacle_module to the new motion_velocity_planner (still a work in progress, see #7064) to allow more accurate collision detection.

@beyzanurkaya
Copy link
Contributor Author

beyzanurkaya commented May 20, 2024

Thanks for your comment @maxime-clem
Yes, I am aware that dynamic_obstacle_stop_module does not use predicted_path.

I am considering proceeding as follows:

  • First of all, I am thinking of adding a lambda function to filter_predicted_objects to take into account the objects coming from behind by adding a parameter named ignore_objects_behind_ego. So the objects behind the vehicle will also be included in the filtered_object, which is the output of this function.

  • At this stage, I plan to add a parameter to use_predicted_path of objects and check the intersection of the EGO's trajectory with the predicted paths of the filtered objects.

What do you think?

Additionally, I agree with you. I think it would be more logical for the dynamic_obstacle_stop_module to be inside the motion_velocity_planner.

@maxime-clem
Copy link
Contributor

Your plan sounds good thank you 👍 If you need any help with developing these new features let me know. I will also be happy to review the PR once it is ready.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:planning Route planning, decision-making, and navigation. (auto-assigned)
Projects
Status: In Progress
2 participants