Feb 28, 2010

Why don't designs work for everyone?

As someone who works hard to makes designs and building instructions easy for everyone, it's frustrating when users---even members of this blog---say that they can't get a model to work. I can't tell you how many people complain to me that they can't build the models found in various highly-rated NXT books (or free online).

I've had the same experience---or have seen my family have the same experience. We KNOW that the model works---and it has been demonstrated on video---so why the disparity?

Does varying part wear make that big a difference? Is there a difference in the production of the same part? I'd like to gather some of your insights here for the benefit of our frustrated builders and designers.

9 comments:

Andy Dannelley said...

Many models are designed with a high degree of accuracy (a good thing), but if the builder misinterprets a step in the build instructions it can lead to other parts not fitting properly so when you get to the end things don't line up quite right. I know because I have had this happen to me, no matter where I got the instructions (LEGO, book, online). When this happens I find I have to really look closely and start disassembly back to the point of the misinterpretation and reassemble, this usually works (for me).

The other difficulty I have had and seen in others is a mistyping of an instruction in NXT-G (or one of the C variants used with NXT). One little error, one block out of place, one C statement mistyped and the model just won't work.

I believe many of the problems are because of "cockpit error" on the part of the person building. We can minimize this by making instructions as clear as possible. You can tell that most of the people writing the books, web site instructions are very conscientious, but sometimes something may get left out.

As for sizes of LEGO pieces, I'm not sure about that as a factor as most of the models are not designed and built to a degree of accuracy that the LEGO piece being off a few thousandths of an inch would make a difference. I guess it could make a difference, but I have not seen that yet.

Robolab 2.9 said...

Something very common I've found is in the use of a light/color/US sensor... for instance, any Segway type model you use will probably need to be adjusted some. Same for a line follower. Values need to be fixed, but many people just go ahead and run the downloaded program expecting it to work correctly.

If it's a mechanical issue, then Andy got it right.

Richard

Andy Dannelley said...

A couple of other things came to mind.

When the model instructions are photographs like Dave Parker’s on NXTPrograms.com it is much easier to distinguish what part the author is requiring for a particular step. When the instructions are pictorial like the output of LDD or even LEGO’s printed instructions that come with the models it is sometimes difficult to tell exactly what part was intended to be used. For example it can be difficult to tell the difference between a 3-stud beam, a 3-stud half width with axel holes on the ends and the 3-stud half width beam with boss and pin. For those new to Technic/Mindstorm/NXT, without the experience of a long-time builder they may choose the wrong part of the 3 I mentioned here only to discover much later that they made the incorrect choice.

Another reason models may not work is lack of attention to detail when wiring; for example wiring motor ports A and B instead of B and C, or ticking the wrong boxes in NXT-G (A and B instead of B and C). It takes careful attention to detail and folks new to NXT do not yet have the experience to troubleshoot. Some folks do not use their critical thinking skills to troubleshoot, they just want someone to tell them how to fix the model so it will work (then they do not gain the critical thinking skills for troubleshooting).

One model error that stands out is the reversal of wires on the Driving Base on the Quickstart vehicle on the NXT 2.0 kit. Many times this was the first model many folks had ever built with NXT and it didn’t work and they did not know why and they just wanted it fixed and it was a source of frustration to what was to be an otherwise enjoyable experience.

I believe we can help by trying to help folks learn to use their critical thinking skills so that they will use them at each step along the way through construction and programming and when something doesn’t look quite right they can make an adjustment. When writing books, posting step-by-step on web sites and responding to forum posts I hope we can respond in such a way as to foster the use of critical thinking skills.

BTW: Good topic!

Robotica said...

When I was showing my Cranebot (Ideabook NXT 1) or Spike (NXT 1) at various shows, I saw that mainly due to extensive wear and loosen-up of the parts the complete model was snapping gears or worse not working at all. That sure frustrates, knowing that the design is good enough.

I agree that a fair amount of troubleshooting skills is a must when working with robotics and computers.
So for sure when you try to rebuild a model guided by building instructions, don't give up immediately when it is not working as on the shown videos.

Some tips:
1) Check the BI step by step.
2) Check the cables, are they correctly connected, are they not in the way of the movement?
3) check or when possible re-download the program.
4) look for other resources, Youtube, Forums, help of a friend?
5) and in the end, don't rule out that indeed there might be something wrong with the model....
so Ask...

Good Building

