Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.6.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/selfpatch/ros2_medkit.git
VCS Type git
VCS Version main
Last Updated 2026-08-13
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ROS 2 message and service definitions for ros2_medkit fault management

Maintainers

  • bburda

Authors

No additional authors.

ros2_medkit_msgs

ROS 2 message and service definitions for the ros2_medkit fault management system.

Overview

This package provides the interface definitions used by the fault management components:

  • FaultManager (ros2_medkit_fault_manager) - Central fault aggregation and lifecycle management
  • FaultReporter (ros2_medkit_fault_reporter) - Client library for fault reporting
  • Gateway (ros2_medkit_gateway) - REST API endpoints for fault access

Messages

Fault.msg

Core fault data model representing an aggregated fault condition with AUTOSAR DEM-style debounce filtering.

Field Type Description
fault_code string Global fault identifier (e.g., “MOTOR_OVERHEAT”)
severity uint8 Severity level (use SEVERITY_* constants)
description string Human-readable description
first_occurred builtin_interfaces/Time When the current occurrence started; reset when a FAILED event reactivates a CLEARED fault, so it moves with occurrence_count
last_occurred builtin_interfaces/Time When fault last occurred (FAILED events only)
last_passed builtin_interfaces/Time When fault last reported PASSED (zero = never)
occurrence_count uint32 Times this fault has occurred, counted on edges (first FAILED, then each FAILED that arrives while CLEARED). Repeats within one occurrence do not increment it
status string Current status (see STATUS_* constants)
reporting_sources string[] List of source identifiers that reported this fault

Severity Levels: | Constant | Value | Description | |———-|——-|————-| | SEVERITY_INFO | 0 | Informational, no action required | | SEVERITY_WARN | 1 | May require attention, no impact on functionality | | SEVERITY_ERROR | 2 | Impacts functionality, requires intervention | | SEVERITY_CRITICAL | 3 | Severe, may compromise safety or system operation. Bypasses debounce. |

Status Constants: | Constant | Description | |———-|————-| | STATUS_PREFAILED | Debounce counter < 0 but above confirmation threshold | | STATUS_PREPASSED | Debounce counter > 0 but below healing threshold | | STATUS_CONFIRMED | Fault confirmed (counter <= threshold, e.g., -3) | | STATUS_HEALED | Fault healed by PASSED events (if healing enabled) | | STATUS_CLEARED | Fault manually cleared via ClearFault service |

Status Lifecycle (Debounce Model):

PREFAILED ←→ PREPASSED → HEALED (retained)
    ↓
CONFIRMED → CLEARED (manual)

  • FAILED events decrement counter (towards confirmation)
  • PASSED events increment counter (towards healing)
  • CRITICAL severity bypasses debounce and confirms immediately

FaultEvent.msg

Real-time fault event notification for SSE streaming (published on /fault_manager/events).

Field Type Description
event_type string Event type (see constants below)
fault Fault The fault data (state after event)
timestamp builtin_interfaces/Time When the event occurred
auto_cleared_codes string[] Symptom codes auto-cleared with the root cause (correlation)

Event Types: | Constant | Trigger | |———-|———| | EVENT_CONFIRMED | Fault transitions PREFAILED → CONFIRMED | | EVENT_CLEARED | Fault ends: CLEARED via ClearFault, or HEALED by PASSED events (fault.status tells which) | | EVENT_UPDATED | Fault data changes without status transition |

Services

ReportFault.srv

Report a fault event (FAILED or PASSED) to the FaultManager.

Request: | Field | Type | Description | |——-|——|————-| | fault_code | string | Global identifier (UPPER_SNAKE_CASE, max 64 chars) | | event_type | uint8 | Event type: EVENT_FAILED (0) or EVENT_PASSED (1) | | severity | uint8 | Severity level (0-3, only for FAILED events) | | description | string | Human-readable description (only for FAILED events) | | source_id | string | Reporting node FQN (e.g., “/powertrain/engine/temp_sensor”) |

Response: | Field | Type | Description | |——-|——|————-| | accepted | bool | True if the event was accepted |

Event Types:

  • EVENT_FAILED (0): Fault condition detected - decrements debounce counter
  • EVENT_PASSED (1): Fault condition cleared - increments debounce counter

ListFaults.srv

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package ros2_medkit_msgs

0.6.0 (2026-06-22)

  • No functional changes; version bump for the coordinated 0.6.0 release.
  • Contributors: \@bburda

0.5.0 (2026-06-08)

  • New service definitions ListEntities.srv, GetEntityData.srv, GetCapabilities.srv and the EntityInfo.msg type for exposing the entity tree over ROS 2 services (#330)
  • ClearFault.srv request gains a bool skip_correlation_auto_clear field so callers can opt out of cascade-clearing correlated symptom fault codes; out-of-tree callers must rebuild against the new message (#395)
  • Contributors: \@bburda, \@mfaferek93

0.4.0 (2026-03-20)

  • MedkitDiscoveryHint message type for beacon discovery publishers
  • Contributors: \@bburda

0.3.0 (2026-02-27)

  • Multi-distro CI support for ROS 2 Humble, Jazzy, and Rolling (#219, #242)
  • Contributors: \@bburda

0.2.0 (2026-02-07)

  • Initial rosdistro release
  • Fault management messages:
    • Fault.msg - Core fault data model with severity levels (INFO/WARN/ERROR/CRITICAL) and debounce-based status lifecycle (PREFAILED/PREPASSED/CONFIRMED/HEALED/CLEARED)
    • FaultEvent.msg - Real-time event notifications (EVENT_CONFIRMED/EVENT_CLEARED/EVENT_UPDATED) with auto-cleared correlation codes
    • MutedFaultInfo.msg - Fault correlation muting metadata
    • ClusterInfo.msg - Fault clustering information
  • Fault management services:
    • ReportFault.srv - Report fault events with FAILED/PASSED event model
    • GetFaults.srv - Query faults with filtering by severity, status, and correlation data
    • ClearFault.srv - Clear/acknowledge faults by fault_code
    • GetSnapshots.srv - Retrieve topic snapshots captured at fault time
    • GetRosbag.srv - Retrieve rosbag recordings associated with faults
  • Contributors: Bartosz Burda, Michal Faferek

Recent questions tagged ros2_medkit_msgs at Robotics Stack Exchange