Vous êtes sur la page 1sur 113

NASA/TM2013-218138

Vertical Navigation Control Laws and Logic for


the Next Generation Air Transportation System
Richard M. Hueschen and Thuan H. Khong
Langley Research Center, Hampton, Virginia

November 2013

NASA STI Program . . . in Profile


Since its founding, NASA has been dedicated to the
advancement of aeronautics and space science. The
NASA scientific and technical information (STI)
program plays a key part in helping NASA maintain
this important role.

CONFERENCE PUBLICATION.
Collected papers from scientific and
technical conferences, symposia, seminars,
or other meetings sponsored or cosponsored by NASA.

The NASA STI program operates under the


auspices of the Agency Chief Information Officer.
It collects, organizes, provides for archiving, and
disseminates NASAs STI. The NASA STI
program provides access to the NASA Aeronautics
and Space Database and its public interface, the
NASA Technical Report Server, thus providing one
of the largest collections of aeronautical and space
science STI in the world. Results are published in
both non-NASA channels and by NASA in the
NASA STI Report Series, which includes the
following report types:

SPECIAL PUBLICATION. Scientific,


technical, or historical information from
NASA programs, projects, and missions,
often concerned with subjects having
substantial public interest.

TECHNICAL TRANSLATION.
English-language translations of foreign
scientific and technical material pertinent to
NASAs mission.

TECHNICAL PUBLICATION. Reports of


completed research or a major significant phase
of research that present the results of NASA
Programs and include extensive data or
theoretical analysis. Includes compilations of
significant scientific and technical data and
information deemed to be of continuing
reference value. NASA counterpart of peerreviewed formal professional papers, but
having less stringent limitations on manuscript
length and extent of graphic presentations.
TECHNICAL MEMORANDUM. Scientific
and technical findings that are preliminary or of
specialized interest, e.g., quick release reports,
working papers, and bibliographies that contain
minimal annotation. Does not contain extensive
analysis.
CONTRACTOR REPORT. Scientific and
technical findings by NASA-sponsored
contractors and grantees.

Specialized services also include organizing


and publishing research results, distributing
specialized research announcements and feeds,
providing information desk and personal search
support, and enabling data exchange services.
For more information about the NASA STI
program, see the following:

Access the NASA STI program home page


at http://www.sti.nasa.gov

E-mail your question to help@sti.nasa.gov

Fax your question to the NASA STI


Information Desk at 443-757-5803

Phone the NASA STI Information Desk at


443-757-5802

Write to:
STI Information Desk
NASA Center for AeroSpace Information
7115 Standard Drive
Hanover, MD 21076-1320

NASA/TM2013-218138

Vertical Navigation Control Laws and Logic for


the Next Generation Air Transportation System
Richard M. Hueschen and Thuan H. Khong
Langley Research Center, Hampton, Virginia

National Aeronautics and


Space Administration
Langley Research Center
Hampton, Virginia 23681-2199

November 2013

The use of trademarks or names of manufacturers in this report is for accurate reporting and does not
constitute an official endorsement, either expressed or implied, of such products or manufacturers by the
National Aeronautics and Space Administration.

Available from:
NASA Center for AeroSpace Information
7115 Standard Drive
Hanover, MD 21076-1320
443-757-5802

Table of Contents
List of Figures ................................................................................................................................ iii
List of Tables ................................................................................................................................ iv
Symbols & Nomenclature............................................................................................................... 1
Introduction

................................................................................................................................. 2

Overview of VNAV Outer Loop Control System .......................................................................... 2


Description of VNAV Control System ........................................................................................... 4
VNAV Control System Inputs.................................................................................................................. 5
VNAV Control System Outputs ............................................................................................................... 8
Preprocessing............................................................................................................................................ 9
VNAV Control Laws.............................................................................................................................. 11
Path Control Law................................................................................................................................ 12
Speed Control ..................................................................................................................................... 13
Second Order Speed Command Processor......................................................................................... 14
Control Mode Engagement and Path Capture Logic .............................................................................. 16
Engagement Logic.............................................................................................................................. 16
Path Capture Logic............................................................................................................................. 17

Control Law Gain Determination ................................................................................................. 22


Control Law Parameters & Gains ................................................................................................. 23
Control System Stability Analysis ................................................................................................ 23
Control Performance..................................................................................................................... 29
Path Control Performance....................................................................................................................... 32
Speed Control Performance.................................................................................................................... 52

Summary

............................................................................................................................... 68

Appendix A: Derivation of Estimated Delta Thrust to Weight Parameter .................................. 69


Appendix B: Derivation of Rate of Change of True Airspeed for Constant CAS and Constant
Mach Conditions........................................................................................................................... 70
Derivations for Constant Calibrated Airspeed........................................................................................ 70
Change in Mach Number with Altitude for Altitudes Equal to or Below 36,089 ft .......................... 71
Change in Mach Number with Altitude for Altitudes Greater than 36,089 ft.................................... 74
Derivations for Constant Mach Number................................................................................................. 75
Change in Speed of Sound with Altitude for Altitudes Equal to or Below 36,089 ft ........................ 75
Change in Speed of Sound with Altitude for Altitudes Above 36,089 ft........................................... 76
Time Rate of Change of True Airspeed for Constant Calibrated Airspeed and Constant Mach Number
Conditions............................................................................................................................................... 76
dVT/dt for Constant Calibrated Airspeed ........................................................................................... 76
Altitudes Equal to or Less Than 36,089 ft.......................................................................................... 76
Altitudes Greater Than 36,089 ft........................................................................................................ 77
dVT/dT For Constant Mach Number .................................................................................................. 77
Altitudes Equal to or Less Than 36,089 ft.......................................................................................... 77
Altitudes Greater Than 36,089 ........................................................................................................... 77
M2, M4, and M6 Coefficients................................................................................................................... 77

Appendix C: Autothrottle Used for VNAV Control Law Performance Testing ......................... 80
Appendix D: VNAV Simulink Block Diagrams .......................................................................... 81
References

............................................................................................................................. 104

ii

List of Figures
Figure 1. Illustration of VNAV control laws location within a B757 flight control system architecture. .....................4
Figure 2. VNAV outer-loop control system. ..................................................................................................................5
Figure 3. Depiction of altitude errors for VNAV control system. ..................................................................................8
Figure 4. VNAV control system sensor filtering. .........................................................................................................10
Figure 5. VNAV parameter calculations. .....................................................................................................................11
Figure 6. Algorithm for VNAV true airspeed rate-of-change parameter (VdotB). ......................................................11
Figure 7. VNAV path, speed, and vertical speed control laws. ....................................................................................14
Figure 8. Vertical velocity command for the vertical velocity control law. .................................................................14
Figure 9. Speed command processor for VNAV control system..................................................................................15
Figure 10. VNAV control mode engagement logic. .....................................................................................................17
Figure 11. Path segment capture logic..........................................................................................................................19
Figure 12. Path error selection logic. ............................................................................................................................20
Figure 13. Pitch command synchronization logic.........................................................................................................21
Figure 14. Nichols chart for VNAV path mode linear model at 41 sec of simulated VNAV descent path. ................25
Figure 15. Bode plot for VNAV path mode linear model at 41 sec of VNAV simulated descent path. ......................26
Figure 16. Composite Nichols plots for 55 operating conditions for path mode of VNAV control system. ...............27
Figure 17. Composite Nichols plots for 55 operating conditions for speed mode of VNAV control system. .............28
Figure 18. Nichols plot of linear model at 501 sec for VNAV control system speed mode. .......................................29
Figure 19. Various longitudinal parameters for TOD run from 37,000 ft in path control mode..................................35
Figure 20. Path errors and command signals for TOD run from 37,000 ft in path control mode. ...............................36
Figure 21. Logic discretes for TOD run from 37,000 ft in path control mode. ............................................................37
Figure 22. Various longitudinal parameters for idle descent from 16,360 ft in path control mode. ............................39
Figure 23. Path errors and command signals for idle descent from 16,360 ft in path control mode............................40
Figure 24. Logic discretes for idle descent from 16,360 ft in path control mode.........................................................41
Figure 25. Various longitudinal parameters for descent from 7,235 ft in path control mode. .....................................43
Figure 26. Path errors and command signals for descent from 7,235 ft in path control mode.....................................44
Figure 27. Logic discretes for descent from 7,235 ft in path control mode..................................................................45
Figure 28. Longitudinal variables for descent from 7,235 ft in path control mode......................................................46
Figure 29. Various longitudinal variables for 37,000 ft cruise altitude capture. ..........................................................48
Figure 30. Path errors and command signals for 37,000 ft cruise altitude capture.......................................................49
Figure 31. Logic discretes for 37,000 ft cruise altitude capture. ..................................................................................50
Figure 32. Path errors and command signals for 37,000 ft cruise altitude capture with no elevator actuator hysteresis.
.......................................................................................................................................................................................51
Figure 33. Various longitudinal variables for CAS command from 250 to 311 knots in speed control mode. ...........53
Figure 34. Path and speed errors and command signals for CAS command from 250 to 311 knots in speed control
mode..............................................................................................................................................................................54
Figure 35. Discretes for CAS command from 250 to 311 knots for speed control mode of VNAV control system. ..55
Figure 36. Various longitudal variables for constraint altitude capture during speed control mode engagement. ......57
Figure 37. Path and speed errors and command signals for constraint altitude capture during speed control mode
engagement. ..................................................................................................................................................................58
Figure 38. Discretes for constraint altitude capture during speed control mode engagement......................................59
Figure 39. Various longitudal variables for climb from 10,000 ft and CAS increase in speed control mode..............61
Figure 40. Path and speed errors and command signals for climb from 10,000 ft and CAS increase in speed control
mode..............................................................................................................................................................................62
Figure 41. Discretes for climb from 10,000 ft and CAS increase in speed control mode. ...........................................63
Figure 42. Various longitudinal variables for idle TOD in speed control mode. .........................................................65
Figure 43. Path and speed errors and command signals for idle TOD in speed control mode.....................................66
Figure 44. Discretes for idle TOD for speed control mode. .........................................................................................67
Figure 45. Autothrottle of B737 research airplane. ......................................................................................................80
Figure 46. Top level Simulink block of B757 Simulink simulation.............................................................................81
Figure 47. Contents of Autopilot or FCC Simulink block............................................................................................82
Figure 48. Contents of Simulink block PathGuid.........................................................................................................83
Figure 49. Contents of Simulink block patherrors........................................................................................................84
Figure 50. Contents of Simulink block TrajectSigDef. ................................................................................................87

iii

Figure 51. Contents of Simulink block VNAV_EnableDiscs. .....................................................................................88


Figure 52. Contents of Simulink block VNAV_ModeDiscs. .......................................................................................89
Figure 53. Contents of Simulink block FLTPHASE. ...................................................................................................89
Figure 54. Contents of Simulink block PmodeRqst. ....................................................................................................90
Figure 55. Contents of Simulink block ThrotMode......................................................................................................90
Figure 56. Contents of Simulink block SpeedCalcs. ....................................................................................................91
Figure 57. Contents of Simulink block PathCaptureLogic...........................................................................................91
Figure 58. Contents of Simulink block One_shot.........................................................................................................92
Figure 59. Contents of Simulink block KHERR. .........................................................................................................92
Figure 60. Contents of Simulink block ErrorSwitch. ...................................................................................................93
Figure 61. Contents of Simulink block CntlNsegCalc..................................................................................................93
Figure 62. Contents of Simulink block CntlAsegCalc..................................................................................................94
Figure 63. Contents of Simulink block VNAV_Mode_Logic......................................................................................95
Figure 64. Contents of Simulink block EngageRequest. ..............................................................................................95
Figure 65. Contents of Simulink block VNAV_VS_Engage_Logic. ...........................................................................96
Figure 66. Contents of Simulink block PSYNC_Calc..................................................................................................96
Figure 67. Contents of Simulink block Timer. .............................................................................................................97
Figure 68. Contents of Simulink block VNAV_Control_Law. ....................................................................................97
Figure 69. Contents of Simulink block VNAV_Pth. ....................................................................................................98
Figure 70. Contents of Simulink block Ratelim. ..........................................................................................................98
Figure 71. Contents of Simulink block VNAV_Spd. ...................................................................................................99
Figure 72. Contents of Simulink block 2ndOrderProcessor. ........................................................................................99
Figure 73. Contents of Simulink block Limits............................................................................................................100
Figure 74. Contents of Simulink block Mid_Value....................................................................................................100
Figure 75. Contents of Simulink block Bias...............................................................................................................101
Figure 76. Contents of Simulink block VarLimitInteg...............................................................................................101
Figure 77. Contents of Simulink block VTerrorWashout...........................................................................................102
Figure 78. Contents of Simulink block VertSpdControl. ...........................................................................................102
Figure 79. Contents of Simulink block FadeInOut.....................................................................................................102
Figure 80. Contents of Simulink block PitchCmdProcess..........................................................................................103
Figure 81. Contents of Simulink block Subsystem.....................................................................................................103

List of Tables
Table 1. VNAV control system inputs............................................................................................................................6
Table 2. VNAV control system outputs..........................................................................................................................9
Table 3. Control law gains. ...........................................................................................................................................23
Table 4. Control law parameters...................................................................................................................................23
Table 5. Trajectory data file vnav_data_LAX-ATL_TOD.xls. ....................................................................................30
Table 6. Trajectory data file vnav_data_LAX-ATL_CLMB.xls. .................................................................................31
Table 7. VNAV trajectory file vnavCLMBdata1.xls....................................................................................................32
Table 8. Constant coefficients for computing dVT/dt for constant CAS and Mach conditions....................................78

iv

Symbols & Nomenclature


ASP
ASDO
B757
CAS
CSAOB
CG
DSCB
EPR
FMS
FCC
LaRC
MAC
Mach
MCP
NextGen
RPFMS
TECS
TMC
TOD
VNAV
VNAVI
VNAVS

Airspace Systems Program


Airspace Super Density Operations
Boeing 757 commercial aircraft
calibrated air speed
Crew Systems & Aviation Operations Branch
aircraft model center of gravity
Dynamic Systems and Control Branch
engine pressure ratio
flight management system
flight control computer
Langley Research Center
mean aerodynamic chord
Mach number
mode control panel
Next Generation Air Transportation System
Research Prototype Flight Management System
Total Energy Control System
thrust management computer
top of descent
vertical navigation
VNAV outer loop control law pitch rate steering output signal
VNAV outer loop control law pitch steering output signal

Introduction
Within the Crew Systems & Aviation Operations Branch (CSAOB) at LaRC, researchers are
working to develop technology for use in the development of high-density air traffic operations
for the evolving Next Generation Air Transportation System or NextGen as it is more commonly
known. This technology is being developed within a project called Airspace Super Density
Operations (ASDO) under NASAs Airspace Systems Program (ASP). Researchers in CSAOB
are working to develop real-time aircraft trajectory generation and real-time adjustment of the
trajectories that results in energy-efficient trajectories for a given airplane model. A generated
trajectory includes a lateral path profile and a vertical path profile where the range for the
vertical profile is dependent on the lateral profile. To realize high-density operations, aircraft
guidance and control systems need to be developed to accurately follow these real-time
generated and real-time adjusted trajectories. As a result of this need, the authorsassigned to
the Dynamic Systems and Control Branch (DSCB) at LaRCdeveloped an outer loop vertical
navigation (VNAV) guidance and control system to track a vertical profile of a real-time
generated trajectory. This document describes the VNAV guidance and control system, provides
the specifications for the control system, presents VNAV guidance and control law gain
determination, includes the stability analysis performed, and discusses the typical performance of
the system.

