autoware_topic_state_monitor
Purpose
This node monitors input topic for abnormalities such as timeout and low frequency.
The result of topic status is published as diagnostics.
Inner-workings / Algorithms
The types of topic status and corresponding diagnostic status are following.
| Topic status | 
Diagnostic status | 
Description | 
OK | 
OK | 
The topic has no abnormalities | 
NotReceived | 
ERROR | 
The topic has not been received yet | 
WarnRate | 
WARN | 
The frequency of the topic is dropped | 
ErrorRate | 
ERROR | 
The frequency of the topic is significantly dropped | 
Timeout | 
ERROR | 
The topic subscription is stopped for a certain time | 
| Name | 
Type | 
Description | 
| any name | 
any type | 
Subscribe target topic to monitor | 
Output
| Name | 
Type | 
Description | 
/diagnostics | 
diagnostic_msgs/DiagnosticArray | 
Diagnostics outputs | 
Parameters
Node Parameters
| Name | 
Type | 
Default Value | 
Description | 
topic | 
string | 
- | 
Name of target topic | 
topic_type | 
string | 
- | 
Type of target topic (used if the topic is not transform) | 
frame_id | 
string | 
- | 
Frame ID of transform parent (used if the topic is transform) | 
child_frame_id | 
string | 
- | 
Frame ID of transform child (used if the topic is transform) | 
transient_local | 
bool | 
false | 
QoS policy of topic subscription (Transient Local/Volatile) | 
best_effort | 
bool | 
false | 
QoS policy of topic subscription (Best Effort/Reliable) | 
diag_name | 
string | 
- | 
Name used for the diagnostics to publish | 
update_rate | 
double | 
10.0 | 
Timer callback period [Hz] | 
Core Parameters
| Name | 
Type | 
Default Value | 
Description | 
warn_rate | 
double | 
0.5 | 
If the topic rate is lower than this value, the topic status becomes WarnRate | 
error_rate | 
double | 
0.1 | 
If the topic rate is lower than this value, the topic status becomes ErrorRate | 
timeout | 
double | 
1.0 | 
If the topic subscription is stopped for more than this time [s], the topic status becomes Timeout | 
window_size | 
int | 
10 | 
Window size of target topic for calculating frequency | 
Assumptions / Known limits
TBD.