Let's Make Robots!

Robotic Musings


I have had a lot of stray robotic thoughts running through my head lately and I thought I would share some of them, so I created this blog.

Anyone who might be new to LMR should not mistake me for someone who actually knows what they are talking about.  I am new to robotics and am currently working on my first robot project.

I will post several topics to this blog, some may be technical, other's quite subjective.  Feel free to comment, agree, or disagree as you like.  The primary purpose of these entries will be to simply chat and have a good time.  Take nothing I say too seriously or to heart.


                -Hal   (kingart3)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I think I tend to apply both. I'm such a busy person that, most of the time, I do multiple things at once, thus jumping from one thing to another. That said, when I need to design/program something, I do break everything down in steps: what does this thing have to do and in what order? Once I have an idea of the sequence my design has to follow I start coding in that order. But then, usually while I'm doing work on step 7 for example, I suddenly think of a better way to step 3 and jump to three again.

To an outsider, my programming technique often looks chaotic, but I see a lot of structure in it.

I am a "scatter thinker" as you call it. Perhaps, "opportunistic thinker" is another way to look at it.

When building robots you are often faced with delays such as waiting for parts to arrive or waiting until you have the money to buy the parts. As such I always had more than one project going at once and must jump from one project to the next.

The only weakness I find is that sometimes you forget to do something because you get distracted by the other projects and ideas. Some times I do not do as good a job as I could have because I have too many projects going on at once.

The biggest strength is that you often find the solution to a problem in one project while working on another. Lateral thinking becomes common place.

Even when I am programming, if I get stuck on one part of the program then I just work on a different part until the solution presents itself.  I think of a robot program as a structure with all your subroutines that read sensors or drive motors etc. as being the framework. Once I have that framework in place then I can work on the AI in the centre of it all.


Yes I think "opportunistic thinker", might be a better term.  To a "step thinker" opportunistic thinking appears disorganized, but I have seen some really amazing solutions come from people using this approach.  In fact several of the most intelligent people I know use this technique.



Over the years I have spent a lot of time around engineers, technicans and other "problem solvers".  As a computer programmer, I tend to think of everything in steps, breaking things down into steps, etc.  Over time I realized that not everyone approached problem solving that way.  In this blog entry I intend to discuss the two ways of problem solving I have observed and their relative strengths and weaknesses.

Step thinking

In engineering you are often presented with a problem or a set of requirements.  You then attempt to come up with a solution to the problem and this in turn is broken into steps which implement the solution.  This is common in computer programming.  A problem may be addressed by one or more programs which are each broken into subroutines, which are each composed of lines.  There is really nothing radical about step thinking, its used from everything from rocket science to baking a loaf of bread.  Almost any cook book will break how to prepare something into steps.


Step thinking has several strengths.  For one it creates  a complete plan that takes the solution from start to finish.  Also step thinking tends to consider each step in detail for possible problems.  Where you are on a project and when it will be done are much easier to estimate with step thinking.  If you are 5 steps through a 10 step plan and all steps require equal time you are 50% finished.  Step thinking is by far the most common problem solving approach I encounter and what comes naturally to myself.


The greatest weakness of step thinking is it can get stuck.  If a step proves hard to implement the step thinker can stop indefintely on that step.  Like moving up a ladder, if the 6th rung is missing the step thinker may progress no further.




Scatter Thinking

Over time I noticed some people I worked with approached problem solving in a radically different way. I will call it for lack of a better term "scatter thinking". The scatter thinker may break a solution into steps, but feels no constraint to work on them in any particular order. The scatter thinker often hops from one step to another, sometimes not completing a step and often returning to it for revision several times. Scatter thinking has several weaknesses but also some powerful strengths.


Scatter thinkers often will revisit and rework a step several times. If the project was to make a clay bust, a step thinker might start at the neck and work up, moving on to the chin and jawline, upward toward the ears, mouth and eyes, and finish off with the hairs on the top of the subject's head. A scatter thinker might work on the left ear, move to the nose, do an eyebrow, go back and fix the ear, move to the lips, go back and fix the left ear again. I am sure you get what I mean. Also scatter thinkers often do not know when they are done and cannot predict when a task will be finished. They hope from place to place, adjusting and reworking until they are happy with the results if ever.



From my description above it may seem I think there is no merit to "scatter thinking" but that is not true, because it has some powerful strengths.  The first is the scatter thinker does not get stuck.  If he has trouble with something he simply skips to another step and works on it while he allows his subconscious mind to work on the problem.  Sometimes as well when you skip to another step you realize later the problem step is wrong or not needed at all.  Scatter thinking can also lead to "out of the box" solutions which are amazing.  For instance to return to my example of the bust, suppose you cannot get the left ear correct.  The step thinker is stuck, but the scatter thinker might say, "suppose his hair is really long?  What if it covers his ears?"  Problem solved.

Final Remarks

So what has this to do with robotics.  Nothing directly.  We all tend to fall into what is natural for us, but I would encourage you to sometimes, make a conscious effort to apply the "other" method of problem solving to overcome hurdles.  I have had problems I couldn't solve in 4 hours that I fixed in 15 minutes the next morning because I moved to another step and let my subconscious mind work on the issue for me.

I am naturally a step thinker and in my future posts you will notice a tendency of mind to want to break things to steps or categorize.  Consider yourself warned...LOL.


          -Hal (kingart3)