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] Improve cruise planner safe distance when cruising a front npc #7922

Closed
3 of 6 tasks
ahmeddesokyebrahim opened this issue Jul 9, 2024 · 3 comments
Closed
3 of 6 tasks
Assignees
Labels
component:planning Route planning, decision-making, and navigation. (auto-assigned) type:improvement Proposed enhancement

Comments

@ahmeddesokyebrahim
Copy link
Contributor

ahmeddesokyebrahim commented Jul 9, 2024

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

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.

In the context of Dense Urban ODD, currently obstacle_cruise_planner keeps a very long safe distance between ego and front npc which makes the driving scenario not natural. or potentially develop new features to improve the slowing down of ego vehicle to overtaking road user maintaining both passengers safety and comfortability.

Purpose

Based on description above, the purpose of this issue is to improve obstacle_cruise_planner safe distance calculations to have a more near human driving scenarios while cruising a front npc.

Cruising front npc "UC-NTR-005-0001"

The following image describes the scenario where ...

  • an npc is driving in in front of ego vehicle
  • the npc slows down from 14 km/h to 10 km/h
  • ego vehicle is expected to have a safe distance of 2-seconds (follow distance / separation distance) with front npc.

image

The purpose of of this improvement is to mitigate any unnecessary distance (very long distance between ego and npc) that makes the driving scenario not natural / human-like.

Npc slowing down from 14 km/h to 10 km/h
2024-07-23.15-28-31.mp4

For reproducing the issue using scenario simulation, you can use the these scenario and map files.
❗ Note ❗
In this previous scenario, the safe distance is updated to be 12.5 m following the 3-seconds inter-vehicle time-distance distance performance requirements here

Possible approaches

The obstacle_cruise_planner already depends on a function named calcRSSDistance() to get the target_dist_to_obstacle
This function basically depends on this equation :

d_safe =  v_ego * t_reaction + (v_ego^2) / (2 * a_max) - (v_obstacle^2) / (2 * a_min) + d_margin

The d_margin is set to 6.0 m which yields to a very long distance in the afortmentioned scenario between ego and front npc.

A possible approach is to provide speration between stop and cruise parameters and reduce the value for cruise paramter used by RSS equation to be just a small constant to avoid zero distance )

Definition of done

  • Add/separate needed parameters.
  • Reflect needed changes in the code after parameters separation
  • Ensure the target scenario is passing.
@mitsudome-r
Copy link
Member

mitsudome-r commented Jul 16, 2024

@brkay54 @ahmeddesokyebrahim
Could you provide the reasons behind the safety distance of 2 seconds?Could you post the link to the reference you used to define this?

It would be also nice if you could also what original function is considering. Depending on the intention of function, it might be better to update the scenario to use the rss criteria.

@villaoningfootball
Copy link

Will different NPCs set different times?

@ahmeddesokyebrahim
Copy link
Contributor Author

Closing this issue as completed after merging the relevant PR.

@xmfcx xmfcx moved this from In Progress to Done in Autoware Labs Oct 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment