Team:Alberta/Project/Automation
From 2009.igem.org
Line 33: | Line 33: | ||
<font size="2"> | <font size="2"> | ||
- | + | ||
- | <img src="https://static.igem.org/mediawiki/2009/6/6d/UofA09_diyAuto_Photo1.png"> | + | <img style="padding:20px;" src="https://static.igem.org/mediawiki/2009/6/6d/UofA09_diyAuto_Photo1.png" align = "right" width="67%"> |
- | + | ||
<p> | <p> | ||
- | One of the main themes of this project, as well as iGEM in general, is the simplification of both | + | One of the main themes of this project, as well as iGEM in general, is that the simplification of both parts and processes provided by the synthetic biology movement are capable of bringing fairly advanced biological techniques 'to the masses'. |
</p> | </p> | ||
<p> | <p> | ||
- | + | With one of the DNA assembly techniques that have been developed during the course of the project, the goal was to speed up and simplify a very time consuming process. The hope was that it would be simple enough to be used by high school students. Better yet, a trained monkey. Even better still, a simple inexpensive robotic device, thereby leaving the both the original lab technician, the high school student, and the trained monkey more time for beer, which leads to the situation where a lab technician, high school student and monkey all walk into the bar (cliche, I know). | |
+ | </p> | ||
</font></div> | </font></div> | ||
Line 72: | Line 73: | ||
<p> | <p> | ||
- | + | Since the DNA assembly method consists mainly of a few repeated and simple actions, interspersed with relatively long idle periods, it seemed like a good candidate for a little bit of automation. This little automaton is built entirely out of a popular plastic construction set, using the only the standard pieces and hardware. The firmware has been somewhat customised, however. | |
- | + | ||
- | + | ||
</p> | </p> | ||
Line 81: | Line 80: | ||
<li> | <li> | ||
- | < | + | <h4>Why use a 'toy'?</h4> |
- | + | So why would you want to use something like a toy to build such a device, when there are so many other resources available? The construction set was chosen because of the reality that not everybody has access to a machine shop, PCB manufacturing equipment, and a micro-controller programming device. These things are usually pretty expensive too, which would probably preclude large chunks of people from being able partake in such robotic delight. The hope was that by using things that are relatively inexpensive, and readily available parts, places like high-schools and similar would be able to make use of this. | |
</li> | </li> | ||
Line 119: | Line 118: | ||
- | < | + | <h2>Hardware and Software</h2> |
<!-- <div align="justify" style="padding-left:20px; padding-right:20px"> --> | <!-- <div align="justify" style="padding-left:20px; padding-right:20px"> --> | ||
Line 131: | Line 130: | ||
<li> | <li> | ||
- | < | + | <h4>Hardware</h4> |
<p> | <p> | ||
- | + | Since the idea was to only parts that came with the construction kit, the problem was a lot like on the Apollo 13 movie, where the engineer comes into the room with a big box of stuff and says something to the effect of, "We have to solve our problem using nothing but this." So the hardware for the robot consists of pieces from the construction kit. Also used was some electrical tape, some small rare earth magnets, and a pipette tip. Oh, and a thin bolt that I found underneath my desk. Ok, scratch that, I didn't really end up using the bolt, I substituted more tape. | |
- | + | ||
</p> | </p> | ||
- | < | + | <p> |
- | + | ||
- | The | + | <img style="padding : 20px;" src="https://static.igem.org/mediawiki/2009/7/7d/UofA_diyAuto_dipPen.png" align="right" width ="35%"> |
+ | |||
+ | The easiest and perhaps only way of accomplishing the automation of the DNA assembly protocol using only the parts in the kit was to move the beads from one well to another, where the wells had previously been filled with the correct DNA pieces, washes, etc. The other option would have been to hold the beads in one place, and move the liqiud in and out of a single tube, as had been done by the experiments that are currently performing the protocol. Dispensing liquids via a pipette or other means was deemed to be difficult to do using only the 3 motors provided in the kit. A sort of 'dip pen' method was settled on, where the beads would be attracted to a 'pen' placed in one well, the lifted up and placed in another well, where they would be shaken off and allowed to sit in the solution. | ||
+ | |||
</p> | </p> | ||
- | < | + | <p> |
- | + | ||
- | + | ||
+ | The physical design of the robot was probably the most challenging and time consuming parts of the whole process. This was mainly owing to the fact that the plastic construction pieces and only lengths and sizes of the different types of pieces. Also a problem was the amount of 'flex' or 'wiggle' that you could get out of the plastic parts. This led to a few failed implementations that had to be completely disassembled and started again. The current physical implementation owes its inspiration to Hans Andersons sudoku solving robot (http://tiltedtwister.com/sudokusolver.html). This adapted design allowed for the necessary amount of precision for 'pen' to be positioned over the well, along with the advantage of not possessing a large number of points where the play in the gears and joints would become a problem. | ||
+ | </p> | ||
<center> | <center> | ||
Line 152: | Line 153: | ||
</center> | </center> | ||
+ | </li> | ||
+ | |||
+ | <li> | ||
- | < | + | <h4>Software</h4> |
+ | <img style="padding : 20px;" src="https://static.igem.org/mediawiki/2009/1/12/UofA09_diyAuto_SampleFuncs.png" align="right"> | ||
<p> | <p> | ||
+ | There was a bit more leeway with the choice of software. For this, nxtOSEK (http://lejos-osek.sourceforge.net/) was used to program the 'brains' of the robot. The instructions for installation are located here: http://lejos-osek.sourceforge.net/installation. This installation requires quite a few different steps, and a few different things to be installed, either on the robot brain, or on the programming computer. Unlike some of the other programming methods available, this one has the advantage of being free of charge. | ||
- | + | </p> | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
<p> | <p> | ||
- | |||
- | + | In order to preserve the original functionality of the robot brain, in the event that it would be used for something different later, the firmware loaded onto the brain was John Hansen's Enhanced NXT firmware (http://bricxcc.sourceforge.net/). While this did limit the size of the program that could be loaded, it was felt that it would be unlikely that the program would be large enough to strike this upper limit. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | In the | + | |
</p> | </p> | ||
<p> | <p> | ||
- | The programming language used for this implementation was C++. The nxtOSEK package provides various classes for the pieces of the NXT system (Motor, Clock, Button, etc). These classes are comprised of mainly protected data members (in the form of simple data types, mostly integers) and the methods to retrieve and set them. These data members must be protected as their values are supposed to be modified based on the | + | The programming itself can be done in can be done in a few different languages, but the the language used for this implementation was C++. The nxtOSEK package provides various classes for the pieces of the NXT system (Motor, Clock, Button, etc). These classes are comprised of mainly protected data members (in the form of simple data types, mostly integers) and the methods to retrieve and set them. These data members must be protected as their values are supposed to be modified based on the automatons interaction with the physical world, and you don't really want to accidentally switch the values. This programming model allows for a high level of abstraction, allowing for more time doing really gig-taxing things like calibrating the automatons movements. |
</p> | </p> | ||
<p> | <p> | ||
- | Software design was | + | Software design was very straightforward. Using examples provided for nxtOSEK, the syntax necessary for interacting with the motor classes was easy. The difficult part is working out the program such that the robot is able to position the dip-pen overtop of the desired well most of the time. |
</p> | </p> | ||
Line 196: | Line 181: | ||
</ul> | </ul> | ||
- | |||
- | |||
- | |||
Line 309: | Line 291: | ||
<p> | <p> | ||
- | The lower photograph shows the three wells after the robot has wreaked havoc. We can see that the center well is indeed a lighter brown, indicating that there is a lower concentration of magnetic beads here. The well on the right now has a brown colour, indicating that beads did make it into this well. The well on the left also has a slight brown tint, showing that some beads made it to this well too. This occurred when the robot did something I like to call, 'going terminator,' where it missed a well and started stabbing its tip into the surrounding plastic. This causes small splashes which can cross contaminate nearby wells. | + | The lower photograph shows the three wells after the robot has wreaked havoc. We can see that the center well is indeed a lighter brown, indicating that there is a lower concentration of magnetic beads here. The well on the right now has a brown colour, indicating that beads did make it into this well. The well on the left also has a slight brown tint, showing that some beads made it to this well too. This occurred when the robot did something I like to call, 'going terminator,' where it missed a well and started stabbing its tip into the surrounding plastic. This causes small splashes which can cross contaminate nearby wells. The beads where not completely removed from the starting well both because of surface tension interactions with the liquid, which held a small amount of beads in the intial well. The concentration of beads in the inital well was also not helped by the unreliability of the pen lowering mechanism, which would sometimes would drop the magnet when it wasn't supposed to, and move the beads in the opposite direction. |
</p> | </p> | ||
Line 316: | Line 298: | ||
<li> | <li> | ||
- | <h4> | + | <h4>Problems</h4> |
<ul> | <ul> | ||
<li><b>Sensitivity to initial conditions</b> | <li><b>Sensitivity to initial conditions</b> |
Revision as of 23:00, 21 October 2009
|
DIY AutomationOne of the main themes of this project, as well as iGEM in general, is that the simplification of both parts and processes provided by the synthetic biology movement are capable of bringing fairly advanced biological techniques 'to the masses'. With one of the DNA assembly techniques that have been developed during the course of the project, the goal was to speed up and simplify a very time consuming process. The hope was that it would be simple enough to be used by high school students. Better yet, a trained monkey. Even better still, a simple inexpensive robotic device, thereby leaving the both the original lab technician, the high school student, and the trained monkey more time for beer, which leads to the situation where a lab technician, high school student and monkey all walk into the bar (cliche, I know). |
The Robotic DeviceSince the DNA assembly method consists mainly of a few repeated and simple actions, interspersed with relatively long idle periods, it seemed like a good candidate for a little bit of automation. This little automaton is built entirely out of a popular plastic construction set, using the only the standard pieces and hardware. The firmware has been somewhat customised, however.
|
Hardware and Software
|
Getting to a Working Prototype
|
Results
|
Future Work
|
In the event that you want to build it yourself...
|