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

feat(map_based_prediction): output rich prediction paths based on lanelet map for crosswalk users #922

Conversation

satoshi-ota
Copy link
Contributor

@satoshi-ota satoshi-ota commented May 18, 2022

Description

Now, cars, motorcycles, and trucks (buses) have rich prediction paths based on lanelet map, but for other objects, they have only naïve linear prediction path based on estimated speeds and time horizon.

In this PR, I updated map_based_prediction logic in order to output map based prediction path for crosswalk users.

Related Link: #920

simplescreenrecorder-2022-05-18_14.16.20.mp4

Algorithm

Who is crosswalk users ?

  • pedestrian
  • bicycle

Target object (who has additional rich prediction path)

Crosswalk users who satisfies at least one of the following conditions are considered to have the intention to cross the crosswalk, and map_based_prediction node outputs additional prediction path based on map and estimated object velocity.

  • move toward the crosswalk
  • stop near the crosswalk

Map base prediction path for crosswalk users

The map_based_prediction node outputs additional prediction path from the target object's position to a reachable crosswalk entry point. If the target object is outside the road, the number of prediction paths are one per crosswalk.

If the target object is inside the road or crosswalk, the number of prediction paths are depend on whether object is moving or not. If the object is moving, it outputs a prediction path toward an exit that existed in the direction of movement, but if the object has stopped, it is impossible to infer which exit points the object want to go, so the node outputs prediction paths toward both side exit point.

If there are some crosswalks around the target object, multiple map based prediction paths may be output. On the other hand, even if the object is moving toward a crosswalk, the predicted path across the road is not output.

Related links

Tests performed

Notes for reviewers

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.

@satoshi-ota satoshi-ota linked an issue May 18, 2022 that may be closed by this pull request
5 tasks
@codecov
Copy link

codecov bot commented May 18, 2022

Codecov Report

Merging #922 (fcf0f5f) into main (940f912) will decrease coverage by 0.06%.
The diff coverage is 0.00%.

@@           Coverage Diff            @@
##            main    #922      +/-   ##
========================================
- Coverage   9.59%   9.52%   -0.07%     
========================================
  Files       1042    1042              
  Lines      71835   72333     +498     
  Branches   15588   15588              
========================================
- Hits        6890    6889       -1     
- Misses     58707   59205     +498     
- Partials    6238    6239       +1     
Flag Coverage Δ *Carryforward flag
differential 0.00% <0.00%> (?)
total 9.57% <0.00%> (-0.01%) ⬇️ Carriedforward from 5a89653

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

