7.11 System Status Section

7.11 System Status Section

7.11.1 Overview

System status refers to the state of the software system, as described in the Software System Overview section.

7.11.2 System Status Retrieval RPC Interface

Interface Namepb:/aimdk.protocol.SystemService/GetSystemState
Function SummaryRetrieve system status
Interface TypeHTTP JSON RPC
URLhttp://192.168.100.100:51011/rpc/aimdk.protocol.SystemService/GetSystemState
Input Parameters
text
{}
Output Parameters
text
{
  "header": {
    "code": "0",
    "msg": "",
    "trace_id": "",
    "domin": ""
  },
  "cur_state": "EStop",
  "cur_status": "SystemStatus_IN_READY"
}
  • cur_state: Current system state
    • Startup: Starting up
    • Ready: Startup complete
    • Manual: Manual operation
    • MotionStream: Remote operation
    • OTA: Over-the-air update
    • Estop: Emergency stop
    • Poweroff: Power off
    • Reboot: Rebooting
    • Reset: Resetting
    • Safe: Safe state
  • cur_status: Current system condition
    • SystemStatus_IN_INITIAL: Initializing
    • SystemStatus_IN_READY: Transition complete
    • SystemStatus_IN_MOVE: Transitioning
    • SystemStatus_IN_ROLLBACK: Rolling back
    • SystemStatus_IN_RECOVERY: Recovering
Example Scriptexamples/other/get_system_state.sh
Notes

7.11.3 BMS State Retrieval RPC Interface

Interface Namepb:/aimdk.protocol.HalBmsService/GetBmsState
Function OverviewRetrieve system status
Interface TypeHTTP JSON RPC
URLhttp://192.168.100.100:56421/rpc/aimdk.protocol.HalBmsService/GetBmsState
Input Parameters
text
{}
Output Parameters
text
{
  "data": {
    "ver": {
      "hardware_major": 49,
      "hardware_minor": 48,
      "hardware_revision": 49,
      "software_major": 55,
      "software_minor": 48,
      "software_revision": 49
    },
    "voltage": 45460,
    "current": -1156,
    "power": 52551,
    "temperature": 289,
    "capacity": 4220,
    "charge": 29,
    "power_supply_health": "PowerSupplyHealth_GOOD",
    "power_supply_status": "PowerSupplyStatus_IDEL",
    "cycles_num": 1,
    "cycles_capacity": 21,
    "abnormal_state": "PowerAbnormalStatus_NORMAL",
    "charger_state": "ChargerNotPulgin",
    "bms_state": "BatteryStatus_Connected",
    "max_current": 0,
    "battery_firmware_type": "BatteryFirmwareType_OLD",
    "battery_key_state": "BatteryKeyStatus_SHORT_CURCUIT",
    "battery_pack_state": "BatteryPackStatus_NORMAL",
    "battery_comm_state": "BatteryCommunication_NORMAL"
  }
}
  • ver: Version information
  • voltage: Current voltage, unit mV
  • current: Current, unit mA
  • power: Current power, unit mW
  • temperature: Current temperature, unit 0.1 degrees Celsius
  • capacity: Current capacity, unit: mAh
  • charge: Current charge percentage
  • power_supply_health: Not available
  • power_supply_status: Charging status
    • PowerSupplyStatus_IDEL
    • PowerSupplyStatus_CHARGING
    • PowerSupplyStatus_FULL
  • cycles_num: Number of cycles
  • cycles_capacity: Cycle capacity (total charge and discharge capacity of the current battery pack), unit: Ah
  • abnormal_state: Abnormal status
    • PowerAbnormalStatus_NORMAL
    • PowerAbnormalStatus_SHORT_CIRCUIT
    • PowerAbnormalStatus_DISCHARGE_OVERCURRENT
    • PowerAbnormalStatus_CHARGING_OVERCURRENT
    • PowerAbnormalStatus_UNDERVOLTAGE
    • PowerAbnormalStatus_OVERVOLTAGE
    • PowerAbnormalStatus_EXCEED_DISCHARGE_TEMP_LIMIT
    • PowerAbnormalStatus_EXCEED_CHARGING_TEMP_LIMIT
  • charger_state: Whether the charger is plugged in
    • ChargerNotPulgin
    • ChargerConnected
  • bms_state: Whether the battery is connected
    • BatteryStatus_NotPulgin
    • BatteryStatus_Connected
  • max_current: Maximum current
  • battery_firmware_type: Battery pack firmware version
    • BatteryFirmwareType_OLD
    • BatteryFirmwareType_NEW
  • battery_key_state: Battery pack key status
    • BatteryKeyStatus_SHORT_CURCUIT
    • BatteryKeyStatus_CONNECTED
  • battery_pack_state: Battery pack abnormal status
    • BatteryPackStatus_NORMAL
    • BatteryPackStatus_ABNORMAL
  • battery_comm_state: Battery pack communication status
    • BatteryCommunication_NORMAL
    • BatteryCommunication_ABNORMAL
