pylabrobot.brooks.precise_flex.PreciseFlexDriver.__init__#
- PreciseFlexDriver.__init__(host: str, gripper_length: float, gripper_z_offset: float, closed_gripper_position: float, port: int = 10100, timeout: int = 20, is_dual_gripper: bool = False, has_rail: bool = False, read_kinematics_from_device: bool = True, recover_out_of_range: bool = True, parking_position: Dict[PreciseFlexAxis, float] | None = None, vision_host: str | None = None, base_plate: Resource | None = None, declared_configuration_json: str | None = None) None#
- Parameters:
gripper_length (float) – wrist-axis → TCP distance in mm. Used as the fallback / override; when
read_kinematics_from_deviceis True (the default) the link lengths and tool length are read from the controller at setup and this value is only used if that read fails.gripper_z_offset (float) – vertical offset in mm from the wrist plate to the tool tip. A fallback, as
gripper_lengthis: withread_kinematics_from_deviceit is where the fitted gripper’s fingers grip, below the flange plane.read_kinematics_from_device (bool) – when True, read l1/l2 and the tool length from the controller at setup and use them for kinematics; the constructor’s
gripper_lengththen acts only as a fallback. Set False to force the constructor values regardless of what the controller reports.recover_out_of_range (bool) – when True (the default), an out-of-range axis (its current position outside its soft limit - a state the controller rejects every commanded move for, -1012) is driven back into range once via
recover_axes_within_limits, the same way at both moments it matters: at setup, and before a commanded move (which then retries). If it is still out of range after that,OutOfRangeOfMotionErrorpropagates (no loop). Set False to forbid this autonomous motion - an out-of-range axis then raises instead, carrying recovery instructions. Every recovery is logged.closed_gripper_position (float) – the gripper axis’s position, in the controller’s units, at which the jaws are at the narrow end of
PreciseFlexGripper.jaw_width_range. Depends on the mounted gripper. The conversion mm → firmware units is linear with slope 1:units = closed_gripper_position + (width_mm - jaw_width_range[0]).parking_position (Dict[PreciseFlexAxis, float] | None) – initial value for the public, runtime-settable
parking_positionthatpark()moves to. Leave None (the default) and setup fills the generic default RIGHT pose (planar fold, Z column at 3/4 of the discovered travel); reassign it any time to park elsewhere. While unset (no configuration),park()falls back tomovetosafe.vision_host (str | None) – address of the vision server, a separate computer from the controller (its own box with its own IP). Set it to connect to the vision server, which powers both image fetch and discovery on the vision server (what tool types, tools, processes, and projects exist). None leaves the vision server unconnected, disabling those; the controller-side execution path (running processes/tools, setting properties, lighting, barcodes, stereo locate) is unaffected. Only consulted when setup discovers an IntelliGuide vision module.
base_plate (Resource | None) – the base plate to build the arm on. Optional: without one the driver still drives the arm, and models nothing.
declared_configuration_json (str | None) – path to a JSON file holding a declared configuration, as
save_configurationwrites one. The only way a configuration is read from a file. Discovery cross-checks it against what the device answers.host (str)
port (int)
timeout (int)
is_dual_gripper (bool)
has_rail (bool)
- Return type:
None