# Surfs up!

[From Rupert Young 2012.04.17.15.30 BST]

[Martin Taylor 2012.04.11.09.35]
MT: Forget for the moment that the sailor is controlling a perception of boat motion, and consider the perception Bill described, the relation between sail and wind. The sail can have a value +1 or 0, and the wind can have a value +1, 0, or -1. The product Sail x Wind (SxW) can have a value +1, 0, or -1.

RY: Not quite with you here, is not SxW the boat motion?

A SxW value of +1 means that the sail is pushing the boat forward, and a value of -1 means the sail is pushing the boat backward. Now consider the output of the control unit that controls motion perception. If the boat is going too fast, you want SxW to be -1. If it is just right, you want SxW to be 0,

RY: But if SxW is 0 while the wind is 1 then the sail would need to be 0 (down), which would mean the boat is not moving?

···

On 12/04/2012 15:08, Martin Taylor wrote:

--

Regards,
Rupert

[From Rupert Young 2012.04.17.1920 BST]

[From Bill Powers (2012.04.16,0535 MDT)]

RY: Well, my control unit B compares the wind to the desired direction of travel and outputs a signal accordingly, which could be said to indicate that the wind is favourable. This then is used as a reference signal for the sail state. Perhaps I am getting my terminology in a muddle.

BP: How do you compare wind to a direction of travel? You compare direction with direction. Only this is not the comparator, it's the perceptual input function looking at a relationship between two directions. The result is a perception of favorableness. How much favorableness do you want? If the direction of travel you're thinking of has a pile of nasty sharp rocks at the end of it, the direction is favorable for a shipwreck and you want to be sure you go in some other direction by manipulating the sail. The reference favorableness in that case is zero. If there is an error, you work the sail until there is less favorableness.

RY: I was a bit lax with my language I should have said "compares perceived wind direction with desired wind direction". Wouldn't that mean it would be the comparator rather than the input function? If they are equal then there is an output which is the reference for the sail state.

You have to put yourself inside the model to get its organization right. Favorableness is not something an external observer can see. Controlled variables are always defined by the behaving system. So you have to be the sailor, not the observer of the sailor. Then you will see what is a perception, and what is an output.

RY: In this case then I am sitting on the boat (facing backwards) and when I feel the wind in my face I raise the sail. So am I not controlling the relationship between a favourable wind and the state of the sail? If correct then the next step is to incorporate the perception of boat motion.

···

On 16/04/2012 12:45, Bill Powers wrote:

--

Regards,
Rupert

[From Rupert Young 2012.04.17.19.30 BST]

sailing v1.4.xls (30 KB)

···

On 12/04/2012 15:08, Martin Taylor wrote:

[Martin Taylor 2012.04.11.09.35]

The organization of this small hierarchy has a velocity control unit
above a relationship control unit, which is unconventional but
plausible. At some level, there must be an element that perceives the
behaviour and the relevant aspect of the environment, and controls a
relationship between them. I believe such a connection does not exist
in standard HPCT, though it is quite consistent with Perceptual
Control Theory.

I have implemented an initial version, see tab "Martin".

It doesn't really work as it flips between states because two different
units are trying to control the SxW relation with difference references;
the boat motion for +1 and the S-W relation for 0. How should it be
changed to fit with what you were intending?

--

Regards,
Rupert

[Martin Taylor 2012.04.17.22.34.CET]

[From Rupert Young 2012.04.17.15.30 BST]

[Martin Taylor 2012.04.11.09.35]
MT: Forget for the moment that the sailor is controlling a perception of boat motion, and consider the perception Bill described, the relation between sail and wind. The sail can have a value +1 or 0, and the wind can have a value +1, 0, or -1. The product Sail x Wind (SxW) can have a value +1, 0, or -1.

RY: Not quite with you here, is not SxW the boat motion?

No. S is the sail up-down, W is the wind direction. The boat motion can be anything, depending on the disturbances, the sail, and the wind.

A SxW value of +1 means that the sail is pushing the boat forward, and a value of -1 means the sail is pushing the boat backward. Now consider the output of the control unit that controls motion perception. If the boat is going too fast, you want SxW to be -1. If it is just right, you want SxW to be 0,

RY: But if SxW is 0 while the wind is 1 then the sail would need to be 0 (down), which would mean the boat is not moving?

You are correct that if wind !=0 and SxW = 0, the implication is that S=0 (sail down). But that does not necessarily mean the boat is not moving. Most controlled perceptions are subject to disturbances. If the boat is driven by a current, or by powerful swimmers pushing it, or whatever, and is going the speed you want in the direction you want while SxW = 0, this is the state of SxW you want and you shouldn't change it. If they are pushing too fast, you want to increase drag, which you can do with the sail only by raising it if the wind is against you. If they are pushing too slow, or in the wrong direction, you want to increase speed in the direction you want, which you can do with the sail only by raising it if the wind is behind.

In my understanding of the problem, you are controlling boat motion, and you control SxW only as a way of increasing or decreasing motion. If the boat motion error is positive (boat too fast) you want to reduce SxW, and if the error is negative (boat too slow) you want to increase SxW.

Martin

···

