charger_state: Whether the charger is plugged in (`ChargerNotPulgin` / `ChargerConnected`)
bms_state: Whether the battery is inserted (`BatteryStatus_NotPulgin` / `BatteryStatus_Connected`)
abnormal_state: Abnormal state (`NORMAL` / `SHORT_CIRCUIT` / overcurrent / overvoltage / undervoltage / temperature limit exceeded)
bms_datas: Dual-battery array (index `0` is the unplugged battery pack, index `1` is the active battery pack)
Example Script
examples/other/bms.py
Remarks
The ROS2 message type is `ros2_plugin_proto/msg/RosMsgWrapper`. Before use, run `source prebuilt/ros2_plugin_proto_aarch64/share/ros2_plugin_proto/local_setup.bash`, install the `.whl` files under `prebuilt`, and deserialize with `aimdk.protocol_pb2.BmsStateChannel`.
reason: Reason for the emergency stop (`Reason_ESTOP` wired / `Reason_WIRELESS_ESTOP` wireless / `Reason_SOFTWARE_ESTOP` software / sensor or TOF alarm / `Reason_UNDEFINED` not triggered)
wired_emergency_stop: Whether the wired emergency stop is triggered
Example Script
examples/other/emergency_state.py
Remarks
The ROS2 message type is `ros2_plugin_proto/msg/RosMsgWrapper`. Before use, run `source prebuilt/ros2_plugin_proto_aarch64/share/ros2_plugin_proto/local_setup.bash`, install the `.whl` files under `prebuilt`, and deserialize with `aimdk.protocol_pb2.EmergencyStateChannel`.