Documentation Status

diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

Released Continuous integration Documented

Packages related to gathering, viewing, and analyzing diagnostics data from robots.

  • Maintainer status: maintained
  • Maintainer: Brice Rebsamen <brice.rebsamen AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Kevin Watts
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: groovy-devel)
diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

Released Continuous integration Documented

Packages related to gathering, viewing, and analyzing diagnostics data from robots.

  • Maintainer status: maintained
  • Maintainer: Brice Rebsamen <brice.rebsamen AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Kevin Watts
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: groovy-devel)
diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

Released Continuous integration Documented

diagnostics

  • Maintainer status: maintained
  • Maintainer: Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Austin Hendrix <namniart AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Kevin Watts
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: indigo-devel)

Overview

The diagnostics system is designed to collect information from hardware drivers and robot hardware to users and operators for analysis, troubleshooting and logging. The diagnostics stack contains tools for collecting, publishing, analyzing and viewing diagnostics data.

The diagnostics toolchain is built around the /diagnostics topic. On this topic, hardware drivers and devices publish diagnostic_msgs/DiagnosticStatus message with the device names, status and specific data points.

The diagnostic_updater and self_test packages allow nodes to collect and publish diagnostics data. The diagnostic_aggregator can categorize and analyze diagnostics at runtime. Operators and developers can view the diagnostics data using the rqt_robot_monitor package. The diagnostic_analysis package can convert diagnostics logs to CSV files for examination and after-the-fact analysis.

Collecting and Publishing

To collect and publish diagnostics data, nodes can use tools in the diagnostic_updater package. The updater allows nodes, especially hardware drivers, to collect and publish diagnostics data. Using the tools in the updated package, drivers can monitor frequency and connection status. The self_test package uses the diagnostic_updater to perform a self test on a driver, using a special service call.

Analysis and Aggregation

The diagnostic_aggregator package contains tools for categorizing and analyzing diagnostics at runtime. Using a plug-in model, a diagnostic aggregator can be configured for different types of robots to allow simple analysis of diagnostics. It is easy to summarize hundreds of diagnostic items into just a few categories. The diagnostic aggregator plug-ins can allows developers to give users easy to understand messages at for common problems.

Viewing

The rqt_robot_monitor package contains the robot_monitor tool which displays the processed data from a diagnostic_aggregator in graphical form.

For robots without a diagnostic_aggregator, the rqt_runtime_monitor package contains a simple monitor that displays data from the /diagnostics topic.

Off-Board Analysis

The tools in diagnostic_analysis allow users to convert diagnostics bag files into one or more CSV files for plotting or viewing with off-the-shelf spreadsheet software. The export_csv.py tool allows the bag file to be converted into several CSV files, with each diagnostic status name made into its own file.

Further information

Further information will be found in the REP #107: Diagnostic System for Robots Running ROS.

Wiki: diagnostics (last edited 2015-08-06 09:24:38 by VincentRabaud)