Skip to content

diagnostics

  • Software
  • Middleware
  • Library

A set of ROS 2 packages that collect diagnostic data from hardware drivers and robot hardware, publish it on the /diagnostics topic, and aggregate and analyze it for operators.

Made by ROS core stacks.

Source on GitHub: github.com/ros/diagnostics (opens in a new tab). Facts read at commit 81b53fa (opens in a new tab).

Licenses

Code
BSD-3-Clause (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (BSD-3-Clause) at commit 81b53fa (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

What it does

  • Collects status, device names and values from hardware drivers and robot hardware on the /diagnostics topic using diagnostic_msgs/DiagnosticArray messages.
  • Diagnostic_aggregator merges diagnostic messages from several sources into one message, using a plugin system for aggregation rules.
  • Diagnostic_updater provides base classes in Python and C++ for publishing custom diagnostic messages.
  • Diagnostic_common_diagnostics offers predefined nodes for monitoring the system.
  • Diagnostic_remote_logging forwards diagnostics to remote systems, such as influxdb.
  • Self_test provides tools to run self tests on nodes; diagnostic_topic_monitor is announced as coming soon.

Written by Robotheca from the project's README (opens in a new tab) at commit 81b53fa.

Getting started

Difficulty
Intermediate

Maintenance

Status
Maintained: a commit in the last 12 months
Newest commit
19 Jun 2026 on ros2
Latest release
None published on GitHub

Checked on GitHub on 16 Oct 2026.

Robots on Robotheca that use it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.