7.5 System Status Section

7.5 System Status Section

7.5.1 Overview

System status refers to the state of the software system, which can be referenced in the previous section Software System Overview.

7.5.2 System Status Retrieval RPC Interface

Interface Namepb:/aimdk.protocol.SystemService/GetSystemState
Function SummaryRetrieve system status
Interface TypeHTTP JSON RPC
URLhttp://127.0.0.1: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 state
    • Ready: Startup completed state
    • Manual: Manual operation state
    • MotionStream: Remote operation state
    • OTA: Remote upgrade state
    • Estop: Emergency stop state
    • Poweroff: Power off state
    • Reboot: Rebooting state
    • Reset: Resetting state
    • Safe: Safe state
  • cur_status: Current system condition
    • SystemStatus_IN_INITIAL: Initializing
    • SystemStatus_IN_READY: Transition completed
    • SystemStatus_IN_MOVE: Transitioning
    • SystemStatus_IN_ROLLBACK: Rolling back
    • SystemStatus_IN_RECOVERY: Recovering
Example Scriptexamples/status/get_system_status.sh
Notes

7.5.3 BMS Status Retrieval RPC Interface

Interface Namepb:/aimdk.protocol.HalBmsService/GetBmsState
Function SummaryRetrieve system status
Interface TypeHTTP JSON RPC
URLhttp://127.0.0.1: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 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 currently 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/status/get_bms_status.sh
Notes

7.5.4 Emergency Stop Status Retrieval RPC Interface

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

Interface Namepb:/aimdk.protocol.HalEmergencyService/GetEmergencyState
Function SummaryRetrieve emergency stop status
Interface TypeHTTP JSON RPC
URLhttp://127.0.0.1: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: 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
Other fields are not of concern.
Example Scriptexamples/status/get_estop_status.sh
Notes
  • The soft emergency stop interface is not yet open for secondary development, and cannot be triggered via the interface.
  • If an empty JSON body is returned, it indicates that all parameters are at their default values, meaning the emergency stop has not been triggered.

7.5.5 Software Version Retrieval RPC Interface

Interface Namepb:/aimdk.protocol.OTAService/GetRobotOtaInfo
Function SummaryRetrieve software version information
Interface TypeHTTP JSON RPC
URLhttp://127.0.0.1:57900/rpc/aimdk.protocol.OTAService/GetRobotOtaInfo
Input Parameters
text
{}
Output Parameters
text
{
  "robot_info": {
    "model": "A2_T3D1_LITE"
  },
  "current_apk_info": {
    "apk_version": "A2_LITE-v1.2.4-0-g17e2f79fe-2510271122",
    "pub_time": "",
    "soc_info": [],
    "mcu_info": [],
    "contents": "",
    "fota_version": ""
  },
  "support_rollback_apk_infos": []
}
  • apk_version: Software version information
Other fields are not of concern.
Example Scriptexamples/status/get_version_info.sh
Notes