Why the NXT isn't perfect
I've recently had several different people ask me about "flaws" and frustrations with the NXT - things that don't work the way they "should", or don't always work, etc. The canonical example, sure to be trotted out again this year, is the perpetual quest for grail of FLL: driving in a straight line (one aspect of dead reckoning). And I was wondering why I so rarely such frustrations.
I think this is a really important point: not just about the NXT, but life in general (especially with teaching). Real life is messy, unexpected, and constantly surprising - very often, if you expect perfection (in anything), you can end up frustrated. Especially for folks who are used to everything being pre-prepared, and exactly as advertised, every time.
That's not real life.
The NXT is in a rather unique spot. Billed and marketed as a toy, it's both far more and far less than that.
Far more in that it is, in every sense of the word, real engineering, and real robotics (as some of us have immense fun pointing out to "sheet metal" robotic hobbyists). And that means it has the same real-life problems. The world the NXT is interacting with is messy: specular reflections and saturation levels for color sensors, variable sound reflectivity and geometry for US sensors, uneven floors and variations in friction and surfaces for motors, sampling frequency for light sensors and sound sensors, etc.: the list goes on and on. Here is a product that unleashes an entire life-long (as some of us can attest to) world of learning and growing, because it makes no secret of being able to "cut it" in the real world.
It's also far "less" than a toy. It will work in unscripted ways. It will not always work the same way twice. It will challenge and puzzle the user, not passively entertain them. That's actually a problem, in that some people will get frustrated because, billed as a toy, they expect it to "just work".
I don't think, in my experience, you can have both of these constraints perfectly satisfied. And I don't expect them to be. NXT-G, for instance, makes some things very easy for the novice user... while frustrating the heck out of anybody who wants to take the NXT to a higher level (try trig... and no, tossing floats into the mix isn't the solution. Or arrays, a basic ability for any language, crippled in NXT-G). Having a color sensor that can selectively switch bright LEDs on and off looks great, but compromises in other ways on what the sensor can actually detect: color.
So which do you satisfy? Is it a flexible, messy real-world toolkit, or a safe, controlled, entertainment toy? I'd say you accept some compromises... while using the unique abilities to teach young minds. Making a kid (and some adults!) understand that the world is not simple, and that it doesn't work like a video game, is perhaps one of the most important lessons I think you can teach them. Too much in school ends up being "This Is The Answer", when often you later find out "this is an approximation, or a rule of thumb, or a good idea... but not an absolute truth".
That ability to be flexible, to find solutions to hard problems that no one has just given you a solution for, is something that I find really lacking in the people around me (both in grade school, where I help out, and even more so in college, where I actually teach). And the NXT is the ideal tool to work on these skills.
The next time you or your students complain about how the NXT "isn't working", or "isn't doing what it 'should'", you might want to realize that you've just been handed an amazing, rare, golden opportunity. Not the opportunity to "solve the problem", but something much more useful - to teach (or learn) how do find solutions to problems.
--
Brian Davis
I think this is a really important point: not just about the NXT, but life in general (especially with teaching). Real life is messy, unexpected, and constantly surprising - very often, if you expect perfection (in anything), you can end up frustrated. Especially for folks who are used to everything being pre-prepared, and exactly as advertised, every time.
That's not real life.
The NXT is in a rather unique spot. Billed and marketed as a toy, it's both far more and far less than that.
Far more in that it is, in every sense of the word, real engineering, and real robotics (as some of us have immense fun pointing out to "sheet metal" robotic hobbyists). And that means it has the same real-life problems. The world the NXT is interacting with is messy: specular reflections and saturation levels for color sensors, variable sound reflectivity and geometry for US sensors, uneven floors and variations in friction and surfaces for motors, sampling frequency for light sensors and sound sensors, etc.: the list goes on and on. Here is a product that unleashes an entire life-long (as some of us can attest to) world of learning and growing, because it makes no secret of being able to "cut it" in the real world.
It's also far "less" than a toy. It will work in unscripted ways. It will not always work the same way twice. It will challenge and puzzle the user, not passively entertain them. That's actually a problem, in that some people will get frustrated because, billed as a toy, they expect it to "just work".
I don't think, in my experience, you can have both of these constraints perfectly satisfied. And I don't expect them to be. NXT-G, for instance, makes some things very easy for the novice user... while frustrating the heck out of anybody who wants to take the NXT to a higher level (try trig... and no, tossing floats into the mix isn't the solution. Or arrays, a basic ability for any language, crippled in NXT-G). Having a color sensor that can selectively switch bright LEDs on and off looks great, but compromises in other ways on what the sensor can actually detect: color.
So which do you satisfy? Is it a flexible, messy real-world toolkit, or a safe, controlled, entertainment toy? I'd say you accept some compromises... while using the unique abilities to teach young minds. Making a kid (and some adults!) understand that the world is not simple, and that it doesn't work like a video game, is perhaps one of the most important lessons I think you can teach them. Too much in school ends up being "This Is The Answer", when often you later find out "this is an approximation, or a rule of thumb, or a good idea... but not an absolute truth".
That ability to be flexible, to find solutions to hard problems that no one has just given you a solution for, is something that I find really lacking in the people around me (both in grade school, where I help out, and even more so in college, where I actually teach). And the NXT is the ideal tool to work on these skills.
The next time you or your students complain about how the NXT "isn't working", or "isn't doing what it 'should'", you might want to realize that you've just been handed an amazing, rare, golden opportunity. Not the opportunity to "solve the problem", but something much more useful - to teach (or learn) how do find solutions to problems.
--
Brian Davis
Comments
There are a large proportion of people who go through the standard 'education' system and schooling, where everything works perfectly and all the science experiments are rigged and orchestrated and nothing ever goes wrong; And many people growing up spending a big part of school life following step by step instructions that invoke reproducible outcomes.
And you enter the real world and things are not perfect.
The real challenge for mentors / adults who work in the community is to harness that discovery mentality and build the foundation for the next generation of engineers, architects and scientists.
Half the fun (if you have a trivial amount of patience) is getting your creation to work the way you want it to. If it doesn't, and I get upset, I leave it and come back to it later or tomorrow.
Most people buy a toy, turn it on, and watch it "just work". If it doesn't, they assume it's a problem with the toy. With Mindstorms, it's your problem. The NXT is just doing what it was told to do, either by programming or sensor input.
Going back to read it again...
Spacedude
Part of the problem is the way MindStorms is marketed: "Build robots that do what you want them to!" (or something like that).
The implication is that MindStorms is free of limitations, inconsistencies, or quirks that might keep your design from working the way you expect. The best example perhaps is the tendency of brick-based models to fall apart, without proper reinforcement.
The original MindStorms included projects in which the user was "graded" according to how quickly or well they figured out how to get things working. I complained bitterly to LEGO about this (I wrote a long letter about problems with RIS 1.0 that LEGO promised to consider) and it was removed, though I doubt my comments were the reason.
As Dr. Land said: "Scientists made a great invention by calling their activities hypotheses and experiments. They made it permissible to fail repeatedly until in the end they got the results they wanted."
Thanks for a good essay.
Pe-ads