New web articles on robotics are now available

Translate This Thread From English to

Threaded View

I have just posted a pair of articles called
"Calculations Useful for Robotics" on
The Rossum Project web site. They can be found at
http://rossum.sourceforge.net/papers/CalculationsForRobotics/

The articles discuss two elementary approaches
to the inverse kinematics problem for a wheeled
robot (or vehicle). In other words, they help
a robot answer the question "If I am here, how
do I get there?"

Also, I would like to thank everyone who responded
to my post here a few weeks ago and provided
comments and suggestions for the articles.
The feedback I received was very useful and
I am grateful for it.

                               Gary


Re: New web articles on robotics are now available


Looking forward to it. (I get 404 errors on the "Path ..." links.)


Re: New web articles on robotics are now available

Thanks.  It was operator error.  It's fixed now.


Re: New web articles on robotics are now available

Thanks.  It was operator error.  It's fixed now.


Re: New web articles on robotics are now available

Great articles - if you have a degree in engineering or mathematics.
Otherwise, just looks like an elitist academic treatise...




Re: New web articles on robotics are now available


Mr. Stewart,

Thank you for your assessment. As you can imagine,
it is not at all what I'd hoped to hear.  In fact,
it is so completely at odds with what I thought I was
doing in writing the article that I'm going
to have go back through the thing and try to figure out
what it was that you found so objectionable.
Perhaps, if I clarify what I was trying to do,
someone can offer suggestions for improvement.

