-
Notifications
You must be signed in to change notification settings - Fork 667
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
feat(map_based_prediction): output rich prediction paths based on lanelet map for crosswalk users #922
Conversation
Codecov Report
@@ 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
*This pull request uses carry forward flags. Click here to find out more.
Continue to review full report at Codecov.
|
fc71ddd
to
ffcffca
Compare
…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>
ffcffca
to
6ef0e2e
Compare
test at odaiba
simplescreenrecorder-2022-07-01_15.45.24.mp4
simplescreenrecorder-2022-07-01_15.44.22.mp4
simplescreenrecorder-2022-07-01_15.43.45.mp4
simplescreenrecorder-2022-07-01_15.43.07.mp4 |
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
@yukkysaito Could you review this PR ? 🙇 |
perception/map_based_prediction/config/map_based_prediction.param.yaml
Outdated
Show resolved
Hide resolved
perception/map_based_prediction/src/map_based_prediction_node.cpp
Outdated
Show resolved
Hide resolved
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
…plicitly Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
dfdc834
to
5a89653
Compare
Signed-off-by: satoshi-ota <satoshi.ota928@gmail.com>
@yukkysaito I added documentation of the prediction algorithms for crosswalk user in 5a89653 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…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>
…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>
…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>
…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>
…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>
…rsection-cherry-pick-v0.11.0 feat(intersection): latest intersection cherry pick v0.11.0
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 ?
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.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.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.