PID v PCT

[From Bruce Abbott (2018.08.25.2240 EDT)]

[Martin Taylor 2018.08.25.21.46]

[From Bruce Abbott (2018.08.21.0950 EDT)]

[From Rupert Young (2018.08.18 10.10)]

[From Bruce Abbott (2018.08.15.1530 EDT)]

[From Rupert Young (2018.08.15 14.40)]

Sure, and those points are not apparent from general discussions of PID. Though those aspects would be part of a PCT architecture that could include PIDs. I was thinking more of at the level of a single system. A couple of things struck me from this video,

  1.   when it introduces the integration bit (3.10) it talks about the car continuing in the same bearing even though it has been thrown off course. So, it doesn't seem to appreciate that the error is a *perceptual* error, so immediate corrective action would be taken.
    
  1.   near the end (4.20) it states the purpose of "constructing a steering angle" to control the car. So, the PID is still, conceptually, viewed as a control of output controller. So, it's not surprising that mainstream robotics research is based upon computational models designed to compute specific outputs.
    

I’ve made this point before but it bears repeating. What are labeled as “outputs� in engineered control system diagrams are called “inputs� in PCT control system diagrams. That is, in control system engineering, an output is the controlled quantity.

Yes, sure, in this case what would be called “output” is the position of the vehicle, and is the controlled variable, and is what we would call “input”. And I had thought that this is what control engineers had seen as the controlled variable.

But I don’t think that is what they are saying here. They seem to be under the impression that what is being controlled is the output of the controller, which is the steering angle; what we would call the “behavioural” output, and not the sensed value. They seem to be regarding the controller as a “transfer function” from the current state of the system to the steering angle.

What’s wrong with that? The current state includes the error between reference and perception, which the system attempts to reduce. Given the current state, what is needed is the right action that will reduce the error without inducing problems such as sluggish performance, overshoot, or oscillation.

MT: I may be missing something, not just in this interchange, but right back to my first (and last previous) intervention, in this thread.

MT: Am I wrong, or when the car “hits a rock” and misaligns the steering, do they not use a previously known steering offset (zero) to continue to determine how they set the steering wheel to achieve a desired direction of motion? A PCT controller wouldn’t do that. If the steering-to-running wheels relationship changed in the middle of controlling for driving in the middle of the lane, a PCT controller would move the steering wheel until the direction was correct, regardless of any change in the relationship between steering wheel angle and road wheel angle. In fact, a goblin could rebuild that relationship on the fly, and ask a gremlin to turn a hidden wheel slowly and randomly to keep that relationship changing, and the PCT controller simply wouldn’t notice that anything changed. It would have the same effect as a changing cross-wind.

Martin, see my previous post (2018.08.25.2100 EDT)] in which I answer this concern. In a nutshell, they do not use a previously known steering offset (zero) to determine how they set the steering wheel. All they are saying is that before the accident with the boulder, zero position error gave a steering offset of zero, so that the car went straight rather than turning. After the accident, a zero position error gives a nonzero steering offset, so that the car turns in one direction or the other.  As a result, when the position error is zero, the car turns, causing error to increase. To get the car to go straight, the controller must produce the opposite steering offset, which for proportional control means that the error must remain at a nonzero value large enough to produce the necessary offset. This steady state error is eliminated by adding integral control.

The computational models I think you have in mind are a different animal altogether. These are models that attempt to compute the actions that will be used to control some variable, based on, e.g., computing inverse dynamics.

Yes, but that seems to be precisely how these guys are thinking of the controller, as something that computes the actions, as they say, “constructing a steering angle” to control the car.

This seems to me to be the fundamental problem with conventional Robotics/AI, and the difference in conceptualisation with PCT, that they regard a controller, whether it be PID or model-based, as a transfer function between state and action, where the purpose of it is to compute the behavioural output. This presumption seems to be accepted as unquestioned foundation of within control engineering/robotics. Understandably it would be very difficult for people to think differently, but the conceptualisation has profound implications for the architecture of proposed artificial systems.

That may be so, but I’m not convinced that this is an example. It seems to me that what they mean in the video by “constructing a steering angle� is computing actions that will optimize control over the car’s position despite the effects of disturbances. T

It seems to me that this is what a 2-level standard PCT hierarchy would call “adjusting a reference value for the steering wheel angle”.

That’s what I thought initially, but then realized that they were talking about the steering offset acting as a disturbance (much as a side wind might), not that a zero offset served as a reference for a steering angle controller.

MT: Anyway, if I am right now, I was obviously wrong to say in [Martin Taylor 2018.08.14.23.02] that there is nothing in the linked description of a PID controller to distinguish it from a PCT controller.

No, you were right the first time.

Bruce

[From Bruce
Abbott (2018.08.25.2240 EDT)]

Â

[Martin Taylor 2018.08.25.21.46]

Â

···
          [From Bruce Abbott

(2018.08.21.0950 EDT)]

Â

        [From Rupert Young (2018.08.18

10.10)]

Â

            [From Bruce Abbott

(2018.08.15.1530 EDT)]

          [From Rupert Young (2018.08.15

14.40)]

          Sure, and

those points are not apparent from general discussions of
PID. Though those aspects would be part of a PCT
architecture that could include PIDs. I was thinking more
of at the level of a single system. A couple of things
struck me from this video,

1.      when
it introduces the integration bit (3.10) it talks about
the car continuing in the same bearing even though it has
been thrown off course. So, it doesn’t seem to appreciate
that the error is a perceptual error, so immediate
corrective action would be taken.

2.      near
the end (4.20) it states the purpose of “constructing a
steering angle” to control the car. So, the PID is still,
conceptually, viewed as a control of output controller.
So, it’s not surprising that mainstream robotics research
is based upon computational models designed to compute
specific outputs.

            I’ve made this point before but

it bears repeating. What are labeled as “outputs� in
engineered control system diagrams are called “inputs�
in PCT control system diagrams. That is, in control
system engineering, an output is the controlled
quantity.Â

        Yes, sure, in this case what would be called "output" is the

position of the vehicle, and is the controlled variable, and
is what we would call “input”. And I had thought that this
is what control engineers had seen as the controlled
variable.

        But I don't think that is what they are saying here. They

seem to be under the impression that what is being
controlled is the output of the controller, which is the
steering angle; what we would call the “behavioural” output,
and not the sensed value. They seem to be regarding the
controller as a “transfer function” from the current state
of the system to the steering angle.

Â

          What’s wrong with that?  The

current state includes the error between reference and
perception, which the system attempts to reduce. Given
the current state, what is needed is the right action that
will reduce the error without inducing problems such as
sluggish performance, overshoot, or oscillation.

      MT: I may be missing something, not just in

this interchange, but right back to my first (and last
previous) intervention, in this thread.

      MT: Am I wrong, or when the car "hits a rock" and misaligns

the steering, do they not use a previously known steering
offset (zero) to continue to determine how they set the
steering wheel to achieve a desired direction of motion? A PCT
controller wouldn’t do that. If the steering-to-running wheels
relationship changed in the middle of controlling for driving
in the middle of the lane, a PCT controller would move the
steering wheel until the direction was correct, regardless of
any change in the relationship between steering wheel angle
and road wheel angle. In fact, a goblin could rebuild that
relationship on the fly, and ask a gremlin to turn a hidden
wheel slowly and randomly to keep that relationship changing,
and the PCT controller simply wouldn’t notice that anything
changed. It would have the same effect as a changing
cross-wind.

        Martin, see

my previous post (2018.08.25.2100 EDT)] in which I answer
this concern. In a nutshell, they do not use a previously
known steering offset (zero) to determine how they set the
steering wheel. All they are saying is that before the
accident with the boulder, zero position error gave a
steering offset of zero, so that the car went straight
rather than turning. After the accident, a zero position
error gives a nonzero steering offset, so that the car turns
in one direction or the other. Â As a result, when the
position error is zero, the car turns, causing error to
increase. To get the car to go straight, the controller
must produce the opposite steering offset, which for
proportional control means that the error must remain at a
nonzero value large enough to produce the necessary offset.Â
This steady state error is eliminated by adding integral
control.

            The computational models I

think you have in mind are a different animal
altogether. These are models that attempt to compute
the actions that will be used to control some variable,
based on, e.g., computing inverse dynamics.

        Yes, but that seems to be precisely how these guys are

thinking of the controller, as something that computes the
actions, as they say, “constructing a steering angle” to
control the car.

        This seems to me to be the fundamental problem with

conventional Robotics/AI , and
the difference in conceptualisation with PCT, that they
regard a controller, whether it be PID or model-based, as
a transfer function between state and action, where the
purpose of it is to compute the behavioural output. This
presumption seems to be accepted as unquestioned
foundation of within control engineering/robotics.
Understandably it would be very difficult for people to
think differently, but the conceptualisation has profound
implications for the architecture of proposed artificial
systems.

          That may be so, but I’m not

convinced that this is an example. It seems to me that
what they mean in the video by “constructing a steering
angle� is computing actions that will optimize control
over the car’s position despite the effects of
disturbances. T

      It seems to me that this is what a 2-level standard PCT

hierarchy would call “adjusting a reference value for the
steering wheel angle”.

Â

      That’s what I thought initially, but then

realized that they were talking about the steering offset
acting as a disturbance (much as a side wind might), not that
a zero offset served as a reference for a steering angle
controller.

[From Bruce Abbott (2018.08.26.0955 EDT)]

[Martin Taylor 2018.08.25.22.49]

[From Bruce Abbott (2018.08.25.2240 EDT)]

[Martin Taylor 2018.08.25.21.46]

MT: Am I wrong, or when the car “hits a rock” and misaligns the steering, do they not use a previously known steering offset (zero) to continue to determine how they set the steering wheel to achieve a desired direction of motion? A PCT controller wouldn’t do that. If the steering-to-running wheels relationship changed in the middle of controlling for driving in the middle of the lane, a PCT controller would move the steering wheel until the direction was correct, regardless of any change in the relationship between steering wheel angle and road wheel angle. In fact, a goblin could rebuild that relationship on the fly, and ask a gremlin to turn a hidden wheel slowly and randomly to keep that relationship changing, and the PCT controller simply wouldn’t notice that anything changed. It would have the same effect as a changing cross-wind.

Martin, see my previous post (2018.08.25.2100 EDT)] in which I answer this concern. In a nutshell, they do not use a previously known steering offset (zero) to determine how they set the steering wheel. All they are saying is that before the accident with the boulder, zero position error gave a steering offset of zero, so that the car went straight rather than turning. After the accident, a zero position error gives a nonzero steering offset, so that the car turns in one direction or the other. As a result, when the position error is zero, the car turns, causing error to increase. To get the car to go straight, the controller must produce the opposite steering offset, which for proportional control means that the error must remain at a nonzero value large enough to produce the necessary offset. This steady state error is eliminated by adding integral control.

MT: Aren’t you confirming my self-correction? A PCT controller controlling for being in the centre of the lane would never be controlling for going straight, whereas you say, as I understood the explanation to say, that the PID controller DOES control for the car to be going straight, which, after the accident, turns out to be in possible conflict with being in the centre of the lane. Whereas the PCT controller with a simple output integration stage does not perceive whether the car is going straight, the PID controller described does attempt to make it go straight, but does so only by precomputing what steering wheel angle will make that happen.

MT: I don’t know who to believe, you or the voice-over of the video. I think you are assuming that the error derivative is computed by taking the derivative of the error, making it a normal part of perceptual control, while the voice-over is assuming it is computed by comparing the current steering wheel angle with the angle for straight-ahead that was set at the factory. So maybe what I am disputing in my head is whether he is describing a perceptual controller or a computed-effect controller.

I think that both you and Rupert have been led astray by the following statement made in the video: the car hitting those rocks “knocks its front end out of alignment and therefore, a zero steering command no longer keeps the vehicle driving straight.� To PCT ears, a “zero steering command� sounds like a reference value for a steering angle controller. It is not. What the voice-over refers to as a “steering command� is the output of the element that sets the steering angle, which is the error multiplied by the gain. The steering angle is being set by the output function, not controlled by it.

When the wheels are properly aligned, zero error sets the steering angle at zero (straight ahead). Thus, when the car is at its reference position (in the center of the lane) and pointing straight down the road, the wheels remain in the straight ahead position and in the absence of disturbances the car remains at reference.

After its encounter with the rocks, the steering is misaligned and the car will tend to turn. When the car is pointed straight down the center of the road, it will begin to turn away from center, causing the error signal to depart from zero, causing the controller’s output function to change the steering angle to oppose the turn. As the error grows, it will eventually reach a value at which the steering angle has been changed enough to offset the effect of the steering angle misalignment, and the car will track parallel to road center but offset from it.

MT: Anyway, the standard PCT controller is, in these terms, a pure “I” controller, and “I” is the last thing added in the description. How would the video have looked if he had introduced the terms in a different order, such as I-P-D?

Please explain. As I see it, the standard PCT controller is a proportional controller with a low-pass output filter, the leaky integrator term. In the steady state it acts as a pure proportional controller and must maintain some degree of error in order to continue opposing a constant disturbance. Â

This is unlike an “I� controller, which can generate an output when the error is zero, an output that completely compensates for the effect of the disturbance on the controlled variable. This is because, as the current error approaches zero, the sum of past errors (integral term) is still nonzero, so that an output develops that continues to offset the effect of the disturbance on the CV.

Bruce

[Martin Taylor 2018.08.26.10.26]

Bruce, we seem to be talking at cross purposes. Let's not let it get

out of hand. I am going to delete most of the earlier interchanges,
because IF (and only if) the intent of the video is to describe a
perceptual controller, then most of what you say follows. On the
other hand, if you believe the voice-over in the couple of seconds
either side of 3.23, then he is not dong as you say (or at least can
be interpreted as not doing as you say), and is talking about a
computed output for the angular deviation rate of the car given the
steering wheel angle.

I do not think the bit you quoted is the ambiguous bit: *        I think that both you and Rupert have

been led astray by the following statement made in the video:* the car hitting those rocks
“knocks its front end out of alignment and therefore, ** a zero
steering command** no longer keeps the vehicle driving
straight.â€? It’s what follows immediately about “the controller we
have described so far” that is at issue. “The controller we have
described so far” clearly thinks that the car is steering to the
right (downward in the image) after the event, while it is
actually steering straight. A controller that computed the
derivative of the position error to determine how to change the
steering wheel angle would not do that. Only one in which the
steering wheel angle was hard-coded into angular deviation rate
would act that way. That’s the basis of my comment.

  There is, however one bit of what you say with which I take

serious issue:

I deliberately chose to ignore the leak to make the point. Including

