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.

rostest analyzer_load_test.launch

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.

Check the dependencies of the plugin packages. Each package containing plugins should depend directly on pluginlib and diagnostic_aggregator.

Wiki: diagnostic_aggregator/Troubleshooting (last edited 2010-01-13 09:44:03 by KevinWatts)