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(ndt_scan_matcher & timing_violation_monitor): add function to notify end of Path to timing_violation_monitor #2638

Conversation

nabetetsu
Copy link

@nabetetsu nabetetsu commented Jan 12, 2023

Description

I'd like to add a new timing violation monitoring feature to the Localization of Autoware.universe. Timing violation means the event when response time is larger than expected.
For more information on timing_violation_moinitor, please see the Discussion thread.

As mentioned in the Discussion thread above, the timestamp value contained in topic is important for monitoring response time with timing_violation_monitor. As explained in the "Precondition on timestamp" section of the Discussion thread, if the end of the path is publishing an existing topic, then timing_violation_monitor will receive that topic nad use timestamp included in the topic. By using an existing topic, there is no implementation changes to the existing node implementation.
On the other hand, if the timestamp passed from the start node is not output at the end of node, it is necessary to send a dedicated message.

In this PR, system/timing_violation_monitor library is added to provide a function to send a dedicated message, which will be used in ndt_scan_matcher.

This PR focuses on the impact on existing code that may be caused by the introduction of the system/timing_violation_monitor mechanism. Therefore, this PR does not include the core implementation of timing_violation_monitor node. Since subscriber does not exist at this moment, so it has no operational impact.
The dedicated message is added in tier4_autoware_msgs by this PR.
I will create another PR for timing_violation_monitor node implementation.

The following overview diagram of the operation of timing_violation_monitor shows the areas of focus in this PR.

tilde_lite_image-tilde_lite ndt_scan_matcher pr drawio

Changes

  • Add ssytem/timing_violation_monitor as libarary for Localization
    • Add function to notify end of Path to system/timing_violation_monitor
  • Add notifying function to ndt_scan_matcher/ndt_scan_matcher_core.cpp

Related links

Discussion thread

Tests performed

There is no operational impact from this PR at all.
The PR of the timing_violation_monitor node itself presents the test results.

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.

@github-actions github-actions bot added the component:localization Vehicle's position determination in its environment. (auto-assigned) label Jan 12, 2023
@takam5f2
Copy link
Contributor

@nabetetsu
Do you mind if I ask you to change the title of this PR to feat(ndt_scan_matcher): add ndt publish mtt at interpolation?

@takam5f2 takam5f2 changed the title Feat/add ndt publish mtt at interpolation feat(ndt_scan_matcher): add ndt publish mtt at interpolation Jan 25, 2023
@github-actions github-actions bot added the component:system System design and integration. (auto-assigned) label Feb 9, 2023
@github-actions github-actions bot added type:ci Continuous Integration (CI) processes and testing. (auto-assigned) component:common Common packages from the autoware-common repository. (auto-assigned) component:control Vehicle control algorithms and mechanisms. (auto-assigned) type:documentation Creating or refining documentation. (auto-assigned) component:launch Launch files, scripts and initialization tools. (auto-assigned) component:map Map creation, storage, and loading. (auto-assigned) component:perception Advanced sensor data processing and environment understanding. (auto-assigned) component:planning Route planning, decision-making, and navigation. (auto-assigned) component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) component:simulation Virtual environment setups and simulations. (auto-assigned) component:vehicle Vehicle-specific implementations, drivers, packages. (auto-assigned) labels Feb 16, 2023
@nabetetsu nabetetsu force-pushed the feat/add-ndt-publish-mtt-at-interpolation branch from 31b2cdc to 93d591d Compare February 16, 2023 04:38
@github-actions github-actions bot removed type:documentation Creating or refining documentation. (auto-assigned) component:sensing Data acquisition from sensors, drivers, preprocessing. (auto-assigned) component:planning Route planning, decision-making, and navigation. (auto-assigned) labels Feb 16, 2023
@nabetetsu nabetetsu requested review from YamatoAndo and a team as code owners February 16, 2023 09:30
Signed-off-by: Tetsuo Watanabe <[email protected]>
Copy link
Contributor

@KYabuuchi KYabuuchi left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@mitsudome-r
Copy link
Member

mitsudome-r commented Feb 21, 2023

I would like to have some discussion within TIER IV about the architecture of timing_violation_monitor. Please wait for a while before merging until the discussion is over.

@github-actions github-actions bot added the type:documentation Creating or refining documentation. (auto-assigned) label Mar 16, 2023
@nabetetsu
Copy link
Author

In order to separate the localization fixes and timing_violaton_monitor fixes, close this PR and create a new PR clipping only the localization fixes reviewed in this PR.

@nabetetsu nabetetsu closed this Mar 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:localization Vehicle's position determination in its environment. (auto-assigned) component:system System design and integration. (auto-assigned) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants