No troubleshooting tips have been added for this package/stack.
Errors from diagnostic_aggregator
Error: Analyzer fails to load
The aggregator_node loads diagnostic analyzers to collect and analyze diagnostics. These are loaded as plugins. If they fail to load, you may see:
An error in the robot_monitor, describing the initialization failure.
- An error in the ROS console, saying "Analyzer failed to load", or "Analyzer failed to initialize"
Analyzers are loaded at startup by the aggregator_node. Check your robot's launch file for a node in package diagnostic_aggregator, type `aggregator_node'.
<node pkg="diagnostic_aggregator" type="aggregator_node" name="diagnostic_aggregator" > <rosparam command="load" file="$(find some_pkg)/my_analyzers.yaml" /> </node>
The first thing to do is check the "some_pkg/my_analyzers.yaml" file and make sure it loads. Make a new launch file "analyzer_load_test.launch"
<launch> <test pkg="diagnostic_aggregator" type="analyzer_loader" name="analyzer_load_test" > <rosparam command="load" test-name="load_test" file="$(find some_pkg)/my_analyzers.yaml" /> </node> </launch>
Use rostest to launch it.
If that passes, you should be OK, and you may have discovered a bug in the aggregator_node.
If that doens't pass, use rospack to find all diagnostic analyzer plugins.
$ rospack plugins --attrib=plugin diagnostic_aggregator
Compare the list from rospack with the YAML configuration file of the aggregator. The YAML file should look like this:
analyzers: motors: type: GenericAnalyzer path: Motors startswith: EtherCAT power: type: GenericAnalyzer path: Power System contains: Battery
Each parameter type gives a different class of analyzer to load. Make sure every value for type is a valid plugin.
$ rospack plugins --attrib=plugin diagnostic_aggregator | grep GenericAnalyzer
Make sure that all the plugins are built. Check the packages and dependencies and use rosmake to rebuild if necessary.