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

[Dense-Urban-ODD] Intersection module is not triggered for low speed NPC #7080

Closed
3 of 5 tasks
ahmeddesokyebrahim opened this issue May 21, 2024 · 9 comments · Fixed by autowarefoundation/autoware_launch#994
Assignees
Labels
type:bug Software flaws or errors.

Comments

@ahmeddesokyebrahim
Copy link
Contributor

ahmeddesokyebrahim commented May 21, 2024

Checklist

  • I've read the contribution guidelines.
  • I've searched other issues and no duplicate issues were found.
  • I'm convinced that this is not my fault but a bug.

Description

Part of:

Dense Urban ODD Characteristics

  • Low-Speed Driving: Typical speeds around 15 km/h.
  • Complex Traffic Elements: Includes dense traffic with various dynamic interactions.
  • Dynamic Agents: Frequent encounters with moving pedestrians and cyclists.
  • Bidirectional Movement: Vehicles operate in lanes supporting bidirectional flow.
  • Traffic Rule Non-compliance: Other road users may exhibit behaviors such as:
    • Driving in the wrong direction.
    • Cutting in unexpectedly from off-road areas.
    • Jaywalking pedestrians.
    • Improper / sudden overtaking by other road users.
    • Driving with unexpected speed in some situations

In the context of Dense Urban ODD, autoware_behavior_velocity_intersection_module should be checking and preventing collision with upcoming vehicles in intersection areas.
It has been observed in one of the Dense Urban ODD scenarios when a very low speed NPC is approaching and crossing an intersection area that autoware_behavior_velocity_intersection_module is not triggered (i.e. not checking for upcoming vehicle in the intersection area and the ego vehicle is continuing and collisdiing with intersecting NPC and intersection virtual wall is not generated as well)

Purpose

The purpose of this issue is to improve the autoware_behavior_velocity_intersection_module behavior in the case of low speed NPC existence. The following scenario explains more about this issue

Low speed NPC approaching and crossing intersection area while interfering with Ego trajectory "UC-NTR-003-0003"

The following image describes the scenario where ...

  • Ego vehicle is driving at a constant velocity (15 km/h)
  • The npc is positioned 30 meters away from the intersection area
  • The npc turns right after moving
  • The npc has different velocity in different iterations of the scenario
    • 1st iteration npc is moving with 4.5 km/h (1.25 m/s)
    • 2nd iteration npc is moving with 6.3 km/h (1.75 m/s)
    • 3rd iteration npc is moving with 8.1 km/h (2.25 m/s)

image

Npc moving with 4.5 km/h (1.25 m/s) "FAILED ❌"
2024-07-18.18-36-24.mp4
Npc moving with 6.3 km/h (1.75 m/s) "PASSED ✔️ "
2024-07-18.18-37-37.mp4
Npc moving with 8.1 km/h (2.25 m/s) "PASSED ✔️ "
2024-07-18.18-39-06.mp4

For reproducing the issue using scenario simulation, you can use the these scenario and map files.

Expected behavior

autoware_behavior_velocity_intersection_module should be able to check the upcoming low speed NPC and stop for it

Actual behavior

autoware_behavior_velocity_intersection_module is not triggered while low speed NPC is approaching and crossing the intersection area.

Possible causes

This scenario was investigated more carefully in planning simulator, and it was observed that intersection modules is triggered while NPC is moving with 6.3 km/h (1.75 m/s) and 8.1 km/h (2.25 m/s). In these cases there was predicted path generated for the NPC. While in the case NPC was moving with 4.5 km/h (1.25 m/s), there was not predicted path and intersection module is not triggered.

A possible root cause of this issue is that min_velocity_for_map_based_prediction is set to 5 km/h (1.39 m/s).
Reducing this parameter to 3.6 km/h (1.0 m/s) is leading to generating the predicted path of the NPC moving with 4.5 km/h (1.25 m/s) and autoware_behavior_velocity_intersection_module is successfully triggered