the leak makes the PCT controller unlike a “P”, a “PI” or a “PID”
controller. Yes, it is the same as a “P” controller with a very
particular kind of low-pass filter – a rather ineffective one with
a roll-off of only 6 dB per octave, but to say that is the
complement of saying it is an “I” controller with a leak, just as
saying “It’s dry outdoors” is the complement of saying “It’s not
raining”. Quite often, PCT simulators also choose to ignore the leak
rate, and the simulations still work pretty well. Those controllers
are pure “I”, not “P” with a low-pass filter. There is a continuum
between pure “I” and pure “P” in PCT controllers with leak rates
that vary from zero to infinity, but I don’t think anywhere on that
continuum of leak rate is the mathematics the same as varying the
relative gain of summed “P” and “I” components (I haven’t verified
this statement, so it might be wrong, but at the moment I think it
is correct). When the leak is very slow, it’s mostly OK to think of
the leaky integrator controller as “I”, and when it’s very quick its
mostly OK to think of it as “P”. But I think it’s much less likely
to mislead if we just think of it as a leaky integrator of the error
value.
It is interesting, especially in view of our differing
interpretations of the video, that “P”, “I”, and “D”, all refer to
the computation of the output of the controller, not considering the
loop as a whole. In the video, if you consider the pure “P” example,
or even the initial bang-bang example, the car has inertia/mass.
F=ma integrates the sideways force applied by road wheels at an
angle to straight-ahead in producing the rate of change of the
position error. You can see this in the oscillations. That is
integration in the loop, despite being in the external environment,
so even the so-called “bang-bang” controller is actually a
bang-bang-integrator controller in PCT terms. All of the examples
output sideways force, never position in the lane, and finite
sideways force must be integrated over time to have any effect at
all on the position of the car, just as the rate of change of
position error must be integrated to produce the current change in
position error.
The conceptual difference with PCT is that in PCT all of this
doesn’t matter, The output form can be anything within reasonable
limits provided that the loop gain is negative, and control will
still be possible if the loop is intrinsically stable (that’s the
meaning of “within reasonable limits”). Changing the relationship
between steering and road wheels matters only in the transient it
causes, but it’s PCT-irrelevant in the longer term. For a PCT controller, questions of “P”, “I” and “D” are only about
stability and efficiency, not about effectiveness, and they all
imply linearity (as does the leaky integrator). But what about P,
I and the infinite range of comparable possibilities?
What about tolerance for small error? A PCT controller doesn’t care,
except that in particular circumstances one choice might give faster
but sloppier control (Kent’s simulations have shown that this is one
effect of having finite tolerance bounds). The engineer thinking about creating output functions that produce
the “proper” output, as with steering wheels having the correct
relationship with the road wheels, does care when things aren’t
exactly as specified. That engineer has to design something to
compensate for the anticipated possible problems. The engineer
thinking in PCT terms doesn’t have to worry about those things
(much), except as they affect loop stability, side-effects, and
control efficiency.
I believe that in interpreting the video, you are assuming that the
lecturer is taking a PCT viewpoint, whereas I think he may not be,
although I grant that he may and just uses unfortunate wordings to
imply otherwise. Martin

···
        [From Bruce

Abbott (2018.08.26.0955 EDT)]

[Martin Taylor 2018.08.25.22.49]


MT: Anyway, the standard
PCT controller is, in these terms, a pure “I” controller, and
“I” is the last thing added in the description. How would the
video have looked if he had introduced the terms in a
different order, such as I-P-D?

      Please

explain. As I see it, the standard PCT controller is a
proportional controller with a low-pass output filter, the
leaky integrator term. In the steady state it acts as a pure
proportional controller and must maintain some degree of error
in order to continue opposing a constant disturbance. Â

      This is unlike

an “I� controller, which can generate an output when the error
is zero,

2-2/3

[From Bruce Abbott (2018.08.26.1415 EDT)]

[Martin Taylor 2018.08.26.10.26]

Bruce, we seem to be talking at cross purposes. Let’s not let it get out of hand. I am going to delete most of the earlier interchanges, because IF (and only if) the intent of the video is to describe a perceptual controller, then most of what you say follows. On the other hand, if you believe the voice-over in the couple of seconds either side of 3.23, then he is not dong as you say (or at least can be interpreted as not doing as you say), and is talking about a computed output for the angular deviation rate of the car given the steering wheel angle.
I do not think the bit you quoted is the ambiguous bit: I think that both you and Rupert have been led astray by the following statement made in the video: the car hitting those rocks “knocks its front end out of alignment and therefore, a zero steering command no longer keeps the vehicle driving straight.â€? It’s what follows immediately about “the controller we have described so far” that is at issue. “The controller we have described so far” clearly thinks that the car is steering to the right (downward in the image) after the event, while it is actually steering straight. A controller that computed the derivative of the position error to determine how to change the steering wheel angle would not do that. Only one in which the steering wheel angle was hard-coded into angular deviation rate would act that way. That’s the basis of my comment.

The diagram shows a purple arrow parallel to the lane but to the left of it: the car is driving straight despite the wheel misalignment. A second, red arrow shows the steering angle, which the controller has adjusted to the right, thus compensating for the drift to the left that would occur if the steering angle were set to zero. The reason that the car is tracking parallel to the reference but to the left of it is due to the proportional factor: the controller must maintain some degree of error in position if it is to generate a steering angle that opposes the effect of the misalignment. The derivative term has nothing to do with it as we are dealing with a steady-state error.

There is, however one bit of what you say with which I take serious issue:

[From Bruce Abbott (2018.08.26.0955 EDT)]

[Martin Taylor 2018.08.25.22.49]

MT: Anyway, the standard PCT controller is, in these terms, a pure “I” controller, and “I” is the last thing added in the description. How would the video have looked if he had introduced the terms in a different order, such as I-P-D?

Please explain. As I see it, the standard PCT controller is a proportional controller with a low-pass output filter, the leaky integrator term. In the steady state it acts as a pure proportional controller and must maintain some degree of error in order to continue opposing a constant disturbance.

This is unlike an “I� controller, which can generate an output when the error is zero,

I deliberately chose to ignore the leak to make the point. Including the leak makes the PCT controller unlike a “P”, a “PI” or a “PID” controller. Yes, it is the same as a “P” controller with a very particular kind of low-pass filter – a rather ineffective one with a roll-off of only 6 dB per octave, but to say that is the complement of saying it is an “I” controller with a leak, just as saying “It’s dry outdoors” is the complement of saying “It’s not raining”. Quite often, PCT simulators also choose to ignore the leak rate, and the simulations still work pretty well. Those controllers are pure “I”, not “P” with a low-pass filter. There is a continuum between pure “I” and pure “P” in PCT controllers with leak rates that vary from zero to infinity, but I don’t think anywhere on that continuum of leak rate is the mathematics the same as varying the relative gain of summed “P” and “I” components (I haven’t verified this statement, so it might be wrong, but at the moment I think it is correct). When the leak is very slow, it’s mostly OK to think of the leaky integrator controller as “I”, and when it’s very quick its mostly OK to think of it as “P”. But I think it’s much less likely to mislead if we just think of it as a leaky integrator of the error value.

Point taken, but with a steady disturbance (here caused by the steering misalignment), the system will act like a proportional controller – it will have to maintaain some level of error in order to continue generating an output that will oppose the disturbance to lane position. This is the reason for the lane offset that the car experiences, relative to reference, after the incident with the rocks. Adding a pure integrator term allows the system to continue generating a compensating output even though the error drops to zero and the car tracks its position reference value.

It is interesting, especially in view of our differing interpretations of the video, that “P”, “I”, and “D”, all refer to the computation of the output of the controller, not considering the loop as a whole. In the video, if you consider the pure “P” example, or even the initial bang-bang example, the car has inertia/mass. F=ma integrates the sideways force applied by road wheels at an angle to straight-ahead in producing the rate of change of the position error. You can see this in the oscillations. That is integration in the loop, despite being in the external environment, so even the so-called “bang-bang” controller is actually a bang-bang-integrator controller in PCT terms. All of the examples output sideways force, never position in the lane, and finite sideways force must be integrated over time to have any effect at all on the position of the car, just as the rate of change of position error must be integrated to produce the current change in position error.

O.K., but the in the PID controller, the “I refers to the integration of the error term that takes place in the controller’s output function. To bring up integration occurring in the controller’s environment would have added an unnecessary – and pootentially confusing – detail to a narrative that is trying to explaain what the “Iâ€? does in a PID controller.

The conceptual difference with PCT is that in PCT all of this doesn’t matter, The output form can be anything within reasonable limits provided that the loop gain is negative, and control will still be possible if the loop is intrinsically stable (that’s the meaning of “within reasonable limits”). Changing the relationship between steering and road wheels matters only in the transient it causes, but it’s PCT-irrelevant in the longer term.

Oh but it does matter. The standard PCT controller with its leaky integrator output will not fully compensate for the steering misalignment, leading to the lane offset noted in the video. To compensate for the steering misalignment, you might want to add steering angle controller and have the lane position controller set its reference. The steering angle controller will need a sensor that reports the true steering angle (the resultant angle after the rock incident) and adjusts it so that the actual steering angle matches the reference angle. Alternatively, you can add integral control to the PD controller, which will allow the steady-state position error to leak away while maintaining the necessary adjustment to the true steering angle.

For a PCT controller, questions of “P”, “I” and “D” are only about stability and efficiency, not about effectiveness, and they all imply linearity (as does the leaky integrator). But what about P2, I-2/3 and the infinite range of comparable possibilities? What about tolerance for small error? A PCT controller doesn’t care, except that in particular circumstances one choice might give faster but sloppier control (Kent’s simulations have shown that this is one effect of having finite tolerance bounds).

The engineer thinking about creating output functions that produce the “proper” output, as with steering wheels having the correct relationship with the road wheels, does care when things aren’t exactly as specified. That engineer has to design something to compensate for the anticipated possible problems. The engineer thinking in PCT terms doesn’t have to worry about those things (much), except as they affect loop stability, side-effects, and control efficiency.

What about keeping the controlled variable matching the reference value rather than having to tolerate an offset from it when disturbances act? Bill Power’s inverted pendulum demo maintains an obvious deviation of bob position from its reference position when one applies a steady “wind� to the pendulum bob. (The pendulum must “lean into� the wind to compensate, and that places the bob some distance from its reference position.) The gain of the bob-position controller is low enough to make this offset quite noticeable. That doesn’t sound to me much like the PCT engineer not having to worry about such defects, although in this example the engineer (Bill) didn’t worry about it, although he probably should have.

I believe that in interpreting the video, you are assuming that the lecturer is taking a PCT viewpoint, whereas I think he may not be, although I grant that he may and just uses unfortunate wordings to imply otherwise.

I think that the lecturer is taking a control systems engineering viewpoint while describing a simple PID controller.  It still seems to me that you and Rupert are being misled by the, as you say, unfortunate wording, to believe that the engineer thinks of the PID controller in the example as controlling the car’s steering angle.Â

Bruce

[From Rupert Young (2018.08.26 19.45)]

(Bruce Abbott (2018.08.25.2100 EDT)]

However, a possible source of confusion is that engineers often use the word “controlâ€? in the same way that scientists often do when talking about variables: One variable is said to “controlâ€? another if the first exerts a dominant effect on the second.Â

If so, then that demonstrates my point about "transfer function", and suggests:

1.      they don't understand control systems,

2.      they don't understand the concept of controlled variables,

3.      they still think in terms of control of output.

I don’t follow.

I am going on what you said, "One variable is said to “control� another if the first exerts a dominant effect on the second.". If that is what they mean by control, rather than protecting a variable from disturbances, then they don't understand control.

Do they? Then why doesn't the car correct itself (reduce the error) after the rocks incident?

According to the video, the car hitting those rocks “knocks its front end out of alignment and therefore, a zero steering command no longer keeps the vehicle driving straight.Â

Yes, but this is their main problem. The problem being that they think there is a relationship between steering angle setting and the heading of the car. The most foundational consequence of PCT shows that there is no such relationship.

BA: ... to generate (“construct�?) actions

What is meant by this is the $64 billion question, and the difference between PCT and CA (Computational Approach), and the foundation for whether you are doing robotics the PCT way or the wrong way :slight_smile:

Computation in conventional approaches (CA) means computing behaviour/actions based upon a model, i.e. control of output. If that is the background of these guys then that may be what they mean by compute/construct.

I think "generate" is fine for PCT, but construct/compute leads to confusion with CA.

Â

I just watched this, <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.technologyreview.com_video_611388_next-2Dgeneration-2Drobots-2Dneed-2Dyour-2Dhelp_&d=DwMDaQ&c=OCIEmEwdEq_aNlsP4fF3gFqSN-E3mlr2t9JcDdfOZag&r=G2rjwc9SjlT6Blyc8su_Md8P_xOsOTRMJ5teQVBC2qU&m=wPlFHlvKYAFwipr4qh2VbnKsi8Pieau_2-eWdIs9sEc&s=uk9FBnOpD_hxWnYqy7VwrDfrzmUjQBN75M9GoDY3aig&e=&gt;https://www.technologyreview.com/video/611388/next-generation-robots-need-your-help/

Here's a major AI professor from a major AI university talking about up to date research in robotics, based on the CA. This suggests to me that they haven't a clue about how to build robots.

I tried to watch this, but my internet connection out here is the Indiana countryside is so poor at the moment that I get only about three or four words before it goes back to buffering for 30 seconds. I’ll have to try again when perhaps the bit rate will be higher. But the introductory graph she shows seems perfectly reasonable to me, beginning with perception and ending with feedback from sensors back to perception.Â

This graph is the standard perceive->plan->execute (control of output) view that permeates robotics and AI and is fundamentally at odds with PCT. As confirmed by what she says.

The diagram lacks a reference input, but without hearing the lecture I can’t tell if references are actually lacking in her conception of how the system works or just not mentioned at this early point in the talk.

At around 1.10 she says, "we are machines that can process whatever our senses tell us about the world, then we can think, given what we sense, about which actions we should produce that eventually make us achieve our goals." There is no concept that perceptions are being controlled and that perceptions are our goals.

···

--
Regards,
Rupert

[From Bruce
Abbott (2018.08.26.1415 EDT)]

Â

[Martin Taylor 2018.08.26.10.26]

      Bruce, we seem to

be talking at cross purposes. Let’s not let it get out of
hand. I am going to delete most of the earlier interchanges,
because IF (and only if) the intent of the video is to
describe a perceptual controller, then most of what you say
follows. On the other hand, if you believe the voice-over in
the couple of seconds either side of 3.23, then he is not dong
as you say (or at least can be interpreted as not doing as you
say), and is talking about a computed output for the angular
deviation rate of the car given the steering wheel angle.

      I do not think the bit you quoted is the ambiguous bit: *              I think that both you and Rupert

