The source project of this merge request has been removed.
Fix/replace timer callback to std thread
Fixed bug
Description of the bug
Periodic monitoring of self-diagnosis information in each node operates on the following assumptions.
- The publish cycle of the self-diagnosis library
health_checker
included in each node is constant. - The node
health_aggregator
that aggregates the self-diagnosis information monitors the cycle of the self-diagnosis information and notifies an error if there is any abnormality.
In the health_checker
library, a timer callback for outputting self-diagnosis information at regular intervals is set. However, the spin
function is not called in the health_checker
library, and the timing at which the timer callback is called depends on the control cycle and control delay of each node incorporating the health_checker
library.
How to test
- Execute the following in order before and after the change.
roscore
roslaunch autoware_health_checker health_checker.launch
roslaunch points_preprocessor ray_ground_filter.launch
rostopic pub -r 10 /points_raw sensor_msgs/PointCloud2 "header:
seq: 0
stamp: {secs: 0, nsecs: 0}
frame_id: 'base_link'
height: 0
width: 0
fields:
- {name: '', offset: 0, datatype: 0, count: 0}
is_bigendian: false
point_step: 0
row_step: 0
data: ''
is_dense: false"
rostopic echo /system_status/node_status | grep "level: 3" -B10
- Please check last terminal(rostopic echo).