On 12/04/2012 15:08, Martin Taylor wrote:

[From Bill Powers (2012.04.18.0830 MDT)]

[Rupert Young 2012.04.17.1920 BST]

BP earlier: You have to put yourself inside the model to get its organization right. Favorableness is not something an external observer can see. Controlled variables are always defined by the behaving system. So you have to be the sailor, not the observer of the sailor. Then you will see what is a perception, and what is an output.

RY: In this case then I am sitting on the boat (facing backwards) and when I feel the wind in my face I raise the sail. So am I not controlling the relationship between a favourable wind and the state of the sail?
...
I was a bit lax with my language I should have said "compares perceived wind direction with desired wind direction". Wouldn't that mean it would be the comparator rather than the input function? If they are equal then there is an output which is the reference for the sail state.

BP: If you're aware of a relationship -- or anything else -- then it's a perceptual signal you're aware of. I assume that we are aware ONLY of perceptual signals: not error signals, reference signals (except via the imagination connection which puts the information into a perceptual channel) and not output signals. A perceptual comparison is perception of a relationship. A perception of "not equal" may be exactly what you want.

I tried to pick an example (rocks ahead) in which the perceived relationship between wind direction and boat direction would be considered (at a higher level) as unfavorable if the wind were carrying the boat in the direction toward which it is already headed. You select the reference relationship at one level on the basis of whether it is wanted or unwanted as a means for a higher level to achieve its goal. Whether an aiding wind is considered favorable or unfavorable depends on whether a higher level goal requires an aiding wind or is thwarted by an aiding wind. If you're in a race, an aiding wind is good; if you're headed for a rocky shore, it's unfavorable.

You have to watch out for taking things for granted.

Best,

Bill P.

[From Rupert Young 2012.04.19 20.30 BST]

sailing v1.5.xls (16 KB)

···

On 17/04/2012 21:50, Martin Taylor wrote:

[Martin Taylor 2012.04.17.22.34.CET]

You are correct that if wind !=0 and SxW = 0, the implication is that
S=0 (sail down). But that does not necessarily mean the boat is not
moving. Most controlled perceptions are subject to disturbances. If
the boat is driven by a current, or by powerful swimmers pushing it,
or whatever, and is going the speed you want in the direction you want
while SxW = 0, this is the state of SxW you want and you shouldn't
change it. If they are pushing too fast, you want to increase drag,
which you can do with the sail only by raising it if the wind is
against you. If they are pushing too slow, or in the wrong direction,
you want to increase speed in the direction you want, which you can do
with the sail only by raising it if the wind is behind.

But this will only work if the effect of the disturbance happens to be
the same as the desired boat motion. If the the effect of the
disturbance is 0 then the boat motion will be SxW, in which case it
can't be controlled to be 0. See attached (Martin sheet), if you change
the disturbance to zero control doesn't work.

--

Regards,
Rupert

[Rupert Young 2012.04.19 2030 BST]

``````  [From Bill Powers (2012.04.18.0830 MDT)]
``````

e.

``````  BP: If you're aware of a relationship -- or anything else --  then
``````

it’s a perceptual signal you’re aware of. I assume that we are
aware ONLY of perceptual signals: not error signals, reference
signals (except via the imagination connection which puts the
information into a perceptual channel) and not output signals. A
perceptual comparison is perception of a relationship. A
perception of “not equal” may be exactly what you want.

``````Just to focus on the control of a perception of a relationship for
``````

the moment, how would that actually work; a few queries?

• ``````    would the output of the perceptual function be a boolean; if,
``````
for example, the function is A not equal to B?
• ``````    if so, then the reference of the control unit would have to be
``````
true?
• what form would the comparator take, what would its output be?
• ``````    how would the higher unit set the reference, would it also
``````
have to be a logical signal?
···
``````
-- Regards,
Rupert
``````

[Martin Taylor 2012.04.20.00.45 CET]

[From Rupert Young 2012.04.19 20.30 BST]

[Martin Taylor 2012.04.17.22.34.CET]

You are correct that if wind !=0 and SxW = 0, the implication is that S=0 (sail down). But that does not necessarily mean the boat is not moving. Most controlled perceptions are subject to disturbances. If the boat is driven by a current, or by powerful swimmers pushing it, or whatever, and is going the speed you want in the direction you want while SxW = 0, this is the state of SxW you want and you shouldn't change it. If they are pushing too fast, you want to increase drag, which you can do with the sail only by raising it if the wind is against you. If they are pushing too slow, or in the wrong direction, you want to increase speed in the direction you want, which you can do with the sail only by raising it if the wind is behind.

But this will only work if the effect of the disturbance happens to be the same as the desired boat motion. If the the effect of the disturbance is 0 then the boat motion will be SxW, in which case it can't be controlled to be 0. See attached (Martin sheet), if you change the disturbance to zero control doesn't work.

All I can say to this is "Huuhh???"

Control means moving a perception nearer to its reference value or maintaining it near its reference vale despite whatever disturbance there might be. If the environmental condition don't provide a means to achieve this, control cannot be perfect. The momentary value of the disturbance is irrelevant. If the perceptual value is higher than the reference value, the control system does what it can to reduce the perceptual value. If the perceptual value is too low, the control system does what it can to increase the perceptual value.

In your boat case, SxW = 0 if the wind is dead calm or if the sail is down. If the sail is up, SxW = -1 if the wind is ahead, and SxW = +1 if the wind is behind. The perception of boat motion is SxW+disturbance. If that is too fast, you want to reduce SxW, and if it is too slow, you want to increase SxW. There are two conditions in which you can act to increase SxW. If SxW = -1, you can drop the sail to increase SxW to zero, and if the wind is astern and SxW = 0, you can raise the sail to make SxW = +1. Those are the only possibilities. There is a mirror set of two possibilities for reducing SxW. You can't do more, and if those aren't available because of the wind direction, you are not in control.

Martin

···

On 17/04/2012 21:50, Martin Taylor wrote:

[From Rupert Young 2012.04.20 10.30 BST]

``````  [Martin
``````

Taylor 2012.04.20.00.45 CET]

``````  MT:
``````

and if the wind is astern and SxW = 0, you can raise the sail to
make SxW = +1.

``````Doesn't this contradict what you said previously?
``````
``````  MT:
``````

If the boat is driven by a current, or by powerful swimmers
pushing it, or whatever, and is going the speed you want in the
direction you want while SxW = 0, this is the state of SxW you
want and you shouldn’t change it

``````Are you saying that the reference for the perceptual control of SxW
``````

should be set by the higher level boat motion control unit? The
trouble with that is that there are two incompatible situations:

• ``````    when the boat motion reference is 1 and perception is 1 (boat
``````

moving) and disturbance is 0, the wind is 1 and sail is 1, then
you want SxW to be 1

• ``````    when the boat motion reference is 1 and perception is 1 (boat
``````

moving) and disturbance is 1, the wind is 0 and sail is 1, then
you want SxW to be 0
In other words the higher level unit is in the same state in both
circumstances so cannot set different reference values for the
lower level unit controlling SxW.

``````The boat motion unit cannot distinguish whether the movement is
``````

due to the wind or the disturbance.

···
``````
-- Regards,
Rupert
``````

[Martin Taylor 2012.04.20.14.17 CET]

[From Rupert Young 2012.04.20 10.30 BST]

``````    [Martin
``````

Taylor 2012.04.20.00.45 CET]

``````    MT:
``````

and if the wind is astern and SxW = 0, you can raise the sail to
make SxW = +1.

``````  Doesn't this contradict what you said previously?
``````
``````I don't know what I said previously that could have contradicted
``````

this, but it is a simple statement of fact, is it not? If the wind
is astern (W=1) and SxW=0, then S must be zero (= sail down). If the
sail is down, you can raise it (making S=1), which then produces the
state SxW= +1.

``````    MT:
``````

If the boat is driven by a current, or by powerful swimmers
pushing it, or whatever, and is going the speed you want in the
direction you want while SxW = 0, this is the state of SxW you
want and you shouldn’t change it

``````  Are you saying that the reference for the perceptual control of
``````

SxW should be set by the higher level boat motion control unit?

``````Yes, certainly. That's the nature of hierarchic perceptual control.
``````
``````  The
``````

trouble with that is that there are two incompatible situations:

• ``````      when the boat motion reference is 1 and perception is 1
``````
(boat moving) and disturbance is 0, the wind is 1 and sail is
1, then you want SxW to be 1
• ``````      when the boat motion reference is 1 and perception is 1
``````
(boat moving) and disturbance is 1, the wind is 0 and sail is
1, then you want SxW to be 0
In other words the higher level unit is in the same state in
both circumstances so cannot set different reference values for
the lower level unit controlling SxW.
``````The motion perception system doesn't know anything about what makes
``````

the boat go. It doesn’t know the value of SxW. All it “knows” is
whether the boat is going too slow, too fast, or just right. It
outputs “more”, “less” or “steady as she goes”. The system that
changes the speed gets that as a reference. If its reference is
“more” it does what it can to increase SxW. If its reference is
“less” it does what it can to decrease SxW, and if its reference is
“steady as she goes” it doesn’t change SxW.

``````This particular situation doesn't illustrate the general case very
``````

well, because there is only one move that can produce “more” for a
given wind condition, and once that move has been made “more” can
not be accomplished. Think instead of a boat that has a sail that
can be furled, or that has several sails that could individually be
set or lowered. Then the output could keep increasing SxW until the
boat motion came to the desired value and the reference became
“Steady as she goes” or the limit of SxW possibility had been
reached.

``````In the "boat" case, it is not always possible for the SxW control
``````

system to increase or to decrease its output in the existing wind
condition. If it can’t do what is needed, then both the SxW control
unit and the higher level motion control unit will have consistent
error. That is a recipe for reorganization – finding another way to
do something or to change what is wanted. Maybe the sailor discovers
that the boat has oars, for example.

``````    The boat motion unit cannot distinguish whether the movement is
``````

due to the wind or the disturbance.

``````That is the core statement about hierarchic control.

Martin
``````

[From Rupert Young 2012.04.22 16.00 BST]

···
``````
-- Regards,
Rupert
``````