Skip to content

fix(api): Fix gripper move point calculation for modules #18691

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

Merged
merged 2 commits into from
Jun 20, 2025

Conversation

mjhuff
Copy link
Contributor

@mjhuff mjhuff commented Jun 20, 2025

Closes RQA-4295

Overview

When we get_labware_origin_position, we start by retrieving the deck coordinates for the underlying addressable area, so for example, if the addressable area is heaterShakerV1D1, we get the coordinates for D1. Much later down stream, if there is a module involved in a stackup, we offset D1 by the heaterShakerV1D1 's offsetFromCutoutFixture.

In #18564, we refactored get_labware_grip_point to utilize more of the get_labware_origin_position logic (see that PR for more details), however, the grip point does exactly one thing different: we utilize the deck position for the actual addressable area we care about, ex, heaterShakerV1D1. This means that an extra offsetFromCutoutFixture is applied for grip moves.

To fix, we should refactor get_labware_origin_position to get the deck coordinates for the addressable area we actually care about and not do the offsetFromCutoutFixture adjustment much later down stream. Doing so unifies the gripper point and labware point calculation behavior almost entirely.

a89db22 fixes the second half of the issue, which is we weren't correctly applying all stacking offsets in a stackup to the gripper moves. Now we are.

Test Plan and Hands on Testing

Changelog

  • Fixed the gripper moving to incorrect positions when interacting with labware on top of a module.

Risk assessment

lowish - the risk only comes from the get_grip_point changes, since we have regression testing for the labware origin changes.

@mjhuff mjhuff requested review from sfoster1, SyntaxColoring, vegano1 and a team June 20, 2025 13:36
@mjhuff mjhuff requested a review from a team as a code owner June 20, 2025 13:36
@mjhuff mjhuff force-pushed the api_fix-grip-point_position branch 2 times, most recently from 74b836c to a89db22 Compare June 20, 2025 13:40
Copy link
Member

@sfoster1 sfoster1 left a comment

Choose a reason for hiding this comment

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

Excellent, makes the entire process way less complicated

Copy link
Contributor

@vegano1 vegano1 left a comment

Choose a reason for hiding this comment

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

Makes sense
I tested on a Flex by moving the labware dispensed by the stacker to another location. It's working as expected.
Thanks for fixing!

Copy link
Contributor

@SyntaxColoring SyntaxColoring left a comment

Choose a reason for hiding this comment

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

Test plan looks great, thanks!

Copy link
Contributor

@CaseyBatten CaseyBatten left a comment

Choose a reason for hiding this comment

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

Very nice, way easier to trace now.

@mjhuff mjhuff merged commit 1851358 into edge Jun 20, 2025
24 checks passed
@mjhuff mjhuff deleted the api_fix-grip-point_position branch June 20, 2025 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants