7.10 Fault Diagnosis Section

7.10.1 Overview

The robot provides basic fault diagnosis and health monitoring capabilities, and can monitor common anomalies and faults such as joint overheating, sensor failure, sustained high system load, and low battery level.

There are two core concepts in fault diagnosis: Exception and Alert. Exception refers to a specific fault, while Alert is the user-friendly message shown in the AimMaster client for that exception. For example, the exception "severe IMU message delay" may correspond to the alert "system abnormality". In most cases, Exception and Alert are one-to-one, meaning one exception corresponds to one alert code. Different alert codes may still share the same alert text.

If you need continuous monitoring of abnormal robot status, query the current alert list periodically (recommended frequency: 0.2 Hz or lower).

The full list of exceptions and alerts can be found in /agibot/software/v0/config/hds/database/exception_info.yaml on ORIN.

7.10.2 Get Current Alert List RPC Interface

Interface Namepb:/aimdk.protocol.HDSService/GetAlertList
Function SummaryGet the current alert list
Interface TypeHTTP JSON RPC
URLhttp://192.168.100.110:50587/rpc/aimdk.protocol.HDSService/GetAlertList
Input Parameters
text
{}
Output Parameters
text
{
  "data": {
    "alerts": [
      {
        "id": "c39f6ccc-85d9-4976-a2e9-08f2906cc237",
        "appeared_timestamp": "1762933137153",
        "disappeared_timestamp": "0",
        "alert_code": "A2000003",
        "state": "AlertState_ACTIVE",
        "description": "急停拍下",
        "level": "AlertLevel_H5_STATUS",
        "alert_text": {
          "zh_CN": "急停拍下",
          "en_US": "Emergency Stop Triggered"
        },
        "alert_module": {
          "zh_CN": "monitor",
          "en_US": "Health Management HDS"
        }
      }
    ]
  }
}
  • id: Alert ID.
  • appeared_timestamp: Timestamp when the alert appeared.
  • disappeared_timestamp: Timestamp when the alert disappeared.
  • alert_code: Alert code.
  • state: Alert state.
    • AlertState_UNDEFINED: Unknown
    • AlertState_ACTIVE: Active
    • AlertState_CLEARED: Cleared
  • description: Alert description.
  • level: Alert level.
    • AlertLevel_UNDEFINED: No alert
    • AlertLevel_H1_FATAL: Irreversible fault, robot cannot continue working
    • AlertLevel_H2_CRITICAL: Fault with fall risk
    • AlertLevel_H2_PERMANENT: Irreversible fault, some functions are disabled
    • AlertLevel_H3_ERROR: Fault with fall risk
    • AlertLevel_H3_PERMANENT: Irreversible fault affecting part of the user experience
    • AlertLevel_H4_WARNING: Fault affecting part of the user experience
    • AlertLevel_H4_EVENT: Suboptimal robot state with fall risk
    • AlertLevel_H5_EVENT: Suboptimal robot state affecting part of the user experience
    • AlertLevel_H5_TRIVIAL: Fault that may affect part of the user experience
    • AlertLevel_H5_STATUS: No prompt
    • AlertLevel_H6_RESERVE: Gray release
    • AlertLevel_H7_EVENT: Normal function
    • AlertLevel_H7_DELETE: Non-fault event
  • alert_text: Client-facing alert text, multilingual.
  • alert_module: Fault reporting module, multilingual.
Example Scriptexamples/hds/get_alert_list.sh
Notes

7.10.3 Other Health Diagnosis Interfaces

In addition to GetAlertList, the following interfaces are also available:

  1. GetTotalAlertList: Get all alerts in the system, including historical records.
  2. GetAlertCount: Get the number of currently active alerts.
  3. GetExceptionEvent: Get exception events in the system.

These interfaces are relatively verbose or inconvenient for routine usage. For basic alert retrieval, GetAlertList is recommended. Example scripts for all open interfaces are under examples/hds, and detailed input/output fields are omitted here.