[From Richard Kennaway (2014.12.30.2130 GMT)]
RM: Yes, this is the essential point. I think David Goldstein already
caught this fact. In order to lift the couch cooperatively the robots
would have to left each end simultaneously. This means that one robot
must agree to lift at the same time that the other robot gives a
signal to lift. It's this agreement that distinguishes cooperative
control from what I would call coincidental, simultaneous control --
where two control systems act to bring the same perceptual variable to
he same reference state.
RM: So the next step in developing a control model of cooperation is
to model the process of "agreement" as a control process. Any ideas?
I don't think much of an agreement process is required. I immediately recognised this as isomorphic to the problem of a two-legged robot trying to keep its body level and at a certain height, which I discussed in my paper in Control 2000 (https://www.researchgate.net/publication/266496211_A_SIMPLE_AND_ROBUST_HIERARCHICAL_CONTROL_SYSTEM_FOR_A_WALKING_ROBOT). The two legs are assumed to be telescopic, each leg raising and lowering one side of the robot.
This can be solved by a control system in which an error in height of the midpoint of the robot tells both legs to extend at a rate proportional to the error, and an error in tilt tells one to extend and the other to contract. (This is a one-level control system, rather than the two-level one used in that paper, just to keep things simple. Here I am assuming that the output from each controller directly causes a leg to extend or contract at a specified velocity, rather than the output being a force that is used to control velocity, which in turn is used to control position.)
As we will see, no communication between the leg controllers is required, nor any observation of one by the other. All that they need to perceive is the height and tilt of the robot. (Or on terms of Rick's original problem, all that the two robots need to perceive is the height and tilt of the couch.) The only coordination present it that it is assumed that the instruction to bring the couch to a specified height is given to both controllers simultaneously.
Define the following variables:
hl = height of the left end
hr = height of the right end
h = (hl+hr)/2 is the height of the midpoint of the robot
t = (hr-hl)/2 measures the tilt of the robot.
h0 = reference for h
t0 = reference for tilt
eh = h0-h = error in height
et = t0-t = error in tilt
lv = velocity of extension of the left leg
rv = velocity of extension of the left leg
lv and rv are the output variables of the leg controllers. They both perceive h and t, and are both given corresponding reference values h0 and t0.
Then we can define the control law:
lv = a*eh - b*et
rv = c*eh + d*et
for positive constants a, b, c, and d. The steady-state solution (when lv = rv = 0) is at eh = et = 0.
Observe that neither leg controller knows anything about the other. Each perceives only the height and tilt of the robot.
This assumes perfect agreement about the perceptions and references. But if each leg controller has its own sensors then they may differ. What effect does this have on their performance?
Suppose that the left controller's calculation of eh is actually h0 - h + Lh for some constant Lh, and similarly for tilt, and for the right controller. The effect will be to amend the control laws to:
lv = a*eh - b*et + a*Lh - b*Lt
rv = c*eh + d*et + c*Rh + d*Rt
I shall call Lh, Lt, Rh, and Rt "defects" rather than "errors", to avoid confusion with the technical meaning of "error" in this context.
For simplicity, from this point on take a = b = c = d. Then we have:
lv = a*(eh - et + Lh - Lt)
rv = a*(eh + et + Rh + Rt)
With the previous model, the fixed point was at eh = et = 0. With the new model, we must have:
eh - et = -Lh + Lt
eh + et = -Rh - Rt
The solution is
eh = (-Lh + Lt - Rh - Rt)/2
et = (Lh - Lt - Rh - Rt)/2
Thus the steady-state error is of a similar size to the defects in the controllers' input signals. For example, suppose that the only defect is that the left robot perceives the height of the couch to be lower than it really is. This implies that Lh is positive, and Lt, Rh, and Rt are zero. At the steady state we then have eh = -Lh/2 and et = Lh/2, and so h = h0 + Lh/2 and t = t0 - Lh/2.
The left robot then perceives the couch too be too low by Lh/2, and the right robot to be too high by Lh/2. Both perceive it to have a tilt of -Lh/2.
So the result is a stable compromise between the two controllers with the error distributed among the four controlled perceptions.
Richard Kennaway, R.Kennaway@uea.ac.uk, http://www.cmp.uea.ac.uk/~jrk/
School of Computing Sciences,
University of East Anglia, Norwich NR4 7TJ, U.K.