have been led astray by the following statement made in
the video: the car hitting those rocks* “knocks its front end out of
alignment and therefore, a zero steering command no
longer keeps the vehicle driving straight.â€? It’s what
follows immediately about “the controller we have described
so far” that is at issue. “The controller we have described
so far” clearly thinks that the car is steering to the right
(downward in the image) after the event, while it is
actually steering straight. A controller that computed the
derivative of the position error to determine how to change
the steering wheel angle would not do that. Only one in
which the steering wheel angle was hard-coded into angular
deviation rate would act that way. That’s the basis of my
comment.

Â

        The diagram

shows a purple arrow parallel to the lane but to the left of
it: the car is driving straight despite the wheel
misalignment. A second, red arrow shows the steering angle,
which the controller has adjusted to the right, thus
compensating for the drift to the left that would occur if
the steering angle were set to zero.

···

Â

          [From Bruce Abbott

(2018.08.26.0955 EDT)]

[Martin Taylor 2018.08.25.22.49]

MT: Anyway, the standard
PCT controller is, in these terms, a pure “I” controller,
and “I” is the last thing added in the description. How
would the video have looked if he had introduced the terms
in a different order, such as I-P-D?

        Please

explain. As I see it, the standard PCT controller is a
proportional controller with a low-pass output filter, the
leaky integrator term. In the steady state it acts as a
pure proportional controller and must maintain some degree
of error in order to continue opposing a constant
disturbance. Â

        This

is unlike an “I� controller, which can generate an output
when the error is zero,

      I deliberately chose to ignore the leak to make the point.

Including the leak makes the PCT controller unlike a “P”, a
“PI” or a “PID” controller. Yes, it is the same as a “P”
controller with a very particular kind of low-pass filter – a
rather ineffective one with a roll-off of only 6 dB per
octave, but to say that is the complement of saying it is an
“I” controller with a leak, just as saying “It’s dry outdoors”
is the complement of saying “It’s not raining”. Quite often,
PCT simulators also choose to ignore the leak rate, and the
simulations still work pretty well. Those controllers are pure
“I”, not “P” with a low-pass filter. There is a continuum
between pure “I” and pure “P” in PCT controllers with leak
rates that vary from zero to infinity, but I don’t think
anywhere on that continuum of leak rate is the mathematics the
same as varying the relative gain of summed “P” and “I”
components (I haven’t verified this statement, so it might be
wrong, but at the moment I think it is correct). When the leak
is very slow, it’s mostly OK to think of the leaky integrator
controller as “I”, and when it’s very quick its mostly OK to
think of it as “P”. But I think it’s much less likely to
mislead if we just think of it as a leaky integrator of the
error value.

        Point taken, but with a steady

disturbance (here caused by the steering misalignment), the
system will act like a proportional controller – it will
have to maintain some level of error in order to continue
generating an output that will oppose the disturbance to
lane position. This is the reason for the lane offset that
the car experiences, relative to reference, after the
incident with the rocks. Adding a pure integrator term
allows the system to continue generating a compensating
output even though the error drops to zero and the car
tracks its position reference value.

      It is interesting, especially in view of our differing

interpretations of the video, that “P”, “I”, and “D”, all
refer to the computation of the output of the controller, not
considering the loop as a whole. In the video, if you consider
the pure “P” example, or even the initial bang-bang example,
the car has inertia/mass. F=ma integrates the sideways force
applied by road wheels at an angle to straight-ahead in
producing the rate of change of the position error. You can
see this in the oscillations. That is integration in the loop,
despite being in the external environment, so even the
so-called “bang-bang” controller is actually a
bang-bang-integrator controller in PCT terms. All of the
examples output sideways force, never position in the lane,
and finite sideways force must be integrated over time to have
any effect at all on the position of the car, just as the rate
of change of position error must be integrated to produce the
current change in position error.

        O.K., but the in the PID

controller, the “I refers to the integration of the error
term that takes place in the controller’s output function.Â
To bring up integration occurring in the controller’s
environment would have added an unnecessary – and
potentially confusing – detail to a narrative that is ttrying
to explain what the “I� does in a PID controller.

      The conceptual difference with PCT is that in PCT all of this

doesn’t matter, The output form can be anything within
reasonable limits provided that the loop gain is negative, and
control will still be possible if the loop is intrinsically
stable (that’s the meaning of “within reasonable limits”).
Changing the relationship between steering and road wheels
matters only in the transient it causes, but it’s
PCT-irrelevant in the longer term.

        Oh but it does matter.  The

standard PCT controller with its leaky integrator output
will not fully compensate for the steering
misalignment, leading to the lane offset noted in the
video. To compensate for the steering misalignment, you
might want to add steering angle controller and have the
lane position controller set its reference. The steering
angle controller will need a sensor that reports the true
steering angle (the resultant angle after the rock incident)
and adjusts it so that the actual steering angle matches the
reference angle. Alternatively, you can add integral
control to the PD controller, which will allow the
steady-state position error to leak away while maintaining
the necessary adjustment to the true steering angle.

      For a PCT controller, questions of "P", "I" and "D" are only

about stability and efficiency, not about effectiveness, and
they all imply linearity (as does the leaky integrator). But
what about P2, I-2/3 and the infinite
range of comparable possibilities? What about tolerance for
small error? A PCT controller doesn’t care, except that in
particular circumstances one choice might give faster but
sloppier control (Kent’s simulations have shown that this is
one effect of having finite tolerance bounds).

      The engineer thinking about creating output functions that

produce the “proper” output, as with steering wheels having
the correct relationship with the road wheels, does care when
things aren’t exactly as specified. That engineer has to
design something to compensate for the anticipated possible
problems. The engineer thinking in PCT terms doesn’t have to
worry about those things (much), except as they affect loop
stability, side-effects, and control efficiency.

        What about keeping the controlled

variable matching the reference value rather than having to
tolerate an offset from it when disturbances act? Bill
Power’s inverted pendulum demo maintains an obvious
deviation of bob position from its reference position when
one applies a steady “wind� to the pendulum bob. (The
pendulum must “lean into� the wind to compensate, and that
places the bob some distance from its reference position.)
The gain of the bob-position controller is low enough to
make this offset quite noticeable. That doesn’t sound to me
much like the PCT engineer not having to worry about such
defects, although in this example the engineer (Bill) didn’t
worry about it, although he probably should have.

      I believe that in interpreting the video, you are assuming

that the lecturer is taking a PCT viewpoint, whereas I think
he may not be, although I grant that he may and just uses
unfortunate wordings to imply otherwise.

        I think that the lecturer is taking

a control systems engineering viewpoint while describing a
simple PID controller. Â It still seems to me that you and
Rupert are being misled by the, as you say, unfortunate
wording, to believe that the engineer thinks of the PID
controller in the example as controlling the car’s steering
angle.Â

Bruce

[From Bruce Abbott (2018.08.26.1420 EDT)]

[From Rupert Young (2018.08.26 19.45)]

(Bruce Abbott (2018.08.25.2100 EDT)]

However, a possible source of confusion is that engineers often use the word “control� in the same way that scientists often do when talking about variables: One variable is said to “control� another if the first exerts a dominant effect on the second.

If so, then that demonstrates my point about “transfer function”, and suggests:

  1.   they don't understand control systems,
    
  1.   they don't understand the concept of controlled variables,
    
  1.   they still think in terms of control of output.
    

I don’t follow.

I am going on what you said, “One variable is said to “controlâ€? another if the first exerts a dominant effect on the second.”. If that is what they mean by control, rather than protecting a variable from disturbances, then they don’t understand control.

You are ignoring the fact that they also use “control� to denote a system that controls in the PCT sense of the word.  Control systems engineers know what a control system is and how it works. The video example we are discussing controls the car’s position relative to a reference value. It “controls� its output only in the sense that positional error determines the steering angle, which is the means by which the car controls its position.

I should note that the narrator actually uses the word “commands� rather than “controls� to refer to the output function’s effect on steering angle, the “command� being error times gain. So the error term “commands� the steering angle as the means of controlling the car’s position in the lane.

Do they? Then why doesn’t the car correct itself (reduce the error) after the rocks incident?

Oh, but it does. After the rocks incident, the steering misalignment would cause the car to veer to the left, but as this increases the position error, this error “commands� the steering angle to move to the right, thus counteracting the effect of the misalignment. But it can only maintain this output so long as the positional error remains. The consequence is that the car tracks parallel to the reference position but to the left of it.

Introducing the integral term allows the system to generate the same output while reducing the positional error to zero.

According to the video, the car hitting those rocks “knocks its front end out of alignment and therefore, a zero steering command no longer keeps the vehicle driving straight.

Yes, but this is their main problem. The problem being that they think there is a relationship between steering angle setting and the heading of the car. The most foundational consequence of PCT shows that there is no such relationship.

You will have to explain that one to me. Changing the steering angle from zero degrees causes the car to turn, changing its heading. Changing the steering angle is a means of changing the heading.  A constant non-zero heading causes a constant rate of change of heading.

The PID controller changes steering angle to change the heading so that the car heads toward the reference position. It varies the steering angle as a function of position error (and in the full PID configuration) lateral velocity error and integrated position error). I don’t see why you would think that engineers would believe that there is a relation between steering angle and heading; given that the car is moving, the relation is between steering angle and change of heading.

Bruce

[Martin Taylor 2018.08.27.07.15]

Yes, that offset has an effect like that of a constant disturbance,

but when (back a few messages) I said the PCT controller would not
care about it, the point was that the amount of the offset is only
1/G of the size of the offset that would be caused by the
uncontrolled misalignment due to the encounter with the rocks. As I
understood the video, the PID controller described would be affected
by the whole offset additively. So I might better have said “, it would not care”.
When we are talking about a leaky integrator, the steady-state
equivalent gain G is g/r, where g is the integrator gain rate and r
is the leak rate. Small r, large G. Which brings up the second point.
I buy that, but was it a reasonable thing to do if the mass of the
car already inserted a pure “I” stage in the performance of the
controller? If you look at the whole control loop, the “P” term in
the controller processing is just a multiplier on the integration
input, in other words, it is a multiplier on “g” for the loop. So
the demo starts (after the bang-bang example) with a nominally pure
“I” controller, not a “P” controller, in contradiction to what the
demo is supposed to explain. This environmental integrator presumably has a leak in the form of
frictional losses as the tires apply sideways forces to the road,
which would make it not a pure “I”, but it would be close. Also, the
integration imposes an equivalent transport lag on the effect of a
change in steering wheel angle. That equivalent transport lag is the
reason for the instability at excessive “P” gain. I think that these considerations should not have been set aside in
the description in the video, not least because the phase shift
involved with the car’s integration is the reason for the
oscillation and high-gain instability shown for the P controller, a
reason that is never addressed.
You may well be right about the interpretation, but I would amend
your comment to use “commanding the car’s steering angle” rather
than “controlling” it, which would imply that the lecturer was
thinking of a two-level PCT controller. That makes a difference.
Martin

···

I’d like to see if we can reach verbal
agreement, as I believe we do or nearly do have conceptual
agreement other than perhaps in our certitude about what the video
that started this thread actually says. Ignoring that, I want here
to take only two points from

        [From Bruce

Abbott (2018.08.26.1415 EDT)]

Â

[Martin Taylor 2018.08.26.10.26]

    ... But I think it's much less likely to mislead if we just

think of it [the Bill-standard form of the PCT controller] as a
leaky integrator of the error value.

        Point taken, but with a steady

disturbance (here caused by the steering misalignment), the
system will act like a proportional controller – it will
have to maintain some level of error in order to continue
generating an output that will oppose the disturbance to
lane position.Â

  •  to
    

the degree that the PCT controls well*

… in
the PID controller, the “I refers to the integration of the
error term that takes place in the controller’s output
function. To bring up integration occurring in the
controller’s environment would have added an unnecessary – and
potentially confusing – detail to a narrative that is tryying
to explain what the “I� does in a PID controller.

        I believe that in interpreting the

video, you are assuming that the lecturer is taking a PCT
viewpoint, whereas I think he may not be, although I grant
that he may and just uses unfortunate wordings to imply
otherwise.

        I think that the lecturer is taking

a control systems engineering viewpoint while describing a
simple PID controller. Â It still seems to me that you and
Rupert are being misled by the, as you say, unfortunate
wording, to believe that the engineer thinks of the PID
controller in the example as controlling the car’s steering
angle.Â

[From Bruce Abbott (2018.08.27.1005 EDT)]

[Martin Taylor 2018.08.27.07.15]

I’d like to see if we can reach verbal agreement, as I believe we do or nearly do have conceptual agreement other than perhaps in our certitude about what the video that started this thread actually says. Ignoring that, I want here to take only two points from

[From Bruce Abbott (2018.08.26.1415 EDT)]

[Martin Taylor 2018.08.26.10.26]

… But I think it’s much less likely to mislead if we just think of it [the Bill-standard form of the PCT controller] as a leaky integrator of the error value.

BA: Point taken, but with a steady disturbance (here caused by the steering misalignment), the system will act like a proportional controller – it will have to maintain some level of error in order to continue generating an output that will oppose the disturbance to lane position.

MT: Yes, that offset has an effect like that of a constant disturbance, but when (back a few messages) I said the PCT controller would not care about it, the point was that the amount of the offset is only 1/G of the size of the offset that would be caused by the uncontrolled misalignment due to the encounter with the rocks. As I understood the video, the PID controller described would be affected by the whole offset additively. So I might better have said “to the degree that the PCT controls well, it would not care”.

Yes. But the video was designed to illustrate the effect of the misalignment disturbance and thus uses what is apparently a relatively low gain to make the offset easy to see. This sets up the example showing how the integral term removes this offset from the steady-state performance. And it’s worth noting that there are conditions in which the gain must be kept low to prevent instability, so this is not a problem that necessarily can be made to practically go away merely by raising the gain of the PCT controller. This may be especially likely in the case of certain biological control systems, whose behavior is to be explained in terms of PCT-style control systems. An excellent example is found in the system involved in the control of muscle length and tension. The gain there is evidently quite low, or the order of around 8 or so.

MT: When we are talking about a leaky integrator, the steady-state equivalent gain G is g/r, where g is the integrator gain rate and r is the leak rate. Small r, large G. Which brings up the second point.

BA: … in the PID controller, the “I refers to the integration of the error term that takes place in the controller’s output function. To bring up integration occurring in the controller’s environment would have added an unnecessary – and potentially confusing  “ detail to a narrative that is trying to explain what the “Iâ€? does in a PID controller.