Overview of VNAV Outer Loop Control System


The VNAV outer-loop control system for ASDO research was designed and developed to
provide satisfactory control performance when coupled to a representation of the pitch inner loop
control system that resides within a B757 flight control computer (FCC) as requested by
CSAOB. For the B757 automatic flight control system architecture, the B757 VNAV outer loop
control system resides in the flight management system (FMS) as illustrated in Figure 1 (note
shaded block). The B757 VNAV outer loop control system outputs a pitch command signal
(VNAVS) and a pitch rate command signal (VNAVI) for input to the FCC. The VNAV control
laws described in this report were designed to provide compatible VNAVS and VNAVI signals
to a representation of the B757 FCC that resides within a B757 aircraft simulation available to
CSAOB.
For the ASDO research, VNAV control laws were developed for path and speed control modes
along with engagement logic. The control laws follow the ASDO trajectories using altitude and
altitude rate errors, a speed command, control mode engagement requests (speed or path mode
request), desired flight phase, and logic discretes provided by the ASDO VNAV trajectory
calculations done in the Research Prototype Flight Management System (RPFMS) environment.
The vertical trajectory calculations in the RPFMS compute a trajectory consisting of a series of
connected straight line path segments and, in turn, compute altitude and altitude rate errors
relative to the path segment that the aircraft is currently tracking or following (thus, referred to as
the current path segment). To facilitate smooth transitions between segments, the trajectory
calculations also compute altitude and altitude rate errors relative to the next path segment to be
subsequently followed. These errors, along with altitude and altitude rate errors relative to a
constraint altitude (an altitude that the aircraft should not fly through or away from is the selected

altitude shown on the mode control panel, or MCP, of the aircraft), are provided for the VNAV
control system.
The RPFMS trajectory calculations also compute a desired speed for each of the path segments
of the VNAV trajectory. The desired speed is either a desired calibrated airspeed (CAS) or a
desired Mach number (Mach). The trajectory calculations compute the desired true airspeed as a
function of desired CAS or Mach number, and this airspeed is input to the VNAV control
system. The computations in the RPFMS also send a discrete signal to the VNAV control
system to indicate if the desired true airspeed input was computed from the desired CAS or the
desired Mach number.
When the VNAV control system is engaged in the path mode, it uses the RPFMS computed path
errors for computing pitch steering signals to follow the VNAV trajectory and to level the
aircraft flight at the constraint altitude should it be encountered. The VNAV control system
outputs a pitch-steering signal (VNAVS) and a pitch-rate-steering signal (VNAVI), as shown in
Figure 1, and these are input to the FCC for computing a pitch command (these signals will be
described later in subsection VNAV Control System Outputs). The control law in the block
Pitch Inner Loop uses the pitch command to compute the autopilot elevator servo command.
When the VNAV control sytem is in the path mode, the pilot or an autothrottle system must
maintain the desired CAS or desired Mach number by making appropriate throttle commands.
When the RPFMS VNAV trajectory calculator requests the speed mode, the VNAV control
system engages in the speed control mode where now the VNAVS and VNAVI output signals
become signals for computing pitch commands in the FCC to track either desired CAS or desired
Mach. In the speed control mode, the closed loop VNAV control system becomes a speed-onelevator control mode; that is, the elevator changes the aircraft pitch to control the desired speed.
When the VNAV control system is engaged in the speed control mode, the pilot or thrust
management system is expected to control the throttle position for a fixed EPRtypically, either
a climb EPR or an idle EPR setting depending on the phase of flight.
The details within the blocks Pitch Command Process and Pitch Inner Loop of Figure 1 are
proprietary to Boeing. However, the algorithm in Pitch Command Process combines and limits
the VNAVS and VNAVI signals to produce a pitch command that will not cause a specified
vertical acceleration limit to be exceeded.

Figure 1. Illustration of VNAV control laws location within a B757 flight control system architecture.

Description of VNAV Control System


Figure 2 illustrates the three basic parts that make up the VNAV control system: (1)
Preprocessing for filtering sensor measurements and computing control law parameters, (2)
Control Laws that compute the pitch and pitch rate steering output signals, and (3) Control Mode
Logic for engagement and disengagement of the VNAV system control modes. These three
parts and the inputs and outputs to the VNAV control system are described in the following
subsections and defined in Tables 1 and 2.

Figure 2. VNAV outer-loop control system.

VNAV Control System Inputs


All of the VNAV control system inputs are defined in Table 1. The inputs include inertial
vertical speed and flight path acceleration available from an aircrafts inertial navigation system
and true airspeed, Mach number, and barometric altitude available from an aircrafts airdata
computer. Some of these inputs are preprocessed or filtered to remove signal noise. The
RPFMS trajectory calculations provide altitude and altitude rate error inputs relative to (1) the
current VNAV path segment, (2) the next VNAV path segment, and (3) the constraint altitude.
Other inputs that the RPFMS trajectory calculations provide are true airspeed command,
requested control mode (path or speed), various arm/enable discretes, desired speed tracking
discrete (MachSel), and current flight phase (climb, cruise, or descent).

Table 1. VNAV control system inputs.

Parameter

Units

Description

AIRCRAFT PARAMS
Hdot

ft/sec

Inertial navigation system vertical velocity

Mach

Non-dim

Mach number from air data computer

VT

ft/sec

True airspeed from air data computer

AFP

ft/sec

Inertial navigation system flight path acceleration

NAV VARIABLES
ft

Altitude error relative to current path segment; hcmd, i h

ft/sec

Vertical velocity error relative to current path segment;

ft

Altitude error relative to next path segment

ft/sec

Vertical velocity error relative to next path segment

ft

Altitude error relative to constraint altitude

h c

ft/sec

Vertical velocity error relative to constraint altitude

MachSel

non-dim

Mach select discrete: 0 track commanded CAS, 1 track


commanded Mach number

VSENABLE

non-dim

Vertical Speed (VS) submode discrete: 0 inhibit vertical speed


engagement, 1 enable submode engagement

DelTAS_VS

ft/sec

Constant true airspeed error value at which VS submode engages

VNAVARM

non-dim

VNAV mode arm discrete: 1 armed, 0 not armed

PMODE

non-dim

Desired VNAV control mode: 0 speed mode, 1 path mode

CurCapEnb

non-dim

Capture of current path segment enable discrete: 0 disabled, 1


enabled

NSEGARM

non-dim

Next path segment arm discrete: 0 not armed , 1 armed (capture


of next path segment armed)

AltCapEnb

non-dim

Capture of constraint altitude enable discrete: 0 disabled, 1


enabled

SEGUPD

non-dim

One-shot discrete set true for one iteration when aircraft arrives at
start of a path segment

FltPhase

non-dim

Phase of flight: 1 climb, 2 cruise, 3 descent, 4 altitude hold

DISENG

non-dim

VNAV disengage discrete: 0 do not disenage VNAV control, 1


disengage VNAV control

ft/sec2

path control law error signal rate limit (vert accel limit)

h i
h i+1

h cmd,i h

PARAMETERS
PthHddLim

ft/sec

speed control law error signal rate limit (vert accel limit)

VSHddLim

ft/sec

vertical speed control law error signal rate lim (vert accel limit)

DHCP

ft

SpdHddLim

Path capture logic altitude error parameter

The altitude error inputs that are relative to path segments of the VNAV trajectory and provided
by the RPFMS trajectory calculations are further clarified here. In this document the current
path segment is referred to as the ith segment and the next path segment as the ith+1 segment.
Figure 3 depicts the altitude errors relative to the current and next path segments for two
different scenarios. These two scenarios were chosen among several possible scenarios to
illustrate that the path errors for the ith+1 path segment are generated relative to the backward
projection of the segment from its starting location. The path errors for the backward projection
are used to trigger the capture of the path segment before arriving at the start of the segment so
that the segment is captured without significant path overshoot. For scenario 1, the aircraft is
below both the ith path segment and the backward projection of the ith+1 segment (projected
backwards since the starting point of the ith+1 segment lies ahead of the aircraft); also, the flight
path angle () of the ith+1 segment is less than the flight path angle of the ith segment. For
scenario 2, the aircraft is below the ith segment and above the backward projection of the ith+1
segment; also, the flight path angle of the ith+1 segment is greater than the flight path segment of
the ith segment. The VNAV control system uses the altitude error and vertical velocity error
relative to the ith path segment to compute pitch steering signals to track the ith path segment prior
to capture of the ith+1 segment. Prior to the capture of the ith+1 segment, the VNAV control
system uses the altitude error and vertical velocity error relative to the ith+1 path segment to
determine when to capture this path segment so that a smooth and low-overshoot capture is
achieved. At the instant when capture of the ith+1 segment occurs, the errors relative to ith+1
segment are then fed to the path control system for performing the capture maneuver. When the
aircraft arrives at the intersection, the ith+1 segment becomes the ith or current path segment. The
capture logic is described later in the subsection Control Mode Engagement and Path Capture
Logic.

Figure 3. Depiction of altitude errors for VNAV control system.

VNAV Control System Outputs


The control outputs from the VNAV control system are pitch and pitch rate steering commands
that are suitable inputs for the pitch processing algorithms in the B757. The FCC processes these
commands to produce a pitch command for the pitch inner loop control system. The FCC pitch
processing algorithms compute a pitch error that is driven towards zero by the pitch inner loop
autopilot elevator command control law. When the VNAV control system is tracking a path
segment in path mode or the commanded speed in speed mode with zero error, the VNAV
control steering commands will be zero. The other outputs of the VNAV control system are
engagement discretes to indicate the status of the VNAV control system to the RPFMS trajectory
computations. Table 2 provides a list of the VNAV control system outputs, their units, and
descriptions.

Table 2. VNAV control system outputs.

Parameter

Units

Description

CONTROL COMMANDS
VNAVI
VNAVS

deg/sec
deg

VNAV pitch rate steering command


VNAV pitch steering command

CONTROL DISCRETES
VNAVE
PTHARM
PTHENG
SPDENG
VSENG

non-dim
non-dim
non-dim
non-dim
non-dim

PTHCAP

non-dim

TypePthCap

integer

NSEGCAP

non-dim

VNAV control mode engaged


VNAV path mode armed for engagement
VNAV path mode engaged
VNAV speed mode engaged
VNAV vertical speed submode of speed mode
engaged
One-shot discrete true for one iteration when
current path segment, next path segment, or
constraint altitude is captured.
0 no path capture, 1 current path segment
capture, 2 next path segment capture, 3
constrained altitude capture
One-shot discrete true for one iteration when next
segment path capture occurs; same information
available from above two outputs

Preprocessing
The preprocessing part of the VNAV control system consists of parameter filtering and control
law parameter calculations.
Parameter filtering is conducted to remove noise from the sensor measurements. The sensor
measurements that are filtered are true airspeed (VT), flight path acceleration (AFP), and Mach
number (see Figure 4). The filtered airspeed (VTf) is used in both of the VNAV control laws.
True airspeed is further low-pass filtered to produce a gain scheduled filtered true airspeed
(VTGS) that is used in the calculation of control law parameters. Filtered flight path acceleration
(AFPf) and gain scheduled Mach number (MachGS) are both used to compute control law
parameters.
Figures 5 and 6 show that control law parameters are calculated for use in the VNAV mode
control logic and VNAV speed control. The parameters are estimated weight-to-thrust change
(EstDTW), climb discrete (CLMB), descent discrete (DESND), true airspeed error (VT), and
true airspeed rate-of-change bias (VdotB). The parameter VT is used in the control mode logic,
and the remaining parameters are used in the speed command processor (to be discussed in more
detail in the Speed Control section of this document). EstDTW is used for computing
9

acceleration limits in the speed command processor, and its derivation is presented in Appendix
A. The inputs used to compute EstDTW are the vertical velocity available from an inertial
navigation system (Hdot) and two filtered measurements discusssed above (VTGS and AFPf). The
true airspeed rate parameter, VdotB, is used in the speed command processor to reduce a
potential bias offset in the processor output (Vcmd) and the derivation of this bias parameter is
presented in Appendix B. More discussion of VdotB is given in the Speed Control section of
this document.

Figure 4. VNAV control system sensor filtering.

10

Figure 5. VNAV parameter calculations.

Figure 6. Algorithm for VNAV true airspeed rate-of-change parameter (VdotB).

VNAV Control Laws


Figure 7 shows the three control laws in the VNAV control system: 1) a VNAV path control law
used for the path control mode, 2) a VNAV speed control law used for the speed control mode,
and 3) a vertical speed control law. The vertical speed control law is a sub-mode of the speed
control mode. All these control laws compute pitch and pitch rate steering commands that are
output for processing by a pitch inner loop control system.
When the path control mode is engaged, the VNAV path control law computes commands to
track a desired VNAV trajectory, and speed is assumed to be controlled by the aircrafts TMC
autothrottle control law or by the pilot. When the speed control mode is engaged, one of the two
control laws for this mode will be engaged. If the absolute value of the true airspeed error is less
than or equal to a specified value (DelTAS_VS of Table 1), the VNAV speed control law will
track the desired VNAV speed profile. If the airplane is in the climb phase and the airspeed error
becomes greater than DelTAS_VS (which occurs when the VNAV system commands a large
airspeed increase or the pilot dials in a large airspeed increase on the MCP), then the vertical
speed control law will engage and control to a constant vertical speed between 0 and 500 ft/min.
When the true airspeed becomes less than DelTAS_VS, the VNAV speed control law reengages. Normally, the controlled vertical speed will be 500 ft/min since the airplane will
normally be climbing at a higher rate than 500 ft/min when in the climb phase. The controlled
11

vertical speed can be a constant value between 0 and 500 ft/min if the commanded airspeed
increase occurs while the airplane is climbing within that vertical speed range, or 0 if the airplane
was temporarily descending when the airspeed increase was commanded. When climbing, the
vertical speed control law insures that the airplane accelerates quickly to a large increase in the
commanded airspeed, but without descending, as could result if the VNAV speed control law
remained engaged. When descending, the vertical speed control law insures that the airplane
decelerates quickly to a large decrease in the commanded airspeed without climbing, as could
result if the VNAV speed control law remained engaged. When descending and the true airspeed
error is less than DelTAS_VS, the vertical speed control law enages to control the vertical
speed between 0 and 500 ft/min. When the airspeed error is greater than DelTAS_VS, the
VNAV speed control law re-engages. When engaged in the speed mode, the VNAV trajectory
errors are ignored and the TMC or the pilot commands a fixed EPR or throttle setting for the
climbing flight phase or an idle throttle setting for the descent flight phase. Figure 7 shows that
the discretes PTHENG, SPDENG, and SPDE1 select the pitch steering and pitch rate steering
commands that will be contained in the output signals VNAVSC and VNAVIC.
Path Control Law

The VNAV path control law was designed to track a VNAV trajectory that consists of several
straight-line, connected path segments with various flight path angles. The control law captures
and tracks a path segment with inputs of the altitude error, altitude rate error relative to that path
segment, and filtered true airspeed (see Figure 7). The control law architecture was adopted
from the altitude capture and hold control mode of the Total Energy Control System (TECS) that
was flight tested on a B737 research aircraft at Langley Research Center [1]. The computed gain
(KHERR) converts the altitude error (h) to a commanded change in vertical speed, and that
commands an exponential reduction in the altitude error with a time constant equal to one
divided by KHERR [2]. The equation for the computation of KHERR and the limiting of the
product of KHERR times h was taken from the TECS as implemented on the B737 research
aircraft [3]. The rate of change of the vertical speed command is limited (see Figure 7) in order
to limit the resulting vertical acceleration. The parameter PthHddLim (Table 1) specifies the rate
limit of the command that is equivalent to a limit on vertical acceleration. The altitude rate error
input ( h ) provides path damping. The division of the vertical velocity command and h by
filtered true airspeed results in a flight path angle error relative to the air mass (if the vertical
motion of the air mass is ignored) after the summing block in Figure 7. This error is multiplied
by path control law pitch rate steering gain (KIVN) to produce a pitch rate steering command
and mutiplied by the path control law pitch steering gain (KPVN) to produce a pitch steering
command. KHERR is a function of PthHddLim, the altitude rate error, and the constant
parameter KHBIAS. KHERR is also used in the path segment capture logic (to be discussed
later) which results in proper capture initiation times for different values of PthHddLim.
Engagement of this control law and capture of path segments is transient-free (i.e. no step
command changes) since, at engagement and path capture, the pitch and pitch rate steering
commands will both be zero. Control law engagement is discussed in the document subsection
Engagement Logic, and the path capture logic is discussed in the section Path Capture Logic.
The determination of the gains KIVN and KPVN will be discussed in the Control Law Gain
Determination section of this document.

12

Speed Control

The speed control law was designed to track a desired CAS or Mach number using pitch control
of the aircraft (often referred to as speed-on-elevator control) and is in the middle level of Figure
7. The input to the control law is computed true airspeed error (VTerr) that is the difference
between the output of a second order speed command processor (Vcmd), to be discussed in detail
in the following subsection, and filtered true airspeed. The input to the speed command
processor is the selected true airspeed that the RPFMS computes from either the commanded
Mach number or CAS, depending on whether commanded Mach or commanded CAS is to be
tracked (note that the commanded Mach number or commanded CAS will be from either the
VNAV trajectory commands or the speed selection on the MCP). In Figure 1using selected true
airspeed rather than Mach and CAS commands, only one control law is needed to track either
CAS or Mach. The gain KVTERR controls the response time in reducing speed errors. The
product of speed error and KVTERR is rate limited to a value specified by the parameter
SpdHddLim to ultimately limit vertical acceleration during pitch changes for speed control. A
washout filter on speed error with a 0.5 sec time constant is used to provide speed capture
damping. The gain KCWO provides for adjustment of the damping. The sum of the rate limited
speed error and damping signal is multiplied by gain KCIVN to produce a pitch rate steering
command and multiplied by gain KCVN to produce a pitch steering command. This control law
also provides transient-free engagement in that the pitch and pitch rate steering commands will
be zero at engagement of the speed control law, since the true airspeed error is zero because the
speed command proccessor output (Vcmd) is initialized to the true airspeed at control law
engagement. The determination of the gains KCIVN and KCVN will be discussed in the Control
Law Gain Determination section of this document.
The bottom left side of Figure 7 shows the vertical speed submode control law. The signal
VSCMD is the vertical speed command that will have a value between 0 and 500/60 ft/sec when
in the climb phase and between 0 and 500/60 ft/sec when in the descent phase. The first order
filter at the left side of the control law serves two purposes. First, it is used to smoothly change
the vertical velocity command from the instantaneous vertical velocity of the aircraft at
engagement to the fixed commanded value. Second, the filter provides transient-free engagment
of the control law since the vertical velocity error will be zero at engagement. The second first
order filter is used to obtain acceptable gain and phase margins. The vertical velocity of the
aircraft (Hdot) is subtracted from the output of the first filter to produce a vertical velocity error
which in turn is divided by the filtered true airspeed and multiplied by 57.3 to compute a flightpath-angle-like error in deg. Multiplying this error by the pitch rate steering gain, KVSIVN,
produces the pitch rate steering command. Multiplication of the output of the second filter by
the pitch sterring gain, KVSVN, produces the pitch steering command.
Figure 8 shows the computational algorithm for the vertical velocity command. The vertical
velocity command depends on the flight phase inputs CLMB (climb phase) and DESND (descent
phase) and the vertical velocity of the aircraft at the time the vertical velocity control law is
engaged (VSENG).

13

Figure 7. VNAV path, speed, and vertical speed control laws.

Figure 8. Vertical velocity command for the vertical velocity control law.

Second Order Speed Command Processor

The speed command processor in Figure 9 computes a true airspeed error signal (VTerr) for
input to the VNAV speed control law. The speed command processor smooths the selected true
airspeed command (VTsel) which is an input from the RPFMS trajectory calculator. As
14

mentioned earlier, VTsel can represent a commanded CAS or a commanded Mach depending on
which is to be tracked. The use of the processor prevents large steps in the speed error from
being introduced to the speed control law and limits the rate of change of the true airspeed
command (Vcmd) that is output from the processor to rates that the aircraft can achieve. The
processor consists of a second order, critically damped filter that contains computed acceleration
limits and speed limits. The bandwidth of the filter was set to 0.12 rad/sec, resulting in a filter
output (Vcmd) of 80 percent of the value for a step input in approximately 25 sec and 98 percent
in 50 sec, in the absence of any acceleration limits. This provides a reasonable time for a speed
change to a new commanded speed. The rate of change of the filter output is limited by
computed acceleration limits.
The acceleration limits are computed as a function of flight phase using the delta thrust to weight
change computed parameter, EstDTW, as shown in Figure 9. When climbing, the upper
acceleration limit is the product of EstDTW, acceleration due to gravity (g), and 0.6 and the
lower limit is 1000/VTGS. As noted in the derivation for EstDTW in Appendix A, multiplying
EstDTW by g provides a quantity consisting of the flight path acceleration plus an estimated
potential flight path acceleration. Multiplying this product by 0.6 makes the upper acceleration
limit conservative to what should be achieveable. The lower limit for the climb flight phase is
not normally encountered since the aircraft is usually either maintaining a constant speed or
accelerating. However, if a speed reduction during a climb is commanded, the lower limit
quantity represents an achieveable deceleration level at the filtered true airspeed, VTGS. When
the airplane is descending, the lower limit is given as the product of EstDTW, g, and 0.6 and the
upper limit is 1000/VTGS.
The Vcmd is the output of a limited integrator and the integrator is limited to values between 0
and 1000 ft/sec.

Figure 9. Speed command processor for VNAV control system.

15

The input VdotB shown at the lower middle portion of Figure 9 is used to offset a bias that
would otherwise ocurr in Vcmd when the aircraft is climbing or descending under constant CAS
or Mach. When the aircraft is being flown at constant CAS, true airspeed increases if the aircraft
is climbing or decreases if descending. For constant Mach below 36,089 ft barometric altitude,
true airspeed decreases if the aircraft is climbing and increases if descending. For constant Mach
above 36,089 ft, true airspeed remains constant regardless of vertical speed since the atmospheric
temperature is constant above this altitude. So, when true airspeed is changing for a constant
CAS or Mach flight, the input to the second order filter, VTsel will be changing, and a lag or bias
would occur in Vcmd without the compensation that is provided by the input VdotB. Figure 6
shows the computation of VdotB, and the derivation of it is in Appendix B.
Control Mode Engagement and Path Capture Logic
This section describes the logic to perform the following functions:
engage/disengage the path control, speed control, and vertical speed control laws
initialize the speed command processor
initialize three control law filters
initialize two control law rate limiters
determine when to initiate the capture of a VNAV path segment
determine which set of altitude, and altitude rate errors to input to the path control law
Engagement Logic

Figure 10 shows the mode control logic that generates the discretes for engagement and
initialization. The engagement logic determines which VNAV control mode should be engaged.
The path mode is engaged and initialized (PTHENG is set true) if (1) the RPFMS is requesting
that the pitch path control mode be engaged (Pth_R is true ), (2) the path mode is not engaged
(the past value of PTHENG is false), (3) the control system is armed for engagement
(VNAVARM is true ), and (4) the discrete to capture a path segment has been set true (PTHCAP
is true). When PTHENG is true, the path control law is engaged and its pitch and pitch rate
steering commands are output from the VNAV control system. PTHENG is latched true and is
reset false when either the speed mode is requested (Spd_R is true) or the disengage discrete
(DISENG) is set true. The request for the speed or path mode to be engaged is computed from
input variable PMODE (see Figure 11). PMODE is an input from the RPFMS trajectory
calculations. If the speed control mode is requested (Spd_R is true) when the path control is
engaged , the path control law will be disengaged, and, if VNAVARM is true, the speed control
mode will be engaged (SPDENG is set true) on the same computational iteration. If DISENG is
set true, the VNAV control system will be disengaged.
The bottom of Figure 10 shows that when the speed mode is engaged, the vertical speed mode
can be engaged (i.e. VSENG can be set true). VSENG is set true for two conditions: (1) if the
true airspeed error (VT) is greater than DelTAS_VS, the climb discrete (CLMB) is true, and the
vertical speed mode is enabled for engagement (VSENB is true), and (2) if the airspeed error is
16

less than DelTAS_VS, the descend discrete (DESND) is true, and VSENB is true. The discrete
SPDE1 indicates the speed mode is engaged, but the vertical speed submode is not engaged.
This discrete is used for selecting the correct output signals from the VNAV control system and
for the initilization of two control law integrators, one filter, and one rate limiter (Figure 7 and
Figure 9).

Figure 10. VNAV control mode engagement logic.

Path Capture Logic

Figure 11 shows the path capture logic (note that subscript P on some discretes represents the
past value of that discrete). As previously stated, the VNAV path control law is designed to
follow a vertical path that consists of a series of connected straight line path segments with
various flight path angles (see the section titled Path Control Law). The control law is designed
to start the capture of a path segment with a transient-free control law engagement (that is, the
pitch and pitch rate steering commands will be zero at engagement). The control law provides
an exponential capture of a vertical path segment given the altitude error and altitude rate error
relative to the path segment. The path capture logic determines which path segment should be
captured and when a transition to the next segment should occur. If a current path segment
capture should occur, CSEGCAP is set true; if a next path segment path capture should occur,
17

NSEGCAP is set true; and, if constraint altitude capture should occur, ASEGCAP is set true.
These three discretes are set true for only one computational iteration by the One-Shot blocks.
As shown for the computation of the variable TypePthCap in the lower right side of Figure 11,
the capture discretes have a defined priority. The constraint altitude capture has the highest
priority and the current path segment capture the lowest priority. For example, if current path
segment and next path-segment captures were set true simultaneously, the next path segment
capture would be executed rather than the current path segment capture. The discrete PTHCAP
is set true when any type of capture occurs and is subsequently used in control law
sychronization and output command smoothing during control mode changes or changing
control to a different path segment. For any type of path capture to occur, the enabling discretes
for each type of capture must be true (CurCapEnb for current path segment capture, NSEGARM
for next path capture, and AltCapEnb for the constraint altitude capture). These enabling
discretes are inputs from the RPFMS trajectory calculations.
The CSEGCAP discrete will be set true if CurCapEnb is true, the past value of the path mode
engage discrete (PTHENGP) is false, the past value of the path mode engage request (Pth_RP) is
true, and the discrete output from the top block of Figure 11 labeled Path Cap Trig is true.
Figure 11 shows the contents of this Path Cap Trig block. The contents of the other two Path
Cap Trig blocks are the same. The computations for the gain KHERR in the Path Cap Trig block
is the same as that for KHERR in the path control law (see Figure 7). Note that path capture will
occur if the aircraft is within DHCP feet of the path segment regardless of what the altitude rate
error is (the numerical value of this constant parameter is specified in Table 1 and is set in the
RPFMS). DHCP is set to a small value to insure that path capture will occur if the aircraft is
close to the desired path segment when the path mode is requested for engagement with the
VNAV control system engaged in the speed mode or when the VNAV control system is armed
for engagement and the path mode is requested to be engaged.
The next path segment capture discrete (NSEGCAP) will be set true if the past value of the path
mode engage request (Pth_RP) is true, NSEGARM is true, VNAVARM is true, and the discrete
output from the middle Path Cap Trig block of Figure 11 is true.
The constraint altitude capture discrete (ASEGCAP) will be set true if AltCapEnb is true,
VNAVARM is true, the past value of VNAV engage (VNAVEP) is true, and the discrete output
from the bottom Path Cap Trig block of Figure 11 is true.

18

Figure 11. Path segment capture logic.

When a path capture occurs, the appropriate set of altitude and altitude rate errors that are input
to the VNAV control system from the RPFMS trajectory calculations must be selected for input
to the path control law. Figure 12 shows the logic and switches for this selection. The discretes
CNTLNSEG and CNTLASEG are used to set the switches for selection of the appropriate
altitude and altitude rate error for the path control law. When CNTLNSEG is true, the control
law is capturing the next path segment before the aircraft arrives at the starting point of this path
segment (recall from Figure 3, that during initial capture of the next path segment, the control
law is controlling to an extension of the next path segment). When the aircraft arrives at the
starting point of the next path segment, the one-shot discrete path segment update (SEGUPD) is
set true by the RPFMS trajectory calculations, and that causes CNTLNSEG to be reset to false.
When SEGUPD is set true, the RPFMS trajectory calculations set the current altitude and
altitude rate errors to those that previously were the next segment altitude and altitude rate errors
since the aircraft has arrived at the starting point of the path segment that previously was the next
path segment and now has become the current path segment. CNTLNSEG is also reset if
ASEGCAP is set true. When CNTLASEG is set true, the control law is capturing or tracking the
constraint altitude. CNTLASEG is reset to false if AltCapEnb is set false by the RPFMS and
either NSEGCAP or CSEGCAP is set true or the past value of the speed mode request (Spd_R)
is set true.

19

Figure 12. Path error selection logic.

The control law output commands are smoothed to prevent potential steps in the commands
when switching between control laws or when a path segment capture occurs. While the control
law to be engaged will initially have zero commands at the switch time, the current control law
may have non-zero commands because it may still be capturing a commanded target at switch
time. When capturing a next path segment in the path mode, the initial commands for the next
path segment will be zero, but the current path segment commands may be non-zero if the
current segment capture has not been completed when next segment capture occurs. So,
smoothing is provided by an easy-on/easy-off function. The smoothing and the logic to activate
the smoothing is referred to as pitch command synchronization in this document. When pitch
command synchronization is desired, the PSYNC discrete is set true to trigger the start of the
synchronization. Figure 13 shows the logic for setting the PSYNC discrete. When PSYNC is set
true, the previous pitch and pitch rate steering commands are stored, and then these stored

20

commands are linearly ramped out while the new VNAV pitch and pitch rate steering commands
are linearly ramped in over a time period specified by the parameter FadeTime (default to 2 sec).
The smoothing is done as follows: (1) let G be a gain that varies linearly from zero to one over
the period FadeTime, (2) let VNAVSC and VNAVIC be the new pitch and pitch rate command
signals, (3) let VNAVSCP and VNAVICP be the values of the stored past pitch and pitch rate
command signals just before PSYNC becomes true, and (4) let VNAVS and VNAVI be the pitch
and pitch rate command signals output from the VNAV control system. When PSYNC is set
true, the output pitch and pitch rate command signals are computed as
VNAVS = VNAVSC * G + VNAVSCP * (1 G)
VNAVI = VNAVIC * G + VNAVICP * (1 G)
When the value of G reaches one, G is reset to zero, and the output pitch and pitch rate command
signals are computed as
VNAVS = VNAVSC
VNAVI = VNAVIC

Figure 13. Pitch command synchronization logic.

21

Control Law Gain Determination


