Re: New web articles on robotics are now available
- From: "Wayne C. Gramlich" <Gramlich@xxxxxxxxxxx>
- Date: Wed, 30 Nov 2005 19:58:17 GMT
gwlucas@xxxxxxxxxxxxxxxxxxxxx wrote:
[snip typo]
I must confess when I read the first article my basic reaction was "why would any beginner do it that way?"
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/ "
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]
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.
I request that you actually say that in the article.
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?
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.
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.
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
inertia. So starting and stopping is costly in terms of time and energy.
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.
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?
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 .
- Follow-Ups:
- Re: New web articles on robotics are now available
- From: Mike Young
- Re: New web articles on robotics are now available
- References:
- Re: New web articles on robotics are now available
- From: gwlucas@xxxxxxxxxxxxxxxxxxxxx
- Re: New web articles on robotics are now available
- Prev by Date: Re: how to calculate req'd motor strength ?
- Next by Date: Re: New web articles on robotics are now available
- Previous by thread: Re: New web articles on robotics are now available
- Next by thread: Re: New web articles on robotics are now available
- Index(es):
Relevant Pages
|