I, for one, welcome our new Christian homeschooled Lego robotics overlords
Chris Anderson
The Long Tail
December 05, 2006
This is a bit off topic, but my fondness for Lego robotics cannot be suppressed. Check out this video [ http://www.mindstormsmayhem.org/congratulations-flying-geeks.asp ] of a team of Christian home-schooled 9-14 year olds [ http://www.mindstormsmayhem.org/ ] winning the New Hampshire FIRST Lego League Nano-Quest Challenge [ http://www.firstlegoleague.org/default.aspx?pid=23720 ] in a single autonomous outing. There are so many impressive things going one here that it's hard to highlight just one, but the fact that the robot changes its own tools is unbelievable.
In our house, we're still learning the basics such as line-following. This turns out to be a real challenge because we only have the one light sensor that comes with the basic Mindstorms NXT kit [ http://mindstorms.lego.com/ ]. In the FIRST Lego League rules, you can have two light sensors which makes it relatively easy to stay on the black line (Left dark, right light--turn left. Right dark, left light--turn right). But with just one sensor the fact that you're not seeing dark anymore doesn't tell you which side of the line you've gone off. It's like having a single-pixel camera--there's no sense of position context.
The solution, we've found, is to add noise to the system. By programming the robot to follow an s-curve motion at a higher frequency than the curves of the line on the table, you can predict which side of the line you've just crossed when the sensor records a transition from dark to light. Adding the known noise of a sine curve allows you to make sense of the unknown noise of the boundary transitions as the robot leaves the line, on one side or another. I'm sure there's some fancy math to optimize this for maximum speed and minimum thrashing about, but we just tweak it until it works.
Sorry for the random geek-out, but I am unreasonably delighted that we got this to work.
(Update: I know that the usual method is to simply follow the edge of the line, which has a similar effect--construct the robot with a slight left bias to its forward motion and keep correcting to the right when you hit the line. But we wanted to actually travel on a quite thick line, which is like driving down a road. The reason is that in many of the official Lego line-following contests, you need to go straight through a four-way intersection, and edge-followers tend to fail there.)
Copyright 2006 http://www.thelongtail.com/the_long_tail/2006/12/i_for_one_welco.html