EP Model -- Delphi version

[From Bruce Abbott (2014.02.03.1840 EST)]

I’ve posted a preliminary Delphi version of the equilibrium point simulation that I distributed earlier as an Excel spreadsheet. It runs on a PC (and should run on a Mac with PC emulation).

This version includes a visual representing an arm with elbow joint and a live graph showing the dynamic behavior of the model. You can set the “command” variables, R and C, using slider controls, add or remove a simulated weight, and run the simulation in either continuous mode or stopping each simulation run after 30 seconds, the limits of the graph before it resets to the left margin.

The model appears to function very much as shown in the Figure 6 graph of the Lan & Zhu (2007) paper and reacts properly to the added weight. However, it appears that the variables relating to the flexor and extensor muscles are reversed. You will notice that adding weight to the arm generates a downward torque on the arm that is resisted by an opposing torque – unfortunately of the extensor muscle when it should have been the flexor muscle. At this point I am uncertain whether the “f” and “e” appended to variable names to represent flexor and extensor values were simply reversed or if something else is wrong. (I could easily fix this by reversing labels but would rather discover the origin of the problem!)

I have not attempted to protect the simulation against floating point overflow, which I have observed under certain conditions, usually involving extreme values of R and C, but if you get an error message, simply restart the program.

This simulation is based on the Lan and Zhu (2007) paper, which in turn based its equations on a paper by Asatryan and Feldman (1965). Thus it represents a very early version of the EP model. Mark Latash, one of the major contributors to the development of the EP hypothesis, said in an email that it contains a number of simplifications that made Lan and Zhu’s mathematical analysis more tractable but also mean that it does not adequately represent current versions of the EP model. I wrote the present simulation despite this warning in order to establish that I could at least replicate Lan and Zhu’s version of the model. From here I hope to develop another simulation that will accurately model a current version of EP.

You can download the Delphi model from my website, https://sites.google.com/site/perceptualcontroldemos/home/other-demos ; the relevant file is EPModel.zip. Unzip the folder and then run the program by double-clicking on its filename, EPModel.exe. Start a simulation run by clicking on the “Run Model” button. You can do this either before or after setting values such as R and C and the added weight.

If you manipulate the R-command slider while the simulation is in continuous mode, you can see how the “arm” behaves dynamically during and after changes in R. By manipulating the C-command slider you can see how increasing the “isometric” tension of the muscles across the joint stiffens it. This has two effects: it reduces the oscillations of the forearm after a change in R and it reduces the change in final joint angle when the weight is added or removed. Changes in R act like changes in reference for joint angle, whereas changes in C act like changes in the gain of the control system.

The variable values shown at right in the simulation are for the variables includes in the simulated EP model – See Lan and Zhu (2007) for descriptions of each variable’s role.

I’d appreciate any comments you may wish to offer on this simulation after you’ve had a chance to play with it.

Bruce

[From Rick Marken (2014.02.04.1710)]

Bruce Abbott (2014.02.03.1840 EST)--

BA: I've posted a preliminary Delphi version of the equilibrium point
simulation that I distributed earlier as an Excel spreadsheet.

RM: Now that is one beautiful piece of work!!

BA: The model appears to function very much as shown in the Figure 6
graph of the Lan & Zhu (2007) paper and reacts properly to the added
weight. However, it appears that the variables relating to the flexor and
extensor muscles are reversed. You will notice that adding weight to the arm
generates a downward torque on the arm that is resisted by an opposing
torque - unfortunately of the extensor muscle when it should have been the
flexor muscle. At this point I am uncertain whether the "f" and "e"
appended to variable names to represent flexor and extensor values were
simply reversed or if something else is wrong. (I could easily fix this by
reversing labels but would rather discover the origin of the problem!)

