recently I simulate STAR in our tool, and also I simulate the arm and channel. I worked on Hamilton’s STAR for many years, and I am very curious with the controlling way of multiple channels, so I tried to simulate movement of multiple channels like real run of STAR. And finnaly I simulated the run in 3D as following movie, which is really interesting.
This is amazing! Can you explain how we can do this?
Current it can not be used to smulate run of method，for Venus software has no interface for running detail, so I can not let you to do it. It was developed for 3D simulation or digital twin of laboratory automation, it can help user to understand system of lab automation virtually before they get the hardware
A few years ago I wrote a library that would parse through the Com Trace file at run time and interpret the firmware being run. These firmware commands would then be animated in parallel on the deck layout with floating labware that was dynamically added to represent the various parts of the arm and channels. The end result allowed the user to animate their assays prior to running on the system. See below for an example:
It isn’t a perfect solution as animations run at realistic timing and simulations are faster. Not all tools have been added, but if there is something that isn’t available it will skip over the call. This also only works for the STAR line instruments.
But this can be used to get timing information or to visualize how a step would look like prior to implementation.
That looks amazing
Holy moly, that’s so cool.
Are you willing to share this library?
Brandon made a new post under the VENUS category with a link to the example method that contains the library.
great work! I do not have newer Venus, I can not run and see it. But this is really a great work and quite complex work, especially all these codes were written in method and hsl.
Update of simulating Hamilton STAR. This is only a test to know what to do on the instrument simulation.
- configuration of hardware
- all moving part can be moved by mouse
- simulate loading and pipetting
- simulate of transporting
Fantastic. I am very interested in the workflow used to create this. Specifically how other systems/devices might be added to this.
to create a instrument like STAR, all parts has to be defined with model, and then assemble the parts into instrument. If the instrument is only a model, then just drag the model file to software. If the device has some actions like tray/drawer, we will write code for it to control the transform of the model. Also we can define more complex actions like pipetting or other workflow. Benefit from the feature of modern programming language, code can be simple and powerful like below.
await arm.PickupTips<T>(position, type); await arm.Pipette<T>(asp, 5); await arm.Pipette<T>(disp, -5); await arm.EjectTips<T>();
In the tool, if you want to add another device to system, just drag a device from list or model file in file system, move its position, perform its action like open/close its tray, or control robot to move plate on it. All these actions can be recorded, which can be replayed as the shared video.
The Simulation can load .lay file, and construct the deck layout including all the carriers and comsubles. Add 3D model to tip and tip racks. After picking up the tip, tips can be hiden. Plate will be moved when transporting by gripper or iSWAP.
Add 3D simulation to SharpHamilton. With only one line of code, 3D simulation run can be enabled to existing script. During run of script, all operation can be displayed in 3D environment as real. The system configuration will be loaded from layout file and setting, and we can set it by code to use complex hardware.
Update for channel 5ml, iSWAP plate handler and MPH 96
Update for MPH 384