Gary's demo; controlling perception; REAL control engineering

[From Bill Powers (930125.0800)]

Gary Cziko (930125) --

That left-hand-right-hand demo is a beauty, and your analysis of
why it works (controlling relationship of mirror symmetry) is
ingenious. The "normal" writing system not only writes the name,
but disturbs the symmetry relationship, and the symmetry-control
system keeps its output equal and opposite to the disturbance!
Wow.

···

--------------------------------------------------------------
Rick Marken (930124.1000) -- replying to

Avery Andrews (920123.1050) --

It was the part about the perceptions guiding action that I
found objecionable. In a control loop, it is more appropriate to
say that action guides perception

I second the motion (that is, the perception of motion). The real
guiding variable is the reference signal that specifies the
intended perception. The control process varies the action so as
to make the perception match the reference. If there are varying
disturbances present, the waveform of the action does not have to
have any resemblance to the waveform of a perception following a
varying reference signal. In the absence of disturbances, the
action may follow a course similar to that of the perception, but
in general it will be distorted because of nonlinearities in the
feedback connection from action to perception.
----------------------------------------------------------------
John Gardner (930125:0030) --

What a lucid, level-headed, useful post! On behalf of everyone
trying to do PCT modeling, thanks. I particularly liked your
distinction between engineering control theorists and control
engineers. It did even more to convince me that you are an ideal
liason person between PCT and the control engineering community.
Now if I can only convince you that there is still some
difference between PCT and the Jacobean approach ...

I have, by the way, made a little independent progress toward
solving my rotation-sensing problem. I was looking too far toward
the back of my old Solid Analytical Geometry textbook; the answer
I wanted (angle between directed lines) was on page 19. However I
still would appreciate your answer, because my confidence in my
grasp of such matters is not very high.

I can see now that the error-vector approach, at least for pure
position control, gives the same overall effect as the PCT model
is proposing, so the PCT model has nothing new to offer control
engineers in this regard. That doesn't alarm me, by the way; it
makes me begin to think of control engineers as closer to allies
than nay-sayers of the kind we find in psychology.

The velocity-vector approach, however, still leaves PCT some room
for independent maneuvering. But let's leave that for another
time. There's another consideration which engineers are not to be
blamed for overlooking, but which is of great importance to PCT
as a model of human behavior AND EXPERIENCE. Control engineers
don't have to worry much about what their devices are
experiencing, but I think that in the long run roboticists DO
have to consider that.

As I understand it, the Jacobian matrix of which you speak wraps
up the entire process from (complex) error signal to joint-angle
specification in a single mathematical expression. From the PCT
standpoint, this is equivalent to writing a single input-output
equation that spans all processes between the sensory interface
(the actual arm configuration) and the motor output interface
(affecting the joint angles). So for any one control process,
this approach permits the external observer to characterize the
behaving system as a large complex (complicated, that is)
transfer function.

In PCT, we're trying to break this transfer function down into
components: input function, comparator, output function.
Obviously there are many choices for the intermediate blocks that
would yield the same overall Jacobian (also obviously, not all
real controls systems will physically exist in this canonical
form, but let's ignore that for now).

In PCT, we want the first block in the control system to emit
signals that correspond to variables in the world AS A HUMAN
BEING PERCEIVES IT. This means to me that those signals will NOT
simply be convenient mathematical forms for expressing the FKP
(Forward Kinematics Problem) for the atm itself. In my approach
to the arm model, I am currently assuming that some point on the
hand is perceived in x-y-z Cartesian coordinates, and that the
hand itself is perceived in terms of roll, pitch, and yaw also in
the same objective coordinate system. The resulting perception is
like what you experience when you line up a screwdriver to drive
a screw into a hole drilled at some quirky angle in 3-space. You
have to get the shaft of the screwdriver pointing in the right
spatial direction (parallel to the hole's axis) with the tip
located at the right x,y,z coordinate (matching the coordinate of
the head of the screw) and then you have to rotate the shaft
about its axis (so you have to perceive that rotation, too, the
one I was having trouble with). The coordinates in which these
perceptions appear have nothing to do with the kinesthetic
coordinates; they're determined by the way we perceive things in
space. In the current model I'm just assuming that we perceive in
objective coordinates.

The first step is to compute the arm configuration in any
convenient variables on the basis of the joint angles. Following
that, we extend the FKP to express the consequences in terms of
x,y,z,theta,phi,rho coordinates, which for this task I am
assuming to be the perceptual representation that the person is
actually controlling. We have added the input function of the
control system to the forward loop that starts with given joint
angles (because I'm assuming that perception simply echoes the
new coordinates). For other tasks - generating the conical motion
of grinding grain with a mortar and pestle, for example -- a
different set of perceptions might be controlled by a different
control system receiving the same visual/kinesthetic information
but putting it through a different set of input transformations
before comparison with the reference signal.

Now we can have the comparison process, which involves six scalar
reference signals and the six scalar perceptual signals as
transformed by the input function. The result is six scalar error
signals. We are still computing forward, now extending the FKP to
include the comparison process.

The next block in the loop is the output function. Here we must
take the six error signals and distribute them through amplifiers
or integrators to all the joint angles that affect the
corresponding perceptual variables. In a self-organizing system,
the problem would be that of making sure by trial and error that
for each error signal, its effect on the corresponding perceptual
signal would tend to bring the perceptual signal closer to the
associated reference signal. This can be achieved by selecting
appropriate positive and negative weights (which need be only 1,
0, or -1) for the contribution to each joint angle.

When we're designing the system, as now, we have brought the FKP
forward another step by passing through the comparator and
deriving a set of six reference signals. Now we must find the
Jacobian matrix to bridge the gap between the error signals and
the joint angles with which we began. Instead of using trial and
error, we compute the inverse of the product of all the forward
blocks to deduce the functions necessary for completing the loop
with negative feedback (if I understand your explanation
correctly). This block can incorporate integrators, or the error
signals can be integrated before entry into the final block.

The overall effect will be exactly as though a single Jacobian
had been computed for the control system considered as a single
block. But we will have generated, on the way through the system,
perceptual signals that correspond to the way a person perceives
the situation for the particular task at hand, and we can now
characterize the behavior of the whole system as that of
controlling each perceptual signal relative to a specific
reference signal.

For a given way of perceiving the arm configuration, there is
some range of values over which control will be maintained. The
natural limits of arm movement can simply be incorporated as
stops. It is possible to shift the point that is controlled in
x,y,z to various places on the hand or on tools held in the hand,
without disrupting control in those three dimensions (I have
already accidentally tried this). So a range of tasks can be done
with one kind of perceptual input function. For other tasks it
may be necessary to switch to different input functions, to keep
the final Jacobian reasonable (free of singularities and
conflicts).
-------------------------------------------------
In the simple arm model, I included only one perceptual
transformation, the perception of radial distance of fingertip
from shoulder, computed as the vertical shoulder angle plus half
the exterior elbow angle. This resulted in a theta, phi, radius
coordinate system which was user-friendly for the visual control
systems.
---------------------------------------------------------------
So -- I submit that the PCT approach does have some differences
buried in it, although the overall picture is identical to the
Jacobian approach and I'm glad of it. Why glad? Because you guys
can back us up and say yes, we know that this works and we know a
hell of a lot more about this than those PCTers do. You have to
remember that what we're revolutionizing is not control
engineering, but the sciences of life. We're trying to use valid
control theory to do it; you won't find any claims by any PCTer
to have invented control theory. We're just trying to use it in a
way appropriate for the understanding of living control systems.

Thanks, John. You are a terrific addition to our project. I hope
we have something to contribute to yours.

I'm not from the Empire -- Oregon born, Chicago bred.
---------------------------------------------------------------
Rick Marken said "If (as I suspect) all they want is impressive
surface appearances (the Disneyland syndrome?) then we don't need
to waste our time ..."

And you said

Ouch.

I say ouch too. Look before you leap, Rick.
-----------------------------------------------------------------
By the way, I did not particularly "stabilize" Little Man Version
2. I just built the control systems the way the spinal reflexes
seem to be organized (including stretch rate feedback) and it
worked. I will confess to putting in a teeny bit of lead, but
there's precedent for that in spinal interneurons that put
negative integral feedback around the spinal comparators. Who's
this guy Lyupanov?
---------------------------------------------------------------
Best to all,

Bill P.