I buy that, but was it a reasonable thing to do if the mass of the car already inserted a pure “I” stage in the performance of the controller? If you look at the whole control loop, the “P” term in the controller processing is just a multiplier on the integration input, in other words, it is a multiplier on “g” for the loop. So the demo starts (after the bang-bang example) with a nominally pure “I” controller, not a “P” controller, in contradiction to what the demo is supposed to explain.

This environmental integrator presumably has a leak in the form of frictional losses as the tires apply sideways forces to the road, which would make it not a pure “I”, but it would be close. Also, the integration imposes an equivalent transport lag on the effect of a change in steering wheel angle. That equivalent transport lag is the reason for the instability at excessive “P” gain.

I think that these considerations should not have been set aside in the description in the video, not least because the phase shift involved with the car’s integration is the reason for the oscillation and high-gain instability shown for the P controller, a reason that is never addressed.

Again, point taken, but the presentation in the video is at an elementary level in showing the effects of the proportional, derivative, and integral elements of the output function. Given this goal, I don’t think that adding these complexities would have been helpful. Delays, integration in the environment, phase shifts – these are topics for another, more advanced preseentation on control.

MT: I believe that in interpreting the video, you are assuming that the lecturer is taking a PCT viewpoint, whereas I think he may not be, although I grant that he may and just uses unfortunate wordings to imply otherwise.

BA: I think that the lecturer is taking a control systems engineering viewpoint while describing a simple PID controller. It still seems to me that you and Rupert are being misled by the, as you say, unfortunate wording, to believe that the engineer thinks of the PID controller in the example as controlling the car’s steering angle.

You may well be right about the interpretation, but I would amend your comment to use “commanding the car’s steering angle” rather than “controlling” it, which would imply that the lecturer was thinking of a two-level PCT controller. That makes a difference.

Yes. Somehow I misremembered that the video used “controlling� there when it actually used “commanding.� I’ve already corrected this in my last reply to Rupert.

Unfortunately, engineers and neuroscientists like to use the word “command� whether the variable doing the “commanding� is doing so in an open loop system or a control system. Thus the alpha motor neuron’s output is said to “command� muscular contraction (the axon actually transmits the error signal to the neuromuscular junction, which implements the output function that stimulates muscular contraction). At the same time, inputs to the alpha motor neuron from above are said to “command� muscle length and tension, but in this case the commands are references to the control system that includes the alpha motor neuron, muscle, muscle spindles (sensors of muscle length and rate of change in length), Golgi tendon organs (sensors of muscle tension) and the axons from these sensors that feed back onto the alpha motor neuron.

I understand the historical reasons for this terminology but this is where Bill Powers’ relabeling has removed the ambiguities inherent in the classical terms. On balance that’s a good thing, but unfortunately the change in definitions has also created problems of their own as folks trained on PCT terminology encounter the engineering terms and fail to realize that the engineer understands these terms differently, e.g., output being the controlled variable, input being the reference “input� to the comparator, feedback being the sensed value of the CV, and so on.

Bruce

[From Rupert Young (2018.08.27 17.45)]

(Bruce Abbott (2018.08.26.1420 EDT)]

I don’t follow.

I am going on what you said, "One variable is said to “control� another if the first exerts a dominant effect on the second.". If that is what they mean by control, rather than protecting a variable from disturbances, then they don't understand control.

You are ignoring the fact that they also use “control� to denote a system that controls in the PCT sense of the word.

As I say, I was going on what you said, not what they said.

According to the video, the car hitting those rocks “knocks its front end out of alignment and therefore, a zero steering command no longer keeps the vehicle driving straight.Â

Yes, but this is their main problem. The problem being that they think there is a relationship between steering angle setting and the heading of the car. The most foundational consequence of PCT shows that there is no such relationship.

Â

You will have to explain that one to me.Â

Sure, but let's forget about the low-level technical implementations as I think they are distractions from understanding what is going on. Living systems vary action in order to control their perceptual inputs protecting them from disturbances. In this case a person is controlling their perception of them being in the centre of the lane (the heading), by turning the steering wheel. There are many things that affect the heading of the car, such as wind. If wind is applying a force from one side the person will turn the wheel; the heading will remain the same. So, there is no relationship between the steering wheel value and the heading; the steering wheel and the heading are decoupled. There is an effect, of course, but between the two is the whole of the feedback path which includes all the disturbances present in the environment.

Even if there were "misalignment" it wouldn't matter as the person would just turn the steering wheel until the goal was achieved. So, the concept of "alignment" is meaningless and irrelevant. In reality there will always be disturbances; it will never be the case that a "zero steering command" relates to keeping "the vehicle driving straight". You could lock the wheels into driving straight on a straight road and it wouldn't be very long before the car started to veer off. So, in real systems the concept of a "zero steering command" is also meaningless. It would only have meaning if there was a relationship between the steering setting and the heading, which there isn't in the real world.

The trouble is that it does appear to make sense in idealised mathematical environments, or, as we call them, simulations. The Simulation Problem, as I call it, is to take conclusions from what can be made to happen in a simulated environment and apply them to the real world. The mathematical relationships that can be set up in simulation cannot work in the real world that has unknown disturbances, such as with driving. The essence of the standard Computational Approach is that such mathematical relationships (models) can be defined, which I think is grossly mistaken. I contend that they can't and that to get systems to work in the real world you need something like PCT.

My interest in this video has been about how people who have some understanding of control don't apply it universally, but revert to trying to construct those mathematical relationships; the Computational Approach, which is results in a control of (behavioural) output view. I think it is because Computational Approach is unquestioningly accepted at all levels. This video, by what they are saying, hasn't convinced me otherwise, though there is ambiguity in what they say.

Changing the steering angle from zero degrees causes the car to turn, changing its heading. Changing the steering angle is a means of changing the heading.  A constant non-zero heading causes a constant rate of change of heading.

I don't think so, it depends on the environment, and disturbances therein.

I don’t see why you would think that engineers would believe that there is a relation between steering angle and heading; given that the car is moving, the relation is between steering angle and change of heading.

They say "a zero steering command no longer keeps the vehicle driving straight" from which I infer that they thought that a zero steering command would keep the vehicle driving straight (in the real world).

···

--
Regards,
Rupert

Down…

···

From: Richard Marken (rsmarken@gmail.com via csgnet Mailing List) csgnet@lists.illinois.edu
Sent: Friday, August 17, 2018 6:56 AM
To: csgnet csgnet@lists.illinois.edu
Subject: Re: PID v PCT

[Rick Marken 2018-08-16_21:55:47]

[From Bruce Abbott (2018.08.15.1530 EDT)]

BA: I’ve made this point before but it bears repeating. What are labeled as “outputs” in engineered control system diagrams are called “inputs” in PCT control system diagrams. That is, in control system engineering, an output is the controlled quantity.

RM: This is basically true. Though I think it is more correct to say that in control engineering what is called an “output” is what the engineer hopes is the “controlled quantity”. The engineer’s output is our controlled quantity only if the engineer has built the input function to the control system so that it provides a perceptual signal that is an analog of that output variable. For example, if the output to be controlled is speed then this output will correspond to a controlled quantity only if the input function to the control system produces a signal (our perceptual signal) that is an analog of speed, as measured by the engineer.

HB : Whatever ? What is “our controlled quantity” in comparison to engineers ? How “engineers output” can be our controlled quantity ?

RM: I know you know this, Bruce. I am bringing it up only to make the point that the only real difference between PCT and non-PCT applications of control theory is the PCT emphasis on the fact that what is controlled by a living or an artifactual control system – whether you call the variable that is controlled an “output”, like the engineer, or “input”, like the psychologist – is a perception.

HB : This is sure not the only difference between PCT and NON-PCT applications. You forgot on hierarchy of perceptions and complexity of control units, which produce processes which we’ll not be available to engineers for a long time, for ex. thinking. And of course you forgot on the most important thing. Machines can’t produce references.

RM : And what that perception is depends on the nature of the input function.

HB : If that would be so, we would read Bills literature in the same way. But we don’t. Obviously we perceive what we want to perceive and that does not depend not only from “input function”. It seems that you’ll never understand why you read Bills text wrong. Input function is not so much responsable for the nature of perceptual signal on higher levels so that we could talk about the fact.

RM : For the roboticist who is interested in building robots that behave like people this means orienting the design of the robot around the development of input (perceptual) functions that can produce perceptual signals that are analogs of the kinds of perceptual variables that people control. This will be no mean task since people seem to control rather complex variables – events, programs, and principles, for example – variables that are far more complex than the kinds of variables controlled by the control systems built by engineers. So I believe that the roboticists first have to learn from psychologists

HB : From Psychologist ? From when Psychologist could reveal the secret what people are controlling ?

RM : ….what variables people are controlling when they behave. And then they have to learn to build input functions that will produce the signals that are analogs of these complex variables.

HB : What’s wrong with high resolution cameras ? It’s not the problem in revealing “input functions” that will produce the signals that are analogs of these complex variables, but building the complex hierarchy that will process perceptions coming from "input function so that goals can be achieved.

RM: So PCT doesn’t make it possible to build better control systems than those that can be built with the control theory used by engineers;

HB : So what are you doing on CSGnet if control theory used by engineers is as good as PCT ? Go to the forum where engineers control theory is discussed and “Control of behavior” is glorifyed.

RM : PCT and engineering control theory provide exactly the same tools for doing this because they are precisely the same theory.

HB : Well, well, well. Again Ricks’ high ignorancy of understanding PCT. PCT and engineering "control thoery are not the same. As you are not listening to me, I hope that you’ll listen to Henry Yin :

HY :

4.2. Control of Input. A control system always controls its input, not output [7]. Only perceivable consequences of behavior can be controlled.

According to mainstream engineering control theory, a control system controls its outputs, not its input. This is perhaps the most common fallacy today, both in engineering and in the life sciences [49, 55, 56]. This fallacy, an unfortunate legacy of cybernetics, is the result of imposing the perspective of the observer rather than using the perspective of the organism or controller. The mistake is to assume that what the engineer perceives and records, the “objective” effect of the system, is the output of the system.

As a result of these conceptual confusions, in traditional models negative feedback is always misunderstood. Placing the comparator outside the organism has the unintended effect of inverting the inside and outside of the system (Figure 5).What should be part of the organism is considered to be a part of the environment, and what should be part of the environment, namely, the feedback function, is considered a part of the organism. Consequently, the equations that describe how forces act on loads and accelerations and decelerations of the loads are assumed to be computed by the nervous system [50]. These conceptual confusions have largely prevented any progress in the study of behavior for many decades.

HB : I hope you understand now the problems of engineers “control theory” so you should stop bullshitting. You are very brave in your statements considering the fact that you don’t underdstand PCT.

And to answer your statement about equality of PCT and engineers control theory I’ll say that PCT has enormous capabilities in creating advanced machines which could control “complex purposes”. For now engineers even don’t have a theory how that could look like. Don’t judge something what you don’t understand.

RM : What PCT brings to the party is an emphasis on the fact that complex behavior is organized around the control of complex perceptual inputs; so in order to build a robot that does complex things (carries out complex purposes) the PCT roboticist will be oriented toward developing input functions that will allow the robot to control those things.

HB : Input function si not the main problem. The main problem in creating robots is hierarchy which could “think”. And as far as I know PCT is the only theory that could solve that problem. No matter how complex perceptual inputs are. But i guess you were lucky to expose that “complex purposes” which can be carried out are the main problem.

Boris

Best

Rick

One or more sensors “feed back” the state of this quantity to the “input” side of the control system, where it is combined (in the comparator) with an independent input, the set point or reference. It is the job of the control system to keep the output faithfully tracking the reference input. The reference in the diagram is labeled the “input,” because it is the user’s means of inputting the desired value of the controlled variable.

This use of the term “output” allows one to compare the “outputs” of open and closed loop systems. For example, consider an electric drill. In the open loop version, the input is the voltage applied to the drill motor that is adjusted by the user to produce a desired drill speed – perhaps adjusted by the user via a rheostat that serves as the “speed control.” The drill speed is the output. Because this is an open loop system, disturbances such as the load on the drill and changes in line voltage may change the drill speed, and the system will not oppose those changes.

We can convert this open loop system to a closed loop control system by adding a sensor for drill speed. The reading from this sensor is routed to the system’s input end where it enters a comparator. The difference between the sensed drill speed and the rheostat setting (now acting as the reference speed) determines the drill speed. Now disturbances such as load or line voltage changes cause the controlled variable (drill speed) to deviate from its reference speed, leading to corrective action: the voltage applied to the drill motor changes as needed to keep the drill speed close to the reference value.

The diagrams for the two systems appear nearly identical in this way of representing them. They have the same input (desired speed or reference, set by the user), and the same output (drill speed). The only difference between the two diagrams is that in the open loop system, the reference (“input”) value directly determines the drill speed, absent any disturbances, whereas in the closed loop system, the reference enters a comparator and the sensed value of the output is fed back to the input side, where it also enters the comparator. The variable driving the drill motor is now the difference between reference and feedback (i.e., error) rather than the reference driving the motor directly.

Given this difference in how the terms “input” and “output” are used in engineering as compared to PCT, one has to be careful not to think that engineers are talking about control of output when actually they are talking about control of the variable being sensed and fed back to the input side of the control system, not the actions that are being used to bring about this control.

The computational models I think you have in mind are a different animal altogether. These are models that attempt to compute the actions that will be used to control some variable, based on, e.g., computing inverse dynamics.

Bruce

Richard S. Marken

"Perfection is achieved not when you have nothing more to add, but when you
have nothing left to take away.”
–Antoine de Saint-Exupery

Martin

···

From: Martin Taylor (mmt-csg@mmtaylor.net via csgnet Mailing List) csgnet@lists.illinois.edu
Sent: Sunday, August 26, 2018 9:01 PM
To: csgnet@lists.illinois.edu
Subject: Re: PID v PCT

[Martin Taylor 2018/08.26.14.22]

[From Bruce Abbott (2018.08.26.1415 EDT)]

[Martin Taylor 2018.08.26.10.26]

