So, officially, I wasn't _really_ goofing off when I stayed up to the wee hours of the the night playing with Legos.
But it sure felt like I was.
In any case...
For the summer, I took a 5-week robotics course. A project was required and the recently acquired Lego Mindstorm kits were suggested as a way to achieve a completed project in the time provided. We were told we could use them for a week, as we had to share the kits available.
Figuring demand for the kits would be lower the first week they were available, I spent the weekend between the first and second week of the class looking for info on what I might be able to do with said kit once I could lay my hands on one. Although initially disappointed with what a Mindstorm RCX "brick" could do in terms of programming, I was soon excited by all the ways people had found to get around these limitations.
Russell Nelson's Lego Mindstorms Internals is a good place for information.
Anyway, I grabbed a kit the first day they were available to the class with the idea of making an explorer bot that would report back to the PC what it had found so that the PC could tell it what to do next.
The biggest problem to overcome was how to get the PC and the bot to exchange data. The PC needed to be able to know what the bot had found in its explorations. It also needed to be able to give the bot new instructions as more of the environment was explored.
Fortunately, people like Kekoa Proudfoot and Dave Baum had already layed quite a bit of groundwork in making this easy for me to accomplish in the week I thought I had. Kekoa's RCX Internals page and Dave's NQC provided everything I needed.
And, of course, some thanks has to be given to Legos for not clamping down on the internals so that their customers can improve upon the product as they see fit.
I was going to add more here... but I just wrote a report about this,
so why do it again. See the next link...
Project Report [click here]
Click on the above to see
the HTMLized version of my report. If you'd like a compressed Postscript (can't
imagine why you would), click here.
On the left is a top view with the vertical feelers removed and the RCX frame slightly disconnected (to provide a closer scan -- the girders facing the other way are the RCX frame). On the right is a scan from the side with the bot balancing on the feelers and RCX frame. One of the touch sensors was less sensitive, thus the red tape on the left feeler. | |
The left scan is a bottom shot showing what went where (I wanted to be able to rebuild it after I took it apart). The center provides a view from the top with the RCX frame and feelers propping it up. The rubber band's job is to center the feelers after a contact has been made and backed away from. The right scan is another bottom scan with the right wheel propped up on some bricks (for a slightly different view angle). | |
Here's another bottom scan with the RCX and vertical feelers removed. | |