The robot itself provides basic fault diagnosis and health monitoring capabilities, capable of monitoring some fundamental anomalies and faults, such as joint overheating, sensor failure, system occupancy consistently too high, and low battery power.
There are two basic concepts in fault diagnosis: Alert and Exception. Alerts are clusters of Exceptions. An Alert refers to a broad category of faults, while an Exception is a specific fault. For example, repositioning failure is an Alert, which corresponds to many different failure reasons, each being a specific Exception. AimMaster generally displays Alerts, as Exceptions are more numerous and less intuitive. If you need to continuously monitor the robot's abnormal state, it is recommended to query the current alert list periodically (the frequency should not be too high, recommended 0.2 Hz or lower).
The full list of alerts can be found in the /agibot/software/v0/config/hds_master/database/alert_info.yaml file on the orin machine.
The header returns information about whether the clearance was successful, with code 0 indicating success
Example Script
examples/hds/clear_alert.sh
Notes
Although the emergency stop alert has manual_clear set to true, it will still fail to clear. You need to manually release the emergency stop before clearing it.
In general, do not call this interface to clear alerts. Please fully understand the meaning of the alert before considering using this interface to clear it.
In addition to the GetAlertList and ClearAlert interfaces, the following interfaces are also available:
GetTotalAlertList: Get all alerts in the system, including historical information
GetAlertCount: Get the number of all current alerts in the system
GetExceptionEvent: Get the fault events in the system
SetShieldAlertLevel: Shield all alerts at a certain level and below
However, these interfaces provide too much information or are inconvenient to use. It is recommended to use only the GetAlertList and ClearAlert interfaces for basic alert information retrieval and clearing operations. Examples for each of these open interfaces are located in the examples/hds directory and are not detailed here.