RM: I think the labels are correct but the interpretation of what is
happening is wrong. I think you so want to believe that this is a
control model that you believe that the downward torque of the weight
is being resisted by an opposing upward torque of the flexor; so when
the flexor torque decreases and the extensor torque increases when the
weight torque is applied you interpret the increased extensor torque
as the opposing force and assume that that's really the "resisting"
flexor torque and that there is a mislabeling. But isn't an increase
in extensor torque and a decrease in flexor torque exactly what is
expected when weight is applied to this system if it's not a control
system? Indeed, if you change the weight continuously, running it up
and down, while the simulation is running continuously, you will see
the the plot of joint angle goes down and up in direct proportion to
the changes in weight (this was particularly easy to see with R= 60
and C = 70 which, without weight applied, brings the joint angle
quickly and smoothly to 60 degrees).

I think this program demonstrates -- rather beautifully -- that an EP
model is not a control model. The model doesn't behave anything like a
human holding the arm at a particular joint angle while another person
applies varying torque to the hand (the equivalent of the varying
weight torque).

I think this program can be the basis of a bombshell paper showing
that EP models have nothing to do with real human behavior. This is a
big deal, Bruce. It can do to EP models what Seattle did to Denver!
And after reading Feldman's reply to Bill Powers, I can't think anyone
to whom I'd rather have it happen (I felt bad for Denver but I won't
for Feldman). Just call me the 12th man.

Best

Rick

···

I have not attempted to protect the simulation against floating point
overflow, which I have observed under certain conditions, usually involving
extreme values of R and C, but if you get an error message, simply restart
the program.

This simulation is based on the Lan and Zhu (2007) paper, which in turn
based its equations on a paper by Asatryan and Feldman (1965). Thus it
represents a very early version of the EP model. Mark Latash, one of the
major contributors to the development of the EP hypothesis, said in an email
that it contains a number of simplifications that made Lan and Zhu's
mathematical analysis more tractable but also mean that it does not
adequately represent current versions of the EP model. I wrote the present
simulation despite this warning in order to establish that I could at least
replicate Lan and Zhu's version of the model. From here I hope to develop
another simulation that will accurately model a current version of EP.

You can download the Delphi model from my website,
https://sites.google.com/site/perceptualcontroldemos/home/other-demos ; the
relevant file is EPModel.zip. Unzip the folder and then run the program by
double-clicking on its filename, EPModel.exe. Start a simulation run by
clicking on the "Run Model" button. You can do this either before or after
setting values such as R and C and the added weight.

If you manipulate the R-command slider while the simulation is in continuous
mode, you can see how the "arm" behaves dynamically during and after changes
in R. By manipulating the C-command slider you can see how increasing the
"isometric" tension of the muscles across the joint stiffens it. This has
two effects: it reduces the oscillations of the forearm after a change in R
and it reduces the change in final joint angle when the weight is added or
removed. Changes in R act like changes in reference for joint angle,
whereas changes in C act like changes in the gain of the control system.

The variable values shown at right in the simulation are for the variables
includes in the simulated EP model - See Lan and Zhu (2007) for descriptions
of each variable's role.

I'd appreciate any comments you may wish to offer on this simulation after
you've had a chance to play with it.

Bruce

--
Richard S. Marken PhD
www.mindreadings.com

The only thing that will redeem mankind is cooperation.
                                                   -- Bertrand Russell

Hi Bruce, this is brilliant to see. It is perfect to be able to see all the parameters on the screen as it is run dynamically and to see the visual simulation. Fantastic. As you have both pointed out, it doesn’t seem to resist a disturbance in weight to keep a fixed joint angle when the R and the C are constant. I guess the question is whether it does indeed still replicate the graphs and data that Lan & Zhu published - if so, then it is most likely an accurate replication of their model that doesn’t control. I guess one option will be to contact the authors…
Really excited to see this unfold!

Warren

···

On Wed, Feb 5, 2014 at 1:09 AM, Richard Marken rsmarken@gmail.com wrote:

[From Rick Marken (2014.02.04.1710)]

Bruce Abbott (2014.02.03.1840 EST)–