During initial control law development, the control law gains were chosen by examining the path
and speed capture dynamic responses obtained from simulations using a non-linear B757
Simulink simulation (Simulink is simulation software available from The MathWorks, Inc.)
where the aircraft model part of the simulation is proprietary. A goal for the system design was
to use fixed gains and avoid using gain scheduling. Such a goal seemed reasonable since the
VNAV system is an outer-loop control system used during flight phases where the path and
speed tracking response is desired to be relatively constant and slow. The system architecture is
essentially commanding flight path angle changes from which a pitch command is computed. It
was assumed that for slow changes in the commanded pitch, system stability would be
maintained by the pitch inner loop gain scheduling as aircraft operating conditions changed. In
attempting to use fixed gains, optimization algorithms available in the Simulink software
environment were employed to find gains for the path and speed control laws that would
minimize path and speed errors over the VNAV flight conditions. For optimization of the path
control law gains, a cost function was used that had penalities for altitude error and pitch rate
error. The penalty on pitch rate error avoided gains resulting in vertical path maneuvering
uncomfortable for airplane passengers. The optimization algorithm [4, 5] determined path
control law gains while the VNAV control system was tracking a descending VNAV path
trajectory. Optimal gains were determined at specified times along the trajectory at 5, 10, 15 sec,
etc. The optimal gains found at the specified times did not necessarily have the same values.
Fixed gains were computed by averaging the gains found at the specified times. Then,
simulation runs were made with these fixed gains to see if the path capture and tracking
performance was acceptable. Additionally, the Simulink Control Design Toolbox was used to
determine the stability of the VNAV control system at 20 sec intervals along a descending
VNAV trajectory using the fixed gains. For the speed control law, a similar process was used to
determine optimal gains for a cost function having penalties on true airspeed error and pitch rate
error. The same procedure as described above for the VNAV path control law was used to
determine constant gains for the VNAV speed control law and their suitability.
Table 3 shows the constant gains used for the VNAV control laws. The gains used for the
VNAV speed control law are those determined by the optimization procedure. The gains used
for the path control mode are approximately two times larger than those determined by the
optimization procedure. Nichols plots for the path mode revealed that there was excessive gain
margin with the optimized gains for the path mode. Since it was desired to improve the path
tracking performance for some of the tested VNAV trajectories, the path control law gains were
increased by a factor of approximately two from the optimized gains. Then, with these new
gains, the gain and phase stability margins were checked and still found acceptable as is shown
in the control system stability analysis section of this report.

22

Control Law Parameters & Gains


Tables 3 and 4 list the gain values and control parameters for the VNAV control system.
Table 3. Control law gains.

Gain

Units

Path Control
KIVN
deg/sec/rad
KPVN
deg/rad

Value
20
200

Description
Path control law pitch rate steering command gain
Path control law pitch steering command gain

Speed Control
KVTERR non-dim
1.0
KCIVN
deg/sec/ft/sec 0.020014

Speed control law gain on true airspeed error


Speed control law pitch rate steering command gain

KCVN
KCWO

0.13562
5.1992

Speed control law pitch steering command gain


Speed control law washout filter gain

Vertical Speed Control


KVSIVN sec1

0.3

KVSVN

1.0

Vertical speed control law pitch rate steering command


gain
Vertical speed control law pitch steering command
gain

deg/ft/sec
sec

non-dim

Table 4. Control law parameters.

Parameter

Units

Value

Description

WV
PthHddLim

rad/sec
ft/sec2

0.12
1.6

Bandwidth of speed control law seccond-order processor


Vertical acceleration manuever limit for path control

SpdHddLim

ft/sec2

3.0

Vertical accleration manuever limit for speed control

VSHddLim

ft/sec2

3.2

DelTAS_VS ft/sec

42.195

FadeTime
KHE

sec
1/sec

2.0
0.08

Vertical acceleration manuever limit for vertical speed


control
magnitude of true airspeed error to engage vertical speed
control
Pitch command synchronization ramp-in/ramp-out time
Max value of computed gain KHERR

KHBIAS

1/sec

0.017

bias value for computation of KHERR

Control System Stability Analysis


After the fixed gains were determined as previously described, a stability analysis was performed
to evaluate whether the VNAV control system gain and phase margins met the desired margins.
The desired stability margins were a gain margin of at least 6 dB and a phase margin of at least
23

30 deg [6]. This analysis was accomplished using the Simulink Control Design Toolbox. These
margins were computed at 20 sec intervals, while VNAV descending trajectories were simulated
in the aircraft/VNAV guidance and control Simulink simulation. The descending trajectories
started at 37,000 ft at Mach 0.7964 in level flight. At the end time of simulated descents, the
aircraft altitude was around 6000 ft, and the aircraft calibrated airspeed was around 180 knots.
Two 1100 sec simulated descents were made for the stability analysis. In one descent, the
VNAV path was tracked by the control system engaged in the path tracking mode, and in the
other descent, the VNAV speed profile was tracked by the control system engaged in the speed
mode. For the path mode descent, the throttle was initially reduced to the idle position at a rate
of 2 deg/s by engaging the autothrottle in the idle mode and at about 650 sec, the autothrottle
was engaged in the speed mode to then track the VNAV trajectory commanded CAS. For the
speed mode descent, the throttle was initially reduced to the idle position at a rate of 2 deg/s by
engaging the autothrottle in the idle mode, and after that, the throttle remained at the idle position
for the entire simulated time.
As a 1100 sec descent simulation ran, the Simulink Control Design Toolbox stopped the
simulation at specified times to compute the gain and phase of the closed-loop VNAV control
system as a function of frequency. At each specified time, the toolbox was used to (1) compute a
linear model about the current system operating condition (where the Tustin method was applied
for computing the linear model), (2) compute the gain and phase as a function of frequency for
the VNAV engaged control mode, (3) save the computed values, and then (4) continue the
simulation to the next specified time. Nichols and Bode plots were then made from these saved
gains and phases. Nichols charts were used to assess phase and gain margins for the VNAV
control system. The Bode plots were used to determine the system frequencies where the gain
and phase margin might not meet the design requirements. These frequencies would then be
used to design compensators to increase these margins to an acceptable level when gain tuning
alone might not increase the margins to acceptable levels.
The first specified time for both the VNAV path and speed control modes was at 10 sec, the next
time at 21 sec, and then every 20 sec after that, unless this time occurred during the 2 sec time
period after the discrete PSYNC was set (during this time period, pitch synchronization is
occurring and these time periods were avoided to eliminate potential numerical problems in
using the Simulink Control Design Toolbox). If a specified time occurred during the 2 sec pitch
synchronization period, the linear model determination was done immediately after this time
period. As a result of the specified stop times, 55 linear models for the VNAV path mode and 55
linear models for the speed mode were computed for the closed-loop VNAV control system.
Figure 14 shows the Nichols chart at 41 sec for the VNAV path mode. The linear model gain
magnitude and phase were plotted for frequencies ranging from 0.01 to more than 39.8 rad/s.
The diamond symbols on the 180 deg phase line mark the 6 dB gain margin points and the
diamond symbols on the 0 db magnitude line mark the 30 deg phase margin points. The gain
and phase margin requirements for the control system are satisfied with room to spare at this
condition.

24

Figure 14. Nichols chart for VNAV path mode linear model at 41 sec of simulated VNAV descent path.

Figure 15 shows the Bode plot for time 41 sec which was made for a frequency range of 0.01 to
100 rad/sec. From the Bode plot, the gain and phase for a specific system frequency can easily
be read, which is not so from the Nichols plot. The gain and phase margins can also be
determined from the Bode plot. For example, the gain margin is determined by the difference of
the gain at 180 deg phase and 0 dB gain. As with the Nichols plot, this occurs in three places of
the plot. Drawing a vertical line on the plot where the system phase is 180 deg helps to
determine the gain margins. Likewise, the phase margin can be determined by the difference in
the phase where the system gain is 0 dB and 180 deg phase. Notice for this plot that to
determine where the system gain was unity (0 dB) would require magnifying the plot around the
frequencies from 0.4 to 1 rad/s. However, for this stability analysis, the Nichols charts were used
for determining the gain and phase margins while the Bode plots were made, as mentioned
earlier, to show the system frequencies where the gain and phase margins might not meet the
desired margins.

25

Figure 15. Bode plot for VNAV path mode linear model at 41 sec of VNAV simulated descent path.

As mentioned earlier, 55 linear system models of the closed-loop system were computed for both
the path control mode and speed control mode during the 1100 sec descent trajectory using the
Simulink Control Design Toolbox. Gain and phase were computed to make Nichols charts and
Bode plots for each of these linear models. Rather than including each individual plot in this
report, one composite Nichols plot was made for all 55 linear models for the path control mode,
and one composite Nichols plot was made for all 55 linear models of the speed control mode.
Figure 16 shows the Nichols composite plot for the VNAV path control mode. As briefly stated
at the start of this section, the aircraft conditions for these plots range from an altitude of 37,000
ft to 6000 ft and the speed ranged from Mach 0.7964 to a CAS of 180 knots. As shown in the
composite plot, the gain and phase margins of the control system path mode exceed the required
gain and phase margins (indicated by the diamond symbols) by a large amount.

26

Figure 16. Composite Nichols plots for 55 operating conditions for path mode of VNAV control system.

Figure 17 shows the composite Nichols plot of gain and phase for the 55 linear models for the
speed mode of the VNAV control system. These plots show that the gain and phase margins for
all of the 55 linear models exceed the required gain and phase margins indicated by the diamond
symbols on the composite plot. For some linear models, the gain margin was around 10 dB in
the low frequency range as shown by the traces in the vicinity of the top diamond symbol. The
conditions for which the gain margin was around 10 dB occurred between 461 and 601 sec
where the altitude ranged from approximately 19,000 ft to 10,000 ft, and CAS was constant at
300 knots. To determine the approximate system frequency for this gain margin, a Nichols plot
was made for one of those conditions at 501 sec and is shown in Figure 18. The plot shows that
the gain margin of approximately 10 dB above the top diamond symbol occurs for a system
frequency a little less than 0.16 rad/s, which is more than twice the phugoid frequency of the
aircraft model at this speed.

27

Figure 17. Composite Nichols plots for 55 operating conditions for speed mode of VNAV control system.

28

Figure 18. Nichols plot of linear model at 501 sec for VNAV control system speed mode.

Control Performance
As mentioned previously, the control system was developed using a six DOF, non-linear B757
Simulink simulation. The performance of the control system shown in this section is from data
generated with that simulation. Trajectory data was provided by CSAOB in the form of
spreadsheet files and are trajectories generated by CSAOB trajectory generation software.
Simulink code was written to use that data to generate the trajectory errors and to emulate the
RPFMS outputs needed by the VNAV control system. As mentioned in the VNAV Control
Laws section of this report, an autothrottle system was used to control the speed of the aircraft
when engaged in the VNAV path control mode. In order to determine the performance of the
path control mode with the Simulink simulation, an autothrottle, based on an autothrottle control
law used on the research B737 aircraft [1], was implemented in the simulation. Appendix C
describes this autothrottle.
The VNAV trajectory data defines the trajectory as connected straight path segments. The data
provided for each path segment are the tangent of the flight path angle of the segment, ground
range from a specified origin to starting point of the segment, altitude at the starting point of
segment, flight phase (climb 1, cruise 2, descent 3), desired pitch control mode (path mode
1 or speed mode 0), throttle control mode (fixed 1, speed control 2, or idle 3), desired
CAS in knots, desired Mach number, desired flap handle position in degrees, and desired gear
position (up 0, down 1). Spreadsheet data files were generated from the trajectory data files
29

provided by CSAOB and a trajectory data file was generated to specifically test captures of path
segments with various flight path angles and to test switching between path and speed control
modes. The two data files generated from the CSAOB data were named vnav_data_LAXATL_TOD.xls and vnav_data_LAX-ATL_CLMB.xls. The data file to specifically test path
segment captures was named vnavCLMBdata1.xls. Tables 57 show these data files with text
added to the top of the columns to identify the data. These data files were used to determine the
performance of the VNAV control system for the path control and speed control modes.
Table 5. Trajectory data file vnav_data_LAX-ATL_TOD.xls.

30

Table 6. Trajectory data file vnav_data_LAX-ATL_CLMB.xls.

31

Table 7. VNAV trajectory file vnavCLMBdata1.xls.

Path Control Performance


Four Simulink simulation runs are included in this report to show the path capture and tracking
performance of the VNAV control system. The runs consisted of (1) a top-of-descent (TOD)
260 sec run from a cruise altitude of 37,000 ft, (2) an idle descent 400 sec run from 16,360 ft, (3)
a 400 sec descent run from 7,235 ft to 1,260 ft with speed changes that resulted in flap
deployment to 20 deg, and (4) a 200 sec run to show cruise altitude capture performance. For
each run, the report includes at least three figures that are plots of various variables and logic
discretes. Figures 1921 show the performance for the first simulation run and will be used to
explain the plotted variables and discretes. Figure 19 shows plots of altitude, altitude rate
(Hdot), pitch attitude, pitch rate, vertical acceleration, flight path acceleration, elevator position,
stabilizer position, commanded CAS, CAS, commanded power lever angle (PLA) or commanded
throttle, and PLA. Figure 20 shows plots of altitude error (altitude command minus altitude) and
altitude rate error (altitude rate command minus altitude rate) relative to the VNAV trajectory
path segments, the pitch steering command (VNAVS), and the pitch rate steering command
(VNAVI) output from the VNAV control system, the pitch attitude error (DTHETE or pitch
attitude minus pitch command), the elevator servo command (DESCMD), the CAS error, and the
Mach error. Figure 21 consists of six plots showing various VNAV discretes. The discretes are
separated on the plots by an integer multiple of two and the false value of a discrete is indicated
32

by even numbers. True values of the discretes are an increment of one above the false values.
The discretes for each plot are plotted in the order shown in the plot legends where the discrete at
the top of the legend is plotted at the top of the plot. The first plot at the top of Figure 21 shows
four discretes: the discrete to arm the VNAV control system (VNAVARM), the discrete that
requests engagement of the path control mode (VNAV_Pth_R), the discrete that requests
engagement of the speed control mode (VNAV_Spd_R), and the discrete to disengage the
VNAV control system (VNAV_Diseng). The second plot shows five discretes: the discrete that
shows when the VNAV control system was engaged (VNAVE), the discrete that shows when the
path mode was engaged (VNAV_Pth_Eng), the discrete that shows when the speed mode was
engaged (VNAV_Spd_Eng), the discrete that shows when the vertical speed submode of the
speed mode was engaged (VNAV_VS_Eng), and the discrete that shows if Mach number or
CAS was being tracked (MACHSEL). The third plot shows six discretes related to path capture:
the one-shot discrete that shows when smoothing of the pitch steering output commands started,
the one-shot discrete that shows when capture of the current path segment occured, the one-shot
discrete that shows when capture of the next path segment occured, the one-shot discrete that
shows when capture of the constraint altitude occured, the one-shot discrete that indicates when a
path segment capture occured (PTHCAP), and the discrete that showed when the control system
was armed for capture of the next path segment (NSEG_ARM). The fourth plot shows three
discretes that show the requested thrust or throttle control mode: the discrete that shows when the
constant thrust mode (THR_R) was requested, the discrete that shows when the airspeed control
mode (SPD_R) was requested, and the discrete that shows when idle throttle was requested
(IDLE_R). The fifth plot shows VNAV control mode requests from the RPFMS system: the
discrete that shows when the RPFMS requested the path control mode to be engaged
(Pth_mode_R), and the discrete that shows when the RPFMS requested the speed control mode
to be engaged (Spd_mode_R). The sixth plot shows three discretes: the discrete that shows when
the VNAV control system was capturing or tracking the next VNAV path segment but has not
reached the starting point of this path segment (CNTLSEG), the discrete that shows when the
VNAV control system was capturing or tracking the constraint altitude (CNTLASEG), and the
one-shot discrete from the RPFMS trajectory calculations that shows when the aircraft has
arrived at the starting point of a VNAV path segment (segupd) and that the RPFMS trajectory
calculations has switched from what was the next segment trajectory errors to now be the current
path segment trajectory errors.
The first simulation run to show the path control performance is a TOD 260 sec run. The run
begins with the aircraft flying level at 37,000 ft at Mach number 0.7964. The VNAV control
system proceeds to capture a descending path segment and, at the same time, the engine throttles
(PLA position) are open-loop driven to the idle position (PLA = 55 deg) at a rate of 2 deg/s.
The initial aircraft weight for this run was 172,841 lb with a center of gravity (CG) located at 25
percent of the mean aerodynamic chord (MAC). Table 5 shows the VNAV trajectory data file
for this run. As mentioned above, fig. 1920 show the plots of variables and discretes for this
run. At 0.22 sec the VNAV control system is armed, the VNAV control system is engaged in the
path mode, and both a current path segment capture (path segment 1) and next path segment
(path segment 2) occurr. The one-shot discretes for current path capture (CSEGCAP) and next
path segment capture (NSEGCAP) cannot be seen on the third plot of Figure 21 because of the
time scale (the discretes are hidden by the y-axis). Given that next path segment capture has
priority, the path control system begins to pitch the aircraft down to capture and subsequently
track path segment 2. For all the path control runs, the vertical acceleration parameter
PthHddLim was set to 1.6 ft/sec2 (or 0.05 g). The fifth plot of Figure 19 depicts the vertical
33

