How to pick up a plate and put it back on the same location in Bravo?

Hello everyone! Just wondering if its possible to pick up a plate for example from location 3 and put it back to location 3 using bravo gripper? We tried a series ways and no luck so far (js revise place plate at and ), so any inspiration will be extremely helpful! Thank you so much!!!

Place plate 3 + place plate 3 does not work as you have found out.

Just wondering why you may want to do this. Please could you let us know so that maybe someone has another idea? Thanks!

Hi mauro! Thank you so much for your reply!! We want to verify what we have on location 3 is the correct labware for on deck verification without human intervention. We have 2 possible labware on location 3 and 1 of them can be picked up and the other one cannot be picked up (bravo will error out). So we basically just want to pick it up and put it back and see if bravo will error out. We are open to other possible ways for verification if anyone has any good idea or any way to work that around on bravo! We also looked into the scan position in start up process, but that will make location 3 a stack and we don’t want that. If we can change stack into a different type of labware that will work for us too!

Ah nice, that’s clever, and I imagine you would pair this test with an entry in the error library. you don’t have any other position available, right? Otherwise, you could simply move the plate to another position and back. Even with a stack you would not have access to the stack height so it would be even more difficult.
It is an interesting challenge, but I don’t know how to solve it. When I program protocols for my customers, I typically assume that the users put the right labware in the right positions. Maybe you could add a picture in a form so that your users don’t get confused? Sorry I can’t help :frowning:

No the deck is full sadly. We have GUI setup to remind the operators, and this is just in case if they forget. I can pick up and place at the same location in diagnostic mode but not in actual protocol sadly :frowning:

Actually is it possible to program the movement in lower level using API? Like separate the place plate/reserve location with pick up and place at? I am not that familiar with their API and has no idea how low level it can goes. (There is definitely better solution rather than this but this is just a question out of curiosity)

You can read the API yourself here. Unfortunately, the Bravo API can’t trigger the single elements of a movement, but only run whole protocols as you’d do via VWorks. It is basically running VWorks in the background.

Crazy suggestion: what about placing a tiny camera somewhere and trigger an external program (via “run()”) that can analyze the image and write the result to a file? You could then simply read the result using Open().

ahh i see! we have a camera already so if we decide to go that route we can definitely try that! Thank you!

Hii! We had a solution for this problem. One of the senior automation engineer in our company suggested that we can change(overlay) the teach point in a new separate profile. So we make a copy of the current profile and overwrite the teach point of one plate pad in to the same value as the location we want to pick up and put down and do place plate + place plate and that worked as magic!!

1 Like

So do you mean that you set the teachpoint of - say - loc 8 to be equal to that of loc 5 and when you issue a move from 8 to 5 it goes from 8 to 8? Is this what you did?

And what happens if you simply change this parameter instead of changing the teachpoints?

I would like to try myself… but I don’t have a Bravo in my home office.

I’m just saying…

1 Like

That sounds like a great solution. So do you have two separate protocols now? Do you run them as a runset (can you even run protocols that use different device files in a runset?)?

Thats amazing workaround, I tried to do the same thing a year ago - KX2 robot was putting 384 tipboxes into Bravo but was not accurate enough. I wanted to use gripper to center the box before Tips On, but this idea didnt occur to me.

Yes! We change the values of teach points in the registry file. so in registry location 5 and location 8 will have the same values. I think i tried assigning teach point in the device file directly but its still skipped (but i might be wrong…memory starts to fade).

we have a new device file and a new profile with the modified teach points, and the new device file will only be used to this specific application. so we need to maintain 2 profiles when we do the teaching (we used a powershell script to overwrite)

and yes 2 separate protocols! we use runset to run then sequentially and it works! it just need to reinit bravo after you change your device file

i am also very shocked when i heard this idea lolllll! we also tried adding a plate pad in device file to see if we can access that plate pad by bravo but sadly its only accessible to benchbot :frowning: