fix(hardware): minimum movement displacement of 0.05mm #13052
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Protocols kept failing with collision errors on release 0.13.0, and logs would show a noticeable drift in the encoder position over time. Release 0.9.0 seemed completely fine with the same exact protocols.
One difference between those releases has been changing the units for acceleration to use µm instead of mm. When we move the pipette down to aspirate/dispense/pick up a tip/etc, there are usually small displacements in the X and Y axes that are due to precision loss on the stepper motor accumulator. With the new, more precise acceleration, we seem to actually commanding some gantry movements that are affecting the error buildup over time.
By clamping the minimum displacement to 0.05mm, this error seems gone. A protocol that transfers liquid from a reservoir into an entire 96-well plate used to fail after the first column, and can now finish successfully.
Test Plan
Ran a failing protocol and now it works. There used to be noticeable encoder drift if you disabled stall detection, now the pipettes look fine.
Changelog
Review requests
Any reason to make the minimum displacement smaller? Do we ever actually need to move 0.05mm?
Risk assessment