Is there a good way to estimate the runtime of a (flexible) method in VENUS? E.g. I programmed a DNA extraction method that can process 1-4 plates in one run. In an ideal world I’d like to maximize the time the robot is actually doing stuff and not waiting to be reloaded etc.
Our old Beckman FxP gave us an estimated runtime, I’m looking to a similar feature in VENUS or sth comparable. Ideas so far:
Measuring the runtime of each possible number of plates → Not ideal
Integrating a webcam into the robot and streaming the output to a server so I can check the robot from the office → good to know when I have to do sth, bad for planing
Writing a mail from VENUS when the method is finished → same problem as above
Ideally, I’d have to have e.g. a google calendar where I can fill in all future runs that are planned for a week so that we can estimate what can and cannot be accomplished.
I know there is sth. like a scheduler and I think this runtime problem was fixed in VENUS 6 but my sales rep hasn’t answered yet.
Any advice here would be really appreciated.
I have also been thinking about such a feature for a while (but have not implemented it yet)
The effort for the implementation should depend on how good the time estimation should be.
What should be relatively easy to implement would be to save the actual run time for each run and display the average value of the last x runs when starting the next runs.
The whole thing could be refined by adding further parameters to the calculation, e.g. the number of plates.
Up to an AI module, so that - as soon as there are many influencing variables - the algorithm for the calculation does not have to be considered any more.
Please keep me on track about your solution!
Did not consider tracking the runtimes for each run as it goes and estimating the runtimes from that, but that might actually be a perfect solution that improves over times Still looking for more ideas on that topic.
retroactively, log files can be used to get start and finish times.
I would use the idea of a scheduler to estimate runtime. Typically a scheduler needs to know Min / Max time to complete a task. Thus you can break down each task into an associated time. Create a library with these calculations then bobs your uncle.
Example (times are made up):
- 30 seconds to pick up 8 tips with 8 1mL channels
- 10 seconds to pick up 8 tips with a 96 head
- 20 seconds per channel aspirate from a single sequence container (centrifuge tube, conical tube) (1mL channels only)
- 10 seconds to aspirate up to 8 channels in a single container (200mL storage trough, 60mL RR)
- 20 seconds to dispense in a plate column wise without mixing.
Basically you can define the time building blocks ahead of time based on physical measurements. Then estimate a minimum time to complete.