acceleration which shows that a couple of peak values in the time period from 0 to 25 seconds
exceeded 1.6 ft/s2 some with values near 2 ft/s2. The aircraft pitch response is shown to be
smooth, as would be expected from the small values shown for pitch rate. Figure 20 shows the
altitude and altitude rate error (Hdot error) histories. The altitude error jumps when a next
segment capture occurs and some capture overshoot occurred. After path segment capture was
completed (when Hdot becomes relatively constant), altitude errors are generally less than 5 ft
and altitude rate errors are less than 1 ft/s. Since the throttle was driven to idle for this run and
the control system was tracking the path, desired Mach and CAS were not actively followed.
The VNAV trajectory was calculated so that for the first 140 sec of the run, the aircraft speed
would follow a constant Mach and, after that time, the aircraft would follow a constant CAS (see
Mach select discrete MachSel on Figure 21). The run ended with the VNAV control system
tracking path segment 9 of the trajectory in Table 5. This path segment was captured at 230 sec.

34

Figure 19. Various longitudinal parameters for TOD run from 37,000 ft in path control mode.

35

Figure 20. Path errors and command signals for TOD run from 37,000 ft in path control mode.

36

Figure 21. Logic discretes for TOD run from 37,000 ft in path control mode.

37

The second simulation run showing VNAV control system path control performance is a 400 sec
idle descent run from 16,360 ft. The aircraft is initially trimmed with a CAS of 300 knots at a
flight path angle of 3.6 deg which is slightly greater than the flight path angle of path segment
15 of the VNAV trajectory in Table 5 (3.615 deg). The aircraft trim weight is 172,690 lb with
the CG located at 19 percent MAC. Figures 2224 show time histories for this run. The current
path segment (path segment 15) is captured around 10 sec as shown by the one-shot discrete
CSEGCAP in Figure 24 and, at that time, the VNAV control system is engaged in path mode as
shown by discrete VNAV_Pth_Eng in Figure 24, and the throttle begins to reduce to idle at 2
deg/s. The capture of path segment 16 occurs around 35 sec. At 100 sec, path segment 18 is
captured and it has a signficantly shallower flight path angle than path segment 17, as is
illustrated by the vertical velocity (Hdot) in Figure 22. Figure 22 shows that the shallower flight
path angle results in CAS decreasing from 300 knots towards the desired speed of 230 knots.
The maximum vertical acceleration in capturing path segment 18 is 2.1 ft/s2 that exceeded the
desired maximum of 1.6 ft/s2 specified by parameter PthHddLim. Around 180 sec, a next
segment capture of path segment 19 occurs which has a steeper flight path angle than segment 18
to maintain CAS at 230 knots. However, Figure 22 shows that CAS continues to decrease below
230 knots at 230 sec. The last path segment captured is segment 21 at around 370 sec, and
shortly after that, the flaps are command to 1 deg. The deployment of the flaps to 1 deg causes a
small wiggle in the pitch rate. The plot of altitude error in Figure 23 shows there is a 10 ft
overshoot in capturing path segment 18 and about a 5 ft undershoot in capturing path segment
19. When tracking the path segments the altitude error is less than 10 ft. The small wiggles in
the pitch rate in Figure 22 from 150 sec to 340 sec are due to trimming of the stabilizer position.
Trimming occurs when the elevator control deflection persists at some deflection away from the
elevator neutral position (the neutral position is the position that results is zero force at the pilots
control column). Trimming stops when the elevator is returned the the neutral position. When
the stabilizer is trimming the elevator is driven in an opposite direction in an attempt to cancel
the pitch moment generated by the changing stabilizer position. The amount of elevator
deflection to cancel pitch moment generated by the stablizer movement has to be estimated from
aircraft measurements using table lookup data. This estimate is not perfect resulting in the small
wiggles in pitch rate. Figure 22 shows the stabilizer movement along with the elevator surface
position.

38

Figure 22. Various longitudinal parameters for idle descent from 16,360 ft in path control mode.

39

Figure 23. Path errors and command signals for idle descent from 16,360 ft in path control mode.

40

Figure 24. Logic discretes for idle descent from 16,360 ft in path control mode.

41

Figures 2528 show the results of the third 400 sec simulation run to show path control
performance of the VNAV control system. Figure 25 includes a fourth plot to show the various
changes in the flap position that occur in this run along with some variables. The simulation run
begins with the aircraft trimmed at an altitude of 7,235 ft with a flight path angle of 2.2 deg,
CAS of 210 knots, flaps up, and the aircraft flying toward path segment 21 of the VNAV
trajectory in Table 5. The VNAV control system engages immediately when it is armed for
engagement (VNAVARM set true) at 0.22 sec. At this time, the control system begins capture
of the current path segment. The discrete CSEGCAP cannot be seen in Figure 27 because it is
hidden in the y-axis because of the time scale for this run. The requested idle thrust mode for
path segment 21 is over-ridden for this run and set to the speed control mode (Figure 27). The
throttle (PLA position) remains close to the trim value of 60 deg until path capture of segment 24
at 103 sec when CAS is commanded to 186 knots. Then, the throttle or PLA moves close to the
idle value of 55 deg. When tracking path segment 21, the altitude error is essentially zero and
CAS error is less than 1 knot (Figure 26). The capture of path segment 22 occurs around 67 sec
as a next-path-segment capture, and, at around 79 sec, while the capture of path segment 22 is
underway, the capture of path segment 23 ocurrs. The relatively small time between path
captures occurs because path segment 22 is very short (approx. 9,300 ft in ground range).
Around 140 sec, path segment 26, whose flight path angle is steeper than that of path segment
25, is captured. The vertical acceleration reaches about 2.1 ft/s2 which exceeds the desired
maximum magnitude of 1.6 ft/s2. When path segment 24 is captured and CAS is commanded to
186 knots around 105 sec, the flaps are commanded to 1 deg (Figure 28). Although the desired
flaps for the path segment is 1 deg (Table 5), the flaps are not deployed using the desired flap
position from the trajectory data. Instead, the flaps are commanded from a Simulink subsystem
block to various positions according to a schedule as a function of CAS reference speeds and
aircraft weight for flaps 25 and 30. As the various path segment captures occur, CAS is
commanded to a smaller value (Figure 25 and Figure 28). The commanded CAS is not tracked
closely after capture of path segment 28 around 220 sec, because the PLA is essentially at idle
position. However, CAS continues to decrease for this run, and is within 5 knots of the
commanded 138 knots for path segment 31 and is the last path segment captured at 306 sec for
this simulation run. Figure 28 shows that the flaps are commanded to 15 at 350 sec and to 20 at
370 sec. Figure 26 shows that the flap deployment causes the aircraft to rise above the desired
path by 20 ft at 375 sec (negative altitude error is aircraft above the desired path). However, the
control system is then correcting back to the path having an altitude error of 4 feet at the end of
the run and still converging. Note that the vertical acceleration reaches 2 ft/s2 which exceeds the
desired maximum magnitude of 1.6 ft/s2. In general, most of the time, the altitude error after
path segment capture while tracking the path segments is less than 5 ft. The aircraft altitude at
the end of the run was 1,261 ft which is less than the 2000 ft that is specified for the constraint
altitude. The aircraft flys through the constraint altitude because constraint altitude capture is not
enabled for this run.

42

Figure 25. Various longitudinal parameters for descent from 7,235 ft in path control mode.

43

Figure 26. Path errors and command signals for descent from 7,235 ft in path control mode.

44

Figure 27. Logic discretes for descent from 7,235 ft in path control mode.

45

Figure 28. Longitudinal variables for descent from 7,235 ft in path control mode.

46

Figures 2930 show the results for the fourth simulation run showing cruise altitude capture
performance. The run begins with the aircraft trimmed at an altitude of 35,146 ft with a flight
path angle of 1.7613 deg, Mach number of 0.7964, weight of 195,906 lb, and the CG located at
20 percent MAC. The initial position of the aircraft is at the start of path segment 25 for the
trajectory in Table 6. The VNAV control system is armed for engagement at 0.22 sec and
engages at that time in the speed control mode as that control mode is being requested (see
Figure 31 - note VNAV_Spd_Eng and Spd_mode_R discretes). The control system tracks the
Mach number since the discrete MACHSEL is true (Figure 31). At 20 sec, the path mode is
requested to be engaged (see VNAV_Pth_R and Pth_mode_R discretes in Figure 31). The path
mode does not immediately engage and capture path segment 25 because the current path capture
enable discrete is set false for this run. The next level cruise altitude segment 26 is not captured
when the path mode is requested because the aircraft is not close enough for capture at this time.
Thus, the control system remains in the speed control mode until 69 sec when the next path
segment capture discrete is set true (see NSEGCAP in Figure 31). Then, the control system
disengages from the speed mode and engages in the path mode to begin capture of the level
cruise path segment 26. The capture of the cruise altitude is overshot by 4 ft, and, after that, the
altitude error is reduced. However, the plot of altitude error in Figure 30 shows that there is an
approximately 20 sec period low-amplitude stable oscillation in the altitude error with an
amplitude between 1 ft after 165 sec. Lowering the control gains did not eliminate this
oscillation. The oscillation was determined to be caused by the 0.06 deg hysteresis on the
elevator command that is contained in the elevator control surface actuator model. This
hysteresis is evident in the plot of the average left and right elevator surface positions of Figure
29. This plot shows after 110 sec that the average elevator position jumps between fixed values
approximately every 10 sec. These jumps are the characteristic response expected for the
modeled hysteresis where the elevator position only moves when the elevator command exceeds
the amount of the hysteresis. To confirm that the stable low-amplitude oscillation was caused by
the elevator acturator hysteresis, the simulation run was repeated with the elevator hysteresis set
to zero. The results of this run are plotted in Figure 32 and these results show no oscillation in
the altitude error. A method or technique to remove this oscillation was not found as part of this
control law development effort. Note that the altitude error oscillation would not be seen by the
pilots since the amplitude of the altitude error is below the resolution of the altitude displayed in
the cockpit. It is possible that the stable oscillation may not be perceptible to pilots or passengers
in the presence of normal environmental disturbances given the low magnitude and long time
period of the oscillation. The maximum amplitude of the change in vertical acceleration during
the oscillation was 0.003 g.

47

Figure 29. Various longitudinal variables for 37,000 ft cruise altitude capture.

48

Figure 30. Path errors and command signals for 37,000 ft cruise altitude capture.

49

Figure 31. Logic discretes for 37,000 ft cruise altitude capture.

50

Figure 32. Path errors and command signals for 37,000 ft cruise altitude capture with no elevator actuator
hysteresis.

51

Speed Control Performance


This report shows the results of four simulation runs to illustrate the performance of the speed
control mode of the VNAV control system. The runs included are (1) CAS commanded to 311
knots from 250 while initially climbing from 11,000 ft, (2) repeat of run 1 but ending with a
constraint altitude capture, (3) a climb from level flight at 10,000 ft with CAS commanded to
328 knots from 255 knots, and (4) an idle TOD run from 37,000 ft following a Mach/CAS
schedule. The simulation data for these runs is shown as plotted data, and the same variables and
discretes that were plotted to illustrate path mode control performance were plotted for
illustration of the speed control mode performance.
Figures 3335 show the simulation data for the first run. The simulation begins with the aircraft
trimmed at an altitude of 11,000 ft, CAS of 250 knots, flight path angle of 3.2124 deg, weight of
195,000 lb, and a CG located at 19 percent MAC. At 0.22 sec, the VNAV control system is
armed, current path segment 13 of the VNAV trajectory shown in Table 7 is captured, and the
control system is engaged in the path control mode as shown in Figure 35 and begins tracking
current path segment 13. The autothrottle is initially engaged in the speed control mode (Figure
35) (note SPD_R). At 7.5 sec, the next segment path capture discrete is triggered and that
causes the desired control mode and commands to be taken from path segment 14. Path segment
14 requests the VNAV speed mode to be engaged, the CAS command to be 311 knots, and the
autothrottle to be set to the constant thrust mode. As a result, the path mode disengages, and the
VNAV speed mode is engaged. Also, the autothrottle is set to the thrust mode and that causes
the engine PLA to be commanded to 106.15 deg for enabling the aircraft to both climb and
accelerate (Figure 33). The vertical speed submode also engages at this time (Figure 35) since
the true airspeed error exceeds the value specified by parameter DelTAS_VS (set to 42.195 ft/sec
or 25 knots). When climbing, the vertical speed is commanded to the current vertical speed with
a limit of 500 ft/min. For this run, since the vertical speed at speed mode engagement was
greater than 500 ft/min, the vertical speed is commanded to 500 ft/min. The aircraft pitches
down to control the vertical speed to that limited commanded value accelerating toward the
commanded airspeed. The plot of vertical speed (Hdot) in Figure 33 shows that the vertical
speed stays slightly above the dashed straight line in the plot which is equivalent to 500 ft/min.
The vertical speed does not reach the 500 ft/min command because the aircraft is accelerating
which requires the aircraft to constantly pitch down to maintain a constant vertical velocity.
When the true airspeed error becomes less than 42.195 ft/s, the vertical speed submode
disengages and the speed-on-elevator mode computes pitch steering commands to follow the
commanded airspeed. Figure 35 shows that the vertical speed submode disengages around 38
sec. At that time, the aircraft pitches up to reduce the flight path acceleration and capture the
commanded CAS (Figure 33). Figure 34 shows that the capture of the commanded CAS is
smooth with a 1.2 knot overshoot around 65 seconds and by 80 sec the magnitude of CAS error
is reduced to a value of about 0.5 knots. Note that for all simulation runs, the vertical
acceleration parameter, SpdHddLim, was set to 3.0 ft/s2.

52

Figure 33. Various longitudinal variables for CAS command from 250 to 311 knots in speed control mode.

53

Figure 34. Path and speed errors and command signals for CAS command from 250 to 311 knots in speed
control mode.

54

