Show EOL distros: 

diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_updater | self_test

Package Summary

The diagnostic_analysis package can convert a log of diagnostics data into a series of CSV files. Robot logs are recorded with rosbag, and can be processed offline using the scripts in this package.

diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_updater | self_test

Package Summary

The diagnostic_analysis package can convert a log of diagnostics data into a series of CSV files. Robot logs are recorded with rosbag, and can be processed offline using the scripts in this package.

diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_updater | self_test

Package Summary

The diagnostic_analysis package can convert a log of diagnostics data into a series of CSV files. Robot logs are recorded with rosbag, and can be processed offline using the scripts in this package.

diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

The diagnostic_analysis package can convert a log of diagnostics data into a series of CSV files. Robot logs are recorded with rosbag, and can be processed offline using the scripts in this package.

  • Maintainer status: maintained
  • Maintainer: Brice Rebsamen <brice.rebsamen AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Eric Berger, 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

The diagnostic_analysis package can convert a log of diagnostics data into a series of CSV files. Robot logs are recorded with rosbag, and can be processed offline using the scripts in this package.

  • Maintainer status: maintained
  • Maintainer: Brice Rebsamen <brice.rebsamen AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Eric Berger, 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

The diagnostic_analysis package can convert a log of diagnostics data into a series of CSV files. Robot logs are recorded with rosbag, and can be processed offline using the scripts in this package.

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

Package Summary

The diagnostic_analysis package can convert a log of diagnostics data into a series of CSV files. Robot logs are recorded with rosbag, and can be processed offline using the scripts in this package.

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

Package Summary

The diagnostic_analysis package can convert a log of diagnostics data into a series of CSV files. Robot logs are recorded with rosbag, and can be processed offline using the scripts in this package.

  • Maintainer status: maintained
  • Maintainer: Guglielmo Gemignani <guglielmo.gemignani AT gmail DOT com>, Austin Hendrix <namniart AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Eric Berger, Kevin Watts
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: indigo-devel)
diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

The diagnostic_analysis package can convert a log of diagnostics data into a series of CSV files. Robot logs are recorded with rosbag, and can be processed offline using the scripts in this package.

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

Package Summary

The diagnostic_analysis package can convert a log of diagnostics data into a series of CSV files. Robot logs are recorded with rosbag, and can be processed offline using the scripts in this package.

  • Maintainer status: maintained
  • Maintainer: Guglielmo Gemignani <guglielmo.gemignani AT gmail DOT com>, Austin Hendrix <namniart AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Eric Berger, Kevin Watts
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: indigo-devel)
diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

The diagnostic_analysis package can convert a log of diagnostics data into a series of CSV files. Robot logs are recorded with rosbag, and can be processed offline using the scripts in this package.

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

Overview

Using ROS tools like rosrecord and rosplay, users can record and playback bag files containing ROS messages. For diagnostics bag files, we use tools in the diagnostic_analysis package to convert these bag files into CSV files. The export_csv.py tool converts these bag files into CSV files, with a separate CSV file for each diagnostics_msgs/DiagnosticStatus name. These CSV files can be analyzed with off-the-shelf spreadsheet software.

Larger bag files can be too large for common spreadsheet software (which support at most 65,536 rows). For large files, sparse_csv.py can thin or convert these files into smaller CSV files for analysis.

Non-Diagnostics Bagfiles

If you have any messages that aren't on the "/diagnostics" topic, they will be discarded.

Discarding message on topic: /turtle1/pose
Discarding message on topic: /turtle1/color_sensor
Discarding message on topic: /turtle1/pose
Discarding message on topic: /turtle1/color_sensor

The PR2 diagnostics toolchain uses diagnostic_msgs/DiagnosticArray messages on the "/diagnostics" topic, which is what this package is designed for. Only bag files of this type will work with the diagnostic_analysis package. To play other bag files, use rostopic.

Command-line Tools

export_csv.py

export_csv.py [bag-files]...

  • Convert bag file(s) to CSV representation. By default, this will output the CSV file to the output/log_filename directory, e.g.:

    $ rosrun diagnostic_analysis export_csv.py <bagfilename>

-d OUTPUT_DIR

  • Change the output directory. For example:

    rosrun diagnostic_analysis export_csv.py file.bag -d my_dir
    will store the results in the "my_dir/output" directory.

Each "name" in the diagnostic status messages will have its own file. This means you'll see one file for the Power Board, another for EtherCAT Master, etc...

sparse_csv.py

sparse_csv.py <csv-file> -m (--max)

  • Shrink CSV file to a maximum of 65,000 rows. This assists with fitting within Excel limit of 65,536 rows. This will retain every nth line as necessary to reduce the CSV row length. For example:

    $ rosrun diagnostic_analysis sparse_csv.py my_bagfile.csv -m

sparse_csv.py <csv-file> -l LENGTH (--length)

  • Shrink CSV file to specified row length by skipping every nth line as necessary.

sparse_csv.py <csv-file> -s SKIP (--skip)

  • Shrink CSV file by skipping every SKIP lines.

Tutorials

  1. Analyzing Diagnostic Logs Off-Line

    This tutorial uses the diagnostic_analysis package to analyze a robot log file. These files are generated automatically by the robots when they're running and contain the entire diagnostics history of the robot. You can convert these log files into CSV files (comma separated value) that can be opened with any spreadsheet editor. This only works with diagnostic_msgs/DiagnosticArray messages on the /diagnostics topic, used in the PR2 diagnostic toolchain.

Wiki: diagnostic_analysis (last edited 2010-07-07 17:04:22 by KevinWatts)