Team:Alberta/Project/Automation
From 2009.igem.org
Line 174: | Line 174: | ||
<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> | ||
- | + | 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 the | + | |
+ | 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> | ||
<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> | ||
Revision as of 22:46, 21 October 2009
|
DIY AutomationOne of the main themes of this project, as well as iGEM in general, is the simplification of both the parts and the processes of molecular biology. This allows synthetic biology to bring relatively advanced biological techniques 'to the masses'. The Biobytes Assembly is very rigid and reliable; however, it is also very repetitive and tedious. This has triggered us to develop an automated mechanical system (ie. a robot) capable of speeding up and simplifying our methods. The overall goal is that our robot would be simple enough to be used by high school students. This would provide a valuable tool in biological education. It is also our goal to create a system that is versatile enough to be used in more advanced research labs, thereby decreasing the time needed for plasmid construction. |
The Robotic DeviceOur robot is built entirely from a single Lego Mindstorms kit, using only the standard pieces and hardware sold with the kit.
|
Hardware and Software
|
Getting to a Working Prototype
|
Results
|
Future Work
|
In the event that you want to build it yourself...
|