-
Notifications
You must be signed in to change notification settings - Fork 121
Expose STARBackend.request_iswap_relative_wrist_orientation()
#667
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose STARBackend.request_iswap_relative_wrist_orientation()
#667
Conversation
|
Here I am proposing the clear distinction between
|
That is not true: the wrist can also be referenced to the "absolute" orientation, i.e. in the current PLR definition that is the orientation in reference to the liquid_handler (used in e.g. I added a couple of examples into the docstring to explain this more: """
Request the relative iSWAP wrist orientation.
This is the orientation of the iSWAP wrist in relation to the iSWAP arm/rotation drive.
e.g.:
1) iSWAP RotationDrive.Front (i.e. pointing to the front of the machine) +
iSWAP RelativeWristOrientation.STRAIGHT (i.e. wrist is also pointing to the front)
2) iSWAP RotationDrive.LEFT (i.e. pointing to the left of the machine) +
iSWAP RelativeWristOrientation.STRAIGHT (i.e. wrist is also pointing to the left)
3) iSWAP RotationDrive.Front (i.e. pointing to the back of the machine) +
iSWAP RelativeWristOrientation.RIGHT (i.e. wrist is pointing to the left !)
The relative wrist orientation is reported as a motor position increment by the STAR
firmware. This value is mapped to a `RelativeWristOrientation` enum member.
Returns:
RelativeWristOrientation: The interpreted wrist orientation
(e.g., RIGHT, STRAIGHT, LEFT, REVERSE).
"""Interestingly, this "absolute" direction is what For automators thinking in terms of wrist orientation relative to the iSWAP arm/rotation drive is very confusing because one constantly has to think about both rotation motors' positions (see docstring example no 3). |
|
Tbh, I am not a huge fan of "relative" in the name because it is just the orientation of the wrist itself, that has nothing to do with the deck. It says wrist drive, meaning that specific component. GripDirection is the type we use for "absolute" (wrt Deck) space I don't think we should be changing the names of unique Hamilton components in the backend. They are not ours to name. Instead we can work with our own abstractions (like GripD.) that have more direct utility |
That is why iswap_rotate uses GripDirection |

No description provided.