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

docs(api): describe new partial tip pickup restrictions #14311

Merged
merged 5 commits into from
Jan 25, 2024

Conversation

ecormany
Copy link
Contributor

@ecormany ecormany commented Jan 11, 2024

Overview

Updates the docs to be in line with the behavior added in #14230.

Addresses RTC-385.

Test Plan

Need to simulate some protocols that push at the edge of the new restrictions.

Changelog

  • Removed some caveats and warnings
  • Rewrote/refactored intro to Tip Pickup and Conflicts section
  • Fixed a typo in a configure_nozzle_layout() error string

Review requests

I'm having trouble getting simulation or analysis work at all on this branch, so hopefully an engineer can verify that the restrictions are as advertised.

Risk assessment

v low, only docs and strings

Copy link

codecov bot commented Jan 11, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (09420c5) 67.82% compared to head (4a0fa8b) 67.82%.
Report is 32 commits behind head on edge.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             edge   #14311   +/-   ##
=======================================
  Coverage   67.82%   67.82%           
=======================================
  Files        2472     2472           
  Lines       68756    68756           
  Branches     9072     9072           
=======================================
  Hits        46635    46635           
  Misses      20020    20020           
  Partials     2101     2101           
Flag Coverage Δ
g-code-testing 96.48% <ø> (ø)
notify-server 89.13% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
...i/src/opentrons/protocol_api/instrument_context.py 89.18% <ø> (ø)

@ecormany ecormany added docs papi-v2 Python API V2 labels Jan 11, 2024
@@ -127,7 +127,14 @@ This keeps tip tracking consistent across each type of pickup. And it reduces th
Tip Pickup and Conflicts
========================

The horizontally offset position of the 96-channel pipette during partial tip pickup places restrictions on where you can put other tall labware on the deck. The restrictions vary depending on the layout. For column layouts, Opentrons recommends using column 12. Currently, this is the *only* partial nozzle configuration for which the API will automatically detect labware placed in locations that could cause collisions, and raise errors to prevent them.
The horizontally offset position of the 96-channel pipette during partial tip pickup places restrictions on where you can put other tall labware on the deck. The restrictions vary depending on the layout. For column layouts, Opentrons recommends using column 12.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For that first sentence, consider moving "during partial tip pickup" to the beginning.

  • "During partial tip pickup, the horizontally offset position of the 96-channel pipette ..."

Also, try it without "places restrictions on" in favor of just "restricts" (or even "limits").

  • "During partial tip pickup, the horizontally offset position of the 96-channel pipette restricts where you can place other tall labware on the deck."

And, to avoid reusing "restrict," consider a different word in the last sentence:

  • "These constraints vary depending on the layout."
  • "Limitations vary depending on the layout."
  • "These limitations change depending on the layout."

One final thing: In the last sentence, "Opentrons recommends using column 12." It took me a moment to wrap my head around this. My first thought was about a deck slot ("where is deck column 12?"). After a pause, it dawned on me that this refers to the line of pipette nozzles on the instrument, not a deck location. It might help to make it clear that "column 12" refers to the pipette, even if it gives us something awkward like "Opentrons recommends using column 12 of the pipette."

Copy link
Contributor

@jwwojak jwwojak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ecormany Left a few comments for your consideration.

@ecormany ecormany marked this pull request as ready for review January 19, 2024 19:27
@ecormany ecormany requested a review from a team as a code owner January 19, 2024 19:27
@ecormany ecormany requested a review from sanni-t January 19, 2024 19:27
Copy link
Member

@sanni-t sanni-t left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! As always, thanks for staying on top of the changes!

- Plan your deck layout carefully. Make a diagram and visualize everywhere the pipette will travel.
- Simulate your protocol and compare the run preview to your expectations of where the pipette will travel.
- Perform a dry run with only tip racks on the deck. Have the Emergency Stop Pendant handy in case you see an impending crash.

Finally, you can't access the rightmost columns in labware in column 3, since they are beyond the movement limit of the pipette. The exact number of inaccessible columns varies by labware type. Any well that is within 28 mm of the right edge of the slot is inaccessible in a column 12 configuration. Call ``configure_nozzle_layout()`` again to switch to a column 1 layout if you need to pipette in that area.
Copy link
Member

@sanni-t sanni-t Jan 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this isn't a change you've made in this PR but thought I should mention- the precise value of the inaccessible distance is 28.23mm from right edge. I'm fine having a rounded value in the docs as long as it's intentional. I might actually prefer it to be rounded up to 29mm rather than to 28.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

EZ fix, thanks for the attention to detail!

@ecormany ecormany merged commit 0fe785a into edge Jan 25, 2024
23 checks passed
@ecormany ecormany deleted the docs-partial-pickup-movement branch January 25, 2024 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs papi-v2 Python API V2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants