pylabrobot.liquid_handling.backends.hamilton.STAR_backend.STAR.move_iswap_y#

async STAR.move_iswap_y(y_position: float, speed: float = 220.0, acceleration_level: int = 2, current_protection_limiter: int = 7, make_space: bool = False)#

Move the iSWAP gripper center to absolute Y position (deck coordinates).

The rotation drive Y carriage and the gripper translate rigidly together in Y, so the gripper-Y delta equals the rotation-drive-Y delta. Read the current gripper Y from FK, translate the rotation drive by the delta, and the gripper lands at y_position via a single smooth R0 YA move.

Parameters:
  • [mm] (y_position) – target gripper Y in deck coordinates. The achievable range depends on channel configuration and current arm pose; in unobstructed conditions the absolute envelope is approximately -270..+648 mm at factory link lengths.

  • [mm/sec] (speed) – max linear velocity, 2.4..370.

  • acceleration_level (int) – acceleration index, 1 or 2.

  • current_protection_limiter (int) – motor current limit, 0..7.

  • make_space (bool) – if True, reposition pipetting channels when channel 0 is in the way and can be cleared. If False, raise so the caller decides.

  • y_position (float)

  • speed (float)

Raises:
  • RuntimeError – if iSWAP is not installed, or if setup() has not populated iswap_information.

  • ValueError – if y_position is outside the Y hardware range; if the target requires channel 0 to be moved and make_space=False; if the move is unreachable even with channel repositioning; or if speed, acceleration_level, or current_protection_limiter is outside its valid range.