Skip to content
⚙ Development Guide > SDK > API > Data Structures

EEFState (End-Effector State)#

To correspond to the P6 navigation, this page uses EEFState as its section name; the P7 SDK does not have an object with this name. P7 divides end-effector (EEF) state into joint state, EEFJointState, and motor state, EEFMotorState. Array lengths are determined by the runtime eef_dof and the EEF actually installed; they are not fixed at 1.

EEFJointState#

Field Type Length Unit Meaning
eef_pos tuple[float, ...] Runtime eef_dof mm (linear EEF) EEF joint position
eef_vel tuple[float, ...] Same as position mm/s (linear EEF) EEF joint velocity
eef_eff tuple[float, ...] Same as position Native EEF drive quantity Effort/current-like feedback

For a linear EEF, the SDK converts between mm/mm/s and internal transport units in both read and write directions. The application must not multiply or divide by 1000 again. eef_eff cannot be interpreted directly as A, N, or N·m. When model-specific unit metadata is unavailable for a rotary or custom EEF, the linear EEF unit contract must not be applied.

EEFMotorState#

Field Type Length Unit/Value Meaning
eef_motor_temp tuple[float, ...] Number of installed EEF motors, at least 1 °C EEF motor temperature
eef_error_id tuple[int, ...] Same as temperature 0 means normal; a value other than 0 means a device error bit or error code EEF motor error identifier

When no EEF motor data is available, the getter returns None; it does not construct an empty EEFMotorState.

Retrieval Methods#

eef_joint_state = client.get_eef_joint_state()  # EEFJointState | None
eef_motor_state = client.get_eef_motor_state()  # EEFMotorState | None

The retrieval interfaces do not acquire control authority. See API Reference for all state getters and Control Modes for motion units and mode selection.