Skip to content
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

feat(api): allow some way of force ejecting tip even if the robot doesn't think it's attached #6243

Open
theosanderson opened this issue Jul 30, 2020 · 5 comments
Labels
bug robot-svcs Falls under the purview of the Robot Services squad (formerly CPX, Core Platform Experience).

Comments

@theosanderson
Copy link
Contributor

Overview

Trying to run a protocol when a tip is already on a pipette (e.g. due to an abandoned previous protocol) leads to bad times, with collisions etc. Unfortunately one can't just add pipette.drop_tip to the top of a protocol because the drop_tip command asserts that the instrument has picked up a tip.

I've spent a while looking at hacking this and it's not very straightforward.

@theosanderson theosanderson added the feature-request A request for a new feature or a change that isn't a bug. May require further triage or scoping. label Jul 30, 2020
@mcous mcous added the robot-svcs Falls under the purview of the Robot Services squad (formerly CPX, Core Platform Experience). label Jan 26, 2021
@MarcelRobitaille
Copy link

I've also tried to hack into thinking there was a tip attached so I could then call drop_tip. Why is this error even a thing? What does it hurt to eject without a tip attached?

@mcous mcous added bug and removed feature-request A request for a new feature or a change that isn't a bug. May require further triage or scoping. labels Feb 18, 2021
@mcous
Copy link
Contributor

mcous commented Feb 18, 2021

Hello again @MarcelRobitaille! Fancy meeting you here.

This is pretty frustrating behavior. I think it's a symptom of tip tracking state living just a little bit lower in the stack than it probably should. The behavior comes from a place of the hardware controller needing to take tip length into account to understand how to move a given pipette. That fact snowballed into "the hardware controller keeps track of tip state" and then, without considering the larger implications, "the hardware controller should check if a tip is attached before trying to drop it".

This is a really good ticket to factor into some foundational protocol behavior work that is happening right now. In the meantime, though, I think we should see if we can remove that check in the hardware controller in a safe manner.

There really doesn't appear to be a good workaround for this; even if you go through private APIs it's messy (and brittle) enough for it to be a pretty bad idea

@mattwelch
Copy link

Thinking is that fixing #5248 will make this moot in practice, though a fundamental fix would still be nice.

@MarcelRobitaille
Copy link

@mattwelch why does that make it moot?

@mcous
Copy link
Contributor

mcous commented Apr 24, 2021

@MarcelRobitaille sorry, this looks like a potential typo or miscommunication. Feel free to disregard; unentangling the tip drop procedure from tip attached state is still on our radar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug robot-svcs Falls under the purview of the Robot Services squad (formerly CPX, Core Platform Experience).
Projects
None yet
Development

No branches or pull requests

4 participants