Martyn

Linus said...

I think there are three main reasons for the problem Fay describes:


1.) The complaints you get are from a certain biased subgroup of customers / readers. There'll be a huge part of builders who never experience any problems. The next big part will work out the problems by themselves. And only the left-overs from this problem (who aren't lazy enough to complain) will sent angry or disappointed mails.

I've got a very personal opinion (more like a guess): Those people complaining, who don't get the EXCELLENTLY documented models from most books or building instructions to work, will always have problems. They'll probably never become "LEGO experts". That's not supposed to be misunderstood -- I don't want to be harsh. Not everyone is talented enough or has the technical skills. Not everyone is willing to spent much time and put lots of effort into building advanced LEGO models.
But you know, these are the same people you get error- or help-messages from when they are unable to unzip compressed archives. Or to google a problem. Sometimes such a person in need for help will "get it" after the first answer. They just needed an initial kick-off and will sort out future problems on their own. But most people in this situation just can't be helped...


2.) The general customer's attitude seems to have changed. Today, you sue your doctor if you don't get better. If a product doesn't work, you return it. And if you fail to follow the steps of a building instruction, it's the book's fault.
Sorry for painting such an extreme picture.
It also seems the general willingness to "fix things" is lower than some time ago. Nowadays we learn that it's cheaper to replace a product than to fix it.

When building LEGO models from books, I often find myself modifying small details or improving things (and sometimes I break things and have to go back). But if there is a little error in an instrunction, it sure is fixable with a little effort on your own. One shouldn't give up too soon!


3.) LEGO Mindstorms models are more complex than regular LEGO (Technic) models. Not only do you have to get the mechanics right, but you also have to program correctly. If you fail either one, your model won't work.
Of course, the whole NXT 1.0 vs. NXT 2.0 story doesn't help...



Let me finally say that I never ever had any serious problems with a LEGO model, ever. Sometimes it took days to figure out what I did wrong. But eventually I always realized it was my mistake. This is generally a very valuable lesson in programming, too (let's be honest, who of us has ever found a real compiler bug, but how many of us thought hundreds of times "this time it's gotta be their fault"?).



And one last thing: It's a matter of expectation. LEGO robots are toys, not industrial strength reliability-machines. I have to expect that they wear out, and I'll have to cope with it (which can be fun, too).

Matthias Paul Scholz said...

I agree with my fellow commenters that in most cases, issues for builders for whom the model does not work arise form the fact that they are doing something other than the author of the model intended. This may have various reasons (lack of attention, missing skills, unclear building instructions etc.).

Yet, according to my experience (as an author of models as well as a "user"), another large group of reasons for a model not working for a particuluar builder is not connected to errors on the builder's side, but rather to the complexity of the environment robots are working in.
For example, for mobile robots even such things like different types of carpets affect the robot's performance in a way which may be completely unpredictable for the original author of the model.

Extensive testing on part of the author might help here before publishing, yet this will never be able to cover all possible peculiarities of the environment a robot may encounter with a particular user.

Tim said...

Some perfect examples of these problems...

...not following all of the instructions...
...I recall trying to build Spike (NXT 1.0) for the first time, and I couldn't get the tail to work. Apparently, I did not count the number of empty technic holes I had between pins properly, and it didn't work very well because of it.

...the environment of your robot...
...you might want to start by using your robot in the same type of environment as it was intended (hard flat surface, carpet, water, even snow). Hard flat surfaces usually work best. You should also note anything that is warned against for your kit. The spybotics kits, for example, warns about using your model in grass, and possible sources of interference in the infrared communications system (TV remotes, the sun, florecent lights).

Dennis said...

On a basic level, I teach an introductory class in building with NXT and the motor servos alone sometimes do not match up causing robots to travel in erratic patterns. The calibration programs that I have seen and used seem to address this issue but I can tell you that the touch sensors in nearly all of my students kits rarely work as they are programmed to, and the light sensor is worse. Obviously this was a major flaw in the original NXT or LEGO would not have created the new version in the 2.0 set. If only they would have worked on the touch sensor as well...

Steve said...

Easy... because building robots requires intelligence.

Some designs require more intelligence than others.

Some builders have more intelligence than others.

Some designs are so complex, poorly thought-out, or poorly documented that even the best builders can not reproduce them.

Other designs are so easy, a caveman could do it.

Related Posts Plugin for WordPress, Blogger...