I find your description of the article as "elitist"
particularly troubling since I tried very hard
to stay clear of any advanced mathematics. For
example, in the first article (which describes a
robot's path following an arc of a circle), I stuck
strictly to high school trigonmetry. In fact, it's
a lot quicker to obtain the same results using
calculus, but I wanted to keep the material
accessible to high school students. Even then,
there were places where I worried that I was giving
too much explanation, not too little. If you look
at equation 4, you'll see that I actually wrote out
most of the steps in the algebra, showing where
the cosines cancelled and so forth... these are steps
that are almost always left out in textbooks (the
assumption being that the teacher or professor can
always fill in the details). Since my
readers would be mostly on their own, I felt it
important for me to show the development in detail,
even at the risk of appearing pedantic.

And this was my approach throughout both articles.
In the second article, which used calculus, I was
careful to stick to first-semester stuff. When I took
calculus, I was always losing 5-points per problem
when I solved an indefinite integral and forgot
to write down the integration constant. At first that
annoyed me because I assumed that writing down
the constant was just a pro-forma exercise.
Later, I realized that it was important because that
constant was the key to linking the calc to real-world
applications. In writing my article, I wanted to give
inexperienced readers a hint about what was going on
so that, perhaps, they could avoid my rather clueless
experiences in freshman calc. So in the second article,
when I talk about applying "initial conditions" (which
I put in italics for emphasis), I put a lot of work
into supplying a context for the term. To someone who's
taken differential equations, of course, the term is
a wonderful shorthand for all sorts of ideas that
might take a whole semester to sink in. Since I figured
that some of my readers would not yet have
that experience, I wanted to give them what they
needed to use the concepts themselves.

So, I guess I have to ask you what was the basis
for you complaint. The tone? The explanations?
Awkward mathematics? I'm sure there are ways to
improve the math. If there are gaps in the explanations,
I'll be happy to try to fill them in. And as far
as the tone...  well, it is a bit dry, mannered,
and plodding, but then again, so am I. We all
have our crosses to bear.

The thing that should be clear by now is that
I didn't just churn out an academic paper, but
thought very hard about what my readers would
need to be successful with the techniques I presented.
Franky, I do not believe that I failed. Clearly,
you feel otherwise. When I wrote the article,
my thought was that I was building a bridge from
some elementary theory to more advanced applications.
Now I find that rather than building bridges,
I am burning a few. So, then, what's the problem?
Tell me and I'll fix it.

                                  Gary


Re: New web articles on robotics are now available


[snip]

Gary:

I would like to provide you with some constructive
feedback on your articles.

You are clearly trying to write a couple of useful
articles, but I must confess when I read the first
article my basic reaction was "why would any beginner
do it that way?"

For differential steering, it seems much easier to
adjust the robot bearing to point at the destination
and go in a straight line.  For Ackerman steering,
again it seems easier to go in a short circle until
the robot is pointed at the destination and then go in
a straight line.  For holonomic, going in a straight
line is again the simple and easy solution.

I simply did not read the second article, since if you
want to go through a series of way points, the reorient
and straight line method seems much much simpler.

Lastly, in the first article, at around [2] the text
text around "From inspection, we see the sum of angles
R and phi ..." should probably be phi-sub-G instead of
phi.

I stopped reading the first article around [5],
since I think most beginners (like me) would prefer
use the simpler straight line solutions.  I would
strongly recommend that you add some text to your
articles pointing out that the straight line solution
is significantly simpler; otherwise, the very
beginners you are trying to help might erroneously
conclude that there is no simpler solution.

Again, the feedback above is meant to be constructive.

My $.02,

-Wayne

Re: New web articles on robotics are now available

Wayne,

Thank you for your excellent suggestions.  You are, of course, correct
about the
typo near equation [2].  I will fix it as soon as possible.


I thought about this question when I was writing the article and
it looks like I should revisit it. In the case of the differential
steering
system, it might make sense to say something like "if you are
interested in executing a simple point-and-shoot maneuver,
the required information (and then some) is available at
http://rossum.sourceforge.net/papers/DiffSteer/  "
In the case of the Ackerman steering, it might make sense to
write an additional, much shorter, article on how to get
a robot pointed in the right direction within certain performance
constraints.  To do so, I think I'm going to need  some real-world
testing.  Is there anyone out there with an Ackerman equipped robot
who would be willing to collect some data for me?

Finally, addressing the question of why anyone would want
to do the more sophisticated maneuvers.  Well, first off,
I strongly encourage anyone to work with the easy maneuvers
first. That being said, there are a number of advantages to
the more challenging maneuvers and maybe I should write more
on the topic. Do you think it would be more effective in the
Introduction section or in one of the articles?
The main advantage to the advanced maneuvers is that they're smooth.
If you are attempting precision dead-reckoning, the worse thing
you can do is stop. When you do, the backlash in your drive
system and encoder resolution errors contribute to loss of
navigation information. Also, even small robots carry some
inertia. So starting and stopping is costly in terms of time and
energy.

As I worked with the cubic equations (the second article), I liked them
better and better. They give a much nicer results than I'd expected
(it's the continuity and transitions in speed and acceleration that do
the trick).
Even so, it's important to keep in mind that the equations presented
are just a starting point. For example, they assume perfect knowledge
of the robot's environment.  When does a robot really know the range
and
bearing to a target with any kind of accuracy?  When does it
actually know where it is or its true rate of acceleration?  Thick
books
have been written on the problem. My little articles don't
pretend to be anything but a first step toward a real solution.
Really ambitious roboticists might want to look at
"Introduction to Autonomous Mobile Robots" by Siegwart and Nourbakhsh,
or "Computational Principles of Mobile Robotics" by Dudek and Jenkin.


So, any suggestions out there as to what I should write about
next?

                                                                  Gary


Re: New web articles on robotics are now available

I'm no expert, but after reading the first article I'd call it
textbook-quality.  If I had any critique at all, it would be one you've
already pegged on: the language is a little dry given your target
audience.  Also, there's one specific language issue: I think the
sentence that starts "For any locomotion system, the centripetal
acceleration due to the combination..." could stand revision.

Other than that, keep'em coming!

As for future topics: having skimmed the second article, it occurs to
me that a robot which needs to, say, get around a corner in a tight
maze would need more than just two control points (at its start and
destination around the corner) - it needs a constraint to stop it from
hitting the corner on its way!  The solution will need to include
knowledge of the robot's dimensions, or a "minimum safe distance" to
keep from the wall.  I guess this might otherwise be stated as how to
chose your control points given the constraints imposed by the
environment.

Keep up the great work!
D


Re: New web articles on robotics are now available


Don,

Thanks for your comments. You're absolutely right about that
particular sentence needing revision.  It was a serious klunker.

Your idea about presenting an algorithm for avoiding walls and
obstacles
is a good one. If the robot knows about its environment ahead of
time, then it can pick a path to avoid problem areas.
I dealt with some aspects of the problem in the RP1 robot
simulator in trying to model collisions. There's also some useful
material in Joseph O'Rourke's "Computational Geometry in C".
I'll have to give some thought to the scope of the problem and
what I can actually do in an article.

                                                              Gary



Don wrote:


Re: New web articles on robotics are now available


[snip typo]


I've read that paper as well and it is still more way more
complicated than necessary.  You briefly mention the easy
solution:

    ... let's consider the problem of getting a robot to
    make a turn around a corner in hallway or road.  A
    simple approach is to have the robot drive to the
    intersection, stop, and piviot.  Clearly, though,
    such an approach is inefficient and a bit ungainly.
    A more elegant approach would be for a robot to
    *round the corner*, following a gradual circular arc...

and then dismiss it it as being "inefficient" (presumably
you mean energy inefficienct) and "ungainly."

Most beginners have a difficult enough time getting the
robot to go in a straight line, let alone a gentle curve.

The following critisim is meant to be constructive.
I think it is a diservice to your intended audience
to skip over the straight line and pivot solution.
It is not like it is difficult.  If you are at (x1, y1)
with a bearing of b1 (0 <= b1 <= 2pi) and want to go to
(x2, y2), you compute the new bearing as b2 = atan2(x2 - x1, y2 - y2)
and the desired distance as d = qrt((x2-x1)^2 + (y2-y1)^2).
The robot is pivoted to the new bearing b2 and the robot
is driven forward by a distance d.  Actually, the hardest
thing for most people is figuring out how to compute atan2
when your trig library does not have an atan2 function.

[ackerman steering snipped]


I request that you actually say that in the article.


I'm not a big fan of overloaded introductions.  A small
serious of articles that leads the user from simple to
hard is a great service.  The differential steering article
mentioned above is still way too complicated given that
simpler solutions exist.


I've never seen an authoratative source of where dead reckoning
errors come from.  Most discussions that I've read claim that
the error comes from small errors in bearing being amplified
over distances.

 > Also, even small robots carry some

Anytime you make a sharp turn you need to bring your speed down.
However, I basically agree that starting and stopping do take
more time.  A beginner cares and more about getting the job
done.


If your focus is for beginners, I think a good discucssion on
rotational sensors would be interesting.  There are now a bunch
of articles on PID, but most of them just assume that you know
how to get useful information from a quadrature encoder.  Anyhow
it is a suggestion.

Again, let me repeat, all criticism is meant to be constructive.

-Wayne

Re: New web articles on robotics are now available


Indeed! OTOH, stop and pivot is quite intuitive, hardly requiring discussion
or much thought. If you gave it any thought at all, it would be: "I'll worry
about the niceties later. For now, I'll just stop and pivot."

That aside, I don't know that I would plot a course as all straight segments
or all smooth curves, spline-like. Waypoints define both a location and
approach vector. It depends on the problem you're solving, of course. I
expect a functioning nav system to hold the approach path as closely as it
holds waypoint locations.


Re: New web articles on robotics are now available



My degree is in neuroscience, but I didn't find them elitist nor hard to
understand.  It's only high-school level math, from what I could see,
and the discussion was pretty clear.  I don't need the material they
present at the moment, but I plan to go back again in the future when I
do.

Best,
- Joe

,------------------------------------------------------------------.
|    Joseph J. Strout         Check out the Mac Web Directory:     |
|    joe@strout.net           http://www.macwebdir.com              |
`------------------------------------------------------------------'

Re: New web articles on robotics are now available

Hi Gary

Sorry if my comment was harsh and made a somewhat unfair generalisation (
wiping egg off my face ).

I guess its been a long time since I did some higher algebra and first-year
calculus at university. I only have an undergraduate degree in chemistry and
biology and was a high-school chemistry teacher for over 10 years. I used to
tell the students " If I was smart, I wouldn't have been a science teacher,
that I would have been an engineer or mathematicican"! Even though I used
calculus for some of my courses, that was over 15 years ago. I guess my
maths isn't as strong as I would like it to be - I guess that's why I didn't
do engineering or mathematics degrees. So I guess my maths intellect is not
as high as I would like it to be.

Yes your first article was well explained and included high-school trig.
Maybe it was just me, but the second article  A Path Based on Third-Degree
Polynomials lost me -probably because I haven't even looked at calculus for
15 years, and got turned off when I thought I would have to spend a lot of
time and energy to understand the mathematics. I guess it is difficult to
know how much hand-holding is needed in this article, but from my limited
capabilities, more step-wise explanation or perhaps references to the
background calculus, algebraic manipulations and derivations would help. My
Texas Instruments TI-89 Titanium could probaly do some of the math for me,
or Mathematica  or Matlab (if I had a copy).

I suppose what annoyed me was the tone that is similar to maths textbooks
that assume that because the author has been teaching maths for a living for
decades that the reader can fill in all the gaps.

Maybe that's why if I was studying calculus again, I would be the type to
buy a "Calculus for Dummies" book. Some people like myself can do the math
quite well once it is explained in way the student can understand. I found
that university lecturers are not necessarily good teachers in that some
cannot explain things from a different angle and lack flexibility in
communicating ideas laterally.

So basically, I apologise for an unfair criticism that probably reflects a
lack of my maths skills and laziness not re-learning the necessary skills to
tackle the concepts involved. It is frustrating if you really want to
understand new concepts for robotics, but feel limited in your ability to
understand the maths that others find easy.

Keep up the good work.

Cheers

|-]

Dale



Re: New web articles on robotics are now available

By the way, a picture says a thousand words. More diagrams explaining
concepts ( not necessarily physical movements, but abstract concepts ) would
be great.




Re: New web articles on robotics are now available



Congratulations. The system worked.


Site Timeline