Figure 35. Discretes for CAS command from 250 to 311 knots for speed control mode of VNAV control
system.

55

The second simulation illustrates the VNAV control system performance of a constraint altitude
capture when the VNAV control system is engaged in the speed control mode. The run is a
repeat of the run above except that a constrained altitude capture occurs around 53 sec. This run
demonstrates constraint altitude capture which is a path control mode; however, the simulation
run is included in this section because the altitude capture is engaged from the speed control
mode and begins the same as the prior simulation run. Figures 3638 show the results for this
run. The discretes of Figure 38 show that the constrained altitude capture occurs at 53 sec when
the aircraft is climbing with a vertical speed of nearly 34 ft/s (2,040 ft/min) and with a vertical
acceleration of 2.5 ft/s2 (Figure 36). The thrust control mode changes from fixed thrust to speed
control at constraint altitude capture and the commanded PLA position begins to decrease to
control speed to the 311-knot command. The control system begins to pitch the aircraft down
when the altitude capture is engaged, but the vertical speed reaches nearly 38 ft/s (2,280 ft/min)
before it begins to decrease. The vertical acceleration reaches a value of 3.0 ft/s2 at 58 sec
which is nearly twice the desired limit of 1.6 ft/s2 (PthHddLim was set to 1.6 ft/s2 for this run).
The vertical acceleration limit is exceeded because, most likely, the path capture criterion was
derived on the assumption that vertical acceleration would be near zero when path segment
capture initiation occurred. At path segment capture initiation, the vertical acceleration was 2.5
ft/s2. The plot of altitude in Figure 36 shows that the altitude capture is smooth, and the plot of
altitude error in Figure 37 shows that the altitude command is overshot by 8 ft at 100 sec and
probably would have reached about 10 ft before beginning to converge on the commanded value
if the simultion time were longer.

56

Figure 36. Various longitudal variables for constraint altitude capture during speed control mode
engagement.

57

Figure 37. Path and speed errors and command signals for constraint altitude capture during speed control
mode engagement.

58

Figure 38. Discretes for constraint altitude capture during speed control mode engagement.

59

The third simulation run illustrates the VNAV speed control mode performance in capturing a
commanded CAS increase when starting from level flight at 10,000 ft with the throttle
commanded to increase to a fixed position to begin a climb. For this run the aircraft is trimmed
at an altitude of 10,000 ft, flight path angle of zero degree, CAS at 254.82 knots, weight 198,968
lb, and a CG located at 20 percent MAC. The aircraft initial position is located at the beginning
of path segment 10 for the VNAV trajectory in Table 6. Figures 3940 show the results for this
run for which the VNAV control system is armed for engagement at 0.22 sec, and at that time
engages in the speed control mode and the vertical speed submode (Figure 41). Also, at that
time, the throttle is commanded to a fixed throttle position of 104.09 deg and CAS is
commanded to 328 knots (Figure 39). Figure 39 shows that the CAS begins to increase as a
result of the throttle increase and the vertical velocity initially increases because of the pitchup
caused by the thrust increase. Then, the vertical velocity reduces toward the commanded value
of zero. The commanded value is zero because the aircraft vertical speed is zero when the
vertical speed submode engages. At 31 sec, the vertical speed submode disengages when the
true airspeed error becomes less than 25 knots and from that time the speed control law
commands pitch steering signals to capture and track the commanded CAS. Figure 39 shows
that the capture of the commanded airspeed is smooth, and the plot of CAS error in Figure 40
shows that there is a 1.5 knot overshoot of the commanded CAS at 56 sec followed by a slow
convergence towards zero error. At about 86 sec, the CAS error reaches 0 ft/s and then
subsequently reaches a steady value of about 0.25 knots less than the commanded CAS. This
small offset in this run is caused by the fact that, when the aircraft is climbing at constant CAS,
true airspeed must be constantly increasing to maintain constant CAS. Note that the plot of
flight path acceleration in Figure 39 shows that after constant CAS is established, it has a small
positive value (a little less than 0.5 ft/s2) which means that true airspeed is increasing. Thus, for
a fixed thrust, the aircraft must pitch down to increase true airspeed. Also, in climbing at a fixed
throttle position, the engine thrust is decreasing and a further reduction in pitch angle is needed
to maintain true airspeed. So, the small lag in the aircraft pitch down causes the CAS to be offset
from the commanded value. Note that without the use of the bias term in the speed command
processor, described earlier in the Speed Control Law section of this report, the CAS offset
would be larger.

60

Figure 39. Various longitudal variables for climb from 10,000 ft and CAS increase in speed control mode.

61

Figure 40. Path and speed errors and command signals for climb from 10,000 ft and CAS increase in speed
control mode.

62

Figure 41. Discretes for climb from 10,000 ft and CAS increase in speed control mode.

63

The simulation results for the fourth run in Figures 4344 illustrate the performance of control
system speed control mode for an idle descent from a cruise altitude. For this run, the aircraft
model is trimmed at an altitude of 37,000 ft in level flight with a Mach number 0.7964, weight of
172,841 lb, and a CG located at 25 percent MAC. The initial aircraft position is at the start of
path segment 1 for the VNAV trajectory in Table 5. The VNAV control system is armed for
engagement at 0.22 sec and, at that time, immediately engages in the speed control mode to track
the commanded Mach number of 0.7964. Also, at this time, the throttle is commanded to idle at
2 deg/s. The plot of the commanded Mach minus actual Mach in Figure 43 shows that the
Mach number decreases by 0.007 from the commanded Mach during the pitch down from 0 to
about 25 sec with the throttle decreasing to idle. This error could be reduced by decreasing the
magnitude of the throttle reduction rate or pitching down at a higher rate. Reducing the throttle
rate is probably the best solution, since the pitch down rate resulted in a 0.1 g maneuver, as
shown by the plot of vertical acceleration in Figure 42. For this run, the vertical acceleration
parameter SpdHddLim for the speed control law is set to 3.0 ft/sec2. After the initial pitch down,
the speed control system reduces the Mach error to less than 0.001. At 146 sec, MACHSEL
becomes false, meaning that now the CAS command of 300 knots is to be tracked. The plot of
CAS in Figure 42 and the plot of CAS error in Figure 43 show that there is a 2-knot overshoot in
capturing the commanded CAS. This overshoot occurs because the change from tracking a
constant Mach number to tracking a constant CAS requires a change in the flight path
acceleration of the aircraft. The plot of flight path acceleration in Figure 42 shows that for a
descending flight path at constant Mach number, the aircraft has a small acceleration and, when
tracking constant CAS, has a small deceleration (about twice the magnitude of that for constant
Mach number). So, if the MACHSEL discrete were set to false a little earlier by some
anticipation calculations and logic, the CAS overshoot could be reduced. For zero CAS
overshoot the flight path acceleration would have to change instantaneously from the positive
value for constant Mach tracking to the negative value for constant CAS tracking. Currently, for
this simulation, the MACHSEL discrete changed at the point where the true airspeed value for
the commanded Mach and the true airspeed value for the commanded CAS are the same. The
plot of CAS error in Figure 43 shows that after the initial CAS overshoot, the speed control mode
maintains the magnitude of the CAS error at less than 0.25 knots.

64

Figure 42. Various longitudinal variables for idle TOD in speed control mode.

65

Figure 43. Path and speed errors and command signals for idle TOD in speed control mode.

66

Figure 44. Discretes for idle TOD for speed control mode.

67

Summary
An outer loop VNAV control system was designed and developed to track VNAV trajectories
intended for use in high-density traffic operations of the NextGen air traffic management system.
This VNAV control system has path and speed modes. The speed mode has a vertical speed
submode that engages when the speed error is large and counter in energy to the specified flight
phase (i.e. accelerating while climbing or decelerating while descending). The VNAV control
system also contains control logic to arm and engage the control modes and to initiate capture of
VNAV trajectory path segments. The VNAV control system also contains control logic to level
an aircraft using the path control mode to the constraint altitude set on the MCP if the aircraft is
about to fly through the MCP altitude while tracking a VNAV trajectory. Therefore, the VNAV
control system handles all normal VNAV operating modes.
The performance of the VNAV control system was shown using a Simulink six DOF, non-linear
aircraft simulation containing a proprietary model of a B757200 aircraft. The performance of
the path control mode was shown for four test scenarios, and the performance of the speed
control mode was shown for four different test scenarios. The test scenarios used trajectories
generated for NextGen operations. Path tracking altitude errors of 5 ft or less were shown after
path capture maneuvers and transients because of flap deployment. Speed tracking errors of 0.5
knots or less were shown after capture of speed command changes. The simulation scenarios
also showed transient-free engagement of the control modes for VNAV control system
engagement, transition between the path and speed control modes, and transition to and from the
vertical speed submode of the speed control mode.
A stable low-amplitude oscillation on altitude error with an amplitude of 1 ft was encountered
on one test scenario after cruise altitude capture. The oscillation was determine to be caused by
hysteresis modeled in the elevator actuator. A solution was not determined as part of this control
law development effort. Note that the magnitude of the altitude error would not be be observed
by the pilots since the resolution of the altitude displayed in the cockpit is an order of magnitude
larger than the altitude error of this oscillation. Further, this oscillation may not be sensed by the
pilots or passengers under normal environmental disturbances since the maximum change in the
magnitude of vertical acceleration during the oscillation was 0.003 g.
A stability analysis of the VNAV control system was conducted to determine if the gain and
phase margins for the path and speed control modes satisfied nominal gain and phase margin
requirements. For the path control mode, the minimum gain margin was 12 dB which exceeded
the gain margin requirement of 6 dB and the minimum phase margin was 80 deg that also
exceeded the phase margin requirement of 30 deg. For the speed control mode, the minimum
gain margin for the sampled operating conditions was 10 dB and the minimum phase margin was
80 deg. Since the gain and phase margins exceeded the gain and phase margin requirements by a
fair amount, the VNAV gains could be increased to potentially improve path and speed tracking
performance if so desired. However, gain increases would result in more aggressive path and
speed captures with vertical accelerations expected to be larger. Since vertical acceleration
exceeded desired limits in some of the performance results with the current gains, some
additional means for maintaining vertical acceleration within desired limits would probably be
required for increased gains.

68

Appendix A: Derivation of Estimated Delta Thrust to Weight Parameter


The longitudinal equation of motion for a point-mass aircraft model is given as
mV = T D W sin

(A1)

where m is the mass of the aircraft, V is the time derivative of the velocity vector, T is the
aircraft thrust, D the aircraft drag, W the aircraft weight, and is the flight path angle. The
vertical velocity of the aircraft is given as
h = V sin
(A2)
where V is the total velocity vector. The mass of the aircraft, m, can be expressed as W/g where
g is the acceleration due to gravity. Solving for sin in eq. A2, substituting for that result in eq.
A1, substituting W/g for m in eq. A1, and rearranging give the equation for the estimated delta
thrust to weight parameter EstDTW as
(T D ) = V + h
EstDTW =
(A3)
g V
W
Note that multiplying EstDTW by g gives

g
EstDTW g = V + h
(A4)
V
where the first term on the right of eq. A4 is the aircrafts flight path acceleration, and the second
term can be considered an estimate of an additional amount of potential flight path acceleration
of the aircraft. The second term is considered potential acceleration since pitching to reduce the
magnitude of the vertical velocity would result in a positive flight path acceleration for positive
vertical velocity and negative flight path acceleration for negative vertical velocity.

69

Appendix B: Derivation of Rate of Change of True Airspeed for Constant


CAS and Constant Mach Conditions
The time rate of change of true airspeed as a function of altitude rate was desired for use in the
second order speed command processor for the speed-on-elevator control law. The rate of
change of true airspeed was desired for aircraft operations under either constant calibrated
airspeed or constant Mach operating conditions. The input to the second order processor is the
desired true airspeed that is determined from either commanded calibrated airspeed (CAS) or
commanded Mach number. The commanded CAS or Mach number is set either by a pilot via
the aircraft MCP or by the flight management system. When the aircraft climbs or descends
under a Mach hold or CAS hold condition, the true airspeed changes for all constant CAS or
Mach conditions except for constant Mach above 36,089 ft. The Mach number above 36,089 ft
remains constant since the atmospheric temperature is constant per the 1976 standard
atmospheric model (ref. 7).
When true airspeed is changing during a CAS or Mach hold condition, the output of the second
order processor will lag the commanded input without compensation. Computing the rate of
change of true airspeed as a function of altitude rate and inserting the computed value at the
input of the output integrator of the second order processor can overcome this lag. The
computation of true airspeed as function of altitude rate follows.
True airspeed is defined as
(B1)
where a is the speed of sound at some atmospheric model altitude, M is the Mach number, is
the ratio of specific heats (cp/cv), qc is impact pressure, and P is static pressure at the atmospheric
model altitude. For air, is equal to 1.4.
Derivations for Constant Calibrated Airspeed
Calibrated airspeed is defined as
(B2)
where astd is the speed of sound at sea level standard conditions and Pstd is the static pressure at
sea level standard conditions. Note that the speed of sound is given as
(B3)
where T is the temperature at atmospheric model altitude and Tstd is the atmospheric temperature
at sea level standard conditions (Tstd = 518 Rankin).

70

From eq. B1, the change of true airspeed with altitude, dVT/dh, is
(B4)
Let
(B5)
and
(B6)
so that
(B7)

Change in Mach Number with Altitude for Altitudes Equal to or Below 36,089 ft

The change in Mach number with altitude, dM/dh, under the conditions for constant calibrated
airspeed for altitudes of 36,089 ft or less can be found via eq. B7. Note that for constant
calibrated airspeed, qc must be constant (eq. B2). Differentiating eq.B7 with respect to altitude
gives
(B8)
or with simplification yields
(B9)
Now, derive dP/dh. For the 1976 atmospheric model we have the relationship between the static
pressure ratio and temperature ratio for altitudes equal to or less than 36,089 ft as
(B10)
where
T = b1 + b2h
b1 = 518 Rankin
b2 = 0.003566 deg Rankin/ft
R = 53.35 ft/deg Rankin
h = altitude, ft

71

Thus, upon substitution


(B11)
where
b3 = 1/b2R = 5.256
Given eq. B11, dP/dh can be found as
(B12)
Solving for T from eq. B11 gives
(B13)
Substituting for T in eq. B12 gives
(B14)
Now slightly rearrange eq. B9 to give
(B15)
Now solve for qc/P in terms of M. Square both sides of eq. B7 to give
(B16)
After manipulation we get
(B17)
Substituting for qc/P + 1 and qc/P in eq. B15 gives
(B18)
Substituting for dP/dh from eq. B14 gives
(B19)

72

From eq. B13 we get

(B20)
Substituting the speed of sound, a, from eq. B3 into eq. B1 gives
(B21)
Squaring both sides of eq. B21 above and solving for T gives
(B22)
Substituting for T in eq. B20 gives
(B23)
Substituting the definition of VT from eq. B1 for one VT into the equation above gives
(B24)
Substituting for

in eq. B19 gives


(B25)

After multiplying terms in the bracket by first term in parentheses of eq. B25, we get
or

(B26)

73

The second term in parentheses may be converted to a series by the binomial theorem that is
expressed as

n ( n 1) x 2 n ( n 1) ( n 2 ) x 3
+
+
2!
3!

(B27)
n ( n 1) ( n 2 )( n r + 1) x r

r!
This series converges if |x| < 1, and since |M2/c1| is less than one, the series for the second term in
parentheses of eq. B28 will be a convergent series and is given as

(1 + x )n = 1 + nx +

M2

c + 1
1

c2 1
c2