BA: I’ve posted a preliminary Delphi version of the equilibrium point
simulation that I distributed earlier as an Excel spreadsheet.

RM: Now that is one beautiful piece of work!!

BA: The model appears to function very much as shown in the Figure 6
graph of the Lan & Zhu (2007) paper and reacts properly to the added

weight. However, it appears that the variables relating to the flexor and

extensor muscles are reversed. You will notice that adding weight to the arm

generates a downward torque on the arm that is resisted by an opposing

torque - unfortunately of the extensor muscle when it should have been the

flexor muscle. At this point I am uncertain whether the “f” and “e”

appended to variable names to represent flexor and extensor values were

simply reversed or if something else is wrong. (I could easily fix this by

reversing labels but would rather discover the origin of the problem!)

RM: I think the labels are correct but the interpretation of what is

happening is wrong. I think you so want to believe that this is a

control model that you believe that the downward torque of the weight

is being resisted by an opposing upward torque of the flexor; so when

the flexor torque decreases and the extensor torque increases when the

weight torque is applied you interpret the increased extensor torque

as the opposing force and assume that that’s really the “resisting”

flexor torque and that there is a mislabeling. But isn’t an increase

in extensor torque and a decrease in flexor torque exactly what is

expected when weight is applied to this system if it’s not a control

system? Indeed, if you change the weight continuously, running it up

and down, while the simulation is running continuously, you will see

the the plot of joint angle goes down and up in direct proportion to

the changes in weight (this was particularly easy to see with R= 60

and C = 70 which, without weight applied, brings the joint angle

quickly and smoothly to 60 degrees).

I think this program demonstrates – rather beautifully – that an EP

model is not a control model. The model doesn’t behave anything like a

human holding the arm at a particular joint angle while another person

applies varying torque to the hand (the equivalent of the varying

weight torque).

I think this program can be the basis of a bombshell paper showing

that EP models have nothing to do with real human behavior. This is a

big deal, Bruce. It can do to EP models what Seattle did to Denver!

And after reading Feldman’s reply to Bill Powers, I can’t think anyone

to whom I’d rather have it happen (I felt bad for Denver but I won’t

for Feldman). Just call me the 12th man.

Best

Rick

I have not attempted to protect the simulation against floating point

overflow, which I have observed under certain conditions, usually involving

extreme values of R and C, but if you get an error message, simply restart

the program.

This simulation is based on the Lan and Zhu (2007) paper, which in turn

based its equations on a paper by Asatryan and Feldman (1965). Thus it

represents a very early version of the EP model. Mark Latash, one of the

major contributors to the development of the EP hypothesis, said in an email

that it contains a number of simplifications that made Lan and Zhu’s

mathematical analysis more tractable but also mean that it does not

adequately represent current versions of the EP model. I wrote the present

simulation despite this warning in order to establish that I could at least

replicate Lan and Zhu’s version of the model. From here I hope to develop

another simulation that will accurately model a current version of EP.

You can download the Delphi model from my website,

https://sites.google.com/site/perceptualcontroldemos/home/other-demos ; the

relevant file is EPModel.zip. Unzip the folder and then run the program by

double-clicking on its filename, EPModel.exe. Start a simulation run by

clicking on the “Run Model” button. You can do this either before or after

setting values such as R and C and the added weight.

If you manipulate the R-command slider while the simulation is in continuous

mode, you can see how the “arm” behaves dynamically during and after changes

in R. By manipulating the C-command slider you can see how increasing the

“isometric” tension of the muscles across the joint stiffens it. This has

two effects: it reduces the oscillations of the forearm after a change in R

and it reduces the change in final joint angle when the weight is added or

removed. Changes in R act like changes in reference for joint angle,

whereas changes in C act like changes in the gain of the control system.

The variable values shown at right in the simulation are for the variables

includes in the simulated EP model - See Lan and Zhu (2007) for descriptions

of each variable’s role.

I’d appreciate any comments you may wish to offer on this simulation after

you’ve had a chance to play with it.

