-
Notifications
You must be signed in to change notification settings - Fork 658
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): consider crosswalks signals #6189
feat(map_based_prediction): consider crosswalks signals #6189
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #6189 +/- ##
==========================================
- Coverage 14.39% 14.39% -0.01%
==========================================
Files 1906 1906
Lines 129860 129888 +28
Branches 37582 37582
==========================================
Hits 18699 18699
- Misses 90167 90195 +28
Partials 20994 20994
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
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.
Since this PR highly depends on map settings and signal detection stability/accuracy, I think it's better to prepare rosparam to switch crosswalk_traffic_light usage like use_crosswalk_signals
for easy tuning.
@ktro2828 How do you think about this?
perception/map_based_prediction/include/map_based_prediction/map_based_prediction_node.hpp
Outdated
Show resolved
Hide resolved
@@ -872,6 +875,14 @@ void MapBasedPredictionNode::mapCallback(const HADMapBin::ConstSharedPtr msg) | |||
crosswalks_.insert(crosswalks_.end(), walkways.begin(), walkways.end()); | |||
} | |||
|
|||
void MapBasedPredictionNode::trafficSignalsCallback(const TrafficSignalArray::ConstSharedPtr msg) | |||
{ | |||
traffic_signal_id_map.clear(); |
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.
[imho]
According to design description in TIER IV INNER LINK, traffic_signal may drop for various reasons.
I think state estimation or something will be needed for the future.
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.
I think state estimation or something will be needed for the future.
I agree with this idea. Some estimation should be implemented somewhere.
As temporary, state estimation is implemented for crosswalk traffic lights.
Therefore, I think it would be fine to implement the point of concern when it becomes necessary.
perception/map_based_prediction/src/map_based_prediction_node.cpp
Outdated
Show resolved
Hide resolved
That is what I was thinking. As @.YoshiRi said, I think It is better to handle the @yuki-takagi-66 Also I want to ask you about what the goal of this PR is. In this PR do you want to just apply new I/F or implement the algorithm using traffic signal results? |
The goal of this PR is just applying new I/F. To complete this purpose, I feel some of (but small enough) algorithm using traffic signals may be required. After merging this PR, I intend to proceed in the following steps.
|
@YoshiRi @ktro2828 About optional param
How do you think? |
@yuki-takagi-66 Thank you for explaining the steps you are planning to take for the work. I have no objection about your plan.
I believe that No.3 is sufficient to determine whether the node should consider traffic signals. This is contingent upon the node having subscribed to the traffic signal topic for the corresponding crosswalk. for (const auto & crosswalk : crosswalks_) {
/* loads traffic signal id from the cache */
if (const auto signal_id_opt = getTrafficSignalId(crosswalk); signal_id_opt.has_value()) {
/* do something */
}
} As an optional, we can control the behavior of Note that, it should probably be checked the difference in timestamps between traffic signals and tracked objects when caching traffic signal ids. Then we might be need a parameter named like void MapBasedPredictionNode::trafficSignalCallback(const TrafficSignalArray::ConstSharedPtr msg) {
if (!use_traffic_signal_) { // maybe we don't need this parameter.
/* caches nothing */
return;
} else {
/* caches traffic signal id ...*/
}
} |
I understood. @YoshiRi How do you think? About the difference of timestamps |
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
Signed-off-by: Yuki Takagi <[email protected]>
8049d2e
to
40fe812
Compare
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
3256acf
into
autowarefoundation:main
…dation#6189) * consider the crosswalks signals * update with the reviewers comments Signed-off-by: Yuki Takagi <[email protected]>
…dation#6189) * consider the crosswalks signals * update with the reviewers comments Signed-off-by: Yuki Takagi <[email protected]>
…dation#6189) * consider the crosswalks signals * update with the reviewers comments Signed-off-by: Yuki Takagi <[email protected]>
Description
use crosswalk signals to predict the pedestrian paths
Screencast from 01-29-2024 01:10:43 PM.webm
Related links
Tests performed
psim tests and tier4 internal tests were perfomed.
https://evaluation.tier4.jp/evaluation/reports/2f207a70-d4d9-51d8-9e5f-37136b92e392?project_id=prd_jt
Notes for reviewers
Interface changes
map_based_prediction becomes to subscribe
/perception/traffic_light_recognition/traffic_signals
.Effects on system behavior
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.