Example Scriptexamples/other/get_bms_state.sh
Notes

7.11.4 Emergency Stop State Retrieval RPC Interface

When an emergency stop is triggered, an alert will also be issued, and the emergency stop state can be obtained through GetAlertList. This section provides a separate interface to query the emergency stop state.

Interface Namepb:/aimdk.protocol.HalEmergencyService/GetEmergencyState
Function OverviewRetrieve the emergency stop state
Interface TypeHTTP JSON RPC
URLhttp://192.168.100.100:56421/rpc/aimdk.protocol.HalEmergencyService/GetEmergencyState
Input Parameters
text
{}
Output Parameters
text
{
  "data": {
    "active": true,
    "reason": "Reason_WIRELESS_ESTOP",
    "left_front_sensor_alarm": false,
    "right_front_sensor_alarm": false,
    "left_sensor_alarm": false,
    "right_sensor_alarm": false,
    "left_back_sensor_alarm": false,
    "right_back_sensor_alarm": false,
    "lift_upper_limit_alarm": false,
    "lift_lower_limit_alarm": false,
    "tray_limit_alarm": false,
    "front_left_tof_alarm": false,
    "front_right_tof_alarm": false,
    "right_front_tof_alarm": false,
    "right_back_tof_alarm": false,
    "back_tof_alarm": false,
    "left_back_tof_alarm": false,
    "left_front_tof_alarm": false,
    "wired_emergency_stop": false,
    "wireless_emergency_stop": true,
    "software_emergency_stop": false
  }
}
  • active: Whether the emergency stop is triggered
  • reason: The reason for the emergency stop
  • wireless_emergency_stop: Whether the wireless emergency stop is triggered
  • software_emergency_stop: Whether the software emergency stop is triggered
The rest of the fields do not need to be concerned with.
Example Scriptexamples/other/get_emergency_state.sh
Notes
  • The software emergency stop interface is not yet open for secondary development, and cannot be triggered through the interface.
  • If an empty JSON body is returned, it means all parameters are default values, i.e., the emergency stop is not triggered.

7.11.5 Software Version Retrieval RPC Interface

Interface Namepb:/aimdk.protocol.OTAService/GetRobotOtaInfo
Function OverviewRetrieve software version information
Interface TypeHTTP JSON RPC
URLhttp://192.168.100.100:57900/rpc/aimdk.protocol.OTAService/GetRobotOtaInfo
Input Parameters
text
{}
Output Parameters
text
{
  "robot_info": {
    "model": "A2_T3D1_FLAGSHIP"
  },
  "current_apk_info": {
    "apk_version": "A2_ULTRA-v1.3.23-0-gcee4e21f1-2511292056",
    "pub_time": "",
    "soc_info": [],
    "mcu_info": [],
    "contents": "",
    "fota_version": ""
  },
  "support_rollback_apk_infos": []
}
  • apk_version: Software version information
The rest of the fields do not need to be concerned with.
Example Scriptexamples/other/get_robot_ota_info.sh
Notes

7.11.6 Retrieve OTA Progress Information RPC Interface

Interface Namepb:/aimdk.protocol.OTAService/GetCurrentOtaProgress
Function OverviewRetrieve OTA progress information
Interface TypeHTTP JSON RPC
URLhttp://192.168.100.100:57900/rpc/aimdk.protocol.OTAService/GetCurrentOtaProgress
Input Parameters
text
{}
Output Parameters
text
{
  "header": {
    "code": "0",
    "msg": "Not in an abnormal state",
    "timestamp": {
      "seconds": "1764918512",
      "nanos": 387993669,
      "ms_since_epoch": "0"
    },
    "trace_id": "",
    "domin": ""
  },
  "progress": {
    "current_states": "OTAStates_OTA_IDLE",
    "percentage": 0,
    "error_count": 0,
    "current_stage_error_count": 0,
    "current_apk_version": ""
  }
}
  • apk_version: Software version information
The rest of the fields do not need to be concerned with.
Example Scriptexamples/other/get_ota_progress.sh
NotesThe software emergency stop interface is not yet open for secondary development, and cannot be triggered through the interface.