Bruce

Richard S. Marken PhD

www.mindreadings.com

The only thing that will redeem mankind is cooperation.

                                               -- Bertrand Russell


Dr Warren Mansell
Reader in Psychology
Cognitive Behavioural Therapist & Chartered Clinical Psychologist
School of Psychological Sciences

Coupland I
University of Manchester
Oxford Road
Manchester M13 9PL
Email: warren.mansell@manchester.ac.uk

Tel: +44 (0) 161 275 8589

Website: http://www.psych-sci.manchester.ac.uk/staff/131406

See teamstrial.net for further information on our trial of CBT for Bipolar Disorders in NW England

The highly acclaimed therapy manual on A Transdiagnostic Approach to CBT using Method of Levels is available now.

Check www.pctweb.org for further information on Perceptual Control Theory

[From Bruce Abbott (2014.02.05.1215 EST)]

Rick Marken (2014.02.04.1710) --

Bruce Abbott (2014.02.03.1840 EST)

BA: I've posted a preliminary Delphi version of the equilibrium point
simulation that I distributed earlier as an Excel spreadsheet.

RM: Now that is one beautiful piece of work!!

BA: Thanks, Rick!

BA: The model appears to function very much as shown in the Figure 6
graph of the Lan & Zhu (2007) paper and reacts properly to the added
weight. However, it appears that the variables relating to the flexor
and extensor muscles are reversed. You will notice that adding weight
to the arm generates a downward torque on the arm that is resisted by
an opposing torque - unfortunately of the extensor muscle when it
should have been the flexor muscle. At this point I am uncertain whether

the "f" and "e"

appended to variable names to represent flexor and extensor values
were simply reversed or if something else is wrong. (I could easily
fix this by reversing labels but would rather discover the origin of
the problem!)

RM: I think the labels are correct but the interpretation of what is
happening is wrong. I think you so want to believe that this is a control
model that you believe that the downward torque of the weight is being
resisted by an opposing upward torque of the flexor; so when the flexor
torque decreases and the extensor torque increases when the weight torque is
applied you interpret the increased extensor torque as the opposing force
and assume that that's really the "resisting" flexor torque and that there
is a mislabeling. But isn't an increase in extensor torque and a decrease in
flexor torque exactly what is expected when weight is applied to this system
if it's not a control system? Indeed, if you change the weight continuously,
running it up and down, while the simulation is running continuously, you
will see the the plot of joint angle goes down and up in direct proportion
to the changes in weight (this was particularly easy to see with R= 60 and C
= 70 which, without weight applied, brings the joint angle quickly and
smoothly to 60 degrees).

BA: I just posted a correction to the model, a matter of reversing which
angle is subtracted from which. I'm not sure whether this is an error in the
original presentation of the equations by St.-Onge, Qi, and Feldman (1993)
or a matter they and me simply having adopted different angle coordinates.
With the change, the simulation now properly shows the flexor muscle
contracting to resist the gravitational force instead of the extensor.

RM: I think this program demonstrates -- rather beautifully -- that an EP
model is not a control model. The model doesn't behave anything like a human
holding the arm at a particular joint angle while another person applies
varying torque to the hand (the equivalent of the varying weight torque).

BA: Did you try increasing the C value? The higher the value of C, the
"stiffer" the joint becomes, and the less sag of the forearm occurs when a
weight is added. The arm position also tracks the R-value rather nicely, as
one would expect if this is a negative feedback control system.

BA: I suspect that it would be easy to demonstrate identical behavior using
a PCT control system with a variable gain parameter. At very low gain I bet
you'd observe the same sag of the forearm when weight is added. Perhaps
real forearms also sag in this way unless the person changes the reference
in a direction that compensates for the sag. That seems to be what happens
when a participant is told just to let the forearm move naturally without
attempting to compensate when a force on the arm is suddenly decreased. (I'm
planning to set up an experiment to test this.)

