diff --git a/api/src/opentrons/protocol_engine/execution/labware_movement.py b/api/src/opentrons/protocol_engine/execution/labware_movement.py index ad0e90695db..aabfe9f8e12 100644 --- a/api/src/opentrons/protocol_engine/execution/labware_movement.py +++ b/api/src/opentrons/protocol_engine/execution/labware_movement.py @@ -99,6 +99,7 @@ async def move_labware_with_gripper( # noqa: C901 if not self._state_store.geometry.validate_gripper_labware_tip_collision( gripper_homed_position_z=166.125, pipettes_homed_position_z=248.0, + pipette_id=pipette_id, tip=tip, labware_id=labware_id, current_location=current_location, @@ -142,6 +143,7 @@ async def move_labware_with_gripper( # noqa: C901 if not self._state_store.geometry.validate_gripper_labware_tip_collision( gripper_homed_position_z=gripper_homed_position.z, pipettes_homed_position_z=pipetted_homed_position.z, + pipette_id=pipette_id, tip=tip, labware_id=labware_id, current_location=current_location, diff --git a/api/src/opentrons/protocol_engine/state/geometry.py b/api/src/opentrons/protocol_engine/state/geometry.py index 24902606519..66bc1216560 100644 --- a/api/src/opentrons/protocol_engine/state/geometry.py +++ b/api/src/opentrons/protocol_engine/state/geometry.py @@ -982,11 +982,18 @@ def validate_gripper_labware_tip_collision( self, gripper_homed_position_z: float, pipettes_homed_position_z: float, + pipette_id: str, tip: TipGeometry, labware_id: str, current_location: OnDeckLabwareLocation, ) -> bool: """Check for potential collision of tips against labware to be lifted.""" + # TODO(mm, 2024-01-22): Remove the Left mount 1 and 8 channel special case once we are doing X axis validation + mount = self._pipettes.get_mount(pipette_id) + if mount == MountType.LEFT: + if self._pipettes.get_channels(pipette_id) in [1, 8]: + return True + labware_top_z_when_gripped = gripper_homed_position_z + ( self.get_labware_highest_z(labware_id=labware_id) - self.get_labware_grip_point(