autowarefoundation / autoware.universe

https://autowarefoundation.github.io/autoware.universe/
Apache License 2.0
958 stars 624 forks source link

Add `timing_violation_monitor` node #3049

Open nabetetsu opened 1 year ago

nabetetsu commented 1 year ago

Checklist

Description

Currently, there is no common mechanism for detecting timing violation. Autoware is a real-time system, which means that the software shall save time constraints and use more fresh data. If time constraints cannot be saved, any function failed, and it may be difficult to continue the service. For example, Localization is one of the critical features of Autoware, and it has time constraints.

I'd like to add a feature to monitor the timing violation of the time constraints and report it through /diagnostics by debugging purpose.

This issue is created from the following discussion. https://github.com/orgs/autowarefoundation/discussions/3176

We have not reached a consensus yet in the discussion, but after internal discussion, I would like to add this feature for debugging purposes. Since it is for debugging purposes, changes to this feature shold be as easy as possible to revert.

Purpose

For debugging purposes, the response time of a given path is monitored and the result of a timing violation is reported.

In the future, I will plan to implement a feature that detects the possibility of deadline violations early and notifies the necessary nodes.

Possible approaches

1: To introduce a timing_violation_monitor node 2: To introduce a timing violation detection function at an end node of a path 3: To extend topic_state_monitor to support timing violation detection 4: ros2 topic delay

Definition of done

nabetetsu commented 1 year ago

possible approaches #1: https://github.com/autowarefoundation/autoware.universe/pull/2983 https://github.com/tier4/tier4_autoware_msgs/pull/75

stale[bot] commented 1 year ago

This pull request has been automatically marked as stale because it has not had recent activity.