You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(api): Ensure thermocycler dodge waypoints can account for fixtures (#19089)
# Overview
Covers RESC-476
Originally we just hardcoded to Slot 5/C2 when planning waypoints to
dodge the thermocycler. This PR adds in logic to find an appropriate
fixtures and center over its first addressable area instead, which fixes
out issue for magnetic blocks.
Of note, this potentially causes issues if we add new center slot
fixtures that have a bunch of whacky addressable areas that are offset
from the center of the cutout. Think about how the flex stacker's
addressable areas skew way off the deck from their cutout origin, we
could see similar behavior here in the future.
For now I think this is really fine given the reality of what fixtures
we allow there, but I've left a todo explaining the issue and we may
need to address it in the future if we want more foolproof solution.
## Test Plan and Hands on Testing
- [x] Run the following protocol on Flex, ensure we don't raise the
"Addressable area C2 not in deck config" error:
```
def run(protocol_context: ProtocolContext):
trash = protocol_context.load_trash_bin("A3")
thermo = protocol_context.load_module("thermocyclerModuleV2")
mag_block = protocol_context.load_module('magneticBlockV1', location='C2')
tiprack1 = protocol_context.load_labware(load_name="opentrons_flex_96_tiprack_200ul", location="B3", adapter="opentrons_flex_96_tiprack_adapter")
plate = protocol_context.load_labware('nest_96_wellplate_200ul_flat', "C1")
instrument = protocol_context.load_instrument('flex_96channel_1000', mount="right", tip_racks=[tiprack1])
instrument.pick_up_tip()
instrument.aspirate(200, plate.wells_by_name()["A1"])
instrument.dispense(200, plate.wells_by_name()["A1"])
instrument.drop_tip()
```
## Changelog
Modified geometry waypoint planning to dodge thermocycler using dynamic
fixtures.
## Review requests
## Risk assessment
Low/Medium - this fixes the issue, but at what cost?!?!?! Not really any
cost for now, but as mentioned above if we ever introduce a fixture in
the center slot with whacky addressable areas it will mess up the
waypoint planning again.
0 commit comments