Positional control

[From Bruce Abbott (2014.01.07.1540 EST)]

My post this morning [Bruce Abbott (2014.01.07.1200 EST)] presented the example of a leaky bucket whose water level was being actively controlled against disturbances by varying the rate of water inflow. That example got me to thinking about the standard control task used by Bill and others to illustrate the operation of a control system. A reference position is marked on the computer screen and the user must move the computer’s mouse left or right to keep a cursor aligned with the target. Meanwhile, the cursor’s horizontal position on the screen is being affected not only by the user’s mouse movements but also by an invisible and smoothly varying disturbance. Thus the cursor is being erratically driven away from the reference position while the user attempts to compensate for this disturbance by moving the mouse in the opposite direction. After an experimental run, a control-system model is fit to the data, generating a set of points as a function of time that depict how the user would move the mouse to compensate for the time-varying disturbance if the user were behaving like the control system implemented in the model. The fit of model to the actual data is usually excellent.

Despite the excellent fit of model to data, I wonder whether the simple control-system model used generate the predicted data adequately captures what I perceive myself to be actually doing during a run. Supposedly, I am perceiving any error between the reference and cursor positions and moving the cursor so as to reduce this positional error. However, what I perceive myself to be doing is varying the rate of mouse movement in order to zero out the rate at which the cursor is moving. This apparent strategy is most noticeable when there is an extended period during which maintaining a zero cursor velocity requires me to maintain a steady rate of mouse movement.

Often a quick change in cursor velocity causes the cursor to move to the left or right of the reference mark before I am able to change the mouse velocity to compensate. In order to get the cursor back to reference, I have to overcompensate the cursor velocity change to “catch up.”

Now here’s the problem. The standard control model used in these demonstrations is a proportional controller with a “leaky integrator” in the output function. The leaky integrator is there primarily to eliminate an artifact produced by the fact that the computer simulation changes all values within the control loop in discrete time-steps. The sudden introduction of a large disturbance (e.g., a step function) cannot be countered instantaneously by any real control system, but the computer will happily compute instantaneous changes all around the loop. The leaky integrator on the output assures that it takes a finite amount of simulated time to develop an output that begins to oppose the effect of the disturbance. The leakage rate of the integrator is the primary parameter that is varied during the fitting of the control model to the data in order to maximize the goodness of fit (as measured by least squares).

The simple control system modeled in these demonstrations skips over the details of how the output of the system affects the controlled variable, which in this case is the horizontal position of the cursor. Somehow, the output affects the position of the cursor (in combination with the effect of the disturbance). A more detailed model would have to include some real physics: forces generated that accelerate the mouse, altering its velocity, which in turn changes its position. (Another part of what that leaky integrator output does is loosely mimic the effect of inertia that would be present in a physical system owing to its mass – or so it seems to me.)

So here’s what I’m wondering about. Given my perception of what I’m trying to do in order to keep the cursor at the reference location or return it there when I fail, is this single-level model an adequate representation of how I am actually controlling the cursor position? It seems to me that a hierarchical model (perhaps like the one implemented in the inverted pendulum demo) might come closer to modeling how I am actually trying to control the cursor. I seem to be varying mouse velocity (not mouse position per se) as the means of controlling cursor position.

This sort of organization solves another problem that’s been bothering me. In the automobile-driving example, a side-wind acts as a disturbance, tending to push the car to, say, the left of the driver’s reference position within the lane. That error produces as output a change of steering-wheel angle, which changes the angle of the front wheels of the car, generating a small sideways force that resists the disturbance. However, if the driver were to move the car back to the reference position within the lane, the error would disappear and the driver would re-center the steering wheel. To keep the wheel turned to resist the disturbance, there must be a residual position error (how large or small depends on the system’s loop gain). But I don’t perceive myself as having to remain slightly off my desired position in order to keep the steering wheel turned and thus resist the effect of the wind on the car’s position.

I am aware that including an integral function in the output could be used to zero out the positional error (small errors continue to summate in an integral output, leading to changes in output that stop the error from accumulating, which occurs when position = reference). But hierarchical control can accomplish the same result.

Bruce

[Martin Taylor 2014.01.07]

Bruce, At the CSG conference in 2005, I gave three presentations, one of

which is relevant:
.
(The others were on Layered Protocols and on an existence theorem
for Social Control systems). In it I described the process of
fitting models to data, using as examples a series of over 1300
pursuit tracks by 32 subjects (not tracking physical location, but
tracking displayed number or displayed line length). “I tried a
couple of dozen different model structures before settling on two
that seemed good enough to be worth trying on the whole set of 1300+
trials” (quote from the presentation). One of the two model
structures that survived the winnowing process was this:
I think it is the structure you proposed in your message.
The other model had the cursor velocity perception from kinaesthetic
input rather than from visual input, and used predicted target
position to compare with the cursor. The better “best fit” was for
the model displayed, but the other was less sensitive to parameter
variation.
You can look at the arguments about fitting models to data by
downloading the PDF. Genetic algorithms were shown to be better than
e-coli for the same amount of computation, using 35 genes to fit the
5 parameters, 5 basic genes, 25 for rotations, and 5 for scales on
the rotated axes.
Anyway, I think these results are at least consistent with your
intuition, despite being for different types of perception.
Martin

