Liquid Handling

Moving Labware

Moving labware with the integrated CO-RE gripper.

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

Power On the System

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.sdk import Client
from unitelabs.liquid_handling.hamilton import MicrolabSTAR
from unitelabs.inout import create_remote_connection

client = Client()

# Initialize the Hamilton Microlab STAR
hamilton = MicrolabSTAR(
    transport_factory=create_remote_connection,
    client=client,
    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)
Safety tip: For testing purposes, the actual deck can be left empty. Only the CO-RE gripper is required to run this guide without hardware errors.

Initialize 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. By activating the gripper, the pipetting arm moves the channels to the locations to pick up the paddles.

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),
)
await hamilton.core_gripper.activate()

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. The method automatically transfers the plate from the carrier site to the gripper module. Gripper 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 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 the Labware

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)
Note: The gripper can be moved to any location even without carrying labware.

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

Deactivate the Gripper

Repeat the above steps as necessary to manipulate additional labware. When you are done, active another tool (e.g. the standard pipetting arm) to return the CO-RE gripper back to its storing location.

await hamilton.pipettes.deactivate()

Troubleshooting

  1. There are different sizes of CO-RE grippers. One for the 1000μl pipetting channels and one the 5ml pipetting channels. Make sure to use the appropriate CO-RE gripper for your pipetting channel size.
  2. The locations of the CO-RE grippers may differ on your setup. Use a teaching needle to find the correct pick up location for the configuration step.

Some labware might have slightly different dimensions as expected. You can provide an offset vector to almost every method to adjust the used locations.

Either the CO-RE gripper should grab the plate on another position or you could increase the strength applied to holding the plate in the pick_up method.

Conclusion

You should now be able to utilze the integrated CO-RE gripper as an efficient solution for transporting labware during liquid handling workflows.


Copyright © 2024