Team:Alberta/Project/Automation
From 2009.igem.org
m |
|||
Line 32: | Line 32: | ||
<font size="2"> | <font size="2"> | ||
- | + | ||
- | + | Imma replace this | |
<img src="https://static.igem.org/mediawiki/2009/a/ad/UofA09_splasmids_Test1.jpg"> | <img src="https://static.igem.org/mediawiki/2009/a/ad/UofA09_splasmids_Test1.jpg"> | ||
- | + | ||
- | < | + | <p> |
- | + | One of the main themes of this project, as well as iGEM in general, is that simplification of both parts and processes provided by the synthetic biology movement are capable of bringing relatively advanced biological techniques 'to the masses'. | |
- | < | + | </p> |
- | + | <p> | |
+ | With one of the DNA assembly techinques that have been developed during the course of the summer, the goal was to speed up and simplify a very time consuming process. The hope is that it would be simple enough to be used by high school students. Better yet, a trained monkey. Even better still, a simple 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 techician, high school student and monkey all walk into the bar (cliche, I know). | ||
</p> | </p> | ||
Line 47: | Line 48: | ||
</div></div> | </div></div> | ||
<b class="b4f"></b><b class="b3f"></b><b class="b2f"></b><b class="b1f"></b> | <b class="b4f"></b><b class="b3f"></b><b class="b2f"></b><b class="b1f"></b> | ||
+ | |||
</td> | </td> | ||
</tr> | </tr> | ||
Line 55: | Line 57: | ||
<td style="height: 400; padding-left: 10px; padding-right: 10px; padding-top: 11px;"> | <td style="height: 400; padding-left: 10px; padding-right: 10px; padding-top: 11px;"> | ||
<b class="b1f"></b><b class="b2f"></b><b class="b3f"></b><b class="b4f"></b> | <b class="b1f"></b><b class="b2f"></b><b class="b3f"></b><b class="b4f"></b> | ||
+ | |||
<div class="Outreach"> | <div class="Outreach"> | ||
+ | |||
<div style="height: 400; background:#FFFFFF; colorou line-height:100% padding: 3px 0px;"> | <div style="height: 400; background:#FFFFFF; colorou line-height:100% padding: 3px 0px;"> | ||
- | <h1> | + | |
+ | |||
+ | <h1>The Robotic Device</h1> | ||
<!-- <div align="justify" style="padding-left:20px; padding-right:20px"> --> | <!-- <div align="justify" style="padding-left:20px; padding-right:20px"> --> | ||
Line 63: | Line 69: | ||
<font size="2"> | <font size="2"> | ||
- | < | + | |
- | + | <p> | |
- | < | + | |
- | + | So about this robotic device. Since the DNA assembly method consists mainly of a few repeated and simple actions, interspersed with relatively long wait periods, it seemed like a good canidate 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. | |
- | < | + | |
- | + | ||
+ | </p> | ||
+ | |||
+ | <ul> | ||
+ | |||
+ | <li> | ||
+ | |||
+ | <h4>Why use a 'toy'?</h4> | ||
+ | |||
+ | So why would you want to use something not too far from 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 microcontroller programmer. 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 highschools etc would be able to make use of this. | ||
+ | |||
+ | </li> | ||
+ | |||
+ | </ul> | ||
+ | |||
+ | <p> | ||
+ | |||
+ | |||
+ | |||
+ | </p> | ||
+ | |||
+ | <p> | ||
+ | |||
+ | |||
</p> | </p> | ||
Line 78: | Line 107: | ||
</tr> | </tr> | ||
+ | |||
+ | |||
+ | |||
+ | <tr> | ||
+ | <td style="height: 400; padding-left: 10px; padding-right: 10px; padding-top: 11px;"> | ||
+ | <b class="b1f"></b><b class="b2f"></b><b class="b3f"></b><b class="b4f"></b> | ||
+ | |||
+ | <div class="Outreach"> | ||
+ | |||
+ | <div style="height: 400; background:#FFFFFF; colorou line-height:100% padding: 3px 0px;"> | ||
+ | |||
+ | |||
+ | <h2>Hardware and Software</h2> | ||
+ | |||
+ | <!-- <div align="justify" style="padding-left:20px; padding-right:20px"> --> | ||
+ | <div align="justify"> | ||
+ | |||
+ | <font size="2"> | ||
+ | |||
+ | |||
+ | <ul> | ||
+ | |||
+ | <li> | ||
+ | |||
+ | <h4>Hardware</h4> | ||
+ | |||
+ | <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 probelm 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> | ||
+ | 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> | ||
+ | |||
+ | 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 ot points where the play in the gears and joints would become a problem. | ||
+ | </p> | ||
+ | |||
+ | </li> | ||
+ | |||
+ | <li> | ||
+ | |||
+ | <h4>Software</h4> | ||
+ | |||
+ | <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> | ||
+ | |||
+ | 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. | ||
+ | </p> | ||
+ | |||
+ | <p> | ||
+ | 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++. | ||
+ | </p> | ||
+ | |||
+ | <p> | ||
+ | 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> | ||
+ | |||
+ | </li> | ||
+ | |||
+ | |||
+ | </ul> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | </font></div> | ||
+ | |||
+ | </div></div> | ||
+ | <b class="b4f"></b><b class="b3f"></b><b class="b2f"></b><b class="b1f"></b> | ||
+ | </td> | ||
+ | </tr> | ||
+ | |||
+ | |||
+ | |||
+ | <tr> | ||
+ | <td style="height: 400; padding-left: 10px; padding-right: 10px; padding-top: 11px;"> | ||
+ | <b class="b1f"></b><b class="b2f"></b><b class="b3f"></b><b class="b4f"></b> | ||
+ | |||
+ | <div class="Outreach"> | ||
+ | |||
+ | <div style="height: 400; background:#FFFFFF; colorou line-height:100% padding: 3px 0px;"> | ||
+ | |||
+ | |||
+ | <h2>Getting to a Working Prototype</h2> | ||
+ | |||
+ | <!-- <div align="justify" style="padding-left:20px; padding-right:20px"> --> | ||
+ | <div align="justify"> | ||
+ | |||
+ | <font size="2"> | ||
+ | |||
+ | <ul> | ||
+ | |||
+ | |||
+ | <li> | ||
+ | <h4>Calibration</h4> | ||
+ | </li> | ||
+ | |||
+ | </ul> | ||
+ | |||
+ | |||
+ | |||
+ | </font></div> | ||
+ | |||
+ | </div></div> | ||
+ | <b class="b4f"></b><b class="b3f"></b><b class="b2f"></b><b class="b1f"></b> | ||
+ | </td> | ||
+ | </tr> | ||
+ | |||
+ | |||
+ | |||
+ | <tr> | ||
+ | <td style="height: 400; padding-left: 10px; padding-right: 10px; padding-top: 11px;"> | ||
+ | <b class="b1f"></b><b class="b2f"></b><b class="b3f"></b><b class="b4f"></b> | ||
+ | |||
+ | <div class="Outreach"> | ||
+ | |||
+ | <div style="height: 400; background:#FFFFFF; colorou line-height:100% padding: 3px 0px;"> | ||
+ | |||
+ | |||
+ | <h2>Future Work</h2> | ||
+ | |||
+ | <!-- <div align="justify" style="padding-left:20px; padding-right:20px"> --> | ||
+ | <div align="justify"> | ||
+ | |||
+ | <font size="2"> | ||
+ | |||
+ | <ul> | ||
+ | |||
+ | |||
+ | <li> | ||
+ | <h4>Extensibility - Moving away from construction sets</h4> | ||
+ | |||
+ | <p> | ||
+ | Despite all of the good things about using a construction set, it does introduce some serious limitations. To introduce more features and reliability, there are a few options. The first, and perhaps easiest, is to just get another robotic brain and set of motors. This way you can run six motors rather than the usual three, allowing you to control more things. The robotic brains are capable of communicating with each other wirelessly, so it would not be difficult to create one robotic platform that performs the desired tasks. | ||
+ | </p> | ||
+ | |||
+ | <p> | ||
+ | Slightly more complex would be to purchase one of the third party servo controller boards that are available, along with a bunch of servos. Not only do these servo controller boards allow for the connection of more that 3 different motors, the servos that they are capable of connecting are superior in that they are able to provide more accurate positioning when compared to the motors provided with the construction set. Unfortunately, by default, these servos are not capable of full rotation, but can be purchased with the modifications predone, or the modifications can be performed yourself. | ||
+ | |||
+ | </p> | ||
+ | |||
+ | <p> | ||
+ | The most complex option, would be to do away with the construction kit entirely, or at least the brains and motor parts. The physical building pieces may still be able to be used, depending on your design. Replacing the robotic brain would either be a more advanced microcontroller, or a direct connection to a computer (not really a robot anymore, but hey). The servos previously mentioned would be used for driving the motion of the machine, and would be controlled via pulse width modulation from whatever controller was being used. This option has the advantages of being the most customisable, but you definitely pay the price in monetary cost, and in complexity of design (both programming and physical design). | ||
+ | |||
+ | </p> | ||
+ | |||
+ | <p> | ||
+ | The original plan for this automation project was to first use only the pieces present in the construction set to perform the 'dip-pen' method of bead movement that is presented here. The second part was use third party parts to give the robot the power to be able to dispense its own liquids, thereby allowing the beads to stay in one tube, and the liquids to be moved around. Due to time and budget constraints, the more complex robot that would be capable of moving its own liquids remains a pen and paper design. | ||
+ | </p> | ||
+ | |||
+ | |||
+ | </li> | ||
+ | |||
+ | </ul> | ||
+ | |||
+ | |||
+ | |||
+ | </font></div> | ||
+ | |||
+ | </div></div> | ||
+ | <b class="b4f"></b><b class="b3f"></b><b class="b2f"></b><b class="b1f"></b> | ||
+ | </td> | ||
+ | </tr> | ||
Revision as of 19:41, 12 September 2009
|
DIY Automation
Imma replace this
One of the main themes of this project, as well as iGEM in general, is that simplification of both parts and processes provided by the synthetic biology movement are capable of bringing relatively advanced biological techniques 'to the masses'. With one of the DNA assembly techinques that have been developed during the course of the summer, the goal was to speed up and simplify a very time consuming process. The hope is that it would be simple enough to be used by high school students. Better yet, a trained monkey. Even better still, a simple 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 techician, high school student and monkey all walk into the bar (cliche, I know). |
The Robotic DeviceSo about this robotic device. Since the DNA assembly method consists mainly of a few repeated and simple actions, interspersed with relatively long wait periods, it seemed like a good canidate 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.
|
Hardware and Software
|
Getting to a Working Prototype
|
Future Work
|