Bruce, we seem to be talking at cross purposes. Let’s not let it get out of hand. I am going to delete most of the earlier interchanges, because IF (and only if) the intent of the video is to describe a perceptual controller, then most of what you say follows. On the other hand, if you believe the voice-over in the couple of seconds either side of 3.23, then he is not dong as you say (or at least can be interpreted as not doing as you say), and is talking about a computed output for the angular deviation rate of the car given the steering wheel angle.
I do not think the bit you quoted is the ambiguous bit: I think that both you and Rupert have been led astray by the following statement made in the video: the car hitting those rocks “knocks its front end out of alignment and therefore, a zero steering command no longer keeps the vehicle driving straight.” It’s what follows immediately about “the controller we have described so far” that is at issue. “The controller we have described so far” clearly thinks that the car is steering to the right (downward in the image) after the event, while it is actually steering straight. A controller that computed the derivative of the position error to determine how to change the steering wheel angle would not do that. Only one in which the steering wheel angle was hard-coded into angular deviation rate would act that way. That’s the basis of my comment.

The diagram shows a purple arrow parallel to the lane but to the left of it: the car is driving straight despite the wheel misalignment. A second, red arrow shows the steering angle, which the controller has adjusted to the right, thus compensating for the drift to the left that would occur if the steering angle were set to zero.

So we not only interpreted the voice differently, we also interpreted the visuals differently. I saw that red arrow as indicating the sideways force caused by the misaligned steering when the wheel was set to straight, being balanced by the proportional controller’s keeping the car away from the centre line in order not to be driven ever further to the right.

I don’t think we disagree on the physics or mechanics of control. We disagree about the intentions conveyed by words and pictures, not only those of the video, but of each other. I accept that most or all of what you say is true of the steady state, but regard that as relatively unimportant when we are talking about control. For example, the idea that a perfect integrator can bring the error eventually to zero is true, if and only if the controller is in an environment in which the reference and disturbance remain unchanging for ever. But they don’t and if they did you wouldn’t want a controller.

I hope I’m not copping out and missing an important mistake I am making that you are trying to correct if I simply stop there. My reason for stopping is that I am not at all sure we have a disagreement exceptabout the intentions of the author of the video, and perhaps about interpretations of each other’s words, and I don’t want to get into a long argument that winds up either in the stasis of an agreement to disagree or in a discovery that we agreed all along. I suspect it would be the latter.

HB : Good observation Martin. That’s how LCS function. Every LCS is constructing his own interpretation of perception. And if people can’t align at least aproximaltelly what they perceive, then it’s better to stop “conflict” then to make escalation.

Boris

Martin

The reason that the car is tracking parallel to the reference but to the left of it is due to the proportional factor: the controller must maintain some degree of error in position if it is to generate a steering angle that opposes the effect of the misalignment. The derivative term has nothing to do with it as we are dealing with a steady-state error.

There is, however one bit of what you say with which I take serious issue:

[From Bruce Abbott (2018.08.26.0955 EDT)]

[Martin Taylor 2018.08.25.22.49]

MT: Anyway, the standard PCT controller is, in these terms, a pure “I” controller, and “I” is the last thing added in the description. How would the video have looked if he had introduced the terms in a different order, such as I-P-D?

Please explain. As I see it, the standard PCT controller is a proportional controller with a low-pass output filter, the leaky integrator term. In the steady state it acts as a pure proportional controller and must maintain some degree of error in order to continue opposing a constant disturbance.

This is unlike an “I” controller, which can generate an output when the error is zero,

I deliberately chose to ignore the leak to make the point. Including the leak makes the PCT controller unlike a “P”, a “PI” or a “PID” controller. Yes, it is the same as a “P” controller with a very particular kind of low-pass filter – a rather ineffective one with a roll-off of only 6 dB per octave, but to say that is the complement of saying it is an “I” controller with a leak, just as saying “It’s dry outdoors” is the complement of saying “It’s not raining”. Quite often, PCT simulators also choose to ignore the leak rate, and the simulations still work pretty well. Those controllers are pure “I”, not “P” with a low-pass filter. There is a continuum between pure “I” and pure “P” in PCT controllers with leak rates that vary from zero to infinity, but I don’t think anywhere on that continuum of leak rate is the mathematics the same as varying the relative gain of summed “P” and “I” components (I haven’t verified this statement, so it might be wrong, but at the moment I think it is correct). When the leak is very slow, it’s mostly OK to think of the leaky integrator controller as “I”, and when it’s very quick its mostly OK to think of it as “P”. But I think it’s much less likely to mislead if we just think of it as a leaky integrator of the error value.

Point taken, but with a steady disturbance (here caused by the steering misalignment), the system will act like a proportional controller – it will have to maintain some level of error in order to continue generating an output that will oppose the disturbance to lane position. This is the reason for the lane offset that the car experiences, relative to reference, after the incident with the rocks. Adding a pure integrator term allows the system to continue generating a compensating output even though the error drops to zero and the car tracks its position reference value.

It is interesting, especially in view of our differing interpretations of the video, that “P”, “I”, and “D”, all refer to the computation of the output of the controller, not considering the loop as a whole. In the video, if you consider the pure “P” example, or even the initial bang-bang example, the car has inertia/mass. F=ma integrates the sideways force applied by road wheels at an angle to straight-ahead in producing the rate of change of the position error. You can see this in the oscillations. That is integration in the loop, despite being in the external environment, so even the so-called “bang-bang” controller is actually a bang-bang-integrator controller in PCT terms. All of the examples output sideways force, never position in the lane, and finite sideways force must be integrated over time to have any effect at all on the position of the car, just as the rate of change of position error must be integrated to produce the current change in position error.

O.K., but the in the PID controller, the “I refers to the integration of the error term that takes place in the controller’s output function. To bring up integration occurring in the controller’s environment would have added an unnecessary – and potentially confusing – detail to a narrative that is trying to explain what the “I” does in a PID controller.

The conceptual difference with PCT is that in PCT all of this doesn’t matter, The output form can be anything within reasonable limits provided that the loop gain is negative, and control will still be possible if the loop is intrinsically stable (that’s the meaning of “within reasonable limits”). Changing the relationship between steering and road wheels matters only in the transient it causes, but it’s PCT-irrelevant in the longer term.

Oh but it does matter. The standard PCT controller with its leaky integrator output will not fully compensate for the steering misalignment, leading to the lane offset noted in the video. To compensate for the steering misalignment, you might want to add steering angle controller and have the lane position controller set its reference. The steering angle controller will need a sensor that reports the true steering angle (the resultant angle after the rock incident) and adjusts it so that the actual steering angle matches the reference angle. Alternatively, you can add integral control to the PD controller, which will allow the steady-state position error to leak away while maintaining the necessary adjustment to the true steering angle.

For a PCT controller, questions of “P”, “I” and “D” are only about stability and efficiency, not about effectiveness, and they all imply linearity (as does the leaky integrator). But what about P2, I-2/3 and the infinite range of comparable possibilities? What about tolerance for small error? A PCT controller doesn’t care, except that in particular circumstances one choice might give faster but sloppier control (Kent’s simulations have shown that this is one effect of having finite tolerance bounds).

The engineer thinking about creating output functions that produce the “proper” output, as with steering wheels having the correct relationship with the road wheels, does care when things aren’t exactly as specified. That engineer has to design something to compensate for the anticipated possible problems. The engineer thinking in PCT terms doesn’t have to worry about those things (much), except as they affect loop stability, side-effects, and control efficiency.

What about keeping the controlled variable matching the reference value rather than having to tolerate an offset from it when disturbances act? Bill Power’s inverted pendulum demo maintains an obvious deviation of bob position from its reference position when one applies a steady “wind” to the pendulum bob. (The pendulum must “lean into” the wind to compensate, and that places the bob some distance from its reference position.) The gain of the bob-position controller is low enough to make this offset quite noticeable. That doesn’t sound to me much like the PCT engineer not having to worry about such defects, although in this example the engineer (Bill) didn’t worry about it, although he probably should have.

I believe that in interpreting the video, you are assuming that the lecturer is taking a PCT viewpoint, whereas I think he may not be, although I grant that he may and just uses unfortunate wordings to imply otherwise.

I think that the lecturer is taking a control systems engineering viewpoint while describing a simple PID controller. It still seems to me that you and Rupert are being misled by the, as you say, unfortunate wording, to believe that the engineer thinks of the PID controller in the example as controlling the car’s steering angle.

Bruce

Sorry to jump in.

···

From: “Bruce Abbott” (bbabbott@frontier.com via csgnet Mailing List) csgnet@lists.illinois.edu
Sent: Sunday, August 26, 2018 10:19 PM
To: CSGnet csgnet@lists.illinois.edu
Subject: RE: PID v PCT

[From Bruce Abbott (2018.08.26.1420 EDT)]

[From Rupert Young (2018.08.26 19.45)]

(Bruce Abbott (2018.08.25.2100 EDT)]

However, a possible source of confusion is that engineers often use the word “control” in the same way that scientists often do when talking about variables: One variable is said to “control” another if the first exerts a dominant effect on the second.

If so, then that demonstrates my point about “transfer function”, and suggests:

  1.   they don't understand control systems,
    
  1.   they don't understand the concept of controlled variables,
    
  1.   they still think in terms of control of output.
    

I don’t follow.

I am going on what you said, “One variable is said to “control” another if the first exerts a dominant effect on the second.”. If that is what they mean by control, rather than protecting a variable from disturbances, then they don’t understand control.

HB : What does this mean ? Does it have something to do with RCT (Ricks Control Theory) ??? What is “protected” from disturbances ??? So somebody here thinks that generally control is about “protecting” something. It’s hard to follow who wrote what as initials omitted. I don’t understand when “control” in PCT will be understand as it is :

Bill P (B:CP):

CONTROL : Achievement and maintenance of a preselected state in the controlling system, through actions on the environment that also cancel the effects of disturbances.

HB : Bill mostly used other terms to show what is control. Anyway “protecting” is not representing what is happening in “controlled” processes in organism so it would be good to adapt terminology to Bills’ if we are talking about PCT and control in organisms. Because of Rick I’m allergic on term “protected”. "If somebody is using “protected” from disturbances as the synonym for understanding what control is, then generally speaking he doesn’t understand what “control” is about.

? : You are ignoring the fact that they also use “control” to denote a system that controls in the PCT sense of the word. Control systems engineers know what a control system is and how it works.

HB :Which “control system” you have in mind ? I doubt that engineers understand how LCS function. So I don’t understand about which “control system” you are talking about. And how exactly “control system” works by the opinion of engineers ? Controlling output ? Probably in machines output can be controlled exactly. But that is not what is happening in nervous system.

?: The video example we are discussing controls the car’s position relative to a reference value. It “controls” its output only in the sense that positional error determines the steering angle, which is the means by which the car controls its position.

HB : The question here is how “reference value” is obtained. It’s sure not the same as in organisms. And leads to another question. How output is produced ?

? : I should note that the narrator actually uses the word “commands” rather than “controls” to refer to the output function’s effect on steering angle, the “command” being error times gain. So the error term “commands” the steering angle as the means of controlling the car’s position in the lane.

HB : Good notion. “Command” is good representation of what is happening in machines where effects of effectors are produced quite exactly. But that’s not how they are produced in living organisms.

Do they? Then why doesn’t the car correct itself (reduce the error) after the rocks incident?

Oh, but it does. After the rocks incident, the steering misalignment would cause the car to veer to the left, but as this increases the position error, this error “commands” the steering angle to move to the right, thus counteracting the effect of the misalignment. But it can only maintain this output so long as the positional error remains. The consequence is that the car tracks parallel to the reference position but to the left of it.

Introducing the integral term allows the system to generate the same output while reducing the positional error to zero.

According to the video, the car hitting those rocks “knocks its front end out of alignment and therefore, a zero steering command no longer keeps the vehicle driving straight.

? : Yes, but this is their main problem. The problem being that they think there is a relationship between steering angle setting and the heading of the car. The most foundational consequence of PCT shows that there is no such relationship.

? You will have to explain that one to me. Changing the steering angle from zero degrees causes the car to turn, changing its heading. Changing the steering angle is a means of changing the heading. A constant non-zero heading causes a constant rate of change of heading.

HB : Right. This is “Control of output” in language of machines control. And that’s not what is happening in organism or what PCT is explaining. In PCT “control of steering wheel” position is not what is controlled. The problem is that human are not calculating the steering wheel position as machines can. They don’t control the “position of the car”, because they don’t perceive the whole car at instant on the road. So they can’t see the exact position of the car. But they control perception of the front part of the car and maybe what they can see in mirrors. Driving a car from PCT perspective or human perception view is quite different from the perspective of machine driving a car. Perception is quite limited so a lot of things has to be explained before we can conclude that people “control the position” of the car. But they control perception of the position of the car within the levels. What is happening in nervous system can be explained by PCT to some extend but not with engineers knowledge.

? : The PID controller changes steering angle to change the heading so that the car heads toward the reference position. It varies the steering angle as a function of position error (and in the full PID configuration) lateral velocity error and integrated position error). I don’t see why you would think that engineers would believe that there is a relation between steering angle and heading; given that the car is moving, the relation is between steering angle and change of heading.

HB : Yeap. That’s probably how machines work. And there is great difference how references are set in machines and organisms. It’s not the same mechanism. And of course it’s not the same mechanism how actions are produced.

I hope you distinguish what was written by whom. I don’t. And I’ll admit that I didn’t follow exactly discussion. So if I count in mess in who is saying what and that I didn’t follow the discussion it could be that I understood something wrong. But it seems to me this is an old story about what is controlled : perception or output. So if you’ll continue discussion in this direction, I’d be really glad if you prove that behavior can be controlled ? The same goes for Rick. Machines and human are not working in the same way.

Boris

Bruce

Rupert…

···

From: Rupert Young (rupert@perceptualrobots.com via csgnet Mailing List) csgnet@lists.illinois.edu
Sent: Monday, August 27, 2018 6:44 PM
To: csgnet@lists.illinois.edu
Subject: Re: PID v PCT

[From Rupert Young (2018.08.27 17.45)]

(Bruce Abbott (2018.08.26.1420 EDT)]

I don’t follow.

I am going on what you said, “One variable is said to “control” another if the first exerts a dominant effect on the second.”. If that is what they mean by control, rather than protecting a variable from disturbances, then they don’t understand control.

You are ignoring the fact that they also use “control” to denote a system that controls in the PCT sense of the word.

As I say, I was going on what you said, not what they said.

According to the video, the car hitting those rocks “knocks its front end out of alignment and therefore, a zero steering command no longer keeps the vehicle driving straight.

Yes, but this is their main problem. The problem being that they think there is a relationship between steering angle setting and the heading of the car. The most foundational consequence of PCT shows that there is no such relationship.

You will have to explain that one to me.

Sure, but let’s forget about the low-level technical implementations as I think they are distractions from understanding what is going on. Living systems vary action in order to control their perceptual inputs protecting them from disturbances.

