Volume tracking does not permit serial dispense

I noticed I get this error when aspirating 150ul, then dispensing 75ul twice in a row with the same pipette:

await lh.pick_up_tips(tips_0[0:2])
await lh.aspirate(reag_plt[0:2], [150]*2)
await lh.dispense(sample_plt[0:2], [75]*2)
await lh.dispense(sample_plt[0:2], [75]*2)

TooLittleLiquidError: Container has too little liquid: 75uL > 0uL

However, aspirating 150ul then dispensing 150ul will work fine.

@rickwierenga do you know what’s going on here? I believe the volume tracker is used to monitor the volume of liquid within a pipette tip, but I can’t figure out exactly what we need to change to make sure the logic works properly on serial dispense.

2 Likes

That was a bug. Fixed with fix vt remove_liquid · PyLabRobot/pylabrobot@e0c735a · GitHub. Thanks for reporting!

4 Likes

Love that it’s faster for me to report a bug than to fix myself! Great work