The purpose of the integral action on any controller is to eventually
force the average (over an interval much longer than the integral time
constant) error to zero. I couldn't get anything but a blank page
from the above link, so I can't say if you have thought up a different
way to achieve that objective.
Oh, wasn't it available to see the webpage? I'm sorry. If possible, could
you visit the webpage on Windows 98/2000 with InternetExplorer?
Or please visit another webpage:
The contents of that webpage is the same as the previous one.
I am not completely familiar with your notation, but reading through
the description, it appears that you are comparing the affine with
integral approaches with the only disturbance being the change of
setpoint. Have you compared the two approaches for changes in output
loading? Or did I miss that in reading your description? Servos have
to deal with large changes in loading and still be stable and reach
Probably you are referring to adaptive control. In my webpage the controller
parameters are fixed, namely output loading is supposed to be constant. As
you've mentioned, when the output loading varies, the controller parameters
should be modified so as to stabilize the system, but I'm afraid it isn't so
relevant with the topic explained in my webpage...
If you are interested in the change of controller parameters owing to the
change of loading, please visit another webpage:
in which I explained the method to compensate the change of controller
I think this is a good example of how paying tight attention to the math
without referring back to reality can lead you to false solutions. One of
the weakneses that I noticed in my training in state-space controllers was
the level of neglect that was given to real-world phenomena. I assume that
this is because it is difficult to relate parameter variations to real-world
performance degradation in a state-space system, so it's assumed that if you
do your design in state-space you'll use some other technique to analyze the
robustnes of your system.
The affine action that you introduce reduces to a feedforward of the
setpoint, scaled to correct for the finite DC loop gain. This is not a bad
thing in itself, because it can speed up the system's response to setpoint
changes and it can take out some of the steady state error. It fails,
however, to fully replace the integral action. The first failure is that
the feedforward term can only null out the steady-state error from a
non-zero setpoint if the system is modelled exactly. Any time the plant's
parameters change in a manner that changes it's DC gain the feedforward
(which is based on the system's DC gain) will no longer work. The second
failure is that the feedforward change cannot correct for external
disturbances. If the plant is being influenced by forces outside of the
control system (and what plant isn't?) the only thing that will help you is
some sort of integral action to bring the plant output back into line.
Now, if you have a plant who's parameter variation is known, and you can
stand a little bit of deviation from the setpoint due to external
disturbances, then feedforward plus proportional feedback is a very good
thing. I've used it myself in situations where I had a geared "coarse"
mechanism that located a "fine" positioner that was actuated by a speaker
coil -- but only on the coarse mechanism, and the fine mechanism had not
only an integrator, installed, but a lot of sweat, blood and tears poured
into it before it was done!
Yes, I agree with that at all. But about integrator itself, I have a
different thought from yours. Practically integrator is exposed to various
noise, so that it frequently causes integral saturation and sustained
deviation which makes difficult to apply integral action to feedforward
control, while my method explained in the webpage can avert the influence of
noise to control input when the set point has changed.
If you are interested in the control when plant's parameters change, please
visit another webpage:
in which the method to compensate the change of plant parameters is
I agree with Tom's conclusion above. I looks to me you are computing an
error and calculating a offset to fit the error.
I suggested in a earlier thread that the simulator parameter be in the
continous time domain so that we can enter parameters in as gains and
exponential frequency. The link below provides a couple of ways of
converting the continous time to discete time.
This started as an example from 'Digital Control System Analysis and Design'
by Phillips and Nagle.
I prefer the 'brute force' exp(Ac*T) or approach as it works well with a
C++ matrix class. I am sure that there is Java matrix class that allows
these calculations to be done easily. The exp(Ac*T) function shown can be
BTW, how did you expect us to choose a reasonable parameters in discrete
time when you haven't provided the update interval T?
Is the system a second order velocity system or a first order position
system. You don't make that clear.
Thank you for letting know a nice site for analog-digital conversion.
Generally it is absolutely necessary to carry out such conversion for
practical purposes. As you've known, there is nothing mentioning that
procedure in my webpage. So you may think my idea is just abstract and not
practical... On digital control system the time interval is discrete and it
surely has the effect on the system matrix. But what I can say is only that
the order of that matrix corresponds to the order of ordinary differential
equation on continuous system in the case of SISO. In the case of MIMO, if
the number of control inputs is equal to that of control outputs, then the
method explained in my webpage is easily extended. I added the way how to
calculate that generalized affine gain in the webpage.
Yes. It is called 'The internal model principle of Control Theory'. To be
able to truly compensate for a disturbance, you'll need to design a
controller which is able to reproduce this disturbance internally.
Internally means that the controller must be able to constantly reproduce
the disturbance without aditional imput after the disturbance has been
Francis and Wonham wrote a classic on this topic in 'automatica' in 1976.
If it is able to model a steady offset internally it may work.
I heard if the reference and disturbance signals have a simple and known
structure such as constant, linear or sinusoidal with known frequency, then
disturbance rejection problem can be solved accurately using the internal
model principle, formulated by B. Francis and M. Wonham.
If the disturbance could be modelled accurately it wouldn't be a
disturbance. It would be a characteristic of the system. Real world
disturbances are random and unpredictable. For example the effect of rain
on an aerial cooler, of sloshing on a level measurement., of bad calibration
on a transmitter and loss of steam on a turbine.
I think so. But it is really hard to get good result under bad
calibrations, isn't it? I tried applying well-known output feedback
method to FTSC/FTSO under such bad conditions in the following
But the improvement seems to be limited. While substitution of
integral action by "affine" action is another matter. It is explained
in the follwoing webpage:
I think it is able to be expected that the less overshoot and faster
convergence to the set point using that action.
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.