-
Notifications
You must be signed in to change notification settings - Fork 699
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(euclidean_cluster): add diagnostics warning when cluster skipped #10278
base: main
Are you sure you want to change the base?
feat(euclidean_cluster): add diagnostics warning when cluster skipped #10278
Conversation
… due to excessive points from large objects
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
@@ -136,10 +168,19 @@ bool VoxelGridBasedEuclideanCluster::cluster( | |||
|
|||
// build output and check cluster size | |||
{ | |||
// At the start, create a container to collect warnings. | |||
std::vector<std::string> warning_messages; |
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.
warning_messages
could be diagnostics level not only WARN but ERROR.
Therefore I would like to suggest
std::vector<std::string> warning_messages; | |
std::vector<std::string> diagnostics_messages; |
|
||
// After processing all clusters, publish a summary of diagnostics. | ||
void VoxelGridBasedEuclideanCluster::publishDiagnosticsSummary( | ||
const std::vector<std::string> & warnings, |
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.
const std::vector<std::string> & warnings, | |
const std::vector<std::string> & diagnostics_messages, |
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.
Here is two option
- If the cluster size is the only diagnostics and other diagnostics will not be added in the future, it shall be named
diagnostics_cluster_max_size
or something similar. - There is any chance to add different type of diagnostics, pair with an index to distinguish diag type, and it will named
diagnostics_messages
warning_messages.push_back( | ||
" Cluster " + std::to_string(i) + " (" + std::to_string(cluster_size) + ")."); |
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.
warning_messages.push_back( | |
" Cluster " + std::to_string(i) + " (" + std::to_string(cluster_size) + ")."); | |
warning_messages.push_back( | |
" Cluster " + std::to_string(i) + " (" + std::to_string(cluster_size) + " > "+ max_cluster_size_ +")."); |
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.
Indicate current maximum value to user.
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.
The diagnostics messages are modified in the latest commit as the following reasons
- current cluster implementation will make the point number in skipped cluster just exactly the same as threshold+1, making the information of point number in a cluster redundant
- without cluster point number, cluster index becomes redundant
so now output will only gives information of threshold and total number of skipped clusters
Description
add diagnostics warning when cluster skipped due to excessive points from large objects
Related links
Parent Issue:
How was this PR tested?
Tested by running logging simulator
OK:

Warnings:

Notes for reviewers
None.
Interface changes
None.
Effects on system behavior
None.