James Turner <[EMAIL PROTECTED]> said:

> 
> On Tuesday, June 11, 2002, at 02:34  am, Jim Wilson wrote:
> 
> > Not a problem...give me a day or two to get things together.  Probably 
> > there
> > won't be as much changed as there will be added, but some of the 
> > "settings"
> > need to be exposed in the property tree.
> 
> yeah, this is basically what I was expecting, The current auto-pilot 
> code is a bit hard-coded to use the radio stack for NAV modes, for 
> example, we need a general course deviation or heading deviation (once 
> we decide which) input, and then a NAV/GPS toggle on the panels, I guess.
> 

Here is a basic run down of autopilot function.  This will cover the three
axes which are possible and configuration for a given aircraft will specify
which of the three axes are supported and which functions are supportable. 
They will be the basis for the FGAutopilot class (along with any suggestions
and corrections of course).

Armed vs. Active modes:
Active modes are the only ones that affect control surfaces.  Armed modes
select an impending active mode that may or may not get triggered, depending
on if the condition for that mode is satisfied.  Note that if you have armed
for a higher altitude but have the aircraft set maintain pitch down, you will
continue to descend and never trigger the armed altitude hold mode.  Note that
often a flight computer can ensure that an armed mode is reachable by
coordinating multiple settings, but the autopilot by itself does not
guarantee this.

AXIS 1) Lateral control modes:

Active modes:

a. Wing Leveler (WL) uses ailerons to maintain 0 degrees of roll.

b. Heading Hold (HDG) uses ailerons to maintain current heading.

c. Heading NAV (HDG-NAV1, HDG-NAV2) only activated from arm mode (see below).

Armed modes:

c. Heading Select (HDG-SEL) uses ailerons to turn toward heading bug (or
setting from FMC).  Switches to active Heading Hold when target reached. 
Changing heading bug after Heading Hold is active requires initiating HDG-SEL
again (won't automatically go there like it does now).

d. Heading NAV Arm (HDG-NAV1-ARM, HDG-NAV2-ARM) Maintain HDG (Heading Hold) or
Wing Leveler (WL) until radial is intercepted.  Upon interception,
automatically switch to active HDG-NAV1 or HDG-NAV2.  Note that on ILS this
will be synonymous with APR ARM and APR mode which will also arm for GS.

AXIS 2) Vertical control modes:

Active modes:

a. Altitude Hold (ALT-HLD) maintain altitude using elevator trim.

b. Pitch Angle (PITCH) maintain aircraft pitch angle to setting using elevator
trim.  Change in pitch angle is limited to 1 degree per second.

c. Speed (SPD) maintain aircraft speed setting by varying pitch angle via
elevator trim.  Change in pitch angle is limited to 1 degree per second.

d. Glide slope (GS-NAV1, GS-NAV2) only activated from arm mode (see below).

e. Vertical Speed (VERT-SPD) apply elevator to a preset climb rate.

Armed Modes:

e. Altitude Arm (ALT-ARM) maintain vertical mode (PITCH or SPD) until selected
altitude is reached (within 100 ft), at which point automatically activate
ALT-HLD for the selected altitude.

f. Glide-slope Arm (GS-NAV1-ARM, GS-NAV2-ARM) maintain current active vertical
control mode (probably exclusively ALT-HLD) until GS intercepted.  Upon
interception switch to active Glide-slope (GS-NAV1, GS-NAV2).  Note that APR
ARM is synonymous with this mode and will also arm for LNAV radial.


AXIS 3) Yaw damper:

a. The goal is to reduce slip-skid to zero.  Currently a proportional value 
is applied to the rudder based on the aileron movement value.  The first pass
will probably see this simple logic applied.  At some point I'll test the
slip-skid value and apply rudder to reduce it.


Engage:

Upon engagement the autopilot will begin processing any preselected modes
(limited to one Arm and one Active mode per axis at a time).  If no mode is
preselected then vertical will default to PITCH and lateral will default to
HDG-HLD.  It may be desirable to have these defaults configurable, since some
autopilots may default to either ALT HLD for vertical or WL for lateral.


Disengage:

The autopilot will be able to disengage.  Certain conditions will require it. 
Suggestions on how to specify conditions would be welcome.  Note that the
current autopilot will reduce pitch to prevent a stall (as "min climb" is
approached).  I believe that the more correct behavior would be to disengage
once airspeed reaches a certain minimum.   Some aircraft have other automated
stall prevention measures (e.g. automatic nose dropping on aircraft that are
incapable of stall recovery), but those involve separate systems that go
beyond the scope of typical autopilot functionality.


Notes:

The current autopilot supports some degree of throttle control...not sure if
this should be included or if it belongs in a separate class.  In any case
thrust control gets involved with some aircraft.

A variety of flight management modes should be configurable with these basic
autopilot functions.  For example if the Boeing "FL CH" mode is selected on an
FMC then the FMC can command the autopilot for "ALT ARM" and "SPD", and until
a thrust computer class is developed, set the throttle controls with an
approximation for throttle in climb or descent mode.

This is the second time I've outlined autopilot functions, but what I'm
striving for here is to actually outline how the class methods will be
constructed, and the way that the modes will interact.  Now is the time to 
set me straight if something doesn't look right, or looks too inflexible :-)

Best,

Jim


_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to