c2 1 2 c2 1 c2 1 M 4
M +
1
+
c1c2
2!c12
c2 c2
M6
c2 1 c2 1 c2 1
c c 1 c 2 6!c 3 +
2
2
2
1

= 1+

or

M2
c + 1
1

c2 1
c2

= 1+

c2 1 2 1 c2 M 4 c22 1 6
M + 2
+
M +
c1c2
c2 2!c12 6c13c23

(B28)

Substituting the series above into eq. B26 and ignoring higher order terms gives

or

or
(B29)
Change in Mach Number with Altitude for Altitudes Greater than 36,089 ft

The static pressure, P, for altitudes above 36,089 ft is given by


(B30)
where T36 is the atmospheric temperature at 36,089 ft (390 Rankin), R is the gas constant for air
(53.35 ft/ Rankin), h is the atmospheric altitude, and e is the base of the natural logarithm.
Differentiating eq. B30 with respect to h gives the pressure change with altitude as

74

(B31)
Now substituting dP/dh above into eq. B18 gives
(B32)
After some manipulation of eq. B32, use of the binomial theorem, and neglecting higher order
terms as was done to get eq. B29, eq. B32 can be expressed as
(B33)
Since the atmospheric temperature remains constant above 36,089 ft, the speed of sound remains
constant and can be defined as
(B34)
and da/dh is zero above that altitude. Substituting for M equal to VT/a36 in the denominator of eq.
B33 gives
(B35)
Derivations for Constant Mach Number
For constant Mach number, eq. B4 becomes
(B36)
Thus, a solution requires the derivation of da/dh. The speed of sound can be expressed as
(B37)
where is the ratio of specific heats (cp/cv equal to 1.4), g is gravity constant (g = 32.174), and R
is the gas constant for air (R = 53.35 ft/ Rankin), and T is the atmospheric temperature.
Change in Speed of Sound with Altitude for Altitudes Equal to or Below 36,089 ft

Differentiating eq. B37 with respect to h gives


(B38)

75

Substituting for a as defined by eq. B1 gives


(B39)
Change in Speed of Sound with Altitude for Altitudes Above 36,089 ft

As noted earlier, above 36,089 ft temperature, and thus the speed of sound, remains constant and
da/dh = 0.
Time Rate of Change of True Airspeed for Constant Calibrated Airspeed and Constant
Mach Number Conditions
The time rate of change of true airspeed, dVT/dt, can be derived by substituting the derived
expressions for dM/dh and da/dh into eq. B4.
dVT/dt for Constant Calibrated Airspeed

The time rate of change of true airspeed can be written as


dVT dVT dh dVT
h
=
=
dt
dh dt
dh
The equation for dVT/dh is repeated here from eq. B4

(B40)

Substituting for dVT/dh in eq. B40 gives

dVT dM
da
= a
+ M h
dh
dt
dh

(B41)

Altitudes Equal to or Less Than 36,089 ft

Substituting dM/dh and da/dh from eq. B29 and B39 gives
2
dVT b2b3astd
=
dt
2Tstd

2 c2 1 4 1 c22 6 gRb2 M 2 h
M +

M + 6c 2 c 2 M +
2c
c
2

VT
1 2
1 2

(B42)

or combining terms gives


2
2
gRb2 2 b2b3astd ( c2 1) 4
dVT b2b3astd
=
+
+
M

dt
2
4T
c
c
2Tstd
std
1
2

2
b2b3astd
1 c22 6 h
+
M
VT
8Tstd c12 c22

76

(B43)

Altitudes Greater Than 36,089 ft

Above 36,089 ft, the speed of sound is constant and, thus, da/dh is zero. Therefore, dVT/dt is
given as
dM
dVT
dM
h = a36
h
=a
(B44)
dh
dt
dh
Substituting for dM/dh from eq. B35 gives
c 1 4 1 c22 6 h
dVT
a2
= 36 M 2 + 2
M + 2 2 M
dt
2RT36
2c1c2
6c1 c2
VT

(B45)

dVT/dT For Constant Mach Number

There are two conditions for determining the rate of change for true airspeed when changing
altitude at constant Mach number altitudes equal to or less than 36,089 ft and altitudes greater
than 36,089 ft.
Altitudes Equal to or Less Than 36,089 ft

For constant Mach number, dM/dh is zero and, thus, from eq. B41 dVT/dt is given as

dVT da
=M h
dh
dt

(B46)

Substituting for da/dh from eq. B39 in eq. B46 gives

dVT gRb2 M 2 h
=
V
dt
2
T

(B47)

Altitudes Greater Than 36,089

Since da/dh is zero for altitudes greater than 36,089 ft for constant Mach, dVT/dt is also zero for
these altitudes.
M2, M4, and M6 Coefficients
Let the definition of dVT/dt for constant CAS at altitudes equal to or less than 36,089 ft be
h
dVT
= k1 M 2 + k2 M 4 + k6 M 6
(B48)
VT
dt

where k1, k2, and k6 are constant coefficients.


Let the definition of dVT/dt for constant CAS at altitudes greater than 36,089 ft be

77

h
dVT
= k3 M 2 + k4 M 4 + k7 M 6
VT
dt

(B49)

where k3, k4, and k7 are constant coefficients.


Let the definition of dVT/dt for constant Mach at altitudes equal to or less than 36,089 ft be
h
dVT
= k5 M 2
(B50)
VT
dt

where k5 is a constant coefficient.


Then, the coefficients for the M2, M4, and M6 terms in eq B4850 above can be determined from
eq. B43, B45, and B47. These coefficients are summarized in the table below.
Table 8. Constant coefficients for computing dVT/dt for constant CAS and Mach conditions.

Terms

Constant CAS
h 36,089 ft

Constant Mach Number

h > 36,089 ft

h 36,089 ft

h > 36,089 ft
0

k1 = 18.267

k5 = 4.285

k3 = 22.552

M4
k2 = 5.638

k4 = 5.638

k6 = 2.5371

k7 = 2.5371

Note that substituting for b3 as defined in this appendix after eq. B10 and a362 from eq. B34, the
constant coefficients for constant CAS become
k1 =

2
gRb2
astd
+
2RTstd
2

(B51)

2
astd
( c2 1)
k2 =
4RTstd c1c2

(B52)

2
astd
k3 =
2RTstd

(B53)

2
astd
( c2 1)
k4 =
4RTstd c1c2

(B54)

78

k6 =
k7 =

2
1 c22
astd

(B55)

8RTstd c12 c22

2
1 c22
astd

(B56)

2 2
std 1 2

8RT c c

Thus, it is observed that k2 = k4 and k6 = k7

79

Appendix C: Autothrottle Used for VNAV Control Law Performance Testing


Figure 45 shows the autothrottle control law used for VNAV control law performance testing.
This control law is a modified version of the control law that was developed for the research
flight deck of the B737 aircraft described in ref. 1. The output of the control law is the
commanded position of the power lever angle (PLACMD) for input to the B757 autothrottle
servo model in the Simulink simulation. The control law either tracks the commanded Mach
number (MachCmd) or commanded calibrated airspeed (CASCMD) when the autothrottle is
controlling the airspeed (SPD_R is true). When, SPD_R is false, the commanded PLA will be
constant for emulating a fixed EPR condition or be driven to a commanded idle position
(PLAIDLE) at a rate of 2 deg/sec when IDLE_R becomes true.

Figure 45. Autothrottle of B737 research airplane.

80

Appendix D: VNAV Simulink Block Diagrams


The VNAV control system was developed using an existing 6 -DOF non-linear aircraft Simulink
simulation where the aircraft dynamics represent the Boeing 757200 aircraft with Rolls Royce
engines. The VNAV control system was developed in the Simulink environment of this
simulation. The simulation includes non-linear models of B757200 autopilot servos, surface
electro-hydraulic actuators, autothrottle servos, and the Rolls Royce engines. The description of
Simulink diagrams and Simulink VNAV control system that follows assumes the reader is
familiar with the Simulink software environment. Figure 46 shows the top level block of the
B757 Simulink simulation. The VNAV control system is implemented in the block labeled
Autopilot or FCC at the lower left of the top level block. This block is provided for autopilot
control law implementation in this simulation.

Figure 46. Top level Simulink block of B757 Simulink simulation.

Figure 47 shows the contents of the block Autopilot or FCC. The VNAV control system is
contained within the blocks PathGuid, VNAV_Mode_Logic, VNAV_Control_Law, and
GainScheduleParams. Some of the remaining Simulink blocks contain the B757 pitch and roll
inner loop control laws and computed parameters for these control laws. The details of these
blocks are proprietary to Boeing and are not described here. The block labeled FlapCommand
was implemented to command flap extension or retraction based on CAS landing reference
speeds for the B757. The block labeled AutoStab contains the B757 autotrim algorithm that
commands the trim actuator motors to move the stabilizer surface for either a trim up or trim
down deflection to keep steady-state deflection of the elevator surface close to the neutral
81

position. The block labeled PitchCmdProcess (a Boeing proprietary block) computes a pitch
command from the VNAV control system pitch steering command signals VNAVS and VNAVI.
The block labled PulseLinDisc is used to interface the autopilot surface commands to the
autopilot servo actuator models and the auto stabilizer trim commands to the model of the
stabilizer trim motors. The autothrottle used for the VNAV control law development is
contained in the block labeled AutoThrottle.

Figure 47. Contents of Autopilot or FCC Simulink block.

Figure 48 shows the contents of the block PathGuid. The blocks labeled PathCaptureLogic and
ErrorSwitch are part of the VNAV control system. The blocks could be considered part of the
RPFMS calculations, but would require passing different variables and discretes between the
RPFMS calculations and the VNAV control system. The remaining blocks were developed to
emulate the calculation of VNAV path errors and discretes that would be computed by the
RPFMS VNAV guidance so that the VNAV control system performance could be determined
under realistic scenarios.

82

Figure 48. Contents of Simulink block PathGuid.

Figure 49 shows the contents of block PathErrors in Figure 48. Block PathErrors contains a
Matlab function block labeled Vertical Path Seg Calcs, which calls the Matlab function
patherrors, and the block TrajectSigDef. Figure 49 lists the Matlab function patherrors.
The Matlab function patherrors (1) computes the altitude and altitude rate errors for the current
VNAV path segment, the next path segment, and the constraint altitude, (2) sets the desired
control mode parameters and speed commands for the path segments, and (3) determines the
path status. The details of these four items are presented in the discussion of items that are
contained in block TrajectSigDef. The inputs to the function are the VNAV trajectory data
(pathdata) that contains data such as that shown in Tables 5, 6, and 7, the past value of the path
segment number (isegp), the ground range relative to the path segments (xa), aircraft altitude
(alt), aircraft vertical speed (hdot), aircraft ground speed (vg), and the constraint altitude (altsel).
The Simulink constant block MCPaltsel provides for setting the constraint altitude for a
simulation run. The constant block Range provides a means for setting the aircraft ground range
relative to the VNAV trajectory range data in the pathdata. For example, pathdata is a twodimensional array where the first array index is the VNAV path segment number and the second
index represents various information about that path segment (see Table 5). The third column
contains the accumulated ground range at the start of the path segment. The memory block
labeled PastSegNum is used to set the initial VNAV path segment number and to provide the
past path segment number computed for input to the function patherrors. The outputs of the
function patherrors will be addressed in the discussion of the contents of block TrajectSigDef.

83

Figure 49. Contents of Simulink block patherrors.

The Matlab function patherrors that is called in Simulink block Vertical Path Seg Calcs is listed
below.
function [PathErrors,ModeParams,Commands,PathStatus] =
patherrors(path,isegp,xa,alt,hdot,vg,altsel)
%
% This block supports the Embedded MATLAB subset.
% See the help menu for details.
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%

The variable path(i,j) contains information about the vertical path


segments where i represents the segment number and j is defined as
follows:
path(iseg,1) = the Excel data file line number
path(iseg,2) = tangent of the flight path angle of the ith segment
path(iseg,3) = is the ground range of the start of the ith segment from the origin
path(iseg,4) = altitude at the start of the ith segment
path(iseg,5) = flight phase of the ith segment
path(iseg,6) = pitch mode of the ith segment
path(iseg,7) = thrust or throttle mode of the ith segment
path(iseg,8) = CAS command of the ith segment
path(iseg,9) = Mach command of the ith segment
path(iseg,10) = flap command of the ith segment
path(iseg,11) = gear command of the ith segment
The flight phase, pitch mode, and throttle mode are defined as follows:

84

%
%
%
%
%
%
%
%
%
%
%

path(iseg,5) = 1 is CLIMB phase


path(iseg,5) = 2 is CRUISE phase
path(iseg,5) = 3 is DESCENT phase
path(iseg,6) = 0 is VNAV speed mode
path(iseg,6) = 1 is VNAV path mode
path(iseg,7) = 1 is fixed thrust mode (e.g. climb thrust)
path(iseg,7) = 2 is speed mode
path(iseg,7) = 3 is IDLE mode

%
%
%
%
%
%
%
%

xa
ground range from initial path waypoint, ft
alt
altitude of aircraft, ft
hdot
vertical speed of aircraft, ft/sec
vg
ground speed of aircraft, ft/sec
isegp
past value of path segment number
nsegcapp - past value of next segment capture discrete
asegcapp - past value of constrained altitude capture discrete
VNAV_Pth_Eng_p - past value of path mode engage discrete

%
%
%
%

If capture of the next segment occurred the past iteration and the
VNAV path mode is engaged, then update the segment number

PathErrors
ModeParams
Commands
PathStatus

=
=
=
=

zeros(6,1);
zeros(6,1);
zeros(8,1);
zeros(3,1);

iseg = isegp;
segupd = 0;
% Increment path segment is ground range is greater than ground range at the
% beginning of the next path segment and not on last path segment
if xa > path(iseg+1,3) && isegp < (size(path,1) -1)
iseg = isegp + 1;
segupd = 1;
end
%%%%

set endseg to 1 if iseg value is last path segment in variable path

if iseg == (size(path,1) - 1)
endseg = 1;
else
endseg = 0;
end
%
%
compute altitude error (DeltaAlt) and altitude rate error (DeltaHdot)
%
for current vertical path segment
%
hc = path(iseg,4) + (xa - path(iseg,3))*path(iseg,2);
% command altitude
DelAltc = hc - alt;
DelHdotc = vg*path(iseg,2) - hdot;
%
%
compute altitude error (DelAltn) and altitude rate error (DelHdotn) for
%
next vertical path segment
%
hcn = path(iseg+1,4) + (xa - path(iseg+1,3))*path(iseg+1,2);
DelAltn = hcn - alt;
DelHdotn = vg*path(iseg+1,2) - hdot;

85

%
%

Compute altitude error (DelAltc) and altitue rate error (DelHdotc) for
constrained altitude mode

DelAltcs = altsel - alt;


