If you know control theory, get a good book on adaptive controller
design. I'd suggest Karl Astrom's "Adaptive Control".
Ask yourself if you _really_ need adaptive control. It has its
applications (and I've written adaptive controllers) but it also have
it's pitfalls. Can you do the job with a gain scheduled controller, a
robustly-tuned PID, or with some carefully selected non-adaptive
The biggest "hint" I can give is to make sure that you understand
adaptive control _first_. Applying it correctly is more involved even
than writing code for it, so make sure you _really_ understand it.
On Wed, 14 Jul 2004 11:46:07 -0700, Tim Wescott wrote:
Thank you for your answer. Tomorrow I will take a look in our univer-
sity library if they have this book available.
Would you mind to send me your code? It would be a big help in the
Unfortunately, I'm not very familiar with the controller you just
mentioned. One of my biggest problem is the nonlinearity of the robot's
velocity profile. So, I was hoping the adaptive controller could solve it.
The adaptive controller was a long time ago, for and employer, and not
very firmly grounded in mainstream theory (actually I learned formal
adaptive control after realizing that I'd just written an adaptive
controller! I even did it almost correctly).
If your robot's velocity profile in nonlinear in a way that is
predictable and easily modeled then using and adaptive controller is
probably _not_ the way to go -- adaptive control is very good at solving
the problem of controlling something when its characteristics change in
slow and unpredictable ways, but if you already know what's going to
happen it can be quite redundant and if the system behavior changes
quickly (such as changing dynamics in an articulated structure) it can
be difficult to make adaptive control work nicely.
Application of control theory to robotics has its own body of
literature, so there may be information there for you to mine. I know
that there are problems with articulated structures that lead to
dynamics that can vary quite viciously, even to having the structure of
your model change as links become lined up.
I've never controlled robotics myself, but if I were in your shoes I'd
start by considering a gain-scheduled system. If that didn't work I may
extend it, for instance perhaps by keeping track of the angular momentum
"seen" by each joint -- so I'd know that if I'm swinging the whole thing
around and I draw in the "elbow" joint I'll see increased velocity at
the "shoulder" joint if I don't do anything.
I know I'm being a Luddite, but being a servo engineer tends to do that
How about programming the velocity profile into the controller as something
of a lookup table. Before making a movement, work out a predicted movement
trajectory (location, velocity). After you have the prediction figured out,
start the movement, and monitor it to be sure that you are meeting your
prediction. Add or subtract force as necessary to stay on course. You
could use a PID controller to adjust the force during movements.
I'm guessing that when you say "nonlinearity of the robot's velocity
profile," you mean that to keep constant speed, the torque command
is not constant. This can sometimes be accomplished with a proper
controler "type." Usually with robots, however, the relationship
between velocity and torque can not be properly resolved by the
controller type (integrators). Often there is a position dependent
load due to the kinematics of the machine itself. If this is your
problem, an excellent solution is to design your control with a
position dependent feed-forward gain. If you do this correctly, you
can adaptively tune the feed-forward gains to completely eliminate
errors due to the position-dependent load variations.
The first question is: Why do you need an adaptive controller? Are you
sure an LTI controller cannot do the job? Adaptive Controllers are not
for the faint hearted as they are nonlinear time varying control
loops, so special care and feeding is required. If you don't have a
thorough understanding of adaptive control concepts, I suggest you be
careful! I have so often seen people jump to implement a
Fuzzy/Neural/add-your-favourite-technique-here controller when a
simple well designed and implemented classical controller will
Adaptive Control can be used in robotic autonomous path planning. You
need to seek out some robotics folks, if you are trying to use/fuse
sensor data into useful information for a robot to 'path plan' or
navigate based on sensory feedback.
Here is a good site I found at Ken Hughes's web site:
I knew this guy back in grad school. He's now a professor, and
a really nice guy. He *may* advise you on your robotic efforts,
especially if you are doing something interesting that can be published.
When it comes to 'c' coders, he is the very best!
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.