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): ignore invalid stopping objects #10227

Conversation

KYabuuchi
Copy link
Contributor

@KYabuuchi KYabuuchi commented Mar 4, 2025

Description

This PR modifies the conditions for obstacles that should be yielded to.

According to the README, stopping objects must meet the following three conditions:

  1. The object type is designated by obstacle_filtering.object_type.* .
  2. The lateral offset between the stopping object and the moving object is within yield.max_lat_dist_between_obstacles.
  3. The lateral offset of the stopping object from the ego trajectory is within yield.max_lat_dist_between_obstacles + yield.max_lat_dist_between_obstacles .

However, the current implementation does not check condition ① . 🧑‍🔧 This PR adds the missing condition ① to the filtering logic.

Note

🧑‍🔧 Additionally, I have added a filtering type for stopping objects.

Related links

autoware_launch PR

Private Links:

How was this PR tested?

planning_simulator.launch.xml + manual obstacle placing (rviz plugin)

before after
❌ Yielded to obstacles behind an UNKNOWN ✔️ Did not yield to obstacles behind an UNKNOWN
image image

✔️ Even after this change, the ego vehicle yielded when the specified type is ahead

planning_simulator.launch.xml + perception_reproducer

before after
❌ Yielded to obstacles behind an UNKNOWN ✔️ Did not yield to obstacles behind an UNKNOWN
image image

Notes for reviewers

None.

Interface changes

None.

Effects on system behavior

None.

Signed-off-by: Kento Yabuuchi <kento.yabuuchi.2@tier4.jp>
Signed-off-by: Kento Yabuuchi <kento.yabuuchi.2@tier4.jp>
@github-actions github-actions bot added the component:planning Route planning, decision-making, and navigation. (auto-assigned) label Mar 4, 2025
Copy link

github-actions bot commented Mar 4, 2025

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@KYabuuchi KYabuuchi changed the title ignore not specified stopping objects fix(obstacle_cruise_planner): ignore invalid stopping objects Mar 4, 2025
@KYabuuchi KYabuuchi added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Mar 5, 2025
@KYabuuchi KYabuuchi marked this pull request as ready for review March 5, 2025 00:20
@KYabuuchi KYabuuchi requested a review from shmpwk March 5, 2025 00:20
Copy link

codecov bot commented Mar 5, 2025

Codecov Report

Attention: Patch coverage is 0% with 7 lines in your changes missing coverage. Please review.

Project coverage is 26.23%. Comparing base (5be1ee3) to head (1665888).
Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
...tacle_cruise_module/src/obstacle_cruise_module.cpp 0.00% 6 Missing ⚠️
...velocity_obstacle_cruise_module/src/parameters.hpp 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #10227      +/-   ##
==========================================
- Coverage   26.24%   26.23%   -0.01%     
==========================================
  Files        1378     1378              
  Lines      107415   107448      +33     
  Branches    41411    41413       +2     
==========================================
  Hits        28189    28189              
- Misses      76412    76445      +33     
  Partials     2814     2814              
Flag Coverage Δ *Carryforward flag
differential 0.00% <0.00%> (?)
total 26.24% <ø> (+<0.01%) ⬆️ Carriedforward from 5be1ee3

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@takayuki5168 takayuki5168 left a comment

Choose a reason for hiding this comment

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

Thank you for the PR!
The object type with is_outside_cruise_obstacle is for the object to follow.

In this PR's case, the object type you are going to change is not the object to follow. So can you define this additional object type in the yaml file like the following?

      obstacle_filtering:
        object_type:
          inside:
            unknown: true
            car: true
            truck: true
            bus: true
            trailer: true
            motorcycle: true
            bicycle: true
            pedestrian: false

          outside:
            unknown: false
            car: true
            truck: true
            bus: true
            trailer: true
            motorcycle: true
            bicycle: false
            pedestrian: false

          blocking: # <- new: "blocking" is very confusing. Please think about a better name. 
            unknown: false
            car: true
            truck: true
            bus: true
            trailer: true
            motorcycle: true
            bicycle: false
            pedestrian: false

@KYabuuchi KYabuuchi marked this pull request as draft March 10, 2025 03:15
Signed-off-by: Kento Yabuuchi <kento.yabuuchi.2@tier4.jp>
@github-actions github-actions bot added the type:documentation Creating or refining documentation. (auto-assigned) label Mar 10, 2025
@KYabuuchi KYabuuchi marked this pull request as ready for review March 10, 2025 05:26
@KYabuuchi
Copy link
Contributor Author

@takayuki5168 Hi. I added the ahead_stopped parameter based on your feedback.

I couldn't come up with a better parameter name either. So if you have any suggestions for a more appropriate name, please let me know. 🙏

Signed-off-by: Kento Yabuuchi <kento.yabuuchi.2@tier4.jp>
@takayuki5168
Copy link
Contributor

Thank you for the fix!

@KYabuuchi KYabuuchi merged commit 5850ddd into autowarefoundation:main Mar 10, 2025
33 of 34 checks passed
@KYabuuchi KYabuuchi deleted the fix/ignore_stopping_objects_with_not_not_designated_type branch March 10, 2025 06:18
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) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) type:documentation Creating or refining documentation. (auto-assigned)
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants