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 |
Inputs / Outputs#
Input#
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.