HB : If this is what you wrote Rupert then I have to say that I don’t agree. I’d like some evidences that generally you can be protected from disturbances ? Or in other words. I’d like that you support your statement with arguments from PCT definitions or PCT diagram. Shall we say LCS III diagram.

Generally PCT definition of control does not contain any trace of LCS being protected from disturbances. After disturbances take effect, effects are counteracted.

Bill P (B:CP):

CONTROL : Achievement and maintenance of a preselected state in the controlling system, through actions on the environment that also cancel the effects of disturbances.

HB : As I wrote before most of the Bills’ work contain (shall we say 99%) terms like : counteraction, compensation, opposing, adjustment… These are most frequently used tersm in Bills’ literature. And they all predict that actions that compensate or counteract disturbances and so on, are applyed in control loop after the effect of disturbances is perceived. That is not the case with "protection) :

Protection : to guard against, to keep safe, to protect someone or something means to prevent them from being damaged or harmed….

HB : How can LCS be always or generally be protected from bullits or from stitch of the knife and so on or from the wind affecting the car position ?

RY : In this case a person is controlling their perception of them being in the centre of the lane (the heading), by turning the steering wheel. There are many things that affect the heading of the car, such as wind.

HB : O.K. show us how control of LCS in the car is protected from wind ?

RY : If wind is applying a force from one side the person will turn the wheel; the heading will remain the same.

HB : So you are saying that wind is applying a force on the car, so we can expect that person in the car will perceive that effect. Well this is not in accordance with RCT (Ricks’ Control Theory) which says…

RM earlier : These external influences are called “disturbances”. These disturbances have little or no effect on perceptions that are controlled.

HB : So If I understand right, disturbances (wind) has no effect on perception that is controlled (probably the perception of the position of the windshield in comparison to references). Wind (disturbance) does not affect drivers perception if I understood Rick right ? It seems that Rick is contradincting to you ?

RY : So, there is no relationship between the steering wheel value and the heading; the steering wheel and the heading are decoupled. There is an effect, of course, but between the two is the whole of the feedback path which includes all the disturbances present in the environment.

HB : Explain these “facts” to Rick.

Boris

Even if there were “misalignment” it wouldn’t matter as the person would just turn the steering wheel until the goal was achieved. So, the concept of “alignment” is meaningless and irrelevant. In reality there will always be disturbances; it will never be the case that a “zero steering command” relates to keeping “the vehicle driving straight”. You could lock the wheels into driving straight on a straight road and it wouldn’t be very long before the car started to veer off. So, in real systems the concept of a “zero steering command” is also meaningless. It would only have meaning if there was a relationship between the steering setting and the heading, which there isn’t in the real world.

The trouble is that it does appear to make sense in idealised mathematical environments, or, as we call them, simulations. The Simulation Problem, as I call it, is to take conclusions from what can be made to happen in a simulated environment and apply them to the real world. The mathematical relationships that can be set up in simulation cannot work in the real world that has unknown disturbances, such as with driving. The essence of the standard Computational Approach is that such mathematical relationships (models) can be defined, which I think is grossly mistaken. I contend that they can’t and that to get systems to work in the real world you need something like PCT.

My interest in this video has been about how people who have some understanding of control don’t apply it universally, but revert to trying to construct those mathematical relationships; the Computational Approach, which is results in a control of (behavioural) output view. I think it is because Computational Approach is unquestioningly accepted at all levels. This video, by what they are saying, hasn’t convinced me otherwise, though there is ambiguity in what they say.

Changing the steering angle from zero degrees causes the car to turn, changing its heading. Changing the steering angle is a means of changing the heading. A constant non-zero heading causes a constant rate of change of heading.

I don’t think so, it depends on the environment, and disturbances therein.

I don’t see why you would think that engineers would believe that there is a relation between steering angle and heading; given that the car is moving, the relation is between steering angle and change of heading.

They say “a zero steering command no longer keeps the vehicle driving straight” from which I infer that they thought that a zero steering command would keep the vehicle driving straight (in the real world).

Regards,
Rupert

[Martin Taylor 2018.08.27.14.34]

···

I found myself in the strange position
of having reasons to accept both sides of an opposition. On the
one side, following Bruce, is a notion that after the wheels hit
the rocks a permanent offset is added to the output, but its
effect is reduced by the control gain, while on the other,
following Rupert, is that it is obvious that if the driver took
the steering wheel off the post and put it back at some random
angle relative to where it was, that would make no difference at
all to the ability of the driver to keep to the middle of the
lane. So why should the misalignment caused by the rocks make any
difference? It has the same relation to the angle of the steering
wheel as does taking the wheel off and putting it back
differently.

  For my own peace of mind, I had to figure out (or be persuaded)

which view is wrong. Intuitively, right now, when we think of
simple perceptual control it is Bruce’s that is wrong (and mine,
as I originally thought of it). That would mean that there really
is a difference between the PID and the PCT controller, because
the PID controller would have to do something permanent to correct
for the re-alignment of the wheels, whereas to the PCT controller
it would be only a transient effect.

  As Bruce said, for simplicity we should ignore the car's mass, but

I don’t think we should ignore the question of how the road wheel
angle affects the car’s position in the lane. For starters, the
road wheel angle can have any value mechanically possible wherever
the car is with respect to the lane. The position-in-lane (PIL) is
the controlled variable for both PID and PCT controllers, and it
is uncorrelated with the road wheel angle.

  Both before and after the car hits the rocks or the driver takes

the steering wheel off and replaces it at possibly a different
angle, the road wheel angle is perfectly correlated with the
steering wheel angle (apart from mechanical slop). It’s also
uncorrelated around the moment of realignment, since one or other
of the steering or road wheels remains constant while the other
changes. So the steering wheel angle is uncorrelated with the PIL
perception. Here’s a sketch of the car in three states. In each,
the car starts with zero PIL error.

  The effect of changing the road wheel angle is not to change the

PIL, or even to change the PIL error. It is to change the rate of
change of PIL error. But even that is uncorrelated with the error
value. From inside the car, the perceived rate of change of the
car’s direction of travel is constant, and the car travels in a
circle. The PIL error increases and decreases sinusoidally as a
function of time.

  Why are these causally related phenomena uncorrelated in

principle? It is because that is what differentiation (and
integration) do. Heuristically, if the value of a variable is x
right now and it is increasing, the next time it is (or the last
time it was) x it will be (or was) decreasing (discounting the
physically unrealizable possibility of discontinuous variables).
Over time, these increasing and decreasing passages through any
value of the variable will cancel out. Slightly more
mathematically, if a waveform can be described by a Fourier series
or transform, it can be decomposed into additive sinusoidal
components. The time derivative of each of these sinusoids is the
corresponding cosine, which is uncorrelated with the sinusoid.

  Why go into this? Because the derivative of a constant is zero,

and so long as the steering wheel and road wheels maintain their
relative alignment, the ability to control the PIL is unaffected
by the absolute value of their alignment. If the driver can
control the PIL perception before the realignment by the rocks,
she can do it equally well afterwards. The step change in the
steering-to-road-wheels alignment causes only a transient effect
on the PIL error, and has no influence on the control performance
of the driver. In particular, it does not cause a lasting offset
in the PIL.

  Thinking of the problem this way leads me to side with Rupert

rather than with Bruce in saying that control is unaffected by the
steering realignment, but the argument applies to any kind of
controller, so it is irrelevant to whether a PID controller is
inherently different from a PCT controller according to the
description of the PID controller in the video. Whether they are
truly different depends on the interpretation of what the author
of the video actually intended, largely in the statements around
3:23 about “the controller designed so so far”. Of course, we
could go to other sources, but Rupert’s original question was
about the controller described in the video, and we interpreted
it, each initially unambiguously, differently.

  However, since I now believe Rupert rather than Bruce about

whether the realignment causes a lasting offset in the PIL, and
the video says it does, I tend to think that the PID controller
being described is indeed different from a PCT controller, which
doesn’t care about the realignment other than controlling away the
transient in the same way it would control away the effects of a
change in the road camber.

  I have a nagging feeling that I have missed something on which

Bruce will correct me.

  Martin

[From Rupert Young (2018.08.27 17.45)]

  (        Bruce Abbott (2018.08.26.1420

EDT)]

I don’t follow.

        I am going on what you said, "One variable is said to

“control� another if the first exerts a dominant effect on
the second.". If that is what they mean by control, rather
than protecting a variable from disturbances, then they
don’t understand control.

          You are

ignoring the fact that they also use “control� to denote a
system that controls in the PCT sense of the word.

  As I say, I was going on what you said, not what they said.
              According to the video, the

car hitting those rocks “knocks its front end out of
alignment and therefore, a zero steering command no
longer keeps the vehicle driving straight.Â

        Yes, but this is their main problem. The problem being that

they think there is a relationship between steering angle
setting and the heading of the car. The most foundational
consequence of PCT shows that there is no such relationship.

Â

          You will

have to explain that one to me.Â

  Sure, but let's forget about the low-level technical

implementations as I think they are distractions from
understanding what is going on. Living systems vary action in
order to control their perceptual inputs protecting them from
disturbances. In this case a person is controlling their
perception of them being in the centre of the lane (the heading),
by turning the steering wheel. There are many things that affect
the heading of the car, such as wind. If wind is applying a force
from one side the person will turn the wheel; the heading will
remain the same. So, there is no relationship between the steering
wheel value and the heading; the steering wheel and the heading
are decoupled. There is an effect, of course, but between the two
is the whole of the feedback path which includes all the
disturbances present in the environment.

  Even if there were "misalignment" it wouldn't matter as the person

would just turn the steering wheel until the goal was achieved.
So, the concept of “alignment” is meaningless and irrelevant. In
reality there will always be disturbances; it will never be the
case that a “zero steering command” relates to keeping “the
vehicle driving straight”. You could lock the wheels into driving
straight on a straight road and it wouldn’t be very long before
the car started to veer off. So, in real systems the concept of a
“zero steering command” is also meaningless. It would only have
meaning if there was a relationship between the steering setting
and the heading, which there isn’t in the real world.

  The trouble is that it does appear to make sense in idealised

mathematical environments, or, as we call them, simulations. The
Simulation Problem, as I call it, is to take conclusions from what
can be made to happen in a simulated environment and apply them to
the real world. The mathematical relationships that can be set up
in simulation cannot work in the real world that has unknown
disturbances, such as with driving. The essence of the standard
Computational Approach is that such mathematical relationships
(models) can be defined, which I think is grossly mistaken. I
contend that they can’t and that to get systems to work in the
real world you need something like PCT.

  My interest in this video has been about how people who have some

understanding of control don’t apply it universally, but revert to
trying to construct those mathematical relationships; the
Computational Approach, which is results in a control of
(behavioural) output view. I think it is because Computational
Approach is unquestioningly accepted at all levels. This video, by
what they are saying, hasn’t convinced me otherwise, though there
is ambiguity in what they say.

          Changing

the steering angle from zero degrees causes the car to
turn, changing its heading. Changing the steering angle
is a means of changing the heading. Â A constant non-zero
heading causes a constant rate of change of heading.

  I don't think so, it depends on the environment, and disturbances

therein.

          I don’t

see why you would think that engineers would believe that
there is a relation between steering angle and heading;
given that the car is moving, the relation is between
steering angle and change of heading.

  They say "a zero steering command no longer keeps the vehicle

driving straight" from which I infer that they thought that a zero
steering command would keep the vehicle driving straight (in the
real world).


Regards,
Rupert

[From Bruce Abbott (2018.08.28.1000 EDT)]

[From Rupert Young (2018.08.27 17.45)]

(Bruce Abbott (2018.08.26.1420 EDT)]

BA: According to the video, the car hitting those rocks “knocks its front end out of alignment and therefore, a zero steering command no longer keeps the vehicle driving straight.

BA: Yes, but this is their main problem. The problem being that they think there is a relationship between steering angle setting and the heading of the car. The most foundational consequence of PCT shows that there is no such relationship.

BA: You will have to explain that one to me.

Sure, but let’s forget about the low-level technical implementations as I think they are distractions from understanding what is going on. Living systems vary action in order to control their perceptual inputs protecting them from disturbances. In this case a person is controlling their perception of them being in the centre of the lane (the heading), by turning the steering wheel. There are many things that affect the heading of the car, such as wind. If wind is applying a force from one side the person will turn the wheel; the heading will remain the same. So, there is no relationship between the steering wheel value and the heading; the steering wheel and the heading are decoupled. There is an effect, of course, but between the two is the whole of the feedback path which includes all the disturbances present in the environment.

Rupert, “headingâ€? is the direction the car is going, not its position in the lane. Turning the steering wheel changes the steering angle, and the change of steering angle changes the heading. Any constant steering angle but “straight aheadâ€? produces a continuous change of heading (a continuous turn) – the car’s motion desscribes a circle.

If we add a disturbance (a sidewind, for example), the wind will tend to alter the car’s heading, and the driver will attempt to compensate by changing the steering angle, causing the front wheels to generate a side-force that opposes the effect of the wind on the heading. The driver changes the steering angle (action) as the means of controlling the heading.

What the driver presumably wants in the example is for the car to be at a certain position within the lane and at a heading that parallels the road.

Let’s say that the car has the correct heading but is to the left of the driver’s position reference. To put the car at the reference position, the driver briefly turns the wheel to change the car’s heading so that the car is now moving toward the reference position. As the car approaches the reference position, the driver briefly changes the steering angle again, in the opposite direction, to bring the car’s heading parallel to the road just as it reaches the reference position.

In addition to controlling the car’s heading and position, the driver can also use the steering angle to control the rate of change in heading as well as the rate of change in position.  For example, by changing the steering angle only a small amount and for a short time, the driver can arrange a heading that produces a slow change in position relative to the road – e.g., a genntle lane change. In addition, the effect of steering angle on these rates depends on how fast the car is traveling, so to effect a given rate of “driftâ€? across the lane, the driver will vary the steering angle as necessary to perceive that rate – e.g., controlling for aa greater change in heading when driving slowly than when driving faster.

Even if there were “misalignment” it wouldn’t matter as the person would just turn the steering wheel until the goal was achieved. So, the concept of “alignment” is meaningless and irrelevant. In reality there will always be disturbances; it will never be the case that a “zero steering command” relates to keeping “the vehicle driving straight”. You could lock the wheels into driving straight on a straight road and it wouldn’t be very long before the car started to veer off. So, in real systems the concept of a “zero steering command” is also meaningless. It would only have meaning if there was a relationship between the steering setting and the heading, which there isn’t in the real world.

