Skip to content

7.11 System Status Section

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

Section titled “7.11.2 System Status Retrieval RPC Interface”
Interface Name pb:/aimdk.protocol.SystemService/GetSystemState
Function Summary Retrieve system status
Interface Type HTTP JSON RPC
URL http://192.168.100.100:51011/rpc/aimdk.protocol.SystemService/GetSystemState
Input Parameters
{}
Output Parameters
{
  "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 Script examples/other/get_system_state.sh
Notes
Interface Name pb:/aimdk.protocol.HalBmsService/GetBmsState
Function Overview Retrieve system status
Interface Type HTTP JSON RPC
URL http://192.168.100.100:56421/rpc/aimdk.protocol.HalBmsService/GetBmsState
Input Parameters
{}
Output Parameters
{
  "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 Script examples/other/get_bms_state.sh
Notes

7.11.4 Emergency Stop State Retrieval RPC Interface

Section titled “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 Name pb:/aimdk.protocol.HalEmergencyService/GetEmergencyState
Function Overview Retrieve the emergency stop state
Interface Type HTTP JSON RPC
URL http://192.168.100.100:56421/rpc/aimdk.protocol.HalEmergencyService/GetEmergencyState
Input Parameters
{}
Output Parameters
{
  "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 Script examples/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

Section titled “7.11.5 Software Version Retrieval RPC Interface”
Interface Name pb:/aimdk.protocol.OTAService/GetRobotOtaInfo
Function Overview Retrieve software version information
Interface Type HTTP JSON RPC
URL http://192.168.100.100:57900/rpc/aimdk.protocol.OTAService/GetRobotOtaInfo
Input Parameters
{}
Output Parameters
{
  "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 Script examples/other/get_robot_ota_info.sh
Notes

7.11.6 Retrieve OTA Progress Information RPC Interface

Section titled “7.11.6 Retrieve OTA Progress Information RPC Interface”
Interface Name pb:/aimdk.protocol.OTAService/GetCurrentOtaProgress
Function Overview Retrieve OTA progress information
Interface Type HTTP JSON RPC
URL http://192.168.100.100:57900/rpc/aimdk.protocol.OTAService/GetCurrentOtaProgress
Input Parameters
{}
Output Parameters
{
  "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 Script examples/other/get_ota_progress.sh
Notes The software emergency stop interface is not yet open for secondary development, and cannot be triggered through the interface.