# MODELS: tracking experiment

**URL:** <http://discourse.iapct.org/t/models-tracking-experiment/6618>\
**Category:** CSG1998\
**Created:** [September 28, 1998, 6:37pm UTC](http://discourse.iapct.org/t/models-tracking-experiment/6618 "1998-09-28T18:37:23Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bill\_Powers1](http://discourse.iapct.org/letter_avatar_proxy/v4/letter/b/8e7dd6/32.png) [@Bill\_Powers1](http://discourse.iapct.org/u/Bill_Powers1)\
**Post date:** [September 28, 1998, 6:37pm UTC](http://discourse.iapct.org/t/models-tracking-experiment/6618/1 "1998-09-28T18:37:23Z")

</div>

[From Bill Powers (980928.1146 MDT)]

Att'n, mainly, Bob Eberlein:

Yesterday I posted the source and executable code for a tracking  
experiment. This is the writeup describing how to use it and what's going on.

In this experiment there is a moving target (green) and a cursor (red)  
which can move vertically on the screen. The target is split and the cursor  
moves up and down between the halves of the target. The object of the task  
is to move the mouse vertically so as to keep cursor aligned as exactly as  
possible with the target.

When you start the program, the first thing that happens is the creation of  
two patterns of disturbance, dist1 and dist2. These are recorded in the  
output data set and part of them is displayed on the screen. Dist2 becomes  
the pattern of target positions. Dist1 is applied to the cursor position  
along with the effect of moving the handle (mouse). The cursor position is  
the sum of handle position and dist1 magnitude. The screen is updated close  
to 30 times per second, and a run lasts for about 66 seconds. The first 6  
seconds of a run is a "run-in time" to allow the participant to get  
control, and the next 60 seconds is the data run. A run starts when any  
key is pressed after the disturbance patterns are displayed.

After the run, the 1800 values of data after the run-in time are printed to  
a file called "\rundata.txt", in the root directory of the drive being  
used. The values are in ASCII text in the format

dist1\<comma\>Dist2\<comma\>handle\<carriage return\>\<line feed\>

During the run, the cursor position is computed and displayed as

cursor = dist1 + handle

and the target position as

target = dist2

In the model we use, the controlled variable is assumed to be the perceived  
difference between target and cursor positions, and the reference level for  
this variable is assumed to be zero. That is, the participant is instructed  
to keep the perceived distance between the target and the cursor at zero,  
and it's assumed that this was actually accepted as the goal. As a check to  
see if the instructions were translated properly, we can plot (target -  
cursor) and compute the RMS difference between this variable and zero. This  
somewhat clumsy way of describing the task becomes more understandable when  
it is known that the task could be defined otherwise -- for example,  
keeping the target minus cursor distance equal to one centimeter.

The basic model that seems to fit the data the best is as follows, written  
in terms of Vensim operations:

perceptual signal = delay fixed(target position - cursor position,DEL)  
error signal = reference signal - perceptual signal  
handle position = INTEG(K1\*error signal - K2\*handle position)

The reference signal can be assumed to be zero, or better can be set to the  
average value of (target - cursor). The perceptual delay (DEL), the  
integrating factor (K1) and the leakage factor (K2) are the parameters to  
be determined (by adjusting them for best fit of model to data). The third  
equation above lumps together all the physiological and physics functions  
between the neural error signal and the physical "handle" position (we  
started out using joysticks or cranks, hence the reference to a handle).  
Actually there are several lower levels of control involved there, but by  
lumping them into a single overall function we can predict the behavior  
pretty well. The best-fit criterion is the difference between the actual  
handle position and the model's handle position.

In PCT, we speak of the output process in terms of a "gain" factor and a  
"slowing" factor. K1 is equal to gain/slowing and K2 is equal to 1/slowing,  
so the best-fit values of K1 and K2 can be translated into an equivalent  
gain and slowing factor.

For finding the best model, it's a good idea for the person doing the  
tracking to practice a number of times, at least 10 runs, so that learning  
will be, if not complete, at least well-advanced. It is also useful to save  
the test results starting with the very first exposure to this experiment,  
to investigate the learning curve. This requires renaming the file  
c:\rundata.txt after each run (that file is written over after each run).

Have at it!

Best,

Bill P.
