Hamilton Prep Backend

PR for the Prep backend refactor is up!

I’ve refactored the core tcp_backend (with minor tweaks to nimbus_backend) to make it compatible with the Prep. I hope the bundling is alright—the improved interface makes a big difference. Both backends’ demo notebooks are tested on my hardware to make sure nothing broke.

A few points for your feedback:

  • API Design: The Prep uses four separate commands for aspirate/dispense. To keep things platform-agnostic, I aligned the signature with the STAR API (one command+args) and handled the logic/appropriate command dispatch in the backend. Does this approach seem reasonable?

  • Current Status: Basic behaviors are fully functional. LLD, well geometries, and TADM aren’t fully tested yet and could use some help getting fleshed out.

  • Liquid Classes: I’m currently using STAR defaults. They are much closer to Prep’s “ground truth” than being uncalibrated, though we should eventually pull Prep-specific data if one of us has a chance to sit down and pull the defaults.

  • Demo notebook(s): Moved to docs/user_guide to get rid of the nimbus-dev dir. Prep demo notebook is here.

@rickwierenga and @CamilloMoschner. Give it a spin if you have a chance, would love to hear how this runs for you guys. Super fun hardware!

3 Likes

Updated the prep backend to the new v1b1 api. Some cleaning to do but functional for individual channels, mph8, and CORE grippers.

Added a pre-positioning step for tip pickups to ensure that the channels stay at traverse (or user defined height) on approach above the tip spot before going down. This should make it more consistent with STAR and nimbus behavior too.

If anyone is interested in testing this early version. I’ve linked it here. As always, feedback is always welcome!

4 Likes