Zero steering angle is the angle at which a properly aligned car will continue at a constant heading. You are correct that real-world disturbances will cause the car to change heading even if the steering angle is locked at zero. But I don’t see the mention of a zero steering angle in the video as anything more than a statement that a zero position error would entail a zero steering angle, which would produce a constant heading.  Note that zero error implies the absence of a disturbance to position at that moment. There is no implication that a zero steering angle would produce a constant heading if disturbances were acting – contrary to what you seem to be assertting.

The trouble is that it does appear to make sense in idealised mathematical environments, or, as we call them, simulations. The Simulation Problem, as I call it, is to take conclusions from what can be made to happen in a simulated environment and apply them to the real world. The mathematical relationships that can be set up in simulation cannot work in the real world that has unknown disturbances, such as with driving. The essence of the standard Computational Approach is that such mathematical relationships (models) can be defined, which I think is grossly mistaken. I contend that they can’t and that to get systems to work in the real world you need something like PCT.

But that is not the case here. If the car simulation had introduced variable disturbances to position, the PID controller would have handled them just fine. But adding them would have made it difficult for the viewer to understand the effects of the proportional, derivative, and integral elements of the output function.

Later they do introduce a constant disturbance to heading in the form of the steering misalignment. Contrary to your description of a person’s handling of this problem, the standard PCT controller with its leaky integrator output function would not simply compensate for this disturbance in such a way that the car would remain at the reference position. (It would, however, change the wheel angle to keep the heading constant and parallel to the road.) The PCT controller can maintain that wheel angle only by retaining a small degree of error between the reference position and the car’s sensed position on the road –“ the size of the deviation being inversely proportional to the system’s loop gain. Human drivers are able to generate the offsetting steering angle without having to maintain such an error. Instead, we simply steer the car back to the reference position and then maintain the steering angle that compensates for the disturbance, be it wind or steering misalignment.

The video illustrates one solution to make the simulated driver’s behavior match that of real human drivers – add ann integral term to the output function. As the video shows, the car then maintains a steering angle that compensates for the misalignment, and the car tracks down the road at the reference position.  Of course, whether we humans also employ integral control to achieve this same end is an empirical question. (Perhaps we use some other strategy.)

My interest in this video has been about how people who have some understanding of control don’t apply it universally, but revert to trying to construct those mathematical relationships; the Computational Approach, which is results in a control of (behavioural) output view. I think it is because Computational Approach is unquestioningly accepted at all levels. This video, by what they are saying, hasn’t convinced me otherwise, though there is ambiguity in what they say.

BA: Changing the steering angle from zero degrees causes the car to turn, changing its heading. Changing the steering angle is a means of changing the heading. A constant non-zero heading causes a constant rate of change of heading.

I don’t think so, it depends on the environment, and disturbances therein.

Yes, you are correct that disturbances can upset the relation between steering angle and rate of turn, but I was talking about the effect of steering angle on heading in their absence. The second sentence is always true – changing steering angle is the means of changing the heading, even if disturbances might interfere with that effect. It is also true that a constant non-zero heading will necessarily cause a constant rate of change of heading. Constant implies not varied by disturbances or reference changes.

BA: I don’t see why you would think that engineers would believe that there is a relation between steering angle and heading; given that the car is moving, the relation is between steering angle and change of heading.

RY: They say “a zero steering command no longer keeps the vehicle driving straight” from which I infer that they thought that a zero steering command would keep the vehicle driving straight (in the real world).

I think you are reading too much into that. A zero steering command is the action that would keep a perfect vehicle driving straight in the absence of disturbances. It’s a statement that the zero steering command introduces no disturbance to heading of its own. Â

The simulation introduces no disturbances (other than those induced by the controller’s own actions) up until the rocks are encountered. But the PID controller would have counteracted them if they had been present, as it does after the steering gets misaligned. I see no reason to believe that the engineers would think that the car would track straight in the presence of disturbances simply because the steering angle was zero. They would assume that the car would track straight (on average) because the PID controller was actively compensating for those disturbances.

Earlier you said:

My interest in this video has been about how people who have some understanding of control don’t apply it universally, but revert to trying to construct those mathematical relationships; the Computational Approach, which is results in a control of (behavioural) output view. I think it is because Computational Approach is unquestioningly accepted at all levels. This video, by what they are saying, hasn’t convinced me otherwise, though there is ambiguity in what they say.

I don’t agree that the video illustrates your thesis about the “computational approach.� There must be plenty of other examples that do, but this isn’t one of them.

Bruce

[From Bruce Abbott (2018.08.28.1215 EDT)]

[Martin Taylor 2018.08.27.14.34]

I found myself in the strange position of having reasons to accept both sides of an opposition. On the one side, following Bruce, is a notion that after the wheels hit the rocks a permanent offset is added to the output, but its effect is reduced by the control gain, while on the other, following Rupert, is that it is obvious that if the driver took the steering wheel off the post and put it back at some random angle relative to where it was, that would make no difference at all to the ability of the driver to keep to the middle of the lane. So why should the misalignment caused by the rocks make any difference? It has the same relation to the angle of the steering wheel as does taking the wheel off and putting it back differently.

As I noted to Rupert, a human driver would have no problem in either case, but the standard PCT controller with a leaky integrator output function would set the steering wheel position to the former “straight aheadâ€? position, and this would result in the car turning. The control system would compensate by turning the steering wheel in the opposite direction. In the misalignment case this would rebalance the steering forces so that the car would track straight ahead – a net zero steering angle. In thhe steering wheel resetting case this would change the steering wheel position so that the steering angle is zero.

But where does this change in output come from? In the standard, single-level PCT controller it comes from the offset between reference position and sensed position, the position error. Thus, the standard PCT controller must maintain some degree of position error in order to generate the change in steering wheel angle that will compensate for this error. Thus the car will not reach its reference position, although one can get the sensed position as close to the reference as one likes by raising the loop gain sufficiently.

Is this what the human driver does?  As I see it, no. The human driver will put the car wherever she wants it to be, including exactly on her reference position. The PID controller can put the car’s position at the reference position, too, by employing the integral term. Is that what the human driver does? Maybe, but I rather doubt it. I suspect that the human driver uses lateral velocity (relative to the road) control as a means of controlling position. The car is made to drift leftward or rightward until the car reaches its reference position. This is accomplished, of course, by changing the steering angle. Lateral velocity is set proportional to position error, so as the lateral velocity reaches zero when the car is at its reference position.

For my own peace of mind, I had to figure out (or be persuaded) which view is wrong. Intuitively, right now, when we think of simple perceptual control it is Bruce’s that is wrong (and mine, as I originally thought of it). That would mean that there really is a difference between the PID and the PCT controller, because the PID controller would have to do something permanent to correct for the re-alignment of the wheels, whereas to the PCT controller it would be only a transient effect.

As Bruce said, for simplicity we should ignore the car’s mass, but I don’t think we should ignore the question of how the road wheel angle affects the car’s position in the lane. For starters, the road wheel angle can have any value mechanically possible wherever the car is with respect to the lane. The position-in-lane (PIL) is the controlled variable for both PID and PCT controllers, and it is uncorrelated with the road wheel angle.

Both before and after the car hits the rocks or the driver takes the steering wheel off and replaces it at possibly a different angle, the road wheel angle is perfectly correlated with the steering wheel angle (apart from mechanical slop). It’s also uncorrelated around the moment of realignment, since one or other of the steering or road wheels remains constant while the other changes. So the steering wheel angle is uncorrelated with the PIL perception. Here’s a sketch of the car in three states. In each, the car starts with zero PIL error.

image002104.jpg
The effect of changing the road wheel angle is not to change the PIL, or even to change the PIL error. It is to change the rate of change of PIL error. But even that is uncorrelated with the error value. From inside the car, the perceived rate of change of the car’s direction of travel is constant, and the car travels in a circle. The PIL error increases and decreases sinusoidally as a function of time.

Why are these causally related phenomena uncorrelated in principle? It is because that is what differentiation (and integration) do. Heuristically, if the value of a variable is x right now and it is increasing, the next time it is (or the last time it was) x it will be (or was) decreasing (discounting the physically unrealizable possibility of discontinuous variables). Over time, these increasing and decreasing passages through any value of the variable will cancel out. Slightly more mathematically, if a waveform can be described by a Fourier series or transform, it can be decomposed into additive sinusoidal components. The time derivative of each of these sinusoids is the corresponding cosine, which is uncorrelated with the sinusoid.

Why go into this? Because the derivative of a constant is zero, and so long as the steering wheel and road wheels maintain their relative alignment, the ability to control the PIL is unaffected by the absolute value of their alignment. If the driver can control the PIL perception before the realignment by the rocks, she can do it equally well afterwards. The step change in the steering-to-road-wheels alignment causes only a transient effect on the PIL error, and has no influence on the control performance of the driver. In particular, it does not cause a lasting offset in the PIL.

Thinking of the problem this way leads me to side with Rupert rather than with Bruce in saying that control is unaffected by the steering realignment, but the argument applies to any kind of controller, so it is irrelevant to whether a PID controller is inherently different from a PCT controller according to the description of the PID controller in the video. Whether they are truly different depends on the interpretation of what the author of the video actually intended, largely in the statements around 3:23 about “the controller designed so so far”. Of course, we could go to other sources, but Rupert’s original question was about the controller described in the video, and we interpreted it, each initially unambiguously, differently.

However, since I now believe Rupert rather than Bruce about whether the realignment causes a lasting offset in the PIL, and the video says it does, I tend to think that the PID controller being described is indeed different from a PCT controller, which doesn’t care about the realignment other than controlling away the transient in the same way it would control away the effects of a change in the road camber.

I have a nagging feeling that I have missed something on which Bruce will correct me.

Correction in progress: The “lasting offset in the PIL� in both the PCT and PID controllers is due to the way proportional controllers work. They cannot generate a change in steering wheel angle so as to compensate either for the misalignment or the changed steering wheel position unless there is a positional error that will drive the change in steering wheel angle.  It is this change in steering wheel position that allows the car to run parallel to the lane, although with a small offset from the reference position. In the video, the loop gain is apparently rather low, probably so the viewer can easily see the offset.

The human driver might deal with the problem by changing her grip on the steering wheel, which is to say adding a constant offset between hand position and steering wheel position, so that her “straight ahead� hand position keeps the steering wheel turned so as the compensate for the steering misalignment or steering wheel repositioning. Effectively, this is rebuilding the control system to remove the constant disturbance to steering angle.

Bruce

[From Bruce
Abbott (2018.08.28.1215 EDT)]

Â

[Martin Taylor 2018.08.27.14.34]

Â

image002104.jpg

···

I
found myself in the strange position of having reasons to
accept both sides of an opposition. On the one side,
following Bruce, is a notion that after the wheels hit the
rocks a permanent offset is added to the output, but its
effect is reduced by the control gain, while on the other,
following Rupert, is that it is obvious that if the driver
took the steering wheel off the post and put it back at some
random angle relative to where it was, that would make no
difference at all to the ability of the driver to keep to
the middle of the lane. So why should the misalignment
caused by the rocks make any difference? It has the same
relation to the angle of the steering wheel as does taking
the wheel off and putting it back differently.

          As I noted to Rupert, a human

driver would have no problem in either case, but the
standard PCT controller with a leaky integrator output
function would set the steering wheel position to the
former “straight ahead� position, and this would result in
the car turning. The control system would compensate by
turning the steering wheel in the opposite direction. In
the misalignment case this would rebalance the steering
forces so that the car would track straight ahead – aa net
zero steering angle. In the steering wheel resetting case
this would change the steering wheel position so that the
steering angle is zero.

          But where does this change in

output come from? In the standard, single-level PCT
controller it comes from the offset between reference
position and sensed position, the position error. Thus,
the standard PCT controller must maintain some degree of
position error in order to generate the change in steering
wheel angle that will compensate for this error. Thus the
car will not reach its reference position, although one
can get the sensed position as close to the reference as
one likes by raising the loop gain sufficiently.

          Is this what the human driver

does?  As I see it, no. The human driver will put the car
wherever she wants it to be, including exactly on her
reference position. The PID controller can put the car’s
position at the reference position, too, by employing the
integral term. Is that what the human driver does?Â
Maybe, but I rather doubt it.

          Â  I suspect that the human driver

uses lateral velocity (relative to the road) control as a
means of controlling position. The car is made to drift
leftward or rightward until the car reaches its reference
position. This is accomplished, of course, by changing
the steering angle. Lateral velocity is set proportional
to position error, so as the lateral velocity reaches zero
when the car is at its reference position.

        For my own peace of mind, I had to figure out (or be

persuaded) which view is wrong. Intuitively, right now, when
we think of simple perceptual control it is Bruce’s that is
wrong (and mine, as I originally thought of it). That would
mean that there really is a difference between the PID and
the PCT controller, because the PID controller would have to
do something permanent to correct for the re-alignment of
the wheels, whereas to the PCT controller it would be only a
transient effect.

        As Bruce said, for simplicity we should ignore the car's

mass, but I don’t think we should ignore the question of how
the road wheel angle affects the car’s position in the lane.
For starters, the road wheel angle can have any value
mechanically possible wherever the car is with respect to
the lane. The position-in-lane (PIL) is the controlled
variable for both PID and PCT controllers, and it is
uncorrelated with the road wheel angle.

        Both before and after the car hits the rocks or the driver

takes the steering wheel off and replaces it at possibly a
different angle, the road wheel angle is perfectly
correlated with the steering wheel angle (apart from
mechanical slop). It’s also uncorrelated around the moment
of realignment, since one or other of the steering or road
wheels remains constant while the other changes. So the
steering wheel angle is uncorrelated with the PIL
perception. Here’s a sketch of the car in three states. In
each, the car starts with zero PIL error.

        The effect of changing the road wheel angle is not to change

the PIL, or even to change the PIL error. It is to change
the rate of change of PIL error. But even that is
uncorrelated with the error value. From inside the car, the
perceived rate of change of the car’s direction of travel is
constant, and the car travels in a circle. The PIL error
increases and decreases sinusoidally as a function of time.

        Why are these causally related phenomena uncorrelated in

principle? It is because that is what differentiation (and
integration) do. Heuristically, if the value of a variable
is x right now and it is increasing, the next time it is (or
the last time it was) x it will be (or was) decreasing
(discounting the physically unrealizable possibility of
discontinuous variables). Over time, these increasing and
decreasing passages through any value of the variable will
cancel out. Slightly more mathematically, if a waveform can
be described by a Fourier series or transform, it can be
decomposed into additive sinusoidal components. The time
derivative of each of these sinusoids is the corresponding
cosine, which is uncorrelated with the sinusoid.

        Why go into this? Because the derivative of a constant is

