Just thought I'd put in my 2 cents... My friend and I built the 8th place High school robot (milton), which in fact would have come in second except for a stupid error in the code (I'll get to that) which I wrote. Here's my insider's perspective: (I worked closely with all the Trinity teams in their lab, although my friend and I did all the work) This was our second robot we built, last year we did significantly worse (23rd) but we were on the local news, so that was a kick. We're funded by the United Technologies/Trinity College Engineering Initiative, who paid for 99% of our robot. Although many of the groups choose to either custom build the entire robot or build it from various kits, we took possibly the best route, and used legos for all of the structure and the motors. However, Lego Mindstorms just don't cut it, as they dont permit enough sensors. We used a Super T-Comp made by Ray's Robotic Racers (I forget the URL, but it's probably something obvious) as our microcontroller, and I programmed it using Interactive C. The wall sensors are standard sensors made by Sharp, which are more well known for their use in auto-flush urinals. (There's a bit of extra circutry we add in in order to clean up the singnal... i.e. give more consistan readings). There is also a stripe sensor, which is a light sensor mounted next to an LED, which tells fairly accurately where the stripes are that mark entrances to rooms. And there's the candle sensor, which is a straight up IR sensor, usually mounted in some sort of reflective device, such as the mirror from a flashlight, so that the window in which the sensor "sees" the candle is narrower. At a minimum, a robot needs 2 wall sensors (one for each side), a candle sensor, and a stripe sensor. However, it's hard to measure the distance from a wall accurately with only 1 sensor on the side, since the robot could (and usually is) turned at an angle, so think of an arc: The actual distance to the wall varies, but the line perpendicular to the side of the robot extending to the wall can be of constant length, depending on how the robot is oriented. Therefore, our robot had 2 sensors on each side so it could "balance" itself, and make sure it was parralell at any time. It also had a front sensor, so it could see if it was nearing a wall in front, which is critical due to the way the robot "decides" to do things. The robot decides when to turn, stop, rotate, turn its fan on to put the candle out, etc. using readings from the sensors. So for example, if it is following a wall at a constant distance (an important feature, mind you) and it sees that all of a sudden that wall doesnt exist, then it knows that it should turn. Same thing with a wall in the front: if it gets to close, it might need to turn. Of course, which way to turn and whatnot is governed by the program, which essentially knows the entire layout of the maze, and what should happen when, and looks for those specific events to happen. Back to why we would have gotten 2nd... The robot was looking for a stripe near the candle (it had already located it), but intead got off course, because it saw that it was getting too close to a wall (on the side) and needed to turn away... It turned too much, and planted on a front wall before seeing the stripe, because although it was looking for a side wall, it wasnt looking for a front wall. The devil is in the details. Anyway, this year they added a few things, the most prominent was the random start room, which was actually quite easy (we did it) because little did they realize, all the exits/hallways to the rooms are unique, so it's not nearly as hard as the contest designers thought it to be. Here's a little more background on what the actual contest is like: Saturday is qualifying, and many people are completely disorganized. Many don't even qualify. They fill the trinity gym, and the sheer amounts of extenstion cords, people scrambling to find parts, bossy parents instructing their 6th grader how to do things is rediculous. Unfortunately, the number of really innovative robots is sort of dissapointingly low, but the ones that are new are impressive. It's really quite a spectacle. The actual running of the contest takes about 3 hours, but neither my friend nor I nor the Trinity team really got any sleep the saturday night before. Significant portions of code for our and i suspect all of the robots are written within hours or sometimes between runs. It's a completely draining event, but very much so worth it. I hope to compete next year, if at all possible, and I encourage everyone to come at watch, as it really is fun!
http://campinappropriate.8m.com
Just thought I'd put in my 2 cents... My friend and I built the 8th place High school robot (milton), which in fact would have come in second except for a stupid error in the code (I'll get to that) which I wrote. Here's my insider's perspective: (I worked closely with all the Trinity teams in their lab, although my friend and I did all the work) This was our second robot we built, last year we did significantly worse (23rd) but we were on the local news, so that was a kick. We're funded by the United Technologies/Trinity College Engineering Initiative, who paid for 99% of our robot. Although many of the groups choose to either custom build the entire robot or build it from various kits, we took possibly the best route, and used legos for all of the structure and the motors. However, Lego Mindstorms just don't cut it, as they dont permit enough sensors. We used a Super T-Comp made by Ray's Robotic Racers (I forget the URL, but it's probably something obvious) as our microcontroller, and I programmed it using Interactive C. The wall sensors are standard sensors made by Sharp, which are more well known for their use in auto-flush urinals. (There's a bit of extra circutry we add in in order to clean up the singnal... i.e. give more consistan readings). There is also a stripe sensor, which is a light sensor mounted next to an LED, which tells fairly accurately where the stripes are that mark entrances to rooms. And there's the candle sensor, which is a straight up IR sensor, usually mounted in some sort of reflective device, such as the mirror from a flashlight, so that the window in which the sensor "sees" the candle is narrower. At a minimum, a robot needs 2 wall sensors (one for each side), a candle sensor, and a stripe sensor. However, it's hard to measure the distance from a wall accurately with only 1 sensor on the side, since the robot could (and usually is) turned at an angle, so think of an arc: The actual distance to the wall varies, but the line perpendicular to the side of the robot extending to the wall can be of constant length, depending on how the robot is oriented. Therefore, our robot had 2 sensors on each side so it could "balance" itself, and make sure it was parralell at any time. It also had a front sensor, so it could see if it was nearing a wall in front, which is critical due to the way the robot "decides" to do things. The robot decides when to turn, stop, rotate, turn its fan on to put the candle out, etc. using readings from the sensors. So for example, if it is following a wall at a constant distance (an important feature, mind you) and it sees that all of a sudden that wall doesnt exist, then it knows that it should turn. Same thing with a wall in the front: if it gets to close, it might need to turn. Of course, which way to turn and whatnot is governed by the program, which essentially knows the entire layout of the maze, and what should happen when, and looks for those specific events to happen. Back to why we would have gotten 2nd... The robot was looking for a stripe near the candle (it had already located it), but intead got off course, because it saw that it was getting too close to a wall (on the side) and needed to turn away... It turned too much, and planted on a front wall before seeing the stripe, because although it was looking for a side wall, it wasnt looking for a front wall. The devil is in the details. Anyway, this year they added a few things, the most prominent was the random start room, which was actually quite easy (we did it) because little did they realize, all the exits/hallways to the rooms are unique, so it's not nearly as hard as the contest designers thought it to be. Here's a little more background on what the actual contest is like: Saturday is qualifying, and many people are completely disorganized. Many don't even qualify. They fill the trinity gym, and the sheer amounts of extenstion cords, people scrambling to find parts, bossy parents instructing their 6th grader how to do things is rediculous. Unfortunately, the number of really innovative robots is sort of dissapointingly low, but the ones that are new are impressive. It's really quite a spectacle. The actual running of the contest takes about 3 hours, but neither my friend nor I nor the Trinity team really got any sleep the saturday night before. Significant portions of code for our and i suspect all of the robots are written within hours or sometimes between runs. It's a completely draining event, but very much so worth it. I hope to compete next year, if at all possible, and I encourage everyone to come at watch, as it really is fun! http://campinappropriate.8m.com
...of windows was that it could run on almost any system... In theory, even on a 386. No longer i guess.