-------- Original Message -------- Subject: One time post to flightgear-devel Date: Sat, 10 Jan 2004 02:17:45 +0100 From: Ralph Paul <[EMAIL PROTECTED]> To: [EMAIL PROTECTED]
Dear Curt,
would you mind posting my email on the [EMAIL PROTECTED]
Thanks,
Ralph Paul
----------------------------------------------------------------------------------------------
Subject: Autocoordination, Yaw Damper, Anti-Windup, "D" Element Implementation, F-16 Model
Dear FGFS developers,
I would like to apologize if this post sounds too much "over the top" but to clarify some things discussed on the mailing list I would like to summarize some of the things I saw discussed on the mailing list.
- Autocoordination part 1: The idea behind autocoordination is to achieve: "zero sideslip turns under steady-wind conditions without pedal input" (quote from USAF multivariable control design guidelines). This means that one want to zero the following equation:
-r*cos(alpha) + p*sin(alpha) - g/V_true *cos(gamma)*sin(mu)
(V_true : true airspeed Gamma : flight path angle alpha : angle of attack Mu : bank angle about the velocity vector p, r : roll and yaw rate in body fixed coordinates).
this equation is the equation for the derivative of the sideslip angle beta (beta_dot) expressed in the so called "wind axes" or "flight path" coordinate system. The logic is : keep beta_dot := 0 or small then no sideslip (=lateral acceleration) will build up. Since gamma and mu are hard to measure or estimate and sometimes are hard to measure, usually one approximates the equation as:
-r*cos(alpha) + p*sin(alpha) - g/V_true*cos(theta)*sin(phi)
(theta : pitch attitude angle in body fixed coordinates
phi : roll attitude angle in body fixed coordinates)
if an airplance has any kind kind of inertial measurement unit
phi, theta,p and r are available and can be used. The last problem is
to reliably measure alpha. On advanced airplane (A320, most fighter, ....)
which provide some or any kind of envelope protection or this is not a problem.
Otherwise one chooses alpha either to be zero, to some averaged values or to
cos(alpha) ~= 1 and sin(alpha)=alpha. This works well enough for most application
that are not highly dynamic (=fighter or aerobatics).
- Yaw Damper & Autocoordination:
The purpose of a yaw damper is increase the damping of the dutch roll eigenmode
of the lateral motion of the aircraft. Yaw damping usually is not a problem at
low speeds but as speed increases towards cruise conditions most faster aircraft
need a yaw damper to achieve suitable handling qualities (=> A320, 747, ...).
Normally this is done by proportional feedback of the body fixed yaw rate
"r" to the rudder.
(Note, if you find a naive or brave pilot on a commercial flight, you could ask
him whether he is brave enough to turn of the yaw damper at higher speed and do
a small amplitidue rudder doublet and experience the natural dutch roll damping.
Beware this may spill some beverages among your fellow passenger (;-).
!! You have been are warned. Kids don't try this at home !!)
Now, going back to the equations above and using the fact that a yaw damper will try
to zero the body-fixed yaw rate "r", one can see that the yaw damper automatically
will try to decoordinate the turn using the rudder. To overcome this one can
do 2 things: 1.) put a high pass filter (low frequency signals are canceled out)
in front of the yaw rate feedback section or 2. subtract -g/V_true*cos(theta)*sin(phi)
from the signal that is feedback to the rudder.
- Autocoordination part 2:
To achieve a "bank angle compensation" (= sort of altitude hold) one also has to
increase the the total lift force ( => angle of attack) by about mass*g/cos(phi).
Or going back to the equations and assuming zero sideslip, one has to command a
pitch rate "q" of: g/V_true *cos(gamma)*cos(mu) or approx. g/V_true * cos/theta)*cos(phi).
If a pitch damper is active one has add to this pitch rate command to the pitch
rate signal that is used to in the feedback loop.
- Integrator Windup:
Integrator windup is the problem that occurs if one uses integral elements in any
kind of feedback loop if the system hits a rate or even worse position limit
of the devices being driven by the control system output signals. Basically the
integrator just keeps winding up (and thus it's output keeps increasing) because
the error signal, that is normally supposed to be near zero, does not decrease
for some time. To unwind such an integrator afterwards the error signal has have
"mirror" the "wind-up" signal but in the opposite direction !
Overall this effect introduces a dynamic phase, time delay that can lead to instability.
Depending on the type of application and the control law structure used, one can
choose between different kinds of "tricks" to do antiwindup measure.
The simplest one is to to reset the integrator. Another is to dynamically limit
the input to the integral in such a way that the output just "touches" the rate
or position limits. However this can be quite tricky and still lead to loss of stability.
Real life example of these problems are the JAS-39 Grippen and YF-22 "PIO" accidents
that were all caused by integrator windup in the pitch axis control laws.
An essential part fixing process was to provide effective anti-windup measure and
a redesign of the control laws.
- "D" Element Implementation:
A pure "D" (derivative) elment does not exist in the continous time (state space) domain.
In the laplace or frequency domain ("s") one can use such elements but if you want to
implement such elements in the time domain , you have to approximate these elements
either by using a discretized element (Euler forward, Tustin trafo, ...) or a
first order filter of the kind s/(T_d*s + 1) with T_d very small. If possible, one
should leave out "D" elements or if not possible use equivalent or derived signals.
For example for a roll attitude hold or command autopilot, instead of using a
"PID" controller on just phi, it is better to use "PI" feedback on phi + "P" of
the roll rate "p".
BTW: Rate limiter are also "D" elements
- F-16 Model:
Back in november there was some discussion about an F-16 Model for high angle of
attack simulation. While browsing the NASA Langley tech report server today, I
stumbled across 2 interesting documents: 1.) the much cited 1979 "F16" report
TP-1538 (used by Stevens/Lewis) is available on the web (= 31 MB !!). The report
includes the full data table, and analysis of simulator flight and control laws
for pitch, roll and yaw axis. However, be warned that these control laws might
not really be related to the "real" control laws used on the production aircraft.
There is also a 2003 report of several Matlab based nonlinear fighter a/c models.
Among the model described in enough detail is a nonlinear F-4 with AoA range up to 55�.
- A-320 Control Laws:
The A-320 uses a C* (c-star= combination of pitch rate and normal acceleration)
control law in the pitch + a bank angle compensation similar to the one describe
above.
For the roll axis it uses a "PI" of roll rate structure (= rate command, alttitude
hold (RCAH) system) up to 33� of bank angle. Beyond 33� bank, a fixed command bank
angle command of 33� is added to either force aircraft to return to 33� bank or
force the pilot to actively "steer and hold" larger bank angles. For the yaw axis
a "equivalent/estimated" (sideslip is not measured) beta command structure is used.
Roll and yaw damper are used to decouple the roll and "yaw" channels and to achieve
to the autocoordination described above.
Additionally Airbus also includes envelope protection elements for pitch (alpha, nz)
and roll (bank angle) axis.
Enough for today. Have fun and CU,
Ralph Paul
P.S: I'm not suscribe to the mailing list, but I do occasionally browse the web based
archives.
--
Bill Earnest [EMAIL PROTECTED] Linux Powered Allentown, PA, USA
Computers, like air conditioners, work poorly with Windows open.
_______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
