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

Core96Head on STAR Failing During Setup #323

Open
mackenziekormann opened this issue Dec 4, 2024 · 11 comments
Open

Core96Head on STAR Failing During Setup #323

mackenziekormann opened this issue Dec 4, 2024 · 11 comments

Comments

@mackenziekormann
Copy link

When attempting
await lh.setup()
using the Hamilton STAR, setup fails with the error
STARFirmwareError: {'CoRe 96 Head': HardwareError('Y drive position outside of permitted area')}, C0EIid0008er99/00 H002/58

Below is the full code used before setup.

%load_ext autoreload
%autoreload 2

from pylabrobot.liquid_handling import LiquidHandler
from pylabrobot.liquid_handling.backends import STAR
import time

from pylabrobot.resources import (
    TIP_CAR_480_A00,
    PLT_CAR_L5AC_A00,
    PLT_CAR_L5PCR,
    nest_1_troughplate_195000uL_Vb,
    STF,
    nest_12_troughplate_15000uL_Vb,
    Eppendorf_96_wellplate_250ul_Vb_semiskirted,
    Hamilton_96_adapter_188182,
    Coordinate
)
import opentrons_shared_data

from pylabrobot.resources.hamilton import STARDeck

backend = STAR()
lh = LiquidHandler(backend=backend, deck=STARDeck())

wait lh.setup()

So far, I've tried replacing the y-values in the line location=Coordinate(x=-232.1, y=110.3, z=189.0) in pylabrobot/pylabrobot/resources/Hamilton/hamilton_decks.py, shown below with 200, -200, and 1000, all yielding the same error.

      # got this location from a .lay file, but will probably need to be adjusted by the user.
      self._trash96 = Trash("trash_core96", size_x=82.6, size_y=122.4, size_z=0)  # size of tiprack
      self.assign_child_resource(
        resource=self._trash96,
        location=Coordinate(x=-232.1, y=110.3, z=189.0),
      )  # 165.0 -> 189.0
@rickwierenga
Copy link
Member

dumb q: when you change the values, do you actually re-initialize the deck? the location is only set at initialization, so autoload doesn't affect it.

you can alternatively change the location using deck._trash96 = something. There should be some location that works, which you can use to narrow it down to the trash chute you see on the front left of the robot.

@mackenziekormann
Copy link
Author

I re-initialize the deck every time. Current workflow is change values in PLR/PLR/resources/Hamilton/hamilton_decks.py, restart jupyter notebook kernel, run lh.setup() and that's where the error is, so there's no deck set for me to change the location using deck._trash96

@mackenziekormann
Copy link
Author

To add on, I printed lh.deck._trash96.location before running setup to confirm that my changes to the file are actually there and they are.

@rickwierenga
Copy link
Member

is it possible the x or z location needs changing? i have seen examples where the star errors aren't entirely accurate

i used the 96 head recently on a starlet and it worked fine. not sure if we have stars with the 96 head tho, but can check

@mackenziekormann
Copy link
Author

mackenziekormann commented Dec 4, 2024

It seems to be loading the x location just fine, moving the head to be in line with the trash area before attempting to move to the y location and failing. I can try playing with the z location to see if that fixes anything, but by appearance in setup it seems to sequentially check x, then y, then z

@rickwierenga
Copy link
Member

just in the odd case that the bounding box isn't rectangular (meaning y may be dependent on x). just guessing here

does the 96 head home correctly?

@mackenziekormann
Copy link
Author

I know Adit already tried changing x values to 0 and 1000 to no avail. I tried -500 and also didn't work. if you have other recommended values I'll give them a shot

@rickwierenga
Copy link
Member

did you manage to install venus? i'd be curious to see where their firmware command differs from the one we generate. i'm at a loss if changing the location of the trash doesn't work.

@mackenziekormann
Copy link
Author

I haven't tried venus yet, but maybe could get a location from it for trash location to try (?). i haven't worked with venus at all, so may take a bit to get up and running

@rickwierenga
Copy link
Member

i would try running initialization there and seeing how the firmware command differs. i find that easier than using their deck layout editor

@cwehrhan
Copy link

@mackenziekormann can you verify the actual firmware command being sent, not the response from the instrument?

It should be in the format below, that way you can tell if those parameters are actually being sent correctly:

insturment

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

No branches or pull requests

3 participants