The Lego Bots
Our last unit in Electronics at school was Robotics. For this, we got to use the Lego NXT robots and program them to do different things. This was the unit most people were looking forward to because it means we can play with robots, Lego, not learn any theory and it was a very easy standard to achieve. There were many different robots, all built differently, that all did different tasks. Most of these robots did obvious things like Line Following, Object Avoidance, Light Sensing and such.
The one me and my robot partner, Martin decided to do was the Line Following Robot. it seemed like a simple enough one to do and shouldn’t be too much of a problem. After doing the starting paperwork, we then got given one of the Robot Kits. Lucky for us it was already pre-built so we didn’t have to make it from scratch. This allowed us to quickly getting into the adding of sensors and the programming. The annoying thing about the robots was the software used for programming them. It was a flowchart based language which was really annoying, and even painful due to the really slow lab machines. But it wasn’t too long till we hard a nearly working robot. After some minor tweaks in the power levels, we have a fully functioning line following robot.
Because we did that so fast, our Electronics teacher made us an “extension course.” The original course was a curvy lined course, which was pretty simple to achieve, but the advanced course had sharp angles in it, which required different programming techniques and such to get around it. After a bit of fiddling around with code, we couldn’t get anywhere near getting it to work on the new course. In theory, our ideas would work, but in practice, weird things happened. It just never seemed to work. It required some more thinking and different approaches.
After looking at some other robots on YouTube, I came up with the idea of adding a 3rd sensor onto the robot. This still didn’t work, but we did once get it to go around over half of the extension track, but it struggle on some of the angles over 90 degrees. This is when we admitted defeat. Unfortunately when messing around with the new course, we seemed to have lost out curvy lined program that we needed for the assessment. We managed to modify one of the 3 sensor codes to work with the curvy line.
Some of the other cool robots was another pair that made a line following robot. It also went around the curvy line but it hopped around instead of going around more smoothly. My friend Aaron made a light sensing robot which found the darkest place in the room and went there. This worked alright, but it was pretty average. My other friend Morgan made a Collision Avoidance Robot (again,) but this time with the Lego Kit. His seemed to have trouble at times which it strangling itself and hitting into things. Another pair did this same robot except took a different approach. It worked pretty well and looked cool. There was also a completely original robot that another pair made, and it was put on a table and avoided falling off the edge.
Making the robots and programming them was really awesome, and it was really great to see other peoples ideas and robots doing the same, and other tasks. This was definitely the best part of the year because robots a the best! Now all that I have to do is finish the paperwork for the standard so I can get my credits for this unit. I wish I had some spare money lying around so I could get some robots, I love playing with these things!
You just mentioned the early stages of mine :S, before the major redesign lol. Mines better than Connors because it avoids and adjusts its direction as it does along so it doesnt need to sharp turn unless in enclosed spaces XD, his just looks cool and makes cool sounds
I have the lego RCX at home, before NXT, and I’d really like to use NXT. I coded all mine in NQC, what programming language did you guys use?
I made at home a simple line following robot, using 1 light sensor, because that’s the only one I had. I works alright, but angles past 90′ didn’t go all that well. Once I added some smoothing functions in, it was pretty good.