The MathWorks, Inc., Natick, Massachusetts 01760 and. Arthur E. Bryson Jr. â . Stanford University, Stanford, California 94305. DOI: 10.2514/1.53614. This paper ...
JOURNAL OF GUIDANCE, CONTROL, AND DYNAMICS Vol. 35, No. 1, January–February 2012
Methods for Computing Minimum-Time Paths in Strong Winds Matt R. Jardin∗ The MathWorks, Inc., Natick, Massachusetts 01760 and Arthur E. Bryson Jr.† Stanford University, Stanford, California 94305 DOI: 10.2514/1.53614 This paper describes methods for computing minimum-time flight paths at high altitudes in the presence of strong horizontal winds. The first method shows how to calculate nonlinear feedback (“dynamic programming”) solutions for minimum-time flight paths. To do this the Zermelo Problem for arbitrary winds is extended from a flat-Earth model to a spherical Earth model as a two-state problem (latitude and longitude) with one control (heading angle). Many minimum-time paths are calculated backward from New York’s John F. Kennedy International Airport and San Francisco International Airport to points in the continental United States. Then the optimal heading angle and the minimum-time can be found by interpolation given the current latitude and longitude using an interpolant created by Delaunay triangulation. The second method, derived in prior work, is based on an analytical neighboring optimal control solution that computes neighboring optimal heading commands as a function of the winds along a nominal flight path. As an example, minimum-time paths to New York and San Francisco are determined for the actual jet stream winds on 14 February 2001 at 36 kft.
This innovation allows the neighboring optimal control solution to be parameterized for different wind conditions and different origin/ destination pairs on a sphere. The winds are modeled at an arbitrary number of discrete points along the nominal great-circle route so that gains are computed for the wind perturbations at each point. Gains are computed once offline and then applied to a wide variety of trajectories between different locations at different altitudes and at different flight speeds. Jardin [7] further demonstrated how to apply the solution to flights on the sphere through coordinate rotations and normalizations and presented analytical solutions for the neighboring optimal gains. The term “neighboring optimal wind routing” (NOWR) is used to refer to either the complete algorithm for computing neighboring optimal wind routes on the sphere, or to just the portion of the algorithm for computing neighboring optimal control gains. The integral form of the NOWR algorithm is derived by examining the limit as the number of discrete wind points becomes infinite [8]. A recent article by Bijlsma [9] notes that the NOWR algorithm is not guaranteed to produce globally optimal solutions. Although the winds across the United States vary smoothly, there may be significant nonlinear features such as large storm circulations and jet streams that can lead to suboptimal performance with the NOWR algorithm. Bijlsma introduces the concept of generating oneparameter families of extremals by varying the initial heading and integrating the equations of motion along with the differential equation describing the optimal heading angle. The optimal routes are integrated forward from the origin to cover an arbitrarily wide area. When finer resolution is required as the routes extend further away from the origin, new extremals may be added. The solution is presented for the flat-Earth case with Cartesian coordinates and constant airspeed. An outline of the solution is presented for the more general case where the airspeed is a function of position and time. By increasing the resolution of the extremal field, Bijlsma [9] reports that globally optimal solutions may be obtained with a moderate amount of computational effort. The solution to the Zermelo problem on the sphere is the focus of this paper. In Sec. II, the optimal heading equation for minimum time paths on a sphere is presented. The algorithm for computing minimum-time paths is to compute families of minimum-time paths by integrating the equations of motion and the optimal heading
I. Introduction RNST Zermelo was the first to consider minimum-time paths for aircraft in strong winds [1]. He used the calculus of variations to solve the problem assuming a flat-Earth model. He had previously given this solution for minimum-time paths of ships in strong currents. The solution to the Zermelo problem was investigated further by Bryson and Ho [2] and the neighboring optimal solution was presented later by Bryson [3]. In 1951, Dixon Speas formed a small company to serve clients in the airline industry.‡ One of his services was to plan minimum-time paths for flights over the Atlantic Ocean. His engineers used discrete dynamic programming, dividing the path into 15 to 20 regions and using high altitude wind data from weather balloons. In the 1970s, Lou Reinkins at Lockheed started a flight planning service for airlines and private aircraft for flights in the United States.§ Starting in the 1980s, Jeppesen JetPlan did the same thing for the airlines and private pilots and included international flights. In the 1990s, the National Oceanic and Atmospheric Agency (NOAA) started a wind prediction service for the United States called the Rapid Update Cycle (RUC). Available on the Internet, the RUC uses computational fluid mechanics combined with wind observations from a wide variety of sources to predict winds from sea level to 50 kft on a grid of approximately 2 km spacing, and it is updated every hour [4]. In the mid-1990s researchers demonstrated techniques for using RUC data in air traffic control automation software [5]. Jardin and Bryson [6] extended the neighboring optimal control (NOC) technique for computing minimum-time paths through general wind fields by modeling winds along a nominally straightline path as states in addition to the two horizontal position states.
E
Presented as Paper 2010-8398 at the AIAA Guidance, Navigation, and Control Conference, Toronto Ontario, 2–5 August 2010; received 3 January 2011; revision received 24 July 2011; accepted for publication 28 July 2011. Copyright © 2011 by The MathWorks, Inc.. Published by the American Institute of Aeronautics and Astronautics, Inc., with permission. Copies of this paper may be made for personal or internal use, on condition that the copier pay the $10.00 per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923; include the code 0731-5090/12 and $10.00 in correspondence with the CCC. ∗ Principal Consulting Engineer, Consulting Services Group, 3 Apple Hill Drive. Associate Fellow AIAA. † Piggott Professor of Engineering, Emeritus, Dept. of Aeronautics and Astronautics, Durand Bldg., 496 Lomita Mall. Honorary Fellow AIAA.
‡
Additional data available at rdixonspeas.com [accessed Oct. 2012]. Personal communication with L. Reinkins on 23 April 2002.
§
165
166
JARDIN AND BRYSON
equation backward from the destination point. Minimum-time paths may then be computed for any origin point that is bounded by the family of minimum-time paths. The two main differences between this technique and that presented by Bijlsma [9] are that the solution applies to the sphere rather than Cartesian coordinates, and the families of extremals are computed backward instead of forward, which may alleviate some of the difficulties noted by Bijlsma in generating trajectories with high enough resolution as they get farther away from the origin point. A full comparison of the computational and operational aspects of these algorithms is beyond the scope of this work and will not be addressed further. In Sec. III, the neighboring optimal wind routing solution is derived from and compared with the spherical coordinate minimumtime path solution. A discussion of the operational and computational differences between the algorithms is also presented. One algorithm is not necessarily better than the other, but each may be used in different situations depending upon the desired accuracy of the solution and the computational speed required.
II.
Zermelo Problem on the Sphere
The minimum-time path solution in spherical coordinates is an extension of the solution to the Zermelo problem. The solution is derived using spherical Earth coordinates to achieve greater generality. To compute globally optimal routes for any particular origin/destination pair, one could use an iterative approach by varying the initial (or final) heading angle until the computed path passed through both the origin and destination points. This is a viable approach, but it requires the numerical integration of multiple paths to find a solution. To improve computational efficiency while still generating globally optimal solutions of arbitrary accuracy, families of minimum-time routes are computed by integrating the optimal heading equation and equations of motion backward from the destination. These families of optimal paths may be interpolated to determine optimal routes to the destination from any point within an area of interest. This solution will be referred to as “optimal wind routing” (OWR). The main benefit of the OWR solution is that it produces globally optimal results in a computationally efficient manner. One computational difference between this and the NOWR solution is that the families of optimal routes must be computed for each destination. The families of solutions also must be recomputed as the winds change, but these computations may be done periodically offline as often as supported by weather data update rates so that the operational computations are not affected. This section describes the OWR solution to the Zermelo problem on the surface of a sphere. Consider the problem of choosing t to minimize the final time, tf , subject to constraints _ sec sin _ cos
u; ; v; ;
tf f (1)
0 0 ; 0 0 ;
tf f
(2)
where is longitude, is latitude, is the heading angle east of north, u is easterly wind, and v is northerly wind. The winds are in units of V, where V is the airspeed of the vehicle. Time is in units of R=V, where R is the Earth radius. The Hamiltonian is then H sec sin
u; cos
v;
(3)
The adjoint equations and the optimality condition are _ H u sec v _ H u sec tan sec sin 0 H sec cos
sin
(4)
u v (5) (6)
Differentiating Eq. (6) with respect to time and substituting from Eqs. (1), (2), (4), and (5) gives
0 A B
(7)
where def
sec u _ u cos sec2
A sin
tan sec 1 u sin def
Bv sin
v cos
(8)
cos v sec _
(9)
Since Eqs. (6) and (7) are linear and homogeneous in and , the determinant of the coefficients must vanish for consistency. This yields _ v sec cos2 tan sin 1 u sin sin
v cos
cos u sec v u sin2
(10)
Note that for 0, Eq. (10) reduces to Zermelo’s heading equation on a plane. It is more convenient to integrate the equations backward from the destination to compute a family of extremals that reach the destination from anywhere within the extremal family domain. Let def Ttf t. Then Eqs. (1), (2), and (10) become _ sec sin _ cos
u; v;
_ v sec cos2 tan sin 1 u sin sin
cos u sec v u sin2
(11) (12)
v cos (13)
These three equations with 0 f , 0 f , and 0 f can be used to generate a one-parameter family (parameter f ) of minimum-time paths going backward from the destination point f ; f . If several paths are generated that cover the desired region of the sphere, they can be used to find the heading angle and the timeto-go T by interpolation, which is a precise dynamic programming solution for arbitrary winds. Linear interpolation of the minimumtime paths is conveniently and accurately achieved using Delaunay triangulation, for which many utility codes exist. The winds are easily interpolated using two-dimensional bilinear interpolation, and the required wind derivatives may be computed by first smoothing the wind data using two-dimensional cubic splines. The operational procedure for computing minimum-time paths on the sphere would be to compute families of extremals for each destination waypoint using current and forecast wind data. These families of extremals would be saved in memory so that they could either be interpolated to determine complete optimal routes or used as part of a real-time feedback algorithm to compute the current optimal heading. The families of extremals would be recomputed periodically as new weather data became available.
III.
Analytical Neighboring Optimal Wind Routing
The NOWR algorithm, the detailed derivation of which has been presented in prior work [6–8], is a special case of the spherical coordinate solution. The NOWR algorithm may be derived from the more general OWR solution by linearizing the dynamic constraint equations and the differential equation that describes the optimal heading. Both techniques are intended to provide computationally efficient means of computing minimum-time aircraft routes. The NOWR solution is near-optimal and is derived by linearizing the kinematic equations of motion and the optimal heading angle equation about a nominal optimal route. The NOWR solution is presented here for comparison to the OWR solution. As long as the computed neighboring optimal wind route remains close to the nominal optimal route, the neighboring optimal solution will very
167
JARDIN AND BRYSON
closely approximate the globally optimal solution. If the wind conditions are vastly different than the nominal wind conditions, or if the winds exhibit significant nonlinearity, the resulting neighboring optimal wind route may not be close to the globally optimal solution. The main benefit of the NOWR algorithm is that it is computationally efficient and easy to implement. Computing minimum-time routes becomes a simple matter of integrating linear equations of motion either using precomputed NOWR gains or using the continuous wind model integral feedback law. A secondary benefit is that the solution may be used to compute minimum-time routes between any origin/ destination pair without recomputing the NOWR feedback gains. Finally, NOWR is a linear time-varying feedback control law that may be applied for tactical control. The analytical NOWR algorithm for both the discrete and continuous wind data cases has been derived in prior work; the detailed derivations are not provided here [8]. Instead, this section focuses on the continuous wind data case, which is more general. By rotating coordinates and normalizing the equations of motion, the same NOWR feedback gains may be applied to the computation of neighboring optimal routes between any two points on the Earth (Fig. 1). The first step is to introduce a rotated set of latitude and longitude coordinates such that the nominal great-circle route between origin and destination lies along the equator of the rotated system and the destination is at the origin. This has the significant benefit of reducing the spherical equations to the flat-Earth equations when linearization is performed during calculation of the neighboring optimal feedback gains. The next step is to normalize the equations such that the nominal great-circle path distance and the nominal flight time with zero winds are both unity. The position coordinates are normalized by the nominal great-circle path distance, and the time is normalized by the nominal path distance divided by the nominal airspeed. The details of these rotation and normalization procedures are presented in [7]. The resulting equations of motion after coordinate rotation and normalization are given by x_ sin
u
(14)
y_ cos
v
(15)
Normalized time is defined as def
V t L
(18)
where V is the nominal airspeed. The derivatives in Eqs. (14) and (15) are with respect to normalized time . Also note that the wind components fu; vg are in the direction of the rotated coordinate system east and north components, respectively, and are normalized by the nominal airspeed V. The minimum-time heading equation for this set of equations is the classic Zermelo solution as described in [2] or [7] and is given by _ uy sin2 vy ux sin
cos
vx cos2
(19)
Note that this equation differs slightly from that presented in the references because the heading angle is defined here as positive going clockwise from north while it was previously defined as positive going anticlockwise from east. The change has been made to better match the discussion on the spherical coordinate solution and to use a more standard navigational definition of heading angle. Linearizing Eqs. (14), (15), and (19) with respect to a nominally zero-wind great-circle path produces a simple set of linear ordinary differential equations. Computing the variations in the heading angle with respect to the state variables (cross-track position and winds) leads to the solution for neighboring optimal control gains. Taking the limit as the number of discrete wind modeling points becomes infinite leads to the following integral expression for the neighboring optimal heading as described in [8] Z y 1 x uy v d (20) x x x 0 This simple expression, along with the coordinate rotations and normalizations, may be used to compute the neighboring optimal heading route from any point on the sphere to any destination. If the linearization assumptions are not valid, then the solution may be suboptimal. Experience has shown that in most cases, the solutions produced by Eq. (20) are very near the globally optimal solution ([7,10]).
with the normalized coordinates given by def
x
def R
y
IV.
R L r
L
(16)
r
(17)
where R is the average Earth radius and L is the nominal great-circle distance between origin and destination. The coordinates fr ; r g are the longitude and latitude, respectively, in the rotated coordinate system. The heading angle, , is defined as positive clockwise from north.
Fig. 1
Examples
In this section, examples of the two minimum-time path algorithms are presented. The examples and plots have all been generated using MATLAB® technical computing software and the Mapping ToolboxTM software product [10,11]. A.
Wind Data
The wind data over the continental United States at 36 kft have been obtained from the Rapid Update Cycle version 2 (RUC-2) product from the National Weather Service [4]. Data from the ruc2.021401.T21Z.grb2f02 file were processed into a single-column
Spherical coordinate rotation and normalization.
168
JARDIN AND BRYSON
text file of wind u and v components at the 225 mbar level (approximately 36 kft) using the WGRIB software package. The reduced text file was then read directly into the MATLAB® software product. The data used are from 14 February 2001, a day that exhibited a strong easterly jet stream with winds reaching up to 160 knots across much of the middle of the United States. On such a day, flying windoptimal routes would produce much shorter flight times than flying great-circle routes in most cases (Figs. 2 and 3). The strong jet stream also helps illustrate the difference between the OWR algorithm and the NOWR algorithm.
B.
Algorithm Implementation Details
The wind data described in the previous subsection are read into memory and then processed to create interpolant functions based on Delaunay triangulation. Triangulation is used because the wind data are not provided on a uniform grid of longitude and latitude. For the spherical coordinate optimization calculations, the wind data are processed to generate interpolants of the required shear terms by using the MATLAB® gradient function. For NOWR calculations, the shear terms only need to be calculated about the nominal trajectory in the rotated and normalized coordinate frame. The shears are computed using finite differencing with a step size of
Fig. 2 Contour map of easterly u wind component in knots.
Fig. 3
Contour map of northerly v wind component in knots.
169
JARDIN AND BRYSON
0:08 L, where L is the nominal great-circle path distance. For reference, the flight time along the great-circle routes are also integrated. The equations of motion in all of these cases are integrated using the MATLAB® ode45 variable step algorithm. Integrations are performed backward in the case of the spherical coordinate algorithm, and forward for the NOWR and great-circle calculations. The RelTol and AbsTol options for ode45 have been set to 1 104 and 1 106 , respectively, and all integrations have been carried out using normalized coordinates and normalized time as described in this paper. C.
Minimum-Time Paths from SFO to JFK
Minimum-time paths from San Francisco International Airport (SFO) to New York JFK Airport have been computed using the methods described in this paper. The plot in Fig. 4 shows the family of optimal paths leading to JFK from the west coast of the United States. The number of paths could be increased to cover more potential origin points or to further improve optimal heading and time-to-go interpolation accuracy, but good results are obtained in this case with just a few optimal paths. The figure also shows the NOWR path (bold red dash-dot line) and the nominal great-circle route (thin black line). The wind vectors and contour lines of constant minimum-time-to-go are also displayed. This example demonstrates how optimal routes tend to leave the nominal great-circle route to take advantage of the strong easterly jet stream. In this particular case, the flight time from SFO to JFK as interpolated from the family of minimum-time paths is 4 hours and 12 min while the NOWR flight time is 4 hours and 13 min, which is quite close to the globally optimal solution. The time for the great-circle path is 4 hours and 18 min. D.
Minimum-Time Paths from JFK to SFO
The minimum-time paths from JFK to SFO exhibit interesting behavior such as the intersecting paths in the vicinity of West Virginia. At the points where optimal paths intersect, there are multiple paths to SFO that have the same minimum-time-to-go (Fig. 5). Because the jet stream is just to the north of JFK, the NOWR algorithm is not able to “see” that the winds significantly diminish by traveling even further north of the great-circle. The local, linearized
Fig. 4
wind gradient does not provide the complete picture. This is an example of how the NOWR algorithm may produce a suboptimal result in the vicinity of a locally-optimal solution. In this case, the globally minimum-time path takes 5 hours and 49 min, the NOWR path takes 6 hours and 8 min, and the great-circle path takes 6 hours and 25 min. The globally optimal flight arrives 19 min ahead of the NOWR flight and 36 min ahead of the great-circle flight.
V. Computational and Operational Aspects of the Algorithms The comparison of computational efficiency between the OWR and NOWR algorithms is complicated by the potentially different objectives and accuracy of each algorithm. One would expect that the OWR algorithm is computationally favorable when the objective is to compute many optimal routes to a particular destination. In this case, the field of extremals is computed and then the optimal routes are determined by interpolation using DeLaunay triangulation. When the objective is instead to compute many optimal routes to many different destinations, then the NOWR algorithm would generally be more efficient. This range of use cases is now explored. If the number of origin points is NOrig , the number of destination points is NDest , and the number of trajectories in the field of extremals is NF , then the effort, , to compute optimal wind routes for the OWR algorithm may be expressed as OWR K1 NDest NF K2 NOrig
(21)
The constant K1 represents the computational effort to integrate the trajectories in the field of extremals for each destination of interest. The constant K2 represents the computational effort for the trajectory interpolation operation. Similarly, the effort for the NOWR algorithm to compute NP optimal routes is given by NOWR K3 NP
(22)
where K3 represents the effort to integrate a NOWR trajectory, including the necessary coordinate transformations and rotations of
Minimum-time paths to JFK with contours of minimum-time-to-go.
170
JARDIN AND BRYSON
Fig. 5 Minimum-time paths to SFO with contours of minimum-time-to-go.
the wind vector data. Note that K1 and K3 are very similar, though not identical, to one another. A.
Objective: Compute Many Routes to a Single Destination
In this case, the effort to compute the routes with the OWR algorithm is ONF ONOrig while the effort to compute the routes with the NOWR algorithm is ONOrig . The time for both algorithms is expected to grow linearly with the number of trajectories being computed (NOrig ). We would expect that the proportionality constant for the OWR algorithm to be smaller than for the NOWR algorithm since in the case of OWR, interpolations are being performed, while for NOWR, integrations are being performed. The conclusion is that the OWR algorithm should be more efficient when many trajectories are being computed for a single destination, but the difference in time should be small and would be proportional to NOrig .
The paper also presented an analytical neighboring optimal control solution for the same problem and compared its results with the globally optimal solutions. Although the NOWR algorithm does not produce globally optimal solutions, it does produce solutions that are near the globally optimal solutions in most cases. The main benefits of the NOWR algorithm are that it is simple to implement and is computationally efficient. In cases where a guaranteed globally optimal solution is not required, NOWR may be a good alternative. A comparison of the computational efficiency of the OWR and NOWR algorithms suggests that the OWR algorithm may be more computationally efficient when the objective is to compute many optimal routes to a single destination (or many routes to a number of different destinations). If the objective is instead to compute many optimal routes to many unique destinations, then the NOWR algorithm is expected to be more efficient.
References B.
Objective: Compute Many Routes to Unique Destinations
When computing many routes, each to a unique destination, the computational effort for the OWR algorithm is ONOrig NF ONOrig where the first term represents the effort to integrate the trajectories in the field of extremals and the second term represents the effort to interpolate each optimal trajectory from the fields of extremals. The effort for the NOWR algorithm is just ONOrig , which will always be less than for the OWR algorithm.
VI.
Conclusions
This paper has presented a new method for computing minimumtime paths through general wind fields in spherical Earth coordinates. An algorithm was developed to show that families of minimum-time paths may be generated by integrating backward from a destination point such that the minimum-time paths can be interpolated to determine optimal heading and time-to-go from any point within the family domain. Because the families of minimum-time paths may be generated offline, the spherical minimum-time algorithm is computationally efficient in operation: the family of minimum-time paths is stored in memory and then linear interpolation is used to determine the optimal headings and routes.
[1] Zermelo, E., “Über die Navigation in der Luft als Problem der Variationsrechnung ‘On the Navigation in the Air as a Problem of the Calculus of Variations’,” Jahresbericht der Deutschen MathematikerVereinigung, Vol. 39, Sec. 2, 1930, pp. 44–48. [2] Bryson, A. E., Jr., and Ho, Y. C., Applied Optimal Control: Optimization, Estimation, and Control, Hemisphere, New York, 1975, pp. 77–80. [3] Bryson, A. E., Jr., Dynamic Optimization, Addison–Wesley, Menlo Park, CA, 1999, pp. 318–323. [4] Benjamin, S. G., Brown, J. M., Brundage, K. J., Schwartz, B. E., Smirnova, T. G., Smith, T. L., and Morone, L. L., 1998: RUC-2: The Rapid Update Cycle Version 2., National Weather Service Technical Procedure Bulletin N. 448. [5] Jardin, M., and Erzberger, H., “Atmospheric Data Acquisition and Interpolation for Enhanced Trajectory Prediction Accuracy in the Center-TRACON Automation System,” 34th Aerospace Sciences Meeting, AIAA Paper 96-0271, Jan. 1996. [6] Jardin, M. R., and Bryson, A. E., Jr., “Neighboring Optimal Aircraft Guidance in Winds,” Journal of Guidance, Control, and Dynamics, Vol. 24, No. 4, July–Aug. 2001, pp. 710–715. doi:10.2514/2.4798 [7] Jardin, M. R., “Toward Real-Time En Route Air Traffic Control Optimization,” Ph.D. Dissertation, Stanford Univ., Department of Aeronautics and Astronautics, April 2003. [8] Jardin, M. R., “Analytical Solutions for Minimum-Time Neighboring
JARDIN AND BRYSON
Optimal Aircraft Guidance in Winds,” AIAA Guidance, Navigation and Control Conference, AIAA Paper 2008-6977, Aug. 2008. [9] Bijlsma, S. J., “Optimal Aircraft Routing in General Wind Fields,” Journal of Guidance, Control, and Dynamics, Vol. 32, No. 3, May– June 2009, pp. 1025–1028. doi:10.2514/1.42425 [10] Palopo, K., and Windhorst, R. D., “Wind-Optimal Routing in the
171
National Airspace System,” Journal of Aircraft, Vol. 47, No. 5, Sept.– Oct. 2010, pp. 1584–1592. doi:10.2514/1.C000208 [11] MATLAB Software Package, Ver. 7.10, The MathWorks, Inc., Natick, MA 2010. [12] Mapping Toolbox Software Package, Ver. 3.1, The MathWorks, Inc., Natick, MA 2010.