zero, and so long as the steering wheel and road wheels
maintain their relative alignment, the ability to control
the PIL is unaffected by the absolute value of their
alignment. If the driver can control the PIL perception
before the realignment by the rocks, she can do it equally
well afterwards. The step change in the
steering-to-road-wheels alignment causes only a transient
effect on the PIL error, and has no influence on the control
performance of the driver. In particular, it does not cause
a lasting offset in the PIL.

        Thinking of the problem this way leads me to side with

Rupert rather than with Bruce in saying that control is
unaffected by the steering realignment, but the argument
applies to any kind of controller, so it is irrelevant to
whether a PID controller is inherently different from a PCT
controller according to the description of the PID
controller in the video. Whether they are truly different
depends on the interpretation of what the author of the
video actually intended, largely in the statements around
3:23 about “the controller designed so so far”. Of course,
we could go to other sources, but Rupert’s original question
was about the controller described in the video, and we
interpreted it, each initially unambiguously, differently.

        However, since I now believe Rupert rather than Bruce about

whether the realignment causes a lasting offset in the PIL,
and the video says it does, I tend to think that the PID
controller being described is indeed different from a PCT
controller, which doesn’t care about the realignment other
than controlling away the transient in the same way it would
control away the effects of a change in the road camber.

        I have a nagging feeling that I have missed something on

which Bruce will correct me.

          Correction in progress:Â  The

“lasting offset in the PIL� in both the PCT and PID
controllers is due to the way proportional controllers
work. They cannot generate a change in steering wheel
angle so as to compensate either for the misalignment or
the changed steering wheel position unless there is a
positional error that will drive the change in steering
wheel angle. Â It is this change in steering wheel position
that allows the car to run parallel to the lane, although
with a small offset from the reference position. In the
video, the loop gain is apparently rather low, probably so
the viewer can easily see the offset.

          The human driver might deal with

the problem by changing her grip on the steering wheel,
which is to say adding a constant offset between hand
position and steering wheel position, so that her
“straight ahead� hand position keeps the steering wheel
turned so as the compensate for the steering misalignment
or steering wheel repositioning. Effectively, this is
rebuilding the control system to remove the constant
disturbance to steering angle.

[From Bruce Abbott (2018.08.28.1800 EDT)]

[Martin Taylor 2018.08.28.13.45]

[From Bruce Abbott (2018.08.28.1215 EDT)]

[Martin Taylor 2018.08.27.14.34]

MT: I found myself in the strange position of having reasons to accept both sides of an opposition. On the one side, following Bruce, is a notion that after the wheels hit the rocks a permanent offset is added to the output, but its effect is reduced by the control gain, while on the other, following Rupert, is that it is obvious that if the driver took the steering wheel off the post and put it back at some random angle relative to where it was, that would make no difference at all to the ability of the driver to keep to the middle of the lane. So why should the misalignment caused by the rocks make any difference? It has the same relation to the angle of the steering wheel as does taking the wheel off and putting it back differently.

BA: As I noted to Rupert, a human driver would have no problem in either case, but the standard PCT controller with a leaky integrator output function would set the steering wheel position to the former “straight aheadâ€? position, and this would result in the car turning. The control system would compensate by turning the steering wheel in the opposite direction. In the misalignment case this would rebalance the steering forces so that the car would track straight ahead – a net zero steering angle. In tthe steering wheel resetting case this would change the steering wheel position so that the steering angle is zero.

MT: This, I don’t understand. You seem to be saying that the controller is controlling for perceived heading direction with a reference value of “straight head”. I don’t remember that requirement ever being part of the situation.

I never mentioned anything about the car in the video perceiving (let along controlling!) a heading.

MT: My understanding was that the only controlled variable (in the environment, and therefore in the perceptual controller, in the controller) was distance from the lane centre. Heading direction is a side-effect available to the outside observer, not to the position-in-lane (PIL) controller. When the road is straight ahead, and if control is good, the heading direction will generally be close to straight ahead, but if the road is curved, a straight ahead heading reference value conflicts with keeping in the lane centre. So why is your car controlling for going straight ahead?

It is not controlling for going straight ahead. This idea is a reversion to the idea (which I have been disputing) that the PID controller in the video is controlling steering angle. It sets the steering angle as the means of controlling the car’s position relative to the reference. The video shows a straight road, so once the car is running parallel to the road and at its reference position, maintaining a straight-ahead heading keeps the car’s position from drifting away from its reference position.

Of course, if the road curves, then to keep the car centered on its reference position, the controller will have to change the steering angle from straight ahead to a value that will cause the car to follow the curve. As the road starts to curve, the straight-ahead steering angle will cause the car to depart from its center position, producing an error that will cause the steering angle to be changed in a direction that reduces the error.   When the car returns to center, the steering angle will adjust so that the rate of turn matches the curve in the road. In this way the controller handles curves as well as straight roads.

BA: But where does this change in output come from? In the standard, single-level PCT controller it comes from the offset between reference position and sensed position, the position error. Thus, the standard PCT controller must maintain some degree of position error in order to generate the change in steering wheel angle that will compensate for this error. Thus the car will not reach its reference position, although one can get the sensed position as close to the reference as one likes by raising the loop gain sufficiently.

MT: This is true of any controlled variable in the absence of variation in the reference and disturbance. But as I pointed out before, in the standard (leaky integrator) PCT controller there is no concept of loop gain as such. There is a ratio between integration gain rate g and leak rate r (slowing factor, if you like), which lead to an effective steady state gain G=g/r if you are interested in steady-state conditions. But the point you make is true of ANY controller, not just a standard PCT controller.

Not so. The integral term in the PID output function allows the position error to be reduced to zero in the steady state. What IS true is that the residual integral error will remain large enough to produce a the steering angle that opposes the effect of the disturbance. Picture the driver holding the wheel at an angle to keep the car tracking the center of its lane against a strong sidewind that otherwise would push the car away from center.

MT: You can’t allow the PID controller to use an idealized leakless integrator (r=0) and not allow that capability to the PCT controller with which you compare it. The problem with infinite G in a PCT controller is entirely caused by the phase angle change over a transport lag, which with any non-zero transport lag finally becomes 180° at some frequency where the absolute gain exceeds unity. But in the idealized reference situation of the video there is no loop transport delay at all, so there’s no need for any leak in the PCT output integrator. The error will reach zero, if only after infinite time (but we have an idealized driver who is immortal and an infinite road, so we can sweep that under the rug.)

I see the PID controller as one possible version of a PCT controller, not a competitor to it. As proportional controllers, both will develop an offset from reference in response to a constant disturbance. Adding the non-leaky integral term will allow both to eliminate this constant offset.

I should mention that real-world non-leaky integrator outputs suffer from possible integrator “wind-upâ€? if the error is not corrected soon enough – the error cumulates to such a degree that it takes an excessively long time to “unwind itâ€? through an opposing output. This can make the controller sluggish or even unstable due to the induced phase lag. Engineers have developed strategies to deal with this problem, such as limiting the size of the cumulated error

BA: Is this what the human driver does? As I see it, no. The human driver will put the car wherever she wants it to be, including exactly on her reference position. The PID controller can put the car’s position at the reference position, too, by employing the integral term. Is that what the human driver does? Maybe, but I rather doubt it.

MT: So do I, and since we are talking about real conditions and finite time to get close, lets talk about another aspect of realism, which is tolerance. The human driver does not even try to be exact. The human driver get close enough to be functional, and if exactness is wanted, gets it on average by drifting the reference value slightly back and forth around zero if there isn’t a varying disturbance (engineers call this “jitter”), and correcting for disturbance variation if there is.

I have been keeping this “deadband� in mind but did not want to bring this additional complexity into the picture until we reached agreement on how the PID controller in the video actually works. There is a tolerance region within which some drift away from the nominal center will produce no attempts at compensation. But this is a side issue.

[More below the extended quote]

BA: Â I suspect that the human driver uses lateral velocity (relative to the road) control as a means of controlling position. The car is made to drift leftward or rightward until the car reaches its reference position. This is accomplished, of course, by changing the steering angle. Lateral velocity is set proportional to position error, so as the lateral velocity reaches zero when the car is at its reference position.

MT: For my own peace of mind, I had to figure out (or be persuaded) which view is wrong. Intuitively, right now, when we think of simple perceptual control it is Bruce’s that is wrong (and mine, as I originally thought of it). That would mean that there really is a difference between the PID and the PCT controller, because the PID controller would have to do something permanent to correct for the re-alignment of the wheels, whereas to the PCT controller it would be only a transient effect.

MT: As Bruce said, for simplicity we should ignore the car’s mass, but I don’t think we should ignore the question of how the road wheel angle affects the car’s position in the lane. For starters, the road wheel angle can have any value mechanically possible wherever the car is with respect to the lane. The position-in-lane (PIL) is the controlled variable for both PID and PCT controllers, and it is uncorrelated with the road wheel angle.

MT: Both before and after the car hits the rocks or the driver takes the steering wheel off and replaces it at possibly a different angle, the road wheel angle is perfectly correlated with the steering wheel angle (apart from mechanical slop). It’s also uncorrelated around the moment of realignment, since one or other of the steering or road wheels remains constant while the other changes. So the steering wheel angle is uncorrelated with the PIL perception. Here’s a sketch of the car in three states. In each, the car starts with zero PIL error.

image002104.jpg
MT: The effect of changing the road wheel angle is not to change the PIL, or even to change the PIL error. It is to change the rate of change of PIL error. But even that is uncorrelated with the error value. From inside the car, the perceived rate of change of the car’s direction of travel is constant, and the car travels in a circle. The PIL error increases and decreases sinusoidally as a function of time.

MT: Why are these causally related phenomena uncorrelated in principle? It is because that is what differentiation (and integration) do. Heuristically, if the value of a variable is x right now and it is increasing, the next time it is (or the last time it was) x it will be (or was) decreasing (discounting the physically unrealizable possibility of discontinuous variables). Over time, these increasing and decreasing passages through any value of the variable will cancel out. Slightly more mathematically, if a waveform can be described by a Fourier series or transform, it can be decomposed into additive sinusoidal components. The time derivative of each of these sinusoids is the corresponding cosine, which is uncorrelated with the sinusoid.

MT: Why go into this? Because the derivative of a constant is zero, and so long as the steering wheel and road wheels maintain their relative alignment, the ability to control the PIL is unaffected by the absolute value of their alignment. If the driver can control the PIL perception before the realignment by the rocks, she can do it equally well afterwards. The step change in the steering-to-road-wheels alignment causes only a transient effect on the PIL error, and has no influence on the control performance of the driver. In particular, it does not cause a lasting offset in the PIL.

MT: Thinking of the problem this way leads me to side with Rupert rather than with Bruce in saying that control is unaffected by the steering realignment, but the argument applies to any kind of controller, so it is irrelevant to whether a PID controller is inherently different from a PCT controller according to the description of the PID controller in the video. Whether they are truly different depends on the interpretation of what the author of the video actually intended, largely in the statements around 3:23 about “the controller designed so so far”. Of course, we could go to other sources, but Rupert’s original question was about the controller described in the video, and we interpreted it, each initially unambiguously, differently.

MT: However, since I now believe Rupert rather than Bruce about whether the realignment causes a lasting offset in the PIL, and the video says it does, I tend to think that the PID controller being described is indeed different from a PCT controller, which doesn’t care about the realignment other than controlling away the transient in the same way it would control away the effects of a change in the road camber.

MT: I have a nagging feeling that I have missed something on which Bruce will correct me.

BA� Correction in progress: The “lasting offset in the PIL� in both the PCT and PID controllers is due to the way proportional controllers work. They cannot generate a change in steering wheel angle so as to compensate either for the misalignment or the changed steering wheel position unless there is a positional error that will drive the change in steering wheel angle. It is this change in steering wheel position that allows the car to run parallel to the lane, although with a small offset from the reference position. In the video, the loop gain is apparently rather low, probably so the viewer can easily see the offset.

BA: The human driver might deal with the problem by changing her grip on the steering wheel, which is to say adding a constant offset between hand position and steering wheel position, so that her “straight ahead� hand position keeps the steering wheel turned so as the compensate for the steering misalignment or steering wheel repositioning. Effectively, this is rebuilding the control system to remove the constant disturbance to steering angle.

MT: You really do seem to be treating the perceived heading as a controlled variable.

To keep the car in its reference position on the road as it travels down the road, the controller’s actions have to result in a heading that matches the road’s heading. If the car reaches the centerline but is traveling at a steep angle across the road, the car will immediately pass the centerline. Only by bringing the car’s heading into alignment with the road’s will the controller manage to keep the car at its reference position as it moves along. But its heading is a side effect of the control process that gets the car tracking along the centerline. As the positional error reduces, the steering angle reduces (because it is proportional to the error) and because the rear wheels follow the front wheels, the car’s heading becomes more parallel to the road. Only when the car’s heading is parallel to the road’s heading will the car continue to accurately track the reference position.

Your next three paragraphs below do not require a response from me, because they argue from a false premise.

MT: What benefit is there in doing so? I see only potential conflict between PIL control and heading control if both are independently controlled. If they are not, as in a PCT 2-level hierarchy with heading reference set by the output of the PIL control unit, “straight ahead” will be the reference only accidentally, when the PIL error integrates to zero (has averaged zero over a time determined by the integrator lag). I suggest it is better to ignore the idea that heading direction might be controlled, and to think only of the PIL control loop, including everything else as a black-box environmental feedback path.

MT: Even the equations of the PID controller don’t mention heading direction, except implicitly because the derivative of PIL error happens to be he actual heading direction relative to the local direction of the lane centre. That derivative is proportional to the road wheel angle. To control it with reference value zero would be a mistake, but does the PID controller do that? I think not. The factors for current and the first derivative of PIL error (and for its integral) are all simply added together to produce a reference steering wheel angle, in the way that multiple higher-level signals combine to form the reference input for a next lower-level unit in Rick’s spreadsheet hierarchy. None of them individually is controlled, and that’s different from a PCT controller that controls only PIL with one reference value, zero.

MT: One way of looking at the PID controller that is described in the video is that it uses control error to reorganize the system (specifically the relationship between steering wheel angle and road wheel angle), and the resulting PIL control is simply a side-effect result of that reorganization. The PCT controller has no need for that reorganization, since its minimum-precision output can always be characterized as “do more (less) of whatever you are doing”, depending on which is the error reducing direction. It is agnostic as to what the “whatever” might be (though the Artificial Cerebellum" does learn he dynamic characteristics of the “whatever”). In the example, the corresponding PCT controller neither perceives nor controls heading direction, steering wheel angle, or anything else other than PIL. And nor should it.

I think I’m going to rest my case. I simply don’t know what else I can say to make my position clear.

Bruce