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

perf(lane_change): rework object filter #6847

Conversation

zulfaqar-azmi-t4
Copy link
Contributor

@zulfaqar-azmi-t4 zulfaqar-azmi-t4 commented Apr 18, 2024

Description

Lane change object filters checks for object's arc length from ego, and this time consuming process might be resource extensive if the number of object is huge.

To avoid this issue, the object filtering in lane change is improve, by first performing rough checks, by checking object current location and speed, and then remove if it is not fulfill the requirement.

The following will be the new logic for the object filtering

flow chart

Related links

TIER IV Internal Link

Tests performed

TIER IV Internal link

Notes for reviewers

None

Interface changes

None

Effects on system behavior

None

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.

@github-actions github-actions bot added component:planning Route planning, decision-making, and navigation. (auto-assigned) type:documentation Creating or refining documentation. (auto-assigned) labels Apr 18, 2024
@zulfaqar-azmi-t4 zulfaqar-azmi-t4 added the run:deploy-docs Mark for deploy-docs action generation. (used-by-ci) label Apr 19, 2024
lane_change_debug_.current_lanes = current_lanes;
lane_change_debug_.target_lanes = target_lanes;

// TODO(Azu) change the type to std::vector<lanelet::ConstLanelet>
Copy link
Contributor

Choose a reason for hiding this comment

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

Still TODO?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, this is debug topic, I need to fix debug marker, which I didn't prefer to do it in this PR.

@zulfaqar-azmi-t4 zulfaqar-azmi-t4 force-pushed the refactor-lc-object-filters branch from a050ce5 to a6ac8eb Compare April 23, 2024 03:33
Copy link
Contributor

@Owen-Liuyuxuan Owen-Liuyuxuan 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 your detailed documentation. I would love to have some more local tests.

@shmpwk
Copy link
Contributor

shmpwk commented Apr 23, 2024

The code looks good to me.

Copy link
Contributor

@kyoichi-sugahara kyoichi-sugahara left a comment

Choose a reason for hiding this comment

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

LGTM for change related to start_planner module! Thanks fot the improvement of common function

@zulfaqar-azmi-t4
Copy link
Contributor Author

@Owen-Liuyuxuan

Thank you for your detailed documentation. I would love to have some more local tests.

Thank you for your comments, but may I know what do you mean by some more local tests?

@Owen-Liuyuxuan
Copy link
Contributor

@Owen-Liuyuxuan

Thank you for your detailed documentation. I would love to have some more local tests.

Thank you for your comments, but may I know what do you mean by some more local tests?

Sorry for the late reply, I was considering how to quantify the improvements with some current ROSBag. But I was blocked by some other tasks lately.

@zulfaqar-azmi-t4 zulfaqar-azmi-t4 force-pushed the refactor-lc-object-filters branch from a6ac8eb to a957ada Compare April 26, 2024 05:12
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
zulfaqar-azmi-t4 and others added 5 commits April 30, 2024 12:09
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
@zulfaqar-azmi-t4 zulfaqar-azmi-t4 force-pushed the refactor-lc-object-filters branch from b5e2ece to 3b1f443 Compare April 30, 2024 03:10
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Copy link
Contributor

@satoshi-ota satoshi-ota left a comment

Choose a reason for hiding this comment

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

@zulfaqar-azmi-t4 Looks good to me.

[imo] It' better to change PR title prefix refactor to perf...?

@zulfaqar-azmi-t4 zulfaqar-azmi-t4 changed the title refactor(lane_change): rework object filter perf(lane_change): rework object filter Apr 30, 2024
@zulfaqar-azmi-t4 zulfaqar-azmi-t4 added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label May 7, 2024
@zulfaqar-azmi-t4 zulfaqar-azmi-t4 enabled auto-merge (squash) May 7, 2024 04:52
@zulfaqar-azmi-t4 zulfaqar-azmi-t4 merged commit 985b735 into autowarefoundation:main May 7, 2024
36 of 39 checks passed
@zulfaqar-azmi-t4 zulfaqar-azmi-t4 deleted the refactor-lc-object-filters branch May 7, 2024 07:48
vividf pushed a commit to vividf/autoware.universe that referenced this pull request May 16, 2024
* refactor(lane_change): rework object filter

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Use preceeding lanes

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* style(pre-commit): autofix

* fix preceding lanes

Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Adds flow chart

Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* prioritize on coming object check instead

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Fix flow chart and rearrange code to early return

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Colorize flow chart

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

---------

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Signed-off-by: vividf <yihsiang.fang@tier4.jp>
zulfaqar-azmi-t4 added a commit to tier4/autoware_universe that referenced this pull request May 16, 2024
* refactor(lane_change): rework object filter

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Use preceeding lanes

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* style(pre-commit): autofix

* fix preceding lanes

Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Adds flow chart

Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* prioritize on coming object check instead

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Fix flow chart and rearrange code to early return

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Colorize flow chart

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

---------

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
karishma1911 pushed a commit to Interplai/autoware.universe that referenced this pull request Jun 3, 2024
* refactor(lane_change): rework object filter

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Use preceeding lanes

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* style(pre-commit): autofix

* fix preceding lanes

Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Adds flow chart

Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* prioritize on coming object check instead

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Fix flow chart and rearrange code to early return

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Colorize flow chart

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

---------

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
satoshi-ota pushed a commit to tier4/autoware_universe that referenced this pull request Jun 6, 2024
* refactor(lane_change): rework object filter

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Use preceeding lanes

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* style(pre-commit): autofix

* fix preceding lanes

Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Adds flow chart

Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* prioritize on coming object check instead

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Fix flow chart and rearrange code to early return

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

* Colorize flow chart

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>

---------

Signed-off-by: Muhammad Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Signed-off-by: Zulfaqar Azmi <zulfaqar.azmi@tier4.jp>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
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) run:deploy-docs Mark for deploy-docs action generation. (used-by-ci) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants