Wednesday, February 13, 2008

I prefer a hefeweizen, but a draft will do

The rough draft has been completed. I'm not completely and totally satisfied with it but, I think it's decent. Prof. Bridges suggests that I make some corrections, add previous work like LabView into the main proposal, and make a more thorough time-line. Easy stuff that can be done rather easily. He also suggested having a back up plan unless we have trouble developing for the XO. Some kind of simple program for High School students or maybe even elementary students. Hopefully it won't come to that and we wont' have to worry about there being too much trouble with the XO.

Here are some excerpts from the draft:

On Motivation (suggested improving this section):
Currently there no is research or development for NXT on the XO. There has been a report that LEGO Education will be working with OLPC in Brazil [link], however, there is no indication – or guarantee – that they will port their current Microsoft Windows and Mac OS X compatible NXT software to the XO. LEGO Mindstorms NXT is an incredibly popular robotics kit with many schools from elementary to Universities utilizing the tools available.
On Background:
The One Laptop per Child (OLPC) association is non-profit organization whose goal is to develop a low-cost laptop – the “$100 Laptop” or XO-1 – to revolutionize how we educate the world’s children. Their goal is to provide children around the world with new opportunities to explore, experiment, and express themselves [link].
Background continued...
LEGO® Mindstorms NXT is a programmable robotics kit released by LEGO. The LEGO Mindstorms NXT software enables a user to program and upload instructions to the NXT – an intelligent computer-controlled LEGO brick and the brain of the Mindstorms robot –via USB or Bluetooth connectivity [link].
Finally, on System Description:
The graphical user interface (GUI) will consist of large, easy to understand icons indicating what the Mindstorm robot will do. This icons will be laid out along one of the borders of the application, while the main window will display how or what the robot will do i.e., a road map, so to speak.
Initially a user can select multiple actions and specify the duration of the actions. For example, a child can select a forward motion and she will be prompted to specify the length of forward motion – either in seconds or distance. The child can then stack the instructions so it can do multiple actions in succession. As the child progresses and learns more about actions, sensors can be added and the child can decide what the robot will do. Continuing the previous example, the child has added a touch or ultrasonic sensor and she can now give the robot instructions to turn 90o whenever it bumps into something or comes within a certain distance of an obstruction.
So where do I go from here? I need to revise my draft so it's a little more coherent. Add some positive spin as per Prof. Bridges suggestions and, well, pray I can make more heads or tails out of this.

I like the idea I've come up with (although, I have to give a lot of credit to Jared Quintana for the original idea, I've essentially run with it). I was a little worried about it when I first wrote my concept paragraph, but now that I've fleshed out more ideas, it's kind of starting to grow on me. I really do wish I could have done some sensor network stuff, but this will be good too. I'll be honest with anyone actually reading this, it would be really cool if this project worked out so well it became part of the main packages or programs for XO. That would be awesome, but I'm certainly not going to hold my breath. (There are other issues with Mindstorms that come into play... i.e. the price.

No comments: