Theodolite models

[Hans Blom, 970305b]

(Bill Powers, last post)

Bill, I discovered an error in your PCT/MCT comparison program. In
the initialization, we find a definition of

J := 10.0

But when the PCT controller procedure is called, we find a
redefinition

j := 1.0 (j and J is the same thing in Turbo Pascal!)

This means that the MCT and PCT controller control different objects.
Moreover, the redefinition of J = 1.0 remains in force when one
switches back to the MCT controller. That is very confusing.

I suggest that you remove the redefinition in the PCT controller (and
earlier I suggested to make J user-variable as well). When you do,
you will find that at J = 10 you will have to retune some gain
constants in your control loop to get the same good performance as at
J = 1, for which your controller seems to have been designed. That is
a general feature of the PCT controller: it needs to be retuned for
different values of J. This is not so for the MCT controller, as you
can easily check.

So my suggestion to exercise both controllers at different values of
J may create some problems for the MCT controller. Unless you find a
way to make these gain constants J-dependent. But in that case you
will have created a model-based controller, of course...

Greetings,

Hans

[From Bill Powers (970305.1345 MST)]

Hans Blom, 970305b--

Bill, I discovered an error in your PCT/MCT comparison program. In
the initialization, we find a definition of

J := 10.0

Good find. I'll fix it in theo5mct.pas when I post the final version.

Best,

Bill P.

[From Bill Powers (970305.1405 MST)]

Hans Blom, 970305b, continued --

Bill, I discovered an error in your PCT/MCT comparison program ...

I've fixed it, and the two models now behave identically, except for

(1) The disturbance has a slight (actually about 2%) effect on position in
the PCT model, and no visible effect in the MCT model, and

(2) the overshoot at slope = 5+ is slightly larger for the MCT model than
for the PCT model.

The effect of the disturbance in the PCT model is related to the size of dt.
With dt = 0.01, the maximum gain in the velocity control loop is 100, and
that limits the maximum gain in the position loop to 50. With a position
gain of 50, the position error is 2% of the magnitude of the disturbance.

Best,

Bill P.