The AI Bio-Sampling Robot will make use of both hardware and software to separate two layers of liquids
Hardware
Ender 5 pro 3D printer: This will be the main structure of the device and it holds the four necessary stepper motors needed for our project.
Pipette: Scientific instrument to suck up liquid
Logitech C930 webcamera: Will be used for colour detection of the bio-samples
Software
Pronterface: An application that relays G-code to the 3D printer
Custom-Made functions:
- Coords(): Automates the sending of G-code to the 3d printer
- SampleDetector(): Detects presence of Bio-samples(eppendorf or test tube) in the holder using computer vision
- PixelCount(): Measures the height of the bottom layer using by counting pixels vertically and checks whether pixel above is within HSV colour range(same colour). Then returns height based on distance to camera
- PlasmaCount(): Measures height of plasma (top layer) – similar concept to PixelCount() but sets the HSV value to within the plasma colour range
- ColourTag(): The eppendorf and test tube holders have different height so there is a need to identify which holder is being used. We came up with colour tags that would be attached to the side of the holder. For test test tube holder it is yellow while for eppendorf rack it is violet. The camera detects the colour at certain coordinates of the image and returns the type of holder it is going to pipette.
- TipDetection(): Sends the pipette back to the pipette tip rack to pick a new pipette tip if the tip falls off during travel. (Error detection mechanism)
Entire source code can be found on my Github(will update soon): https://github.com/ShariffKenzo
How to use the device
The AI Bio-sampling robot is fully autonomous and does not require any buttons or input from the user
- Turn on the machine
- Place either eppendorf or test tube rack loaded with bio-samples.
- The camera detects the number of bio-samples on the test-tube rack and starts pipetting
- Change the rack for the device to start pipetting a new batch of bio-samples.