DelHdotcs = -hdot;
%
Store current, next, and constrained altitude errors in output vector
%
PathErrors(1) = DelAltc;
PathErrors(2) = DelHdotc;
PathErrors(3) = DelAltn;
PathErrors(4) = DelHdotn;
PathErrors(5) = DelAltcs;
PathErrors(6) = DelHdotcs;
%
%
Set flight phase (path(iseg,5)), pitch mode (path(iseg,6), and thrust
%
mode (path(iseg,7)) of the current & next segments
%
ModeParams(1)
ModeParams(2)
ModeParams(3)
ModeParams(4)
ModeParams(5)
ModeParams(6)
%
%

=
=
=
=
=
=

path(iseg,5);
path(iseg+1,5);
path(iseg,6);
path(iseg+1,6);
path(iseg,7);
path(iseg+1,7);

%
%
%
%
%
%

flight phase current segment


flight phase next segment
pitch mode current segment
pitch mode next segment
thrust mode of current segment
thrust mode of next segment

Store CAS command, Mach command, Flap command, & Gear command for current
and next path segments in output vector

Commands(1)
Commands(2)
Commands(3)
Commands(4)
Commands(5)
Commands(6)
Commands(7)
Commands(8)

=
=
=
=
=
=
=
=

path(iseg,8);
path(iseg+1,8);
path(iseg,9);
path(iseg+1,9);
path(iseg,10);
path(iseg+1,10);
path(iseg,11);
path(iseg+1,11);

%
%
%
%
%
%
%
%

CAS command of current segment


CAS command of next segment
Mach command of current segment
Mach command of next segment
Flap command of current segment
Flap command of next segment
Gear command of current segment
Gear command of next segment

PathStatus(1) = segupd;
PathStatus(2) = endseg;
PathStatus(3) = iseg;

Figure 50 shows the contents of TrajectSigDef. This block extracts the data from the output
vectors of the function patherrors using Simulink demux blocks and puts that data into four buses
using Simulink bus creator blocks. The figure shows that the bus PathError contains the altitude
and altitude rate errors for the current and next path segments, and the constraint altitude along
with the aircraft ground range. Aircraft ground range is included on this bus to provide later
access for simulation data recording or to observe with Simulink tools such as Scope or Display
blocks for debugging purposes. Simulink bus ModeParams contains the flight phase, desired
pitch mode or VNAV control mode, and desired thrust or throttle mode for the current and next
path segments. Simulink bus Commands contains the trajectory path segment commands for
CAS, Mach number, flaps, and gear position for the current and next path segments along with
the constraint altitude (AltSel). Note that these commands can be overridden by Simulink code
in block VNAV_ModeDiscs (to be discussed later in this section), and the flap commands can
also be overridden by code within the Simulink block FlapCommand. The override capability
86

allows more flexibility in testing the VNAV control system. Simulink bus PathStatus contains
the one-shot discrete segupd that signals when the aircraft reaches the starting point of a path
segment, the discrete endseg that indicates if the aircraft is on the last path segment, and the
current path segment number (iseg).

Figure 50. Contents of Simulink block TrajectSigDef.

Figure 51 shows the contents of block VNAV_EnableDiscs. The block provides a means to
emulate the setting of arming discretes, mode enabling discretes, and the VNAV disengage
discrete. The discrete Cur_Cap_Enb enables capture of the current path segment when the
VNAV control system is armed for engagement or armed for path mode engagement when the
VNAV control system is engaged in the speed mode. The discrete NSEG_ARM enables the
VNAV control system to capture the next path segment. The discrete Alt_Cap_Enb enables the
VNAV control system to capture the constraint altitude, and the discrete EnableVSsubmode
enables the VNAV speed control mode to engage the vertical speed submode. A value of one for
these discretes represents the true state and value of zero the false state.

87

Figure 51. Contents of Simulink block VNAV_EnableDiscs.

Figure 52 shows the contents of block VNAV_ModeDiscs. This block allows for override of the
control mode requests and commands from the VNAV trajectory data file. The block also sets
the flight phase, requested control mode, and thrust mode when the constraint altitude is being
captured or tracked (i.e. when CNTLASEG is true). Figure 53 shows the contents of block
FLTPHASE which sets flight phase logical discretes from the flight phase integer variable
defined by the VNAV trajectory data file. The flight phase integer from the VNAV trajectory
file can be overriden with the switch and constant blocks shown at the top of the figure. Figure
54 shows the contents of block PmodeRqst which sets logic discretes for requesting engagement
of the path or speed control mode using the data defined by the integer variable in the VNAV
trajectory data file. Figure 55 shows the contents of block ThrotMode which sets logic discretes
for the desired thrust or autothrottle mode defined by the integer variable in the VNAV trajectory
data file.

88

Figure 52. Contents of Simulink block VNAV_ModeDiscs.

Figure 53. Contents of Simulink block FLTPHASE.

89

Figure 54. Contents of Simulink block PmodeRqst.

Figure 55. Contents of Simulink block ThrotMode.

Figure 56 shows the contents of block SpeedCalcs. This block emulates the RPFMS calculation
of the selected true airspeed from selected CAS or selected Mach number. It also computes the
MACHSEL discrete that determines if the selected CAS or selected Mach number is to be
tracked by the control system. The block computes the true airspeed error DeltaTAS that is used
by the VNAV speed control law to determine when to engage or disengage the vertical speed
control submode. The From block, with variable name TASF, is the filter true airspeed defined
in Figure 4. The From block with variable name VTM is the computed conversion factor to
calculate the true airspeed for the current Mach number measurement. The From block with
variable name VTVC is the computed conversion factor to calculate the true airspeed for the
current calibrated airspeed measurement.
VTM and VTVC are computed in block
GainScheduleParams in Figure 47. Block SpeedCalcs also computes the CAS and Mach errors
(DeltaCAS & DeltaMach) that are used to record the performance of the VNAV speed control
mode.

90

Figure 56. Contents of Simulink block SpeedCalcs.

Figure 57 shows the contents of block PathCaptureLogic that is part of the VNAV control
system. This block determines when a current path segment, next path segment, or constraint
altitude is to be captured. How this logic works was discussed in the report section titled Path
Capture Logic. The contents of the blocks One_shot, One_shot1, and One_shot2 are the same
(Figure 58). The contents of the blocks KHERR1, KHERR2, and KHERR3 are all the same
(Figure 59).

Figure 57. Contents of Simulink block PathCaptureLogic.

91

Figure 58. Contents of Simulink block One_shot.

Figure 59. Contents of Simulink block KHERR.

Figure 60 shows the contents of block Error Switch. This block is part of the VNAV control
system and selects which set of altitude and altitude rate errors are used by the path control law.
The errors that are selected are a function of the logic discretes CNTLNSEG and CNTLASEG.
Figure 61 shows the contents of block CntlNsegCalc that compute CNTLNSEG.. Figure 62
shows the contents of block CntlAsegCalc that compute CNTLASEG. A description of the logic
is given in the report section titled Path Control Logic.

92

Figure 60. Contents of Simulink block ErrorSwitch.

Figure 61. Contents of Simulink block CntlNsegCalc.

93

Figure 62. Contents of Simulink block CntlAsegCalc.

Figure 63 shows the contents of the block VNAV_Mode_Logic that is contained in block
Autopilot or FCC (Figure 47). This block determines when the path control mode, speed control
mode, or vertical speed control submode should be engaged or disengaged. The block also
determines when to set the discrete PSYNC used for pitch steering command signal smoothing,
integrator initialization, and rate limiter initialization. The calculations of this block are
explained in the report subsection titled Engagement Logic. Figure 64 shows the contents of
block EngageRequest, fig. 65 shows the contents of block VNAV_VS_Eng_Logic, and fig. 66
shows the contents of block PSYNC_Calc.

94

Figure 63. Contents of Simulink block VNAV_Mode_Logic.

Figure 64. Contents of Simulink block EngageRequest.

95

Figure 65. Contents of Simulink block VNAV_VS_Engage_Logic.

Figure 66. Contents of Simulink block PSYNC_Calc.

96

Figure 67 shows the contents of the block Timer in Figure 66. VNAVD is set true 0.2 sec after
VNAV engages and is used so that the signals labeled two, three, four, five and six in fig. 66 do
not become true when VNAVE is first set true.

Figure 67. Contents of Simulink block Timer.

Figure 68 shows the contents of block VNAV_Control_Law that are contained in block
Autopilot of FCC (Figure 47). The main parts of this block are the VNAV path control law in
block VNAV_Pth ( Figure 69), the VNAV speed control law in block VNAV_Spd (Figure 71),
and the pitch steering signals smoothing function in block FadeInOut (Figure 79). The
functionality of these blocks is discussed in report section VNAV Control Laws.

Figure 68. Contents of Simulink block VNAV_Control_Law.

97

Figure 69. Contents of Simulink block VNAV_Pth.

The contents of block KHERR2 in Figure 69 are the same as those for the KHERR1, KHERR2
and KHERR3 for the path segment capture logic (Figure 59). Figure 70 shows the contents of
the block Ratelim in the path control law block. The block Ratelim limits the input signal
dhlim between rates PthHddLim, and the initial condition value (IC) is stored whenever the
initial condition discrete (ICtrig) is set true.

Figure 70. Contents of Simulink block Ratelim.

98

Figure 71. Contents of Simulink block VNAV_Spd.

The contents of the blocks contained within block VNAV_Spd are shown as follows:
2ndOrderProcessor in Figure 72, VTerrorWashout in Figure 77, VertSpdControl in Figure 78,
and Ratelim in Figure 70 (same contents of that Ratelim block in path control law of Figure 69).

Figure 72. Contents of Simulink block 2ndOrderProcessor.

The contents of the various blocks within the Simulink block 2ndOrderProcessor (Figure 72) are
shown below as follows: block Limits in Figure 73, block Mid_Value in Figure 74, block Bias
in Figure 75 and block VarLimInteg in Figure 76. As described earlier in the report sections,
Speed Control and Second Order Speed Command Processor, the second order processor block
smooths and limits the input command. The limits are acceleration limits whose values are those
that the aircraft can physically attain. This smoothing and limiting is required since the true
airspeed command input, TASsel, can have large step changes. The large changes in true
airspeed commands can result from either changes in the pilot selection via the mode control
panel or RPFMS command changes.
99

Figure 73. Contents of Simulink block Limits.

Figure 74. Contents of Simulink block Mid_Value.

100

Figure 75. Contents of Simulink block Bias.

Figure 76. Contents of Simulink block VarLimitInteg.

Figure 77 shows the contents of the block VTerrorWashout within the speed control law in
Figure 71. The value for the gain KWO is two. Figure 78 shows the contents of block
VertSpdControl within the speed control law . The limits for the limit block on the input signal
to the integrator on the left side of Figure 78 are set to VSHddLim.
101

Figure 77. Contents of Simulink block VTerrorWashout.

Figure 78. Contents of Simulink block VertSpdControl.

Figure 79 shows the contents of block FadInOut that smooths the pitch steering command signals
when control mode switching of the path, speed, and vertical speed control laws occur and when
switching to a new path segment occurs.

Figure 79. Contents of Simulink block FadeInOut.

102

Figure 80 shows the contents of block PitchCmdProcess located at the upper right of Figure 47.
The blocks in Figure 80 compute the pitch command (THETAC) and the pitch error (DTHETE);
then, DTHETE is used by the pitch inner loop control system that computes the elevator surface
command. The pitch command is computed from the pitch steering command signals (VNAVS
and VNAVI) that are outputs from the VNAV control system. Figure 81 shows the contents of
block Subsystem.

Figure 80. Contents of Simulink block PitchCmdProcess.

Figure 81. Contents of Simulink block Subsystem.

103

References
1. Bruce, Kevin R.; NASA B737 Flight Test Results of the Total Energy Control System, NASA
CR178285, July 1987.
2. Lambregts, Anthony A.; Vertical Flight Path and Speed Control Autopilot Design Using Total
Energy Principles, AIAA conference paper 832239, AIAA Guidance & Control Conference,
Gatlinburg, TN, August 1517, 1983.
3. Memorandum to Jim Kelly of NASA from Kevin R. Bruce of Boeing: System Definition and
Implementation Requirements of the Total Energy Control System (TECS) for
Implementation on the NASA 515 TCV (B737) Airplane, Boeing Memorandum No. FlStB8214M84012, January 23, 1984.
4. Khong, Thuan Huu; An Ad-hoc Algorithm to Obtain Proportional Integral Derivative (PID)
Gains for ARES IX Crew Launch Vehicle (CLV), Dynamic Systems and Control Branch,
NASA Langley Research Center, internal report, February 2010, revised June 2010.
5. Khong, Thuan Huu; An Ad-hoc Algorithm to Obtain Controller Gains for a Vertical
Navigation Control System Design for a Nonlinear Model of the Boeing 757200 Aircraft,
Dynamic Systems and Control Branch, NASA Langley Research Center, submitted for NASA
TM, pending, April 09, 2012.
6. Harrison, Howard L; Bollinger, John G: Introduction to Automatic Controls, Second Edition,
p. 218, International Textbook Company, Scranton, Pennsylvania, 1969.
7. U.S. Standard Atmosphere, 1976, U.S. Government Printing Office, Washington, D.C., 1976.

104

Form Approved
OMB No. 0704-0188

REPORT DOCUMENTATION PAGE

The public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources,
gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this
collection of information, including suggestions for reducing this burden, to Department of Defense, Washington Headquarters Services, Directorate for Information Operations and
Reports (0704-0188), 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person
shall be subject to any penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number.
PLEASE DO NOT RETURN YOUR FORM TO THE ABOVE ADDRESS.

1. REPORT DATE (DD-MM-YYYY)

2. REPORT TYPE

01- 11 - 2013

3. DATES COVERED (From - To)

Technical Memorandum

4. TITLE AND SUBTITLE

5a. CONTRACT NUMBER

Vertical Navigation Control Laws and Logic for the Next Generation Air
Transportation System

5b. GRANT NUMBER


5c. PROGRAM ELEMENT NUMBER
5d. PROJECT NUMBER

6. AUTHOR(S)

Hueschen, Richard M.; Khong, Thuan H.

5e. TASK NUMBER


5f. WORK UNIT NUMBER

411931.02.01.07.13.05
7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES)

8. PERFORMING ORGANIZATION
REPORT NUMBER

NASA Langley Research Center


Hampton, VA 23681-2199

L-20313

9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES)

10. SPONSOR/MONITOR'S ACRONYM(S)

National Aeronautics and Space Administration


Washington, DC 20546-0001

NASA
11. SPONSOR/MONITOR'S REPORT
NUMBER(S)

NASA/TM-2013-218138
12. DISTRIBUTION/AVAILABILITY STATEMENT

Unclassified - Unlimited
Subject Category 08
Availability: NASA CASI (443) 757-5802
13. SUPPLEMENTARY NOTES

14. ABSTRACT

A vertical navigation (VNAV) outer-loop control system was developed to capture and track the vertical path segments of
energy-efficient trajectories that are being developed for high-density operations in the evolving Next Generation Air
Transportation System (NextGen). The VNAV control system has a speed-on-elevator control mode to pitch the aircraft for
tracking a calibrated airspeed (CAS) or Mach number profile and a path control mode for tracking the VNAV altitude profile.
Mode control logic was developed for engagement of either the speed or path control modes. The control system will level the
aircraft to prevent it from flying through a constraint altitude. A stability analysis was performed that showed that the gain and
phase margins of the VNAV control system significantly exceeded the design gain and phase margins. The system
performance was assessed using a six-deg-of-freedom non-linear transport aircraft simulation and the performance is
illustrated with time-history plots of recorded simulation data.
15. SUBJECT TERMS

Navigation; Simulation; Speed control; Stability tests; Trajectories; Transport aircraft; VNAV control system
16. SECURITY CLASSIFICATION OF:
a. REPORT

b. ABSTRACT c. THIS PAGE

17. LIMITATION OF
ABSTRACT

UU

18. NUMBER 19a. NAME OF RESPONSIBLE PERSON


OF
STI Help Desk (email: help@sti.nasa.gov)
PAGES
19b. TELEPHONE NUMBER (Include area code)

113

(443) 757-5802
Standard Form 298 (Rev. 8-98)
Prescribed by ANSI Std. Z39.18

Vous aimerez peut-être aussi