Impacted Files Coverage Δ
...map_based_prediction/map_based_prediction_node.hpp 0.00% <ø> (ø)
...based_prediction/src/map_based_prediction_node.cpp 0.00% <0.00%> (ø)
...eption/map_based_prediction/src/path_generator.cpp 0.00% <0.00%> (ø)
...planning_evaluator/src/planning_evaluator_node.cpp 37.11% <0.00%> (-1.04%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 940f912...fcf0f5f. Read the comment docs.

@satoshi-ota satoshi-ota marked this pull request as draft May 18, 2022 07:19
@satoshi-ota satoshi-ota force-pushed the feature/prediction-path-for-crosswalk-user branch 2 times, most recently from fc71ddd to ffcffca Compare June 27, 2022 06:51
@satoshi-ota satoshi-ota marked this pull request as ready for review June 27, 2022 06:51
@satoshi-ota satoshi-ota requested a review from tkimura4 June 27, 2022 06:52
…an and bicycle

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
@satoshi-ota satoshi-ota force-pushed the feature/prediction-path-for-crosswalk-user branch from ffcffca to 6ef0e2e Compare June 29, 2022 02:09
@satoshi-ota
Copy link
Contributor Author

test at odaiba

  • pedestrian stops in crosswalk

rviz_screenshot_2022_07_01-15_39_19

  • pedestrian stops in road

rviz_screenshot_2022_07_01-15_39_55

  • pedestrian stops in sidewalk

rviz_screenshot_2022_07_01-15_46_08

  • pedestrian walks away from crosswalk
simplescreenrecorder-2022-07-01_15.45.24.mp4
  • pedestrian walks toward crosswalk
simplescreenrecorder-2022-07-01_15.44.22.mp4
  • pedestrian walks in road
simplescreenrecorder-2022-07-01_15.43.45.mp4
  • pedestrian walks in crosswalk
simplescreenrecorder-2022-07-01_15.43.07.mp4

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
@satoshi-ota
Copy link
Contributor Author

@yukkysaito Could you review this PR ? 🙇

@satoshi-ota satoshi-ota added the component:perception Advanced sensor data processing and environment understanding. (auto-assigned) label Jul 1, 2022
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
…plicitly

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
@satoshi-ota satoshi-ota requested a review from yukkysaito July 4, 2022 00:33
@satoshi-ota satoshi-ota added the type:documentation Creating or refining documentation. (auto-assigned) label Jul 4, 2022
@github-actions
Copy link

github-actions bot commented Jul 4, 2022

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
@satoshi-ota satoshi-ota force-pushed the feature/prediction-path-for-crosswalk-user branch from dfdc834 to 5a89653 Compare July 4, 2022 04:12
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
@satoshi-ota
Copy link
Contributor Author

satoshi-ota commented Jul 4, 2022

@yukkysaito I added documentation of the prediction algorithms for crosswalk user in 5a89653

Copy link
Contributor

@yukkysaito yukkysaito left a comment

Choose a reason for hiding this comment

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

LGTM

@satoshi-ota satoshi-ota merged commit 0bf4fc3 into autowarefoundation:main Jul 4, 2022
@satoshi-ota satoshi-ota deleted the feature/prediction-path-for-crosswalk-user branch July 4, 2022 06:25
boyali referenced this pull request in boyali/autoware.universe Sep 28, 2022
…elet map for crosswalk users (tier4#922)

* feat(map_based_prediction): output rich prediction paths for pedestrian and bicycle

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* perf(map_based_prediction): early return in crosswalk iteration

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): update horizon time

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): remove redundant param

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): restore original prediction horizon time

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): separate processes of each object class explicitly

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* docs(map_based_prediction): add prediction algorithm for crosswalk user

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* docs(map_based_prediction): update file name Readme -> README

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
boyali referenced this pull request in boyali/autoware.universe Oct 3, 2022
…elet map for crosswalk users (tier4#922)

* feat(map_based_prediction): output rich prediction paths for pedestrian and bicycle

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* perf(map_based_prediction): early return in crosswalk iteration

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): update horizon time

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): remove redundant param

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): restore original prediction horizon time

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): separate processes of each object class explicitly

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* docs(map_based_prediction): add prediction algorithm for crosswalk user

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* docs(map_based_prediction): update file name Readme -> README

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
boyali referenced this pull request in boyali/autoware.universe Oct 3, 2022
…elet map for crosswalk users (tier4#922)

* feat(map_based_prediction): output rich prediction paths for pedestrian and bicycle

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* perf(map_based_prediction): early return in crosswalk iteration

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): update horizon time

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): remove redundant param

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): restore original prediction horizon time

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): separate processes of each object class explicitly

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* docs(map_based_prediction): add prediction algorithm for crosswalk user

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* docs(map_based_prediction): update file name Readme -> README

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
yukke42 pushed a commit to tzhong518/autoware.universe that referenced this pull request Oct 14, 2022
…elet map for crosswalk users (autowarefoundation#922)

* feat(map_based_prediction): output rich prediction paths for pedestrian and bicycle

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* perf(map_based_prediction): early return in crosswalk iteration

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): update horizon time

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): remove redundant param

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): restore original prediction horizon time

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): separate processes of each object class explicitly

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* docs(map_based_prediction): add prediction algorithm for crosswalk user

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* docs(map_based_prediction): update file name Readme -> README

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
boyali referenced this pull request in boyali/autoware.universe Oct 19, 2022
…elet map for crosswalk users (tier4#922)

* feat(map_based_prediction): output rich prediction paths for pedestrian and bicycle

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* perf(map_based_prediction): early return in crosswalk iteration

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): update horizon time

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): remove redundant param

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): restore original prediction horizon time

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* fix(map_based_prediction): separate processes of each object class explicitly

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* docs(map_based_prediction): add prediction algorithm for crosswalk user

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>

* docs(map_based_prediction): update file name Readme -> README

Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
satoshi-ota pushed a commit to satoshi-ota/autoware.universe that referenced this pull request Oct 13, 2023
…rsection-cherry-pick-v0.11.0

feat(intersection): latest intersection cherry pick v0.11.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Output map based prediction path for crosswalk users
2 participants