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

fix(obstacle_cruise_planner): improve cruise planner handling to a VRU maneuver overlapping with ego vehicle trajectory #1128

Conversation

ahmeddesokyebrahim
Copy link
Contributor

@ahmeddesokyebrahim ahmeddesokyebrahim commented Aug 20, 2024

Description

Fixes :

Related links

Parent Issue :

Tests performed

Before this PR :

2024-07-09.16-05-17.mp4
2024-07-09.16-06-27.mp4

After this PR :

2024-08-26.14-31-47.mp4
2024-08-26.14-33-37.mp4

Notes for reviewers

Interface changes

ROS Topic Changes

N.A

ROS Parameter Changes

Parameter Name Default Value Update Description
obstacle_velocity_threshold_from_cruise_to_stop 1.0 m/s Lowering the this threshold below obstacle_velocity_threshold_from_stop_to_cruise to prevent chattering between cruise and stop
obstacle_velocity_threshold_from_stop_to_cruise 1.5 m/s Lowering the the velocity threshold hysteresis from cruise to obstacle stop so that obstacle_cruise_planner is not performing high -ve acceleration once the VRU is overlapping with ego trajectory and allowing the ego vehicle to cruise the front VRU not always triggering obstacle stop for it

Effects on system behavior

Enhancing the obstacle_cruise_planner to effectively handle scenarios where vulnerable road users (VRUs) suddenly maneuver and overlap with the ego vehicle's trajectory in dense urban operational design domains (ODDs) will improve deceleration and velocity adjustments, resulting in more human-like driving behavior.

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

  • The PR follows the pull request guidelines.
  • The PR has been properly tested.
  • The PR has been reviewed by the code owners.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • There are no open discussions or they are tracked via tickets.
  • The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@ahmeddesokyebrahim ahmeddesokyebrahim self-assigned this Aug 20, 2024
@ahmeddesokyebrahim ahmeddesokyebrahim changed the title fix(obstacle-cruise-planner): Improve cruise planner handling to a VRU maneuver overlapping with ego vehicle trajectory fix(obstacle-cruise-planner): improve cruise planner handling to a VRU maneuver overlapping with ego vehicle trajectory Aug 20, 2024
@ahmeddesokyebrahim ahmeddesokyebrahim changed the title fix(obstacle-cruise-planner): improve cruise planner handling to a VRU maneuver overlapping with ego vehicle trajectory fix(obstacle_cruise_planner): improve cruise planner handling to a VRU maneuver overlapping with ego vehicle trajectory Aug 20, 2024
@@ -89,7 +89,7 @@

# hysteresis for cruise and stop
obstacle_velocity_threshold_from_cruise_to_stop : 3.0 # stop planning is executed to the obstacle whose velocity is less than this value [m/s]
obstacle_velocity_threshold_from_stop_to_cruise : 3.5 # stop planning is executed to the obstacle whose velocity is less than this value [m/s]
obstacle_velocity_threshold_from_stop_to_cruise : 2.5 # stop planning is executed to the obstacle whose velocity is less than this value [m/s]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

obstacle_velocity_threshold_from_stop_to_cruise has to be larger than obstacle_velocity_threshold_from_cruise_to_stop.
I guess when the ego's velocity is 2.8, the mode will chatter like cruise -> stop -> cruise -> stop -> ...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @takayuki5168 -san for your review comment.
I have discussed this comment with @brkay54 as he had previous knowledge in this point and we come to the following updates in the parameters .

  • We see that having obstacle_velocity_threshold_from_stop_to_cruise with 1.5 m/s (5.4 k/h) would be better handling this scenario allowing the ego vehicle to cruise the VRU not always triggering obstacle stop imitating natural human driving in such dense urban cases
  • As well having obstacle_velocity_threshold_from_cruise_to_stop less than obstacle_velocity_threshold_from_stop_to_cruise will prevent chattering.

I have provided new demo videos under After this PR. Please have a look and let us know your thoughts.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ahmeddesokyebrahim
Thank you for the explanation.

In the use case where the ego tries to stop for the front stopped object, decreasing the parameter makes the ego late to switch from CRUISE to STOP, and as a result, the ego is late to decelerate which we feel is very dangerous. So I don't agree with decreasing this parameter.
Does this explanation make sense to you?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @takayuki5168 -san for your reply.

decreasing the parameter makes the ego late to switch from CRUISE to STOP

Actually it is intended by this change to let the ego vehicle cruise the front object not to trigger obstacle stop for it, trying to have a natural human driving behavior in such dense urban areas.

Do you have in mind or with prior experiments any minimum threshold that we can have for obstacle_velocity_threshold_from_cruise_to_stop & obstacle_velocity_threshold_from_stop_to_cruise ?

@ahmeddesokyebrahim ahmeddesokyebrahim force-pushed the autoware/launch/8311-fix-vru-maneuver-overlap-ego-trj branch from 29db88c to 7f80b6a Compare August 26, 2024 11:53
@ahmeddesokyebrahim ahmeddesokyebrahim force-pushed the autoware/launch/8311-fix-vru-maneuver-overlap-ego-trj branch from 7f80b6a to 3a325c6 Compare August 29, 2024 13:08
Ahmed Ebrahim added 2 commits September 9, 2024 15:55
… handling vru maneuver overlapping with ego trj

Signed-off-by: Ahmed Ebrahim <[email protected]>
… cruise the vru and prevent mode chattering

Signed-off-by: Ahmed Ebrahim <[email protected]>
@ahmeddesokyebrahim ahmeddesokyebrahim force-pushed the autoware/launch/8311-fix-vru-maneuver-overlap-ego-trj branch from 3a325c6 to ae461d5 Compare September 9, 2024 14:36
@ahmeddesokyebrahim
Copy link
Contributor Author

Closing this PR as the intended issue and scenario/s will be covered by this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants