Skip to content

7.10 Fault Diagnosis Section

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

Section titled “7.10.2 Get Current Alert List RPC Interface”
Interface Name pb:/aimdk.protocol.HDSService/GetAlertList
Function Summary Get the current alert list
Interface Type HTTP JSON RPC
URL http://192.168.100.110:50587/rpc/aimdk.protocol.HDSService/GetAlertList
Input Parameters
{}
Output Parameters
{
  "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 Script examples/hds/get_alert_list.sh
Notes

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.