GenericHardwareState
This is a ROS message definition.
Source
# This message encapsulates the general-purpose status fields, serving as a baseline for any hardware component
# --- Health & Error ----------------------------------------------
# Overall health status of the device, see HealthStatus constants below
uint8 health_status
# Array of device errors by category, see ErrorDomain constants below
uint8[] error_domain
# --- Operational State -------------------------------------------
# Current operational mode of the device, see ModeStatus constants below
uint8 operational_mode
# Current power state of the device, see PowerState constants below
uint8 power_state
# Current connectivity status of the device, see ConnectivityStatus constants below
uint8 connectivity_status
# --- Vendor & Version Info ----------------------------------------
# Device manufacturer name, e.g. "Bosch"
string manufacturer
# Device model identifier, e.g. "Lidar-XYZ-v2"
string model
# Current firmware version, e.g. "1.2.3"
string firmware_version
# --- Optional Details for Context ---------------------------------
# Provides specific quantitative values related to the enums above.
# e.g., for power_state, could have {key: "voltage", value: "24.1"}
# e.g., for connectivity, could have {key: "signal_strength", value: "-55dBm"}
diagnostic_msgs/KeyValue[] state_details
# --- Health Status Constants -------------------------------------
# High-level health indicators
uint8 HEALTH_UNKNOWN = 0
uint8 HEALTH_OK = 1
uint8 HEALTH_DEGRADED = 2
uint8 HEALTH_WARNING = 3
# Hardware stops publishing state when it returns ERROR/FATAL, how are these set/updated?
uint8 HEALTH_ERROR = 4
uint8 HEALTH_FATAL = 5
# --- Error Domain Constants --------------------------------------
# Error categories
uint8 ERROR_NONE = 0
uint8 ERROR_UNKNOWN = 1
uint8 ERROR_HW = 2 # generic hardware fault/error
uint8 ERROR_SW = 3 # generic software fault/error
uint8 ERROR_OVER_TRAVEL = 4 # Hardware stopped motion because position is over limits
# Hardware/Software emergency and safety states
uint8 EMERGENCY_STOP_HW = 5 # state of the emergency stop hardware (i.e. e-stop button state)
uint8 EMERGENCY_STOP_SW = 6 # state of the emergency stop software system (over travel, pinch point)
uint8 PROTECTIVE_STOP_HW = 7 # state of the protective stop hardware (i.e. safety field state)
uint8 PROTECTIVE_STOP_SW = 8 # state of the software protective stop
uint8 SAFETY_STOP = 9
uint8 CALIBRATION_REQUIRED = 10
# --- Operational Mode Constants ----------------------------------
# Mode of operation
uint8 MODE_UNKNOWN = 0
uint8 MODE_MANUAL = 1
uint8 MODE_AUTO = 2 # automatic mode when the driver is remote controlling the hardware
uint8 MODE_SAFE = 3 # what is the expected use case for this mode?
uint8 MODE_MAINTENANCE = 4
uint8 MODE_JOG_MANUAL = 5
uint8 MODE_ADMITTANCE = 6
uint8 MODE_MONITORED_STOP = 7
uint8 MODE_HOLD_TO_RUN = 8
uint8 MODE_CARTESIAN_TWIST = 9
uint8 MODE_CARTESIAN_POSE = 10
uint8 MODE_TRAJECTORY_FORWARDING = 11
uint8 MODE_TRAJECTORY_STREAMING = 12
# --- Power State Constants ---------------------------------------
# Power states
uint8 POWER_UNKNOWN = 0
uint8 POWER_OFF = 1
uint8 POWER_STANDBY = 2
uint8 POWER_ON = 3
uint8 POWER_SLEEP = 4
uint8 POWER_ERROR = 5
# Battery power states see BatteryState.msg
uint8 POWER_LEVEL_LOW = 6
uint8 POWER_LEVEL_CRITICAL = 7
uint8 POWER_CHARGING = 8
uint8 POWER_CHARGING_ERROR = 9
# --- Connectivity Status Constants -------------------------------
# Connectivity states
uint8 CONNECT_UNKNOWN = 0
uint8 CONNECT_UP = 1
uint8 CONNECT_DOWN = 2
uint8 CONNECT_FAILURE = 3
uint8 CONNECTION_SLOW = 4 # to tell the controlling system it is struggling to communicate at rate