Definition of done

  • Update needed parameters.
  • Ensure the target scenario is passing.
@ahmeddesokyebrahim
Copy link
Contributor Author

Please lower this parameter and see if eog reacts to NPC

https://github.com/autowarefoundation/autoware_launch/blob/0aea8a35b9831e207827504297c6ac1a2e6cd9e1/autoware_launch/config/planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/intersection.param.yaml#L105

Hi @soblin -san

Thanks for your comment!

This is the scenario output after changing ignore_parked_vehicle_speed_threshold to 0.1 - which is should be less than the NPC speed and still the intersection module is not triggered.

Please have a look to this PR and check the scenario output after the PR and let me know your opinion.

Thanks again.

@ahmeddesokyebrahim
Copy link
Contributor Author

Hi @soblin -san & @tkimura4 -san

I have a question regarding the parameter min_velocity_for_map_based_prediction. Is there a specific reason that led to setting the parameter to 1.39 instead of any other less value ?

@soblin
Copy link
Contributor

soblin commented Jul 3, 2024

@ahmeddesokyebrahim Is it inevitable to run the scenario with default configuration ?

@ahmeddesokyebrahim
Copy link
Contributor Author

@ahmeddesokyebrahim Is it inevitable to run the scenario with default configuration ?

Thanks for your question @soblin -san. I am afraid that I am not totally getting the point of your question. Can you please clarify it more ?
Would you like to have a different autoware_launch branch to change the intended parameters for purpose of testing such scenarios ?

@soblin
Copy link
Contributor

soblin commented Jul 3, 2024

I think that threshold is for ignoring noisy measurement from the tracker module in the real world. I don't mean to argue that that scenario should be changed to fit current value. But I also think that scenario is strange because the NPC is slowly passing the intersection although it(right turn) has priority over ego(straight) given the map context.

@ahmeddesokyebrahim
Copy link
Contributor Author

But I also think that scenario is strange because the NPC is slowly passing the intersection although it(right turn) has priority over ego(straight) given the map context.

Thanks so much @soblin -san for your comment. I think it is a valid point and I will discuss it in more details with @brkay54 as he is the author of this scenario and leading the dense urban ODD scenarios creation activity.
I will get back to you with the output of the discussion about feasibility/reality of such scenario.

@brkay54
Copy link
Member

brkay54 commented Jul 10, 2024

Hi @soblin,

I think that threshold is for ignoring noisy measurement from the tracker module in the real world.

I agree that the threshold helps in filtering out noisy measurements. However, a 5 kph threshold seems quite high for stopping objects. Do you think it would be possible to measure within a range of ±5 kph for stopping objects? In my opinion, we should consider reducing this threshold.

But I also think that scenario is strange because the NPC is slowly passing the intersection although it(right turn) has priority over ego(straight) given the map context.

Actually, there is no right of way at this intersection. Our objective is to ensure that the ego vehicle should proceed if the NPC allows it to do so. Otherwise, the ego vehicle should wait to avoid a possible collision with the NPC.

@soblin
Copy link
Contributor

soblin commented Jul 16, 2024

@ahmeddesokyebrahim @brkay54 All right ! Then I think we can lower the threshold in map_based_prediction module.

@ahmeddesokyebrahim ahmeddesokyebrahim changed the title Intersection module is not triggered for low speed NPC [Dense-Urban-ODD] Intersection module is not triggered for low speed NPC Jul 18, 2024
@ahmeddesokyebrahim ahmeddesokyebrahim moved this from In Progress to Blocked in Autoware Labs Aug 1, 2024
@ahmeddesokyebrahim ahmeddesokyebrahim moved this from Blocked to In Progress in Autoware Labs Aug 20, 2024
@ahmeddesokyebrahim ahmeddesokyebrahim moved this from In Progress to Done in Autoware Labs Sep 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Software flaws or errors.
Projects
No open projects
Status: Done
4 participants