efdbbcia.png

···
        [From Bruce

Abbott (2014.01.07.1540 EST)]

…

        However,

what I perceive myself to be doing is varying the rate of
mouse movement in order to zero out the rate at which the
cursor is moving. This apparent strategy is most noticeable
when there is an extended period during which maintaining a
zero cursor velocity requires me to maintain a steady rate
of mouse movement.

…

        So here’s

what I’m wondering about. Given my perception of what I’m
trying to do in order to keep the cursor at the reference
location or return it there when I fail, is this
single-level model an adequate representation of how I am
actually controlling the cursor position? It seems to me
that a hierarchical model (perhaps like the one implemented
in the inverted pendulum demo) might come closer to modeling
how I am actually trying to control the cursor. I seem to
be varying mouse velocity (not mouse position per se) as the
means of controlling cursor position.

http://www.mmtaylor.net/PCT/CSG2005/CSG2005bFittingData.ppt

Hi there, I thought that single level control systems were always presented openly as oversimplifications of the most superordinate level within a hierarchy? To specify the mechanisms at various lower physical levels we would always require lower hierarchical levels? I think we need to be aware of this especially as we start to compare PCT with physiological theories like EP. PCT can do it but we might need to think carefully about how, like Martin illustrates.

Warren

···
        [From Bruce

Abbott (2014.01.07.1540 EST)]

…

        However,

what I perceive myself to be doing is varying the rate of
mouse movement in order to zero out the rate at which the
cursor is moving. This apparent strategy is most noticeable
when there is an extended period during which maintaining a
zero cursor velocity requires me to maintain a steady rate
of mouse movement.

…

        So here’s

what I’m wondering about. Given my perception of what I’m
trying to do in order to keep the cursor at the reference
location or return it there when I fail, is this
single-level model an adequate representation of how I am
actually controlling the cursor position? It seems to me
that a hierarchical model (perhaps like the one implemented
in the inverted pendulum demo) might come closer to modeling
how I am actually trying to control the cursor. I seem to
be varying mouse velocity (not mouse position per se) as the
means of controlling cursor position.

http://www.mmtaylor.net/PCT/CSG2005/CSG2005bFittingData.ppt

[From Bruce Abbott (2014.01.08.0835)]

Thanks, Martin; that’s more or less what I had in mind.

Bruce

efdbbcia.png

···

From: Control Systems Group Network (CSGnet) [mailto:CSGNET@LISTSERV.ILLINOIS.EDU] On Behalf Of Martin Taylor
Sent: Tuesday, January 07, 2014 4:28 PM
To: CSGNET@LISTSERV.ILLINOIS.EDU
Subject: Re: Positional control

[Martin Taylor 2014.01.07]

[From Bruce Abbott (2014.01.07.1540 EST)]

…

However, what I perceive myself to be doing is varying the rate of mouse movement in order to zero out the rate at which the cursor is moving. This apparent strategy is most noticeable when there is an extended period during which maintaining a zero cursor velocity requires me to maintain a steady rate of mouse movement.

…

So here’s what I’m wondering about. Given my perception of what I’m trying to do in order to keep the cursor at the reference location or return it there when I fail, is this single-level model an adequate representation of how I am actually controlling the cursor position? It seems to me that a hierarchical model (perhaps like the one implemented in the inverted pendulum demo) might come closer to modeling how I am actually trying to control the cursor. I seem to be varying mouse velocity (not mouse position per se) as the means of controlling cursor position.

Bruce,

At the CSG conference in 2005, I gave three presentations, one of which is relevant: http://www.mmtaylor.net/PCT/CSG2005/CSG2005bFittingData.ppt. (The others were on Layered Protocols and on an existence theorem for Social Control systems). In it I described the process of fitting models to data, using as examples a series of over 1300 pursuit tracks by 32 subjects (not tracking physical location, but tracking displayed number or displayed line length). “I tried a couple of dozen different model structures before settling on two that seemed good enough to be worth trying on the whole set of 1300+ trials” (quote from the presentation). One of the two model structures that survived the winnowing process was this:

I think it is the structure you proposed in your message.

The other model had the cursor velocity perception from kinaesthetic input rather than from visual input, and used predicted target position to compare with the cursor. The better “best fit” was for the model displayed, but the other was less sensitive to parameter variation.

You can look at the arguments about fitting models to data by downloading the PDF. Genetic algorithms were shown to be better than e-coli for the same amount of computation, using 35 genes to fit the 5 parameters, 5 basic genes, 25 for rotations, and 5 for scales on the rotated axes.

Anyway, I think these results are at least consistent with your intuition, despite being for different types of perception.

Martin


No virus found in this message.
Checked by AVG - www.avg.com
Version: 2014.0.4259 / Virus Database: 3658/6982 - Release Date: 01/07/14