BA: I think this program can be the basis of a bombshell paper showing that
EP models have nothing to do with real human behavior. This is a big deal,
Bruce. It can do to EP models what Seattle did to Denver!

BA: Maybe, but I'd prefer not rushing to conclusions before I've had
sufficient time to explore the model's behavior relative to available data.
It's also worth noting that the model presented here is not the most current
version of the EP model. I'm planning to develop a simulation based on one
of the current versions as a next step.

In addition, I plan to extend the current version by adding a higher-level,
negative feedback system to set the values of R and C to produce changes in
forearm position. When participants are asked to move from one joint-angle
to another very quickly, it has been observed that the forearm accelerates
rapidly and then begins "braking" before arriving at the target position.
To explain this, some have suggested that a complex pattern of changes in R
and C must be orchestrated by the brain in order to achieve the observed
results. I suspect that these "complex" computations are really just the
actions of a higher-level negative feedback control system, behaving
something like those at work in the inverted pendulum demo. So, we'll see if
we can duplicate those "complex" patterns with such a system.

Bruce

Hi Bruce, this is marvellous to see. So I guess we need to know whether this model controls perception or not, and whether its are functionally equivalent to the nearest (adapted?) PCT model or not? It seems to have some advantages in anatomical precision maybe? I also wonder how they both deal with moving disturbances. I am really enjoying seeing this unfold.
Warren

···

Sent from my iPhone

On 5 Feb 2014, at 17:12, Bruce Abbott <bbabbott@FRONTIER.COM> wrote:

[From Bruce Abbott (2014.02.05.1215 EST)]

Rick Marken (2014.02.04.1710) --

Bruce Abbott (2014.02.03.1840 EST)

BA: I've posted a preliminary Delphi version of the equilibrium point
simulation that I distributed earlier as an Excel spreadsheet.

RM: Now that is one beautiful piece of work!!

BA: Thanks, Rick!

BA: The model appears to function very much as shown in the Figure 6
graph of the Lan & Zhu (2007) paper and reacts properly to the added
weight. However, it appears that the variables relating to the flexor
and extensor muscles are reversed. You will notice that adding weight
to the arm generates a downward torque on the arm that is resisted by
an opposing torque - unfortunately of the extensor muscle when it
should have been the flexor muscle. At this point I am uncertain whether

the "f" and "e"

appended to variable names to represent flexor and extensor values
were simply reversed or if something else is wrong. (I could easily
fix this by reversing labels but would rather discover the origin of
the problem!)

RM: I think the labels are correct but the interpretation of what is
happening is wrong. I think you so want to believe that this is a control
model that you believe that the downward torque of the weight is being
resisted by an opposing upward torque of the flexor; so when the flexor
torque decreases and the extensor torque increases when the weight torque is
applied you interpret the increased extensor torque as the opposing force
and assume that that's really the "resisting" flexor torque and that there
is a mislabeling. But isn't an increase in extensor torque and a decrease in
flexor torque exactly what is expected when weight is applied to this system
if it's not a control system? Indeed, if you change the weight continuously,
running it up and down, while the simulation is running continuously, you
will see the the plot of joint angle goes down and up in direct proportion
to the changes in weight (this was particularly easy to see with R= 60 and C
= 70 which, without weight applied, brings the joint angle quickly and
smoothly to 60 degrees).

BA: I just posted a correction to the model, a matter of reversing which
angle is subtracted from which. I'm not sure whether this is an error in the
original presentation of the equations by St.-Onge, Qi, and Feldman (1993)
or a matter they and me simply having adopted different angle coordinates.
With the change, the simulation now properly shows the flexor muscle
contracting to resist the gravitational force instead of the extensor.

RM: I think this program demonstrates -- rather beautifully -- that an EP
model is not a control model. The model doesn't behave anything like a human
holding the arm at a particular joint angle while another person applies
varying torque to the hand (the equivalent of the varying weight torque).

