[From Erling Jorgensen (2007.02.19 2230 EST)]
I'd like to revisit the article by Franceschini, N., Ruffier, F., &
Serres, J. (2007). A Bio-Inspired Flying Robot Sheds Light on Insect
Piloting Abilities,Current Biology 17, 17, February 19, 2007.
Available at --
<http://download.current-biology.com/pdfs/0960-
9822/PIIS0960982206026662.pdf>
Erling Jorgensen ( 2007.02.13 0945 EST)
Rick Marken (2007.02.13.1115)
Isn't it possible
to vary height in a controlled way, by varying the reference signal
going to that control system?
Yes. If they meant that the system varies the reference for height, which
is itself a controlled variable, as the means of controlling for optical
flow, then all would be well. This is what they might have meant if
their robot were, indeed, a two level control system, controlling height
as the means of controlling optical flow.
You're right, Rick. I stand corrected.
My point was obviously a relic from some CSG netherworld, where we used
to talk about "varying" the means to achieve "controlled" ends, leaving
the impression that the means were not themselves often being controlled
as well, in relation to varying reference signals at those lower levels.
I can see that this does not seem to be the case with the micro-helicopter
model for insect flight in the Franceschini, et al. study.
When I first looked at the article, I noticed that they were defining
Optic Flow as Ground Speed divided by Ground Height, even including that
function in their schematic diagram (Figure 2). I had thought that they
must be constructing the perception of Optic Flow out of those lower
level perceptions, and thus would have to be measuring and controlling
them as well. But apparently, they were able to construct and measure
a stand-in perception for Optic Flow, derived from an Elementary Motion
Detector, and control it that way.
But, based on their diagram, this doesn't seem to be the case. It looks
like they have a one level control model that varies two lower level
variables, forward thrust and vertical lift, as the means of controlling
two perceptual variables, pitch angle and optical flow. So their model
is apparently _not_ setting references for lower level inputs as the
means of controlling pitch and optical flow. So I think they were wrong
to have said that their robot _control_ thrust and lift (height) to
control optical flow, because it doesn't.
I agree. The micro-helicopter model described in the article only
measures Optic Flow, in terms of Angular Velocity. It is not fully
clear from the article, but it seemingly also has a way to determine
whether Pitch Angle is matching the commanded reference of 10 degrees
off vertical. In terms of its own mechanisms, those are the only two
perceptions it can control.
I believe additional variables do end up being controlled, but those
have to take into account the larger system comprised of the helicopter
plus the human operator acting as a control system. In other words, the
"hierarchical" features come from the human operator helping to set the
references for at least two or three layers of HPCT control.
Figure 2 of Franceschini's article seems to use Norbert Wiener's style of
diagramming the control loop, which for me seems to collapse a lot of the
variables together. To get a clearer sense of them, I needed to rearrange
things into a HPCT style of diagram, which I have attached at the end of
this post. (There is one I produced with the Draw feature of MS Works,
version 8, & then I scanned it & saved the image as an Adobe .pdf file,
in case folks did not have access to MS Works.)
I tried to make everything explicit, instead of leaving gaps for our
imagination to (conveniently) fill in. I also had to keep asking myself
which variables were means for the achievement of other variables, thereby
placing them lower in the hierarchy, and which variables were actually
being measured, and by whom.
I really like the form of argumentation that Richard Kennaway used in his
"A Simple and Robust Hierarchical Control System for a Walking Robot,"
(available at -- <http://www2.cmp.uea.ac.uk/~jrk/Robotics/rk-c2004.pdf> ),
where he analyzes Bill Powers' inverted pendulum model. I'll borrow a bit
of that style in trying to explain the diagram I came up with.
The human operator is interested in constructing a model that can mimic
insect flight characteristics in several ways, such as with take off,
landing, level flight, and terrain following. A stationary micro-
helicopter [MH]-- (seemingly with the initial vertical lift of its rotors
just balancing the weight of the MH) -- is doing none of that, with
neither Forward Velocity nor Height giving any visual appearance of
matching insect flight.
If we could control Height and Forward Velocity, then we might be able
to reproduce such aspects of insect flight. If the model had a sensor
for Height, it could control it directly. We don't have such a sensor,
but the Optic Flow of features passing below the MH can be defined as
the helicopter's Ground Speed relative to its Height off the ground.
We do have a way to approximate Optic Flow as Angular Velocity, and
control it relative to a reference setting. (Actually, the Angular
Velocity is itself approximated as a voltage, derived by two photo-
receptors feeding into an elementary motion detector, with volts
calibrated to the perceptual angle traversed by the MH.)
In order for there to be any Angular Velocity, there must be Forward
Velocity, and the output of the Optic Flow regulator cannot bring that
about. Forward Velocity can be achieved if there is Forward Acceleration.
Forward Acceleration could be brought about via Rotor Pitch, but the
micro-helicopter has no autonomous way of initiating Rotor Pitch.
However, a human operator can control the degree of Rotor Pitch, by
ramping it forward ten degrees from vertical, to initiate Forward Thrust,
and then ramping it back to zero degrees, to bring the MH to a stop.
The Forward Thrust generates Air Speed, which when summed with the
disturbance of the Wind Speed, leads to a perception of Ground Speed.
The helicopter does not directly perceive Ground Speed, but the graphs
shown in Figure 3 of the article indicate that the human operator is
monitoring it.
Once there is Ground Speed, there is a way for it to affect the MH via
the changing Ground Texture underneath the MH. As mentioned above, an
elementary motion detector is able to derive a perception of Angular
Velocity, which can be made to match a reference for Optic Flow. To
maintain Optic Flow constant when there is Ground Speed, the Ground Height
must be increased accordingly. This can be achieved by adjusting Rotor
Speed, which generates Vertical Lift as its output. We don't know how
much to vary Rotor Speed, but we could make it proportional to the error
in the Optic Flow. The resulting Flight Altitude offsets any local
changes in Relief Altitude (simulated in some studies by a ramp and
drop off underlying the Ground Texture), to control Ground Height as
needed. Again, while the MH does not perceive Ground Height, the graphs
of Figure 3 show that the human operator is monitoring it. Indeed, the
Monitored Flight Parameters of those graphs are important perceptions
to the human operator, showing that the MH's take off, landing, level
flight, and terrain following constitute a fairly good match to insect
flight characteristics.
What is interesting is that both Ground Speed and Ground Height end up
getting controlled for the human operator, even though the micro-
helicopter perceives neither one directly. For the MH, it seems only
Angular Velocity and Pitch Angle are controlled directly, and I have
indicated that in the diagram I derived by using a bold-italic font for
those variables.
It is also interesting the circuitous path of the variables involved in
the Optic Flow (i.e., Angular Velocity) control loop. Angular Velocity
is constructed via a motion detector, which is constructed out of a lens
and photoreceptors differentially recording Ground Texture when there is
Ground Speed, which is itself traceable to the Pitch of the Rotor. The
output of the Optic Flow regulator does not affect any of those variables
directly, but instead alters the Rotor Speed, which in turn generates
Vertical Lift to control the Ground Height of the MH for the human
operator, who is the one ramping the Rotor Pitch up or down ten degrees,
as a means of controlling Forward Velocity, which ultimately affects the
monitoring of Angular Velocity.
It is quite a striking system that Franceschini, et al. have devised,
which can mimic several important features of insect flight, while only
perceiving and controlling a couple of variables. There is a hierarchical
aspect of their scheme, consistent with the linkages of Hierarchical
Perceptual Control Theory. But those aspects draw in the perceptual
control of the human operator, to complete the requisite control loops.
The diagram is attached below, in both .wps (MS Works for Windows, v.8)
and .pdf (Adobe Acrobat, v.7.0) formats.
All the best,
Erling
CDocuments and SettingsCompaq_AdministratorMy DocumentsEJPCT ThreadsPCTdiag_Franceschini.wps (43 KB)
CDocuments and SettingsCompaq_AdministratorMy DocumentsEJPCT ThreadsPCTFranceschiniDiag.pdf (21.4 KB)