Enable STAR 96head partial tiprack pickup/drop + Fix requirement for A1 to have a tip #777
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Hi everyone,
The Problems
PLR on a STAR currently ALWAYS requires tiprack position A1 to have a tip (so it can retrieve that tip's information to calculate the correct z-coordinate for pickup)
We can only pick up full tipracks with the 96head, i.e. picking up partial tipracks (e.g. only the last 6 columns) is currently not possible with PLR.
PR Content
Instead of retrieving tip information from the tiprack based on hardcoded position "A1", PLR is already performing a check that there are tips in the tiprack and stores the tip instance handles in a list. I replaced the hardcoded "A1" dependency with the first element of the tip instance handle list.
The STAR uses the x_center-y_center position of its 96head "A1" probe (the part that houses the metal bearing, and picks up a tip) and is sent to any alignment_tipspot - so far this tipspot has been hardcoded to "A1" of the tiprack it picks up from.
Here I am introducing the new
STAR. pick_up_tips96()attributealignment_tipspot: str = "A1".It's default is set to
"A1", ensuring no change in existing behaviour and keeping the expected default behaviour (i.e. "full tiprack pickup").Setting it to a different
Wellidentifier, e.g. "C3", would move the 96head to align its probe_A1 wit tipspot_C3, leading to a partial tiprack pickup.TODOs
Well`identifiers! -> as a result the 96head can only offset to the right and to the bottom relative to the tiprack itself.i.e. offsetting to the top or left is currently not possible! (I am working on a separate solution to this and have left an Easter egg in the docstring to it, but it is a self-contained PR and needs a lot more testing)
alignment_tipspot != "A1".