Fluidics Visualization Tool
GitHub
When I was a systems engineer in my last job, one of my responsibilities was validating the fluidic system of a medical device. Specifically, this entailed running instrument protocols and checking if the expected (commanded) state of the fluidic system matched actual one.
Due to the complexity of the fluidic system, figuring out the expected state for a given command was a non-trivial task. At any given time during normal operations, there could be five to ten reagents flowing through thirty different fluidic lines.
Instead of manually calculating the expected state using a spreadsheet, I developed a program that parsed the machine protocols and generated a plot (see Figure 1) of the expected state for each machine command.
Figure 1. Visualization of a fluidic system running a protocol. Move the slider to progress along the protocol. Lines on the plot depict the fluidic tubing of the system. Each line is populated by colored segments with each color representing a specific reagent. At the midpoint of each colored segment, the corresponding volume in microliters is displayed.
Having determined the expected behavior of the fluidic system with the visualization tool, the remaining work of capturing the actual behavior was done on a test bench outfitted with multiple cameras (see Figure 2).
Figure 2. Fluidics system test bench. The colored arrows mark the orientation of each of the three cameras. Dotted areas mark the region of interest captured by the cameras.
To compare the visualization with the test bench results, the experiment was played back in the dashboard interface shown in Figure 3.
Figure 3. Test bench dashboard for experiment playback. In addition to the 3 videos and visualization, the pressure sensor data collected near the syringe pump is included for reference.
A key feature of the dashboard was the synced playback of the visualization with the experiment videos. At each timestamp where a command had been sent, the dashboard updated the visualization to the command's associated plot.
The dashboard proved to be instrumental in verifying system behavior and capturing performance metrics such as system response times. In Figure 4, four notable cases of command vs response (actual) fluid states are highlighted.
Figure 4. Screen capture (sped up by 3X) of experiment playback. The red ellipse "command-response" pairs (there are 4 total) mark expected occurences (command) in the visualization and manifestation of this expected occureance (response) in the actual experiment. Other than case three, which has other extenuating circumstances, there is always a time delay between the command and response states.
In addition to its primary function as a verification and troubleshooting tool, the insights provided by visualization tool and dashboard enabled optimizations such as reduced reagent consumption and shortened runtimes.