Team:Washington-Software/Future

BioBrick-A-Bot Version 2.0 Specifications

Design Philosophy
BioBrick-A-Bot is designed as an easily extensible, plug-and-play system, that is made up of LegoRoboBricks. Each LegoRoboBrick is a self-contained unit that consist of a single NXT brick connected to 1-3 motors. Currently, the ALPHA NXT brick is the Master Brick and the rest of the bricks are Slave brick that are connected to the Master. All Physical Constants are to be externalized and specified in terms of “Lego Units”. The Lego Unit is defined as the distance between 2 Lego Pins. In Version 1.0, we have 2 bricks, ALPHA and PHI that are mounted on a frame BETA. Version 2.0 will add another brick called MU (Movement Utility). MU will be used to automatically move Petri Dishes and 96-Well Plates. We will also allow user-defined LegoRoboBricks in version 2.0. The vision is that more iGEM teams can replicate our prototype and extend the functionallity by building their own user defined LegoRoboBricks.

New Features in 2.0
Below are some of the features that we would include in version 2.0 of BioBrick-A-Bot. We will discuss each feature in detail.
 * Fully automated calibration using color sensors
 * Automatic Interpolation of Physical Location of each well
 * GUI (Graphical User Interface) to generate DNA Assembly Programs
 * Batch Scheduling Option with Timing
 * Additon of a third LegoRoboBrick, called MU (Movement Utility)
 * Single-Master-Multiple-Slaves synchronization
 * Support User Defined LegoRoboBricks
 * Support pipetting between individual tubes and 96-well plates
 * Support pipetting between two 96-well plates
 * Support pipetting of 12 tips simultaneously

Fully automated calibration using color sensors In the current version, the calibration of the ALPHA is semi-automated. During the calibration process, the robot positions the pipette head above 3 well position: A1, H1 and A9. The user then fine-tuned the 3 known positions by adjusting the NXT brick menu. An improvement of this process would be to use color sensor to detect the grid positions of A1, H1 and A9. We could use color dots or color lines to indicate these positions, and during the calibration phase, the pipette head will move until the sensors detect the pre-specified dots or lines.

Automatic Interpolation of Physical Location of each well From the 3 well positions A1, H1 and A9, we will use interpolation to compute the physical location of all the 96 wells. Note that the 96 well plate may not be perfectly horizontal, so the most accurate method would be to interpolate in 3 dimensions. We will need to detect the x, y, and z coordinates of the 3 calibration wells. GUI to generate DNA Assembly Programs (On PC) Version 2.0 will have a menu-driven GUI to generate, for example, the following DNA Assembly Segment. The user will be shown the picture of a 96 well plate, and the use can click on well location and select actions. We will also have actions with higher granularity, for example will be equivalent to the 4 statements above. All the user need to do is to click on icons and select menu options, and the DNA assembly program statements will be generated automatically. Batch Scheduling Option with Timing When we interface BioBrick-A-Bot with a PC, will will be able to do batch scheduling of DNA Assembly Programs. For example, we could do this: New LegoRoboBrick, called MU (Movement Utility) We will introduce another new LegoRoboBrick called MU which stands for Movement Utility. MU will be used to move 96 well plates and Petri Dishes to different pre-specified locations. Single-Master-Multiple-Slave synchronization We will need to extend our Master and Slave Synchronization Model to allow for 2 or 3 Slaves. We can define more messages, and will need to figure out a smart way to allow 2-way messaging between a Master and multiple Slaves Support User Defined LegoRoboBricks Version 2.0 is designed with User Collaboration in mind. With the single-master-multiple-slave synchronization, we will support user defined LegoRoboBricks. Users are encouraged to extend the functionality of their ‘bots’ by creating and sharing new LegoRoboBricks. Support pipetting between individual tubes and 96-well plates It is tedious to pipette restriction enzymes, ligase, DNA, water, and buffer from individual tubes into a 96-well plate, so V2.0 would allow for this possibility by allowing for specific tube holders in the chassis. Support pipetting between two 96-well plates Ideally an experimenter will be able to transfer DNA, etc. between 96-well plates. If Plate A has Restriction Enzyme A, Plate B has Restriction Enzyme B, Plate C has restriction enzyme buffer, Plate D has water, and Plate E has DNA, all five components could be easily transfered to a new plate to perform a high throughput restriction digest. Support pipetting of 12 tips simultaneously Currently there are only 4 pipette tips used in V1.0, so adding more tips to make 12 total would allow for pipetting entire rows between 96-well plates and speed up the entire pipetting process.
 * Move A1, Aspirate
 * Move D9, Dispense, Clean
 * Move B1, Aspirate
 * Move A9, Dispense Clean
 * Transfer A1, D9
 * Transfer B1, A9
 * Wait until 2100
 * Transfer A1, D9
 * Transfer B1, A9