Gripper Module
During liquid handling workflows, the need often arises to reposition labware across the deck. Whether you want to cover microplates or transport them to and from positions on the deck, e.g. into a reader, an efficient method to achieve this is through the integrated CO-RE gripper. Comprising two paddles, which are picked up by two pipetting channels during operation, this gripper streamlines the task. For more complex scenarios, such as labware rotation or transferring into stacked plate hotels, exploring the capabilities of the iSWAP gripper module is recommended.
This guide serves as a comprehensive walkthrough for utilizing the integrated CO-RE gripper on the Hamilton Microlab STAR. By adhering to these instructions, users can effortlessly and precisely maneuver labware around the deck with assurance.
Prerequisites
- A switched on Microlab STAR device
- A plate carrier and a plate
- A running Microlab STAR connector
- Basic understanding of the liquid handler class (See the liquid handler tutorial)
- Basic understanding of how labware is used (See the using standard labware tutorial)
Connect and Initialize
Ensure that the Microlab STAR is powered on and ready for operation. Verify that the connector is running and connected to the UniteLabs platform.
from unitelabs.liquid_handling.hamilton import MicrolabSTAR
# Initialize the Hamilton Microlab STAR
hamilton = MicrolabSTAR(name="Microlab STAR")
await hamilton.initialize()
Arrange the Deck
Arrange the deck layout using the components from the labware library. This guide uses a plate carrier with one standard 96 well microtiter plate that we move from one carrier site to another.
from unitelabs.labware import Standard96Plate, Vector
from unitelabs.labware.hamilton import PLT_CAR_L5MD_A00
plate_carrier = PLT_CAR_L5MD_A00()
plate = Standard96Plate()
plate_carrier[0] = plate
hamilton.deck.add(plate_carrier, track=1)
Configure the Gripper
The storage location of the CO-RE gripper may vary in different environments. Therefore, configure the gripper module first by providing the locations for your setup. Learn how to teach the gripper paddle positions in the Teaching Gripper Paddle Positions guide.
from unitelabs.labware import Vector
core_gripper_locations = (
Vector(x=796, y=105, z=225),
Vector(x=796, y=79, z=225),
)
await hamilton.core_gripper.configure(
park_location=core_gripper_locations,
channels=(6, 7),
)
Pick up the Gripper
Pick up the gripper from its configured location.
await hamilton.core_gripper.pick_up_gripper()
Pick up the Labware
Labware can be picked up from carrier sites. Make sure that the plate is placed on the site and pass it to the gripper's pick_up method. The gripper moves on a safe traverse height to the site and picks up the plate. Grip strength, move speed, and close speed are set to defaults in this example and can be left out.
await hamilton.core_gripper.pick_up_from(
plate_carrier[0],
# The pressure to apply on the plate ranging from 0 (low) to 99 (high).
strength=30,
# The speed in mm/s when moving along the z-axis.
move_speed=128.7,
# The speed in mm/s along the y-axis when closing the gripper.
close_speed=277.8,
)
The parameters such as grip width and grip height are determined based on the definition of the labware that is being picked up while others have default values. All parameters can be specified explicitly if desired:
strength: Grip pressure ranging from 0 (low) to 99 (high). Default:60.move_speed: Speed in mm/s when moving along the z-axis. Default:128.7.close_speed: Speed in mm/s along the y-axis when closing the gripper. Default:277.8.pick_up_offset: AVector(dx, dy)offset in mm to adjust the pick up location. Default:None.width_offset: Offset in mm to adjust the labware size for grip width calculation. Default:0.grip_gap: Initial gap in mm between the gripper and the labware, i.e. how wide the gripper opens before reaching for the labware. Default:6.min_traverse_height: Minimum traverse height in mm. Default:None(uses global setting).
grab_height is read from the labware definition and is not exposed as a pick-up parameter. To adjust the grip height, either edit the grab_height field on your labware definition or use pick_up_offset for fine-tuning.The plate is now accessible on the gripper and the carrier site should be empty.
assert plate_carrier[0].get() == None
assert hamilton.core_gripper.get() == plate
Move to Position
Now that the plate is picked up, it can be moved to another position. The plate's center will be placed at the provided location.
# Location 20 mm above the 5th carrier site's center
target_location = plate_carrier[4].absolute_location \
+ plate_carrier[4].center.update(z=20)
await hamilton.core_gripper.move_to(location=target_location)
Release the Labware
Labware can only be placed on carrier sites. Make sure that the site is empty and pass it to the gripper's put_down method. The method automatically transfers the plate from the gripper module to the site. Gripper pressure and move speed are set to defaults in this example and can be left out.
await hamilton.core_gripper.put_down(
# The carrier's 5th site
carrier_site=plate_carrier[4],
# The pressure in mm to apply on the bottom.
pressure=0,
# The speed in mm/s when moving along the z-axis.
move_speed=128.7,
)
The plate is now accessible on the carrier site and the gripper should be empty again.
assert hamilton.core_gripper.get() == None
assert plate_carrier[4].get() == plate
Put Down the Gripper
Repeat the above steps as necessary to manipulate additional labware. To return the CO-RE gripper to its storing location,
await hamilton.core_gripper.put_down_gripper()
Troubleshooting
Conclusion
You should now be able to utilize the integrated CO-RE gripper as an efficient solution for transporting labware during liquid handling workflows.