Hamilton STAR: Hardcoded "trash_core96" in PLR?

Hi everyone,

How does PLR currently handle the fact that Hamilton STAR machines can have multiple locations for the location of its 96-MPH (multi-probe head) trash based on the specific machine configuration?

Option 1: STAR with a “waste shute”

→ this means the “trash_core96” should be inside the STAR (see purple arrow)!

Option 2: STAR without a “waste shute”

→ simply moves the entire 96mph to the left, outside of the STAR chassis/frame and ejects the tips straight down.

→ this means the “trash_core96” should be outside the STAR (see cyan arrow)!


But at the moment, it seems like “trash_core96” is directly assigned to be outside of the STAR chassis, see:


Can someone please confirm that currently PLR hardcodes the “trash_core96” location or correct me if I have misunderstood?

I believe we should enable “trash_core96” origin modification during STARDeck()
/ STARletDeck() instantiation.

1 Like

yes it is hardcoded, to the location that matches whatever venus would generate in the esvelt lab

i think the location as -58.2 is correct, since the origin is not exactly at the LFB of the STAR i think. so it is still roughly inside the star

see also this related thread Discard tip issues on STARlet and the linked thread on labautomation.io Having to teach waste on new chassis STARS (STAR23) - Hamilton (Venus) - Lab Automation Forums

yes ideally we have a flag for this

Thank you @rickwierenga!

In the labautomationforum post you shared a Hamilton employee has actually shared what I am describing here as option 2: STAR without a waste shute (inside the main STAR chassis):

→ apparently this outside `trash_core96" should be at…

VS the inside position is - according to PLR - at:

x=-58.2
y=106.0
z=229.0)
1 Like

Thanks for bringing this up! I think this is the same problem I am seeing from Discard tip issues on STARlet as Rick said. Does this mean there needs to be a way to specify if you have the inside vs outside trash_core96?

2 Likes

…though it seems in this particular instance VENUS defines the trash not as usual with front-left-bottom, but with the position of the center-center-cavity_bottom of the “A1” tip position ??? :face_with_peeking_eye:

1 Like

have we established if there are actually 2 different locations?

yes it does!

Yes :slight_smile:

1 Like

that’s no way to talk about Erlich Hamilton!

1 Like

why don’t we just go with the shute location that erlich posted above? (obv not location in the sense of coordinates, but the plr-corrected lfb location)

i think that is more general than the shute that slides from your option 1 picture

@harley what are you currently using?

Never met him :man_shrugging:

only been admiring his customer suppport on the forum from a distance

1 Like

I don’t think that would be correct:

There are 2 issues I believe:

  1. There are multiple possible locations for the “trash_core96”
  2. The location of the “origin” of “trash_core96” is inconsistent with the PLR geometric definition scheme.

Let’s leave issue 2 on the side for now → can easily be fixed based on the knowledge that all tips are arranged in a 9x9 mm**2 grid :slight_smile:

Focusing on issue 1:

I was incorrect about 2 things:

  1. there can be a waste shute when discard is outside of the main chassis, just a straight one, while there has to be a waste shute (with a slide) when discard is inside the chassis/frame of the main STAR unit.
  2. the waste shute at x=-58.2mm is indeed inside the main chassis as you mentioned @rickwierenga because the deck origin is at x=100, i.e. there is plenty of space to the left of the deck origin (including x=-58.2mm) which is still inside the main chassis
1 Like

the location is sent to the star using a firmware command

you can change it by setting deck.get_trash_area96().location

eg I like to use

deck.get_trash_area96().location = Coordinate(x=-280, y=106.0, z=229.0)

to discard the tips into a trash can to the side of the robot (96 head moves outside). this is only possible when the left side panel is removed

No time like 1 year later to answer this but I’ve ended up hardcoding an updated trash location. For our STARlet, I am using

lh.deck.get_trash_area96().location = Coordinate(x=-245, y=108, z=210)

I tested it with some tips and seems to be working well. I just have this redefinition as part of an initialization method so it just overwrite the STARlet deck first thing.

2 Likes

Hi @harley,

Yes, we are doing the exact same. You can actually define your trash96 location to be anywhere you want. Which is what makes it so powerful.

E.g.: In our case, I built a new waste shute that is magnetically attached so that, if for any reason, the head96 or tips were to laterally crash into it, the waste shute simply gets pushed out of the way rather than cause a crash.

But since everyone’s trash96 might be different your solution is the right way, in my opinion.

1 Like

Very nice! Is it a 3D printed part with magnets? I’ve been pushing off a half-day project of modeling + printing our own chute