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.