BA: Did you try increasing the C value? The higher the value of C, the
"stiffer" the joint becomes, and the less sag of the forearm occurs when a
weight is added. The arm position also tracks the R-value rather nicely, as
one would expect if this is a negative feedback control system.

BA: I suspect that it would be easy to demonstrate identical behavior using
a PCT control system with a variable gain parameter. At very low gain I bet
you'd observe the same sag of the forearm when weight is added. Perhaps
real forearms also sag in this way unless the person changes the reference
in a direction that compensates for the sag. That seems to be what happens
when a participant is told just to let the forearm move naturally without
attempting to compensate when a force on the arm is suddenly decreased. (I'm
planning to set up an experiment to test this.)

BA: I think this program can be the basis of a bombshell paper showing that
EP models have nothing to do with real human behavior. This is a big deal,
Bruce. It can do to EP models what Seattle did to Denver!

BA: Maybe, but I'd prefer not rushing to conclusions before I've had
sufficient time to explore the model's behavior relative to available data.
It's also worth noting that the model presented here is not the most current
version of the EP model. I'm planning to develop a simulation based on one
of the current versions as a next step.

In addition, I plan to extend the current version by adding a higher-level,
negative feedback system to set the values of R and C to produce changes in
forearm position. When participants are asked to move from one joint-angle
to another very quickly, it has been observed that the forearm accelerates
rapidly and then begins "braking" before arriving at the target position.
To explain this, some have suggested that a complex pattern of changes in R
and C must be orchestrated by the brain in order to achieve the observed
results. I suspect that these "complex" computations are really just the
actions of a higher-level negative feedback control system, behaving
something like those at work in the inverted pendulum demo. So, we'll see if
we can duplicate those "complex" patterns with such a system.

Bruce

[From Bruce Abbott (2014.02.05.1410 EST)]

···

From: Control Systems Group Network (CSGnet) [mailto:CSGNET@LISTSERV.ILLINOIS.EDU] On Behalf Of Warren Mansell
Sent: Wednesday, February 05, 2014 3:40 AM
To: CSGNET@LISTSERV.ILLINOIS.EDU
Subject: Re: EP Model – Delphi version

WM: Hi Bruce, this is brilliant to see. It is perfect to be able to see all the parameters on the screen as it is run dynamically and to see the visual simulation. Fantastic. As you have both pointed out, it doesn’t seem to resist a disturbance in weight to keep a fixed joint angle when the R and the C are constant. I guess the question is whether it does indeed still replicate the graphs and data that Lan & Zhu published - if so, then it is most likely an accurate replication of their model that doesn’t control. I guess one option will be to contact the authors…

Really excited to see this unfold!

Warren

BA: I think that Rick is a little too quick to judge. The revised version (which now correctly tightens the flexor muscle to oppose the torque generated by the gravitational pull of the weight) seems to be doing what one would expect a control system to do: joint angle changes to more-or-less match the “reference” (R command) value and the flexor develops a torque on the joint that opposes further stretching of the muscle when the weight is added. The amount of “sag” produced by the weight can be reduced greatly by increasing the co-contraction command, C, which increases the joint stiffness; this is the performance one would expect of a control system with low gain; as one increases the gain, the difference between reference and perception (equivalent in this case to the difference between R and observed joint angle) is reduced more and more. In the demo, you can observe this by adding a weight and then increasing the C-value via the slider.

I’m not asserting that the EP model is equivalent to a standard PCT control model, however. My present understanding is that it may be a kind of hybrid between an open-loop and a closed-loop system. If you remove the feedback path from muscle stretch to muscle contraction (presumably is mediated by the muscle spindles), you have a system in which the R and C commands still specify the thresholds for activating the motor neurons that contract the flexor and/or extensor muscles. Lacking feedback, the system would still act to alter joint angle but would no longer act to oppose disturbances. In fact, it is true that individuals can still voluntarily contract their muscles when feedback from the joints, tendons, and muscle spindles is lost due to neuropathy. However, they must relearn motor control by establishing a new feedback system that uses visual information.

Bruce