Team:Alberta/Project/Automation
From 2009.igem.org
Line 162: | Line 162: | ||
<img style="padding : 20px;" src="https://static.igem.org/mediawiki/2009/1/12/UofA09_diyAuto_SampleFuncs.png" align="right"> | <img style="padding : 20px;" src="https://static.igem.org/mediawiki/2009/1/12/UofA09_diyAuto_SampleFuncs.png" align="right"> | ||
<p> | <p> | ||
- | + | We used free open source software (FOSS) courtesy of nxtOSEK (http://lejos-osek.sourceforge.net/) to provide the 'brains' for our robot. Installation instructions are located at: http://lejos-osek.sourceforge.net/installation.</p> | |
- | + | ||
- | </p> | + | |
<p> | <p> | ||
- | + | In the event that the robot would be used for something different later, John Hansen's Enhanced NXT firmware was loaded into the robot's brain in order to preserve its originial functionality (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 | + | |
</p> | </p> | ||
<p> | <p> | ||
- | The programming | + | 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 robot's 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, thus allowing for more time for gig-taxing operations like calibrating the robot's movements. |
</p> | </p> | ||
<p> | <p> | ||
- | Software design was | + | Software design was relatively straightforward. Examples of the syntax necessary for interacting with the motor classes required was provided by nxtOSEK. However, difficulty arose in working out the program so that the robot was able to position the dip-pen overtop of the desired well as precisely as possible within the constraints of the system. |
</p> | </p> | ||
Revision as of 22:42, 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 relatively advanced biological techniques 'to the masses'. With one of the DNA assembly techniques 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 technician, 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 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.
|
Hardware and Software
|
Getting to a Working Prototype
|
Results
|
Future Work
|
In the event that you want to build it yourself...
|