Formation flight control

An apparatus for controlling the formation flight of a trailing aircraft relative to a vortex generated by a leading aircraft includes a position module, peak-seeking module, limiter module, and control module. The position module is configured to determine a position of the vortex relative to the trailing aircraft. The peak-seeking module is configured to determine a desired position of the trailing aircraft for providing desired vortex-induced aerodynamic benefits based on the position of the vortex relative to the trailing aircraft and a mapping function of an individual performance metric. The limiter module is configured to modify the desired position of the trailing aircraft to avoid unintended crossings of the trailing aircraft into the vortex. Finally, the control module is configured to control flight of the trailing aircraft based on one of the desired position of the trailing aircraft and modified desired position of the trailing aircraft.

FIELD

This disclosure relates to aircraft flight control, and more particularly to the control of formation flight characteristics of multiple aircraft.

BACKGROUND

Formation flight may be described as an arrangement of two or more air vehicles or aircraft flying together in a group, usually in a predetermined pattern. The benefits of formation flight may include, but are not limited to, performance advantages including aerodynamic efficiency as a result of a reduction in induced drag and fuel consumption, as well as an increase in payload and range capacity.

Flight control systems exist for controlling and maintaining multiple aircraft in a designated formation during flight. Some flight control systems are configured to enable the exchange of flight data between the aircraft being flown in formation such that the flight characteristics of each aircraft can be controlled according to the flight characteristics of the other aircraft in the formation. Generally, one aircraft in the formation is designated as a lead aircraft with the remaining aircraft being designated as trailing or wingman aircraft. According to some formation flight control systems, the flight characteristics of the trailing aircraft are controlled based on the flight characteristics of the leading aircraft. Some formation flight control systems are designed to control the flight of a trailing aircraft relative to the leading aircraft, such as for mid-air refueling events.

The formation of wake or wingtip vortices trailing behind an aircraft during flight is well known and documented. Generally, when wings are generating lift, air from below the wing is drawn around the wingtips into the region above the wings due to the lower pressure above the wing, which causes a respective vortex to trail from each wingtip. Wingtip vortices cause vortical air patterns behind the aircraft, which can affect the flight of, and be dangerous to, other aircraft and objects positioned within the wake turbulence. For example, the wingtip vortices generated by a leading aircraft may negatively affect the flight of trailing aircraft, as well as disrupting or damaging cargo being dropped by trailing aircraft. The wingtip vortices move under the influence of winds between the leading and trailing aircraft. Close-proximity formation flight systems, however, do not account for the effects of winds on the wingtip vortices because the trailing aircraft is typically close enough to the leading aircraft that the winds have not displaced the wingtip vortices.

During formation flight, some known flight control systems are equipped to estimate the position of wingtip vortices trailing a leading aircraft, and control the flight characteristics of trailing aircraft to avoid the vortices. The position of a wingtip vortex relative to a trailing aircraft is estimated based on the flight characteristics of the leading aircraft and an estimate of the wind generated by the trailing aircraft.

Further, prior systems designed to control the flight of one object relative to another object typically implemented a gradient peak-seeking approach to move the objects relative to each other to maximize or minimize a desired metric. Basically, the gradient peak-seeking approach uses a dither signal to determine a change in relative position to improve the metric. The change is effected, the results analyzed, and the position further updated once again using a dither signal to continually improve the metric.

Although conventional formation flight control systems may attempt to estimate the position of a wingtip vortex and control the position of a trailing aircraft relative to the vortex, the inaccurate estimation of the vortex position leads to inaccurate positioning of the trailing aircraft. Further, previous formation flight control systems fail to accurately track the position commands given to the trailing aircraft because such systems failed to adequately account for vortex-induced aerodynamic effects acting on the trailing aircraft. Additionally, previous formation flight control systems are not configured to prevent un-commanded movement of the trailing aircraft into a wingtip vortex due to vortex-induced air pattern disturbances and position commands. Moreover, although incremental, gradient approaches to peak-seeking may eventually position the objects close to the desired relative position, such an approach is slow, time-consuming, and less responsive.

SUMMARY

The subject matter of the present application has been developed in response to the present state of the art, and in particular, in response to the problems and needs of conventional formation flight control systems that have not yet been fully solved by currently available systems. For example, although conventional formation flight control systems may attempt to estimate the position of a wingtip vortex and control the position of a trailing aircraft relative to the vortex, the inaccurate estimation of the vortex position leads to inaccurate positioning of the trailing aircraft. Further, previous formation flight control systems fail to accurately track the position commands given to the trailing aircraft because such systems failed to adequately account for vortex-induced aerodynamic effects acting on the trailing aircraft. Additionally, previous formation flight control systems are not configured to prevent un-commanded movement of the trailing aircraft into a wingtip vortex due to vortex-induced air pattern disturbances and position commands. Moreover, although incremental, gradient approaches to peak-seeking may eventually position the objects close to the desired relative position, such an approach is slow, time-consuming, and less responsive.

Generally, the subject matter of the present application has been developed to provide a formation flight control system that utilizes an aerodynamic benefit from wingtip vortices to achieve operational benefits, such as improved fuel economy and range, while overcoming at least some of the above-discussed shortcomings of prior art control systems. In contrast to close-proximity formation flight control systems, such as those used for mid-air refueling events, the formation flight control system of the present disclosure controls the flight of a trailing aircraft at a sufficient distance away from the leading aircraft that the wingtip vortex from the leading aircraft is affected by the winds, which can affect the flight of the trailing aircraft. In one implementation, the formation flight control system of the present application provides an accurate estimation of the position of a vortex by reducing the impact of the vortex on the estimation of the wind at the trailing aircraft, and measurement errors associated with sensor bias. Accordingly, the formation flight control system can provide an accurate estimation of the position of the trailing aircraft relative to the vortex, and a determination of a desired position of the trailing aircraft relative to the vortex for utilizing (e.g., maximizing) the operational benefit of the vortex. In one implementation, the formation flight control system of the present application provides robust and accurate tracking of the position commands to ensure accurate positioning of the trailing aircraft into a desired position relative to the vortex. Additionally, in one implementation, the formation flight control system described herein is configured to prevent un-commanded vortex crossings by achieving and robustly maintaining a trailing aircraft in a commanded position relative to a vortex. Moreover, in one embodiment, a peak-seeking approach increases the responsiveness of closing in on a desired relative position by virtue of a Kalman recursion process based on an individual performance metric function.

According to one embodiment, an apparatus for controlling the formation flight of a trailing aircraft relative to a vortex generated by a leading aircraft includes a position module, a desired position module, and a control module. The position module is configured to determine a position of the vortex relative to the trailing aircraft based on an estimate of wind conditions. The estimate of wind conditions is based on at least one air data measurement obtained by the leading aircraft. The desired position module is configured to determine a desired position of the trailing aircraft relative to the vortex for providing desired vortex-induced aerodynamic benefits based on the position of the vortex. Finally, the control module is configured to control flight of the trailing aircraft based on the desired position of the trailing aircraft. In certain implementations, the control module controls flight of the trailing aircraft into the desired position of the trailing aircraft and maintains the trailing aircraft in the desired position of the trailing aircraft.

In some implementations, the at least one air data measurement obtained by the leading aircraft includes measurements taken from a plurality of angle of attack and sideslip vane sensors on the leading aircraft. According to yet some implementations, the estimate of wind conditions is based on at least one of an estimated sideslip angle and an estimated angle of attack of the trailing aircraft (which in some instances can be a measured angle of attack). The estimated sideslip angle can be based on at least one of a position of an aileron of the trailing aircraft, a position of an upper rudder of the trailing aircraft, a position of a lower rudder of the trailing aircraft, a lateral acceleration of the trailing aircraft, a roll rate of the trailing aircraft, and a yaw rate of the trailing aircraft.

According to a second embodiment, an apparatus for controlling the formation flight of a trailing aircraft relative to a vortex generated by a leading aircraft includes a position module that is configured to determine a position of the vortex relative to the trailing aircraft based on an estimator state vector comprising a relative position between the vortex and trailing aircraft. Like the previous embodiment, the apparatus also includes a desired position module that is configured to determine a desired position of the trailing aircraft relative to the vortex for providing desired vortex-induced aerodynamic benefits based on the position of the vortex. The apparatus also includes a control module that is configured to control flight of the trailing aircraft based on the desired position of the trailing aircraft. The position of the vortex can include a lateral position component and a vertical position component. In certain implementations, the control module controls flight of the trailing aircraft into the desired position of the trailing aircraft and maintains the trailing aircraft in the desired position of the trailing aircraft.

In some implementations of the second embodiment, the relative position between the vortex and trailing aircraft includes a relative lateral position of the vortex with respect to the trailing aircraft and a relative vertical position of the vortex with respect to the trailing aircraft. The estimator state vector can include a velocity of the leading aircraft in a lateral direction and a velocity of the leading aircraft in a vertical direction. Additionally, or alternatively, the estimator state vector can include a wind gust component on the vortex in a lateral direction and a wind gust component on the vortex in a vertical direction. Additionally, or alternatively, the estimator state vector can include a delay constant and a strength of the vortex.

According to certain implementations of the second embodiment, the position module is configured to determine the position of the vortex relative to the trailing aircraft based on a measurement vector comprising a plurality of sensed measurements. The plurality of sensed measurements can include a longitudinal position of the leading aircraft relative to the trailing aircraft, a time-delayed lateral position of the leading aircraft relative to the trailing aircraft, a time-delayed vertical position of the leading aircraft relative to the trailing aircraft, a wind gust component acting on the trailing aircraft in the lateral direction, and a wind gust component acting on the trailing aircraft in the vertical direction. In some implementations, the position module determines the position of the vortex relative to the trailing aircraft by recursively updating the estimator state vector individually for each of the plurality of sensed a measurements using a Kalman filter recursion technique. Additionally, or alternatively, in certain implementations, the position module determines the position of the vortex relative to the trailing aircraft based on an estimated vortex-induced component of total body-axes forces acting on the trailing aircraft and an estimated vortex-induced component of a total body-axes moment acting on the trailing aircraft.

In some implementations of the second embodiment, the position module is configured to update the estimator state vector based on a comparison between the position of the vortex relative to the trailing aircraft determined by the position module and at least one actual measurement of the relative position of the trailing aircraft with respect to the vortex. The at least one actual measurement is obtained from output signals of a plurality of angle of attack vanes secured to the trailing aircraft.

According to certain implementations of the second embodiment, the control module is configured to control the flight of the trailing aircraft based on a proportional-integral-derivative architecture. In yet some implementations of second embodiment, the control module is configured to control the flight of the trailing aircraft based on a crosstrack rate feedback value. In certain implementations of the second embodiment, the control module is configured to control the flight of the trailing aircraft based on at least one of a roll feedback value, a rudder feedback value, and a sideslip feedback value.

In a third embodiment, an apparatus for controlling the formation flight of a trailing aircraft relative to a vortex generated by a leading aircraft includes a position module that is configured to determine a position of the vortex relative to the trailing aircraft, and a desired position module that is configured to determine a desired position of the trailing aircraft relative to the vortex for providing desired vortex-induced aerodynamic benefits based on the position of the vortex. The apparatus also includes a control module configured to control flight of the trailing aircraft based on the desired position of the trailing aircraft by generating at least one command. Additionally, the apparatus includes a limiter module that is configured to monitor the at least one command generated by the control module and modify the at least one command into at least one modified command to avoid unintended crossings of the trailing aircraft into the vortex. In certain implementations, the control module controls flight of the trailing aircraft into the desired position of the trailing aircraft and maintains the trailing aircraft in the desired position of the trailing aircraft.

According to some implementations of the third embodiment, the limiter module modifies the at least one command into the at least one modified command by limiting one of a crosstrack position of the trailing aircraft and a velocity of the trailing aircraft in the crosstrack direction. The limiter module can modify the at least one command into the at least one modified command when a parameter being limited meets a threshold. The limiter module can limit a velocity of the trailing aircraft in a crosstrack direction as a function of a position of the trailing aircraft relative to a core of the vortex in the crosstrack direction. As the position of the trailing aircraft relative to the core of the vortex in the crosstrack direction decreases, an allowed velocity of the trailing aircraft in the crosstrack direction can be reduced.

In some implementations of the third embodiment, the limiter module modifies the at least one command via a low-pass filter with one-side rate-saturation. In the same or alternative implementations, the limiter module modifies the at least one command when the trailing aircraft is moving toward the vortex, and does not modify the at least one command when the trailing aircraft is moving away from the vortex. Additionally, in the same or alternative implementations, the limiter module modifies the at least one command when a threshold is met, and stops modifying the at least one command after the threshold ceases to be met. The limiter module is configured to control a rate at which the at least one modified command returns to the at least one command after the threshold ceases to be met via a one-sided low-pass filter.

According to a fourth embodiment, an apparatus for controlling the formation flight of a trailing aircraft relative to a vortex generated by a leading aircraft includes a position module that is configured to determine a position of the vortex relative to the trailing aircraft. The apparatus also includes a peak-seeking module that is configured to determine a desired position of the trailing aircraft for providing desired vortex-induced aerodynamic benefits based on the position of the vortex relative to the trailing aircraft and a mapping function of an individual performance metric. Additionally, the apparatus includes a control module that is configured to control flight of the trailing aircraft based on the desired position of the trailing aircraft. In certain implementations, the control module controls flight of the trailing aircraft into the desired position of the trailing aircraft and maintains the trailing aircraft in the desired position of the trailing aircraft.

In some implementations of the fourth embodiment, the individual performance metric is a function of the position of the trailing aircraft relative to the vortex. According to certain implementations of the fourth embodiment, the peak-seeking module estimates a shape of a quadratic model patterned within a region defined by a search pattern comprising a plurality of estimated values of an element of an estimator state vector. Each estimated value is associated with a separate evaluation of the mapping function for each of a plurality of different variable values. A bottom of the estimated shape of the quadratic model defines either a minimum or maximum value of the element of the estimator state vector. The desired position of the trailing aircraft is based on the minimum value or maximum value of the element depending on whether the bottom is associated with a minimum value or maximum value. Accordingly, when used below, a minimum value can be replaced with a maximum value depending on the metric being analyzed. The estimated shape of the quadratic model can be a first estimated shape, the search pattern can be a first search pattern, and the minimum value of the element can be a first minimum value of the element. The peak-seeking module may estimate a second shape of the quadratic model patterned within a region defined by a second search pattern positioned locally about the minimum value of the element. The second shape of the quadratic model can be smaller than the first shape of the quadratic model and the second search pattern can be smaller than the first search pattern. A bottom of the second estimated shape of the quadratic model may define a second minimum value of the element and the desired position of the trailing aircraft can be revised according to the second minimum value of the element.

In some implementations of the fourth embodiment, the peak-seeking module evaluates the mapping function according to a recursion scheme for each element of an estimator state vector. For each element of the estimator state, the peak-seeking module determines an estimated value of the element, an estimated optimal position error, and an uncertainty factor representing a prediction of how close the estimated value of the element is to an actual value of the element. The peak-seeking module determines the desired position of the trailing aircraft based on the estimated state vector and the estimated optimal position error. The peak-seeking module can determine the estimated value of the element by generating a search pattern comprising a plurality of estimated values of the element. The peak-seeking module can be configured to scale the size of search pattern based on the uncertainty factor.

In yet a fifth embodiment, an apparatus for controlling the formation flight of a trailing aircraft relative to a vortex generated by a leading aircraft includes a position module, peak-seeking module, limiter module, and control module. The position module is configured to determine a position of the vortex relative to the trailing aircraft based on an estimate of the wind conditions at the leading aircraft and an estimator state vector comprising a relative position between the vortex and the trailing aircraft. The peak-seeking module is configured to determine a desired position of the trailing aircraft for providing desired vortex-induced aerodynamic benefits based on the position of the vortex relative to the trailing aircraft and a mapping function of an individual performance metric. The limiter module is configured to monitor the system states and the desired position of the trailing aircraft and modify the desired position of the trailing aircraft into a modified desired position of the trailing aircraft to avoid unintended crossings of the trailing aircraft into the vortex. Finally, the control module is configured to control flight of the trailing aircraft based on one of the desired position of the trailing aircraft and modified desired position of the trailing aircraft. In certain implementations, the control module controls flight of the trailing aircraft into the one of the desired and modified desired positions of the trailing aircraft and maintains the trailing aircraft in the one of the desired and modified desired positions of the trailing aircraft.

In certain embodiments, the modules of the apparatus described herein may each include at least one of logic hardware and executable code, the executable code being stored on one or more memory devices. The executable code may be replaced with a computer processor and computer-readable storage medium that stores executable code executed by the processor.

DETAILED DESCRIPTION

With reference toFIGS. 1 and 2, described herein is one embodiment of a formation flight control system that utilizes the aerodynamic benefit from a wingtip vortex30generated by a leading aircraft10to achieve operational benefits for a trailing aircraft20. Generally, a wingtip vortex30, or wake as also used herein, is a circular pattern of rotating air trailing a wingtip as the wing35generates lift. In this regard, as shown inFIG. 1, the leading aircraft10may include a first wing35apositioned on a first side37aof a fuselage37of the leading aircraft10to generate a first vortex30a, and a second wing35bpositioned on a second side37bof the fuselage37of the leading aircraft10to generate a second vortex30b, collectively disclosed herein as vortices. As such, as disclosed herein, any reference in the detailed description to a vortex30applies equally to the first vortex30aand/or the second vortex30b.

Because the swirling motion of a vortex has a generally circular pattern, upwardly directed portions40of the swirling air can provide updraft forces. Moreover, the wingtip vortex30swirls from the wingtip such that the upwardly directed portion40of the vortex30emitted from the leading aircraft10is located at the outward side of the vortex or at the side of the vortex farthest away from the fuselage37of the leading aircraft10.

Because of the positioning of the upwardly directed portion40of the vortex30, the trailing aircraft20can approach the vortex from a trailing position outside of the vortex, and be positioned at least partially within the upwardly directed portion40of the vortex. In such a position, the updraft forces generated by the upwardly directed portion40impact the trailing aircraft20to at least partially buoy or lift the trailing aircraft. In this manner, with the trailing aircraft20in a desired position, the vortex30provides an aerodynamic benefit to the trailing aircraft20in the form of operational benefits, such as increased fuel economy and flight range. However, if the trailing aircraft20is improperly positioned relative to the location of the vortex30, the vortex30can have a negative effect on the aerodynamics and operational characteristics of the trailing aircraft. Additionally, a vortex30may impart forces (e.g., a sideforce) and moments (e.g., a yaw moment) on the trailing aircraft20that vary in strength based on the position of the trailing aircraft20relative to the vortex30, which must be overcome to maintain the trailing aircraft in the desired position relative to the vortex30. Accordingly, accurately predicting the location of the vortex30and the trailing aircraft20relative to the vortex30, stably controlling the trailing aircraft20into a desired position relative to the vortex30to achieve the aerodynamic benefits of the vortex30, avoiding negative aerodynamic consequences caused by unintended movement of the trailing aircraft into the vortex30, and other functionality may be desirable.

Described herein is a flight control system that achieves one or more of the above-mentioned desirable functions associated with utilizing a vortex30for aerodynamic and operational benefits during flight. Referring toFIG. 3, according to one embodiment, a flight control system includes a controller100configured to control the flight of the trailing aircraft20to achieve the desirable functions related to vortex utilization. Generally, the controller100receives multiple inputs, processes the inputs, and generates multiple outputs. The multiple inputs may include sensed measurements from the sensors, operating condition estimations from virtual sensors, and various user inputs. In one implementation, the inputs include leading aircraft data154, trailing aircraft data156, and input data158. The leading aircraft data154(e.g., data that may be used to estimate wind conditions) can be transmitting from the leading aircraft10and received by the trailing aircraft20via a data link12, which can be any of various types of data links known in the art. The inputs are processed by the controller100using various algorithms, stored data, and other inputs to update the stored data and/or generate output values. In one implementation, the controller100outputs trailing aircraft flight command(s)150, which can be a roll command and/or altitude command. The generated output values and/or commands150are utilized by other components or modules of the controller and/or one or more elements of the trailing aircraft20to control the flight of the trailing aircraft to achieve desired results.

The controller100includes various modules and stores information for controlling the operation of the trailing aircraft20. For example, as shown inFIG. 3, the controller100includes a position module110, an aircraft control module120, a peak-seeking module130, and a command module140. Generally, the modules110,120,130, and140cooperate to generate a navigation solution (including at least one trailing aircraft flight command150(e.g., roll and altitude commands) relative to the leading aircraft10based on one or more of the data154,156,158. Although the controller100is shown as a single unit including all the modules110,120,130,140, in some embodiments, the controller100can include several units in communication with each other, with each unit including one or more of the modules. Further, the units of a multi-unit controller need not be physically proximate to each other, and in fact can be remote from each other, but remain in communication with each other as necessary to perform the functionality of the modules.

In one embodiment, the controller100is located onboard the trailing aircraft20. However, in some embodiments, the controller100, or one or more units or modules of the controller, may be located remote from the trailing aircraft20. For example, one or more units or modules of the controller100can be located onboard the leading aircraft20or at a ground control station. When located remotely of the trailing aircraft20, the controller100, or remotely located units or modules of the controller, may be communicable with the leading aircraft via various communication protocols, such as IR, wireless, radio, and the like.

Referring toFIGS. 3 and 4, the position module110of the controller100is configured generally to determine a position of the vortex30, a position of the trailing aircraft20relative to the vortex30, and a desired position of the trailing aircraft20relative to the vortex30. The positions determined by the position module110are based directly or indirectly on the leading aircraft data154, trailing aircraft data156, and an estimate of the wind conditions. According to prior art systems, estimates of the wind conditions were calculated according to air data measurements from the trailing aircraft. However, the vortices30induced by the leading aircraft10tend to corrupt the air data measurements from the trailing aircraft20. Prior art formation flight systems were not designed for operation of the trailing aircraft within the vortices. Accordingly, prior art systems did not compensate for air data corruption associated with operation within the vortices, and thus did not provide accurate estimations of the wind, which led to inaccurate estimations of the position of the vortices30and the position of the trailing aircraft relative to a vortex.

To account for the corrupting effect of vortices30on the air data measurements obtained by the trailing aircraft20, the position module110includes a wind estimation module200that utilizes air data measurements obtained by the leading aircraft10. Generally, the wind estimation module200estimates the trailing aircraft's movement relative to the air, and subtracts this estimate from the aircraft's movement relative to the earth (which can be obtained from an on-board navigation system). Because the air mass proximate the leading aircraft10is relatively unaffected by the turbulence-inducing effects of the vortices30, the air data measurements obtained by the leading aircraft10provide a more accurate estimation of the wind conditions, and thus a more accurate estimation of the position of the vortices30and the trailing aircraft relative to the vortices.

In addition to air data measurements from the leading aircraft10, the wind estimation module200estimates the wind conditions based on an estimated sideslip angle {circumflex over (β)} of the trailing aircraft20. Aircraft sideslip may lead to overestimating the magnitude of cross-winds on the vortex30and trailing aircraft20. Accordingly, sideslip should be a factor in the estimation of the wind conditions to enhance the estimate of the winds. Aircraft sideslip can be defined in terms of an estimated sideslip angle {circumflex over (β)}, which can be calculated according to any of various techniques and methods as desired. According to one embodiment employing one technique, the sideslip angle {circumflex over (β)} of the trailing aircraft20can be estimated based on the following equations:
Cy=Way/(qSref)  (1)
{circumflex over (β)}=(Cy−Cypp−Cyrr−Cyδaδa−Cyδruδru−Cyδrlδrl)/Cyβ(2)
where Cy is the total aerodynamic side-force contribution acting on the trailing aircraft20, W is the gross weight of the trailing aircraft, ayis the lateral acceleration of the trailing aircraft, q is the dynamic pressure, S is the wing reference area of the trailing aircraft, Cypis the side-force contribution associated with the roll rate p of the trailing aircraft, Cyris the side-force contribution associated with the yaw rate r of the trailing aircraft, Cyδais the side-force contribution associated with the aileron position δa of the trailing aircraft, Cyδruis the side-force contribution associated with the upper rudder position δru of the trailing aircraft, Cyδrlis the side-force contribution associated with the lower rudder position δrl of the trailing aircraft, and Cyβis the side-force contribution associated with the estimated side-slip angle {circumflex over (β)} of the trailing aircraft. In some implementations, the side-force contributions from Equation 2 may be obtained from look-up tables stored on the controller100or other storage device.

In one implementation, the wind estimation module200estimates the wind conditions based on a relationship between the velocity of the trailing aircraft20relative to the airmass in body frame, the inertial velocity of the trailing aircraft, and the velocity of the airmass. For example, the wind velocity vectorcan be determined from the following

V⇀AB=CNEDB⁢{CNNED⁢V⇀N-V⇀WNED}(3)
whereis the true airspeed vector in body frame (B), CNEDBis a direction cosine matrix from local North-East-Down frame (NED) to body frame, CNNEDis a direction cosine matrix from the navigation frame (N) to the local NED, andis the velocity of the trailing aircraft relative to the earth in navigation coordinates. The estimated sideslip angle {circumflex over (β)} and the angle of attack α are embedded in the true airspeed vectoraccording to the following relationship

V⇀AB=VA⁡[cos⁢⁢α⁢⁢cos⁢β^sin⁢⁢β^sin⁢⁢αcos⁢⁢β^](4)
where VAis the true airspeed. For additional accuracy, in some embodiments, the measured angle of attack α, which can be based on inaccurate outputs from measurement vanes on the trailing aircraft20, can be replaced with an estimated angle of attack {circumflex over (α)}, which can be calculated according to any of various techniques and methods as desired.

The estimated wind conditions (e.g., the wind velocity vector) are used by the vortex position module210to determine the position of the vortex30. Further, by knowing the position of the trailing aircraft20, the position of the trailing aircraft relative to the position of the vortex can be determined. Generally, the estimated wind conditions help to diagnose the direction and magnitude of a shift of the vortex30within the airmass caused by cross-winds. The vortex position module210generates a vortex position212that is utilized by a desired aircraft position module220of the position module110to determine a desired aircraft position of the trailing aircraft20.

The desired aircraft position module220is configured to determine a position of the trailing aircraft20relative to the vortex30that will achieve a desired aerodynamic and operational benefit from the updraft40generated by the vortex30. The desired aircraft position module220generates a desired aircraft position222representing the desired position determined by the desired aircraft position module. The desired aircraft position222is utilized by the aircraft control module120to determine position demands, or position commands, which are used to generate a flight control scheme (e.g., flight commands) by the command module140to position the trailing aircraft20into the desired position. The desired aircraft position can be determined by the desired aircraft position module220based on the vortex position212and a wake propagation model incorporating known physical characteristics of vortices. Alternatively, or cooperatively, in some embodiments, the desired aircraft position module220generates the desired aircraft position222based on the vortex position212and input from a pilot controlling the flight of the trailing aircraft20. For example, the pilot may be alerted to the vortex position212, and manually enter the desired aircraft position222in the form of position commands or coordinates. The desired aircraft position module220may also be incorporated into the peak-seeking module130, which determines a desired aircraft position222and generates position commands based at least partially on the desired aircraft position and a peak-seeking algorithm as will be explained in more detail below.

In some alternative embodiments, the position module110determines the position212of the vortex30, which facilitates an estimation of the position of the trailing aircraft20relative to the vortex or vice versa. The estimation scheme is based on operating condition measurements that are not directly influenced by the position of the wake relative to the trailing aircraft20. In one implementation, the position of the vortex30(i.e., pw(t)) is approximated according to the following relationship

pw⁡(t)=[pw,l⁡(t)pw,c⁡(t)pw,v⁡(t)]≈pl⁡(t-τ)+∫-τ0⁢[001]⁢Γ2⁢π⁢⁢b0+y⁢❘g,w⁢(t)⁢ⅆs(5)
where pw,l(t), pw,c(t), and pw,v(t) are the longitudinal, crosstrack, and vertical coordinates of the vortex, plis the position of the leading aircraft, τ is the amount of time the trailing aircraft20is behind the leading aircraft10, Γ is the strength of the vortex30, b0is a characteristic span, and yg,w(t) represents a wind gust model associated with wake propagation dynamics. Accordingly, in some embodiments, Equation 5 can be utilized to determine the vortex position212and the position of the trailing aircraft20relative to the vortex30. Referring to Equation 5, it is noted that the vortex position vector pw(t) includes a vertical coordinate, which accounts for a vertical descent of the vortex and facilitates proper vertical positioning and altitude tracking of the trailing aircraft20relative to the vortex30. Conventional formation flight controls do not account for vortex descent and are concerned only with crosstrack positioning by assuming a co-altitude position relative to the leading aircraft10and vortex30. In some embodiments, the same set of measurements associated with Equation 5 can be utilized to achieve a smoother, and perhaps more accurate, estimate of the position of the trailing aircraft20relative to the vortex30if desired as will now be described. Further, in yet some embodiments, additional measurements may be used to further improve the accuracy of the estimate of the position of the trailing aircraft20relative to the vortex30as will be described in more detail below.

By assuming constant values for τ, Γ, and b0, and taking a time-based derivative, Equation 3 can be reduced to
{dot over (p)}w(t)≈vl(t−τ)+τ{dot over (y)}g,w(t)  (6)
where vlis the velocity of the leading aircraft10. From Equation 6, the relative location of the vortex30with respect to the trailing aircraft20(i.e., prel(t)) can be determined based on the following definition of relative location and taking a time derivative of the relative location as follows
prel(t)=pw(t)−pt(t)  (7)
{dot over (p)}rel(t)={dot over (p)}w(t)−{dot over (p)}t(t)  (8)
{dot over (p)}rel(t)=vl(t−τ)+τ{dot over (y)}g,w(t)−vt(t)  (9)
where vtis the velocity of the trailing aircraft20. Each of the variables of Equation 9 can be directly measured in some implementations. Yet in other implementations, one or more of the variables of Equation 9 are estimated.

Assuming the availability of accurate physical or virtual measurements for the relative position of the trailing aircraft20with respect to the leading aircraft10, the vertical and crosstrack components of the inertial velocity of the trailing aircraft20, and the vertical and crosstrack components of the wind (which can be obtained from the wind estimation module200), and the total airspeed or velocity of the trailing aircraft (which can be assumed to be approximately equal to the airspeed of the leading aircraft), an estimator state vector {circumflex over (x)} may be represented by

The estimator state vector {circumflex over (x)} of Equation 10 may be associated with linear dynamics and non-linear measurement equations to yield a Jacobian matrix useful for determining the position of the vortex30. The linear dynamics may be represented by

x^.=[0000010000000000000000000]⁢x+[0-vt⁡(t)000]+w⁡(t)(11)
and the non-linear measurement equation or vector can be represented by

y=[pl,long⁡(t)pl,xtrk⁡(t-τ)pl,alt⁡(t-τ)yg,xtrk⁡(t)yg,alt⁡(t)]≈[Vair⁢τprel,xtrk⁡(t)-τ⁢⁢yg,xtrkprel,alt⁡(t-τ)-τ⁢Γ2⁢π⁢⁢b0-τ⁢⁢yg,altyg,xtrk⁡(t)yg,alt⁡(t)](12)
which when combined with Equations 10 and 11 yields the Jacobian matrix Hx represented as follows

Hx=⁢∂y∂x⁢x=⁢[0000Vair000001000-τ00001-Γ2⁢π⁢⁢b0-τ2⁢π⁢⁢b00-τ0000001000000001]⁡[vl,xtrk⁡(t-τ)vl,alt⁡(t-τ)prel,xtrk⁡(t)prel,alt⁡(t)τ⁡(t)Γ⁡(t)yg,xtrk⁡(t)yg,alt⁡(t)](13)
which can be converted into a discrete-time representation. The measurement vector of Equation 12 is obtained by modifying the raw measurement data received from associated sensors on the leading and/or trailing aircrafts. For example, the raw measurement data can be transformed into a desired coordinate frame, and the leader position measurements can be delayed by the delay constant τ. The measurement vector of Equation 12 of the illustrated embodiment includes five sensed measurements with respect to time (e.g., the longitudinal position of the leading aircraft relative to the trailing aircraft pl,long(t), the time-delayed lateral or crosstrack position of the leading aircraft relative to the trailing aircraft pl,xtrk(t−τ), the time-delayed vertical position of the leading aircraft relative to the trailing aircraft pl,alt(t−τ), the wind gust component acting on the trailing aircraft in the lateral or crosstrack direction yg,xtrk(t), and the wind gust component acting on the trailing aircraft in the vertical direction yg,alt(t)) but can include more than five sensed measurements as will be explained in more detail below. The five measurements of the measurement vector of Equation 12 are not direct measurements of vortex effects on the trailing aircraft20(e.g., the five measurements are associated with characteristics that behave independently of the effects of the vortex). Once the measurement vector of Equation 12 is populated by the appropriately modified measured data, the estimator state vector {circumflex over (x)} represented by Equation 10 is maintained and updated by the vortex position module through application of an error covariance matrix and taking discrete-time Kalman filter recursions by recursively propagating Equations 14 and 15 below and updating Equations 16 and 17 below
{circumflex over (x)}k−=f({circumflex over (x)}k−1)  (14)
Σ{tilde over (x)}k−=FΣ{tilde over (x)}k−1FT+Σw(15)
{circumflex over (x)}k={circumflex over (x)}k−+ΣxHT(HΣxHT+Σv)−1(yk−h({circumflex over (x)}k−))  (16)
Σ{tilde over (x)}k=Σ{tilde over (x)}k−−Σ{tilde over (x)}k−HT(HΣ{tilde over (x)}k−HT+Σv)−1HΣ{tilde over (x)}k−(17).

In some implementations, Equations 16 and 17 are updated at each time step for one of the five measurements of the measurement vector of Equation 12. In other words, Equations 16 and 17 can be updated one measurement at a time, as opposed to being updated in bulk with all of the five measurements. Updating the Equations 16 and 17 on a per measurement basis provides flexibility in selecting which measurements are considered first, and how many measurements are included in the measurement vector of Equation 12. Additionally, updating Equations 16 and 17 based on a per-measurement approach allows selectable subsets of the five measurements to be considered at a given time step, and the remaining measurements at subsequent time steps.

Advantageously, the above-described vortex position determination scheme does not require sensed measurements of the vortex effects on the trailing aircraft20. Accordingly, an expected nominal dynamic behavior of the leading and trailing aircraft10,20can be used to estimate the position of the vortex30by utilizing the five-component measurement vector of Equation 12. However, because the measurement vector of Equation 12 does not include measurement data of the vortex effects on the trailing aircraft20, the vortex position determination scheme does not account for measurement biases (e.g., wind measurement biases) or modeling errors (e.g., inaccurate initial calculation of the vortex strength Γ) associated with the vortex effects that may contribute to a vortex position estimate with a lower level of accuracy. Accordingly, in some embodiments, the above-described vortex position determination scheme can be supplemented with additional modeling and measurements to account for the effects of the vortex dynamics acting on the trailing aircraft20. Essentially, the additional modeling and measurements assist in estimating the position of the vortex30or the position of the trailing aircraft20relative to the vortex by “feeling” the aerodynamic forces and moments due to the vortex.

In one embodiment, the above-described vortex position determination scheme is supplemented with additional modeling to account for the effects of the vortex dynamics acting on the trailing aircraft20. More specifically, the vortex position module210models the incremental forces and moments of the vortex acting on the trailing aircraft20as a function of relative position. The translational acceleration {dot over (v)}BBand angular acceleration {dot over (ω)}Bof the trailing aircraft20can be determined from

v.BB=FTotalBm+gB-ωB×vBB(18)ω^B=J-1⁡[MTotal-[ωB×]⁢J⁢⁢ωB](19)
where FTotalBis the total body-axes forces acting on the trailing aircraft20, m is the mass of the trailing aircraft, gBis the gravitational force acting on the body of the trailing aircraft, ωBis the angular velocity of the trailing aircraft, vBBis the velocity of the trailing aircraft, J is a body-axis inertia matrix, and Mtotalis the total body-axes moment acting on the trailing aircraft. The total body-axes forces FTotalBand moment Mtotalcan be reduced to nominal and vortex-induced components, such that the body-axes forces due to the wake FwakeBand the body-axes moment due to the wake Mwakecan be represented by

yFMi=hFMi⁡(x)=[FMi⁡(prel,c,prel,v,Γ)](22)⇒HFMi=⁢∂hFMi∂x=⁢[00∂FMk∂prel,c∂FMi∂prel,v0∂FMi∂Γ00](23)
which express each of the six incremental forces/moments as a function of the relative position of the trailing aircraft20with respect to the vortex30, and include signals that can be used as additional inputs to the Kalman filter.

In some embodiments, with the estimation state vector of Equation 10 remaining the same, Equations 22 and 23 can be used to extend the measurement vector of Equation 12 and the Jacobian matrix Hx of Equation 13 with additional measurements without affecting the estimation recursion scheme associated with Equations 14-17. In other words, in such embodiments, the estimation recursion scheme simply utilizes a longer measurement vector and larger Jacobian matrix Hx. Because the estimated vortex position212remains the only output, the inclusion of additional measurements or inputs, which provide additional information, into the measurement vector of Equation 12 and the Jacobian matrix Hx of Equation 13 improves the accuracy of the estimated vortex position212and the position of the trailing aircraft20relative to the vortex30.

In another embodiment, the above-described vortex position determination scheme is supplemented with an additional model implemented by the vortex position module210that utilizes additional actual measurements to estimate the expected impact of the vortex on the measurements of Equation 12, and refines the estimated position of the trailing aircraft20relative to the vortex30based on the estimated expected impact. Generally, the model is configured to compare the estimated position of the trailing aircraft20relative to the vortex30obtained using the state vector of Equation 10 with the additional actual measurements of the relative position of the trailing aircraft with respect to the vortex, and correct the state vector based on the comparison. In one implementation, the actual measurements include the aerodynamic angles of attack and sideslip based on the output from several angle of attack vanes secured to the trailing aircraft20at various locations. The vortex position module210utilizes the output from six angle of attack vanes positioned near the nose of the trailing aircraft20. In another implementation, the vortex position module210utilizes the output from four angle of attack vanes positioned at the tips of the wings and tail, respectively. The measured output from each vane can be modeled as

Sensor or measurement biases can be incorporated into the Kalman filter by being included as an additional state in the estimator state vector {circumflex over (x)} of Equation 10, effectively extending the estimator state vector.

The aircraft control module120includes a lateral control module230configured to determine a crosstrack demand232and a vertical control module240configured to determine an altitude demand242. The crosstrack demand232is associated with a lateral (e.g., horizontal) position component of the desired aircraft position222relative to the vortex30and the altitude demand242is associated with a vertical position component of the desired aircraft position value relative to the vortex. Once the crosstrack demand232is determined, the command module140generates a command (e.g., one or more of a roll command, rudder command, and sideslip command) for achieving the crosstrack demand. The trailing aircraft20may roll according to the roll command (or adjust rudder position and/or sideslip control elements according to the rudder and sideslip commands, respectively, as the case may be) such that the desired aircraft position222may be achieved. Similarly, once the altitude demand242is determined, the command module140generates an altitude command or achieving the altitude demand. The trailing aircraft20may then adjust its vertical position according to the altitude command such that the desired aircraft position222may be achieved.

The lateral control module230determines the crosstrack demand232based on the lateral component of the desired aircraft position222. Basically, the crosstrack demand232can be associated with a desired change in roll (or rudder position and/or sideslip) to effectuate a change in the lateral position of the trailing aircraft20to achieve the lateral component associated with the desired aircraft position222. Conventional formation flight control systems are configured to position the trailing aircraft away from a vortex, and as such, do not account for the aerodynamic effects of the vortex on the position of the trailing aircraft. Relying solely on such conventional approaches for determining the crosstrack demand232likely may lead to inaccurate and inefficient results. These shortcomings by robustly accounting for the effects of the vortex30on the position of the trailing aircraft20.

The lateral control module230accounts for the possibility of unstable tracking dynamics by including the feedback interconnection between aircraft control module120or aircraft controller340and the innerloop autopilot of the trailing aircraft330(e.g., seeFIG. 6). The trailing aircraft dynamic system can be represented generically by the following linear model

x.a=Aa⁢xa+[B1,aB2,a]︸Ba⁡[δaδr](27)[yay.aϕapa]=[C1,aC2,aC3,aC4,a]⁢xa.(28)
The innerloop autopilot controller of the trailing aircraft330can be represented generically by the following

x.c=Ac⁢xc+[B1,cB2,cB3,c]︸Bc⁡[ϕ.cϕapa](29)[δaδr]=[C1,cC1,c]︸Cc⁢Xc+[D1,cD2,cD3,c]⁡[ϕ.cϕapa].(30)
Accordingly, based on Equations 27-30, the feedback interconnection between the aircraft control module120(e.g., aircraft controller340) and the innerloop autopilot controller of the trailing aircraft330yields the updated closed loop dynamics models

[x.axc]︸xp=[Aa+Ba[D2,cD3,c][C3,aC4,a]Ba⁢Ca[B2,cB3,c][C3,aC4,a]Ac]⁢[xaxc]︸xp+[Ba⁢D1,cB1,c]︸Bp⁢ϕc(31)⁢[yay.aϕapa]=[C1,a0C2,a0C3,a0C4,a0]︸Cp⁡[xaxc](32)
which can be further reduced based on the assumption that the closed loop dynamics of the trailing aircraft20are stable in the absence of formation flight effects.

Based on simple models of formation flight effects (e.g., roll moment and lateral force) as a function of crosstrack position and as discussed above, Equations 31 and 32 yield

Based on Equations 33 and 34, the crosstrack demand232is determined from the following dynamic controller

The vertical control module240determines the altitude demand242based on the vertical (e.g., altitude) component of the desired aircraft position222, which is based on the vertical component of the vortex position vector of Equation 5. Basically, the altitude demand242is associated with a desired change in altitude (e.g., vertical offset) for positioning the trailing aircraft20at the altitude associated with the desired aircraft position222. In addition to the vertical component of the vortex position vector of Equation 5, in some implementations, the vertical offset is determined based on several conditions determined by the leading aircraft10and transmitted to the trailing aircraft20, such as the strength of the wake and the inertial wind estimates or wind conditions, and several conditions determined by the trailing aircraft, such as the altitude and altitude rate of change of the trailing aircraft.

Referring toFIG. 5, the aircraft control module120also includes a limiter module250configured to generate modified command(s)252based on the input data158. The modified command(s)252includes one or more of a modified position command (e.g., modifying the desired position data from the aircraft position module110or peak-seeking module130) and a modified flight command (e.g., modifying the flight commands150from the command module140). Despite the improvements in the crosstrack and vertical position tracking and control provided by the position module110, lateral control module230, and vertical control module240, various disturbances (e.g., wind variation (gusts) and leader aircraft motion) may negatively affect the position of the trailing aircraft20relative to the vortex30. For example, such disturbances may cause unintended crossings into and/or through the vortex30when the trajectory of the trailing aircraft20encounters regions where the controller defined by Equations 35 and 36 breaks down or is unable to compensate for such disturbances.

Accordingly, in general terms, the limiter module250is configured to modify the controller defined by Equations 35 and 36 in order to provide protection against disturbance-induced vortex crossings. Essentially, the limiter module250is operable to limit the extent of the excursion of the trailing aircraft20from a predefined point. The limiter module250limits the physical excursion of the trailing aircraft20from a predefined point, to prevent disturbance-induced vortex crossings by modifying the vortex position212determined by the vortex position module210and/or adding an additional flight command (e.g., roll, rudder, and/or sideslip command) to or modifying the trailing aircraft flight command150. Further, in some implementations, the limiter module250includes augmented logic that limits or modifies a turn command of the trailing aircraft20to temporarily restrict certain movements of the trailing aircraft toward the vortex30(e.g., to prevent disturbance-induced vortex crossings) during a turning operation.

The limiter module250includes an algorithm-implementing controller that operates to limit the physical excursion of the trailing aircraft20when necessary to prevent unintended vortex crossings. The algorithm implemented by the controller of the limiter module250is based on the following modified control signal upand modified tracking command ycmd
up=utrk+kuγ(xp)usl(37)
ycmd=(r−ηtrk)(1−γ(xp))+γ(xp)usl+ηtrk(38)
where utrkis the original or unmodified crosstrack command signal, kuis a scalar gain, ηtrkis a crosstrack output reference point of a specified compact region from which the original crosstrack command signal utrkis prevented from leaving, and γ(xp) is a modulation function defined as

γ⁡(xp)=max(0,min(1,1+max⁡(xp-ηxmax)-1δSL))(39)
where the “hard limit” or “hard threshold” of an allowable range of the state to be limited xpis parameterized by a magnitude xmaxand a bias η, δSLis a percentage of the allowable range to be used as a transition region, which defines a “soft limit” or “soft threshold” of the allowable range.

According to some embodiments, the modified tracking command ycmddefined by Equation 38 can be filtered by a low-pass filter with one-side rate-saturation before being used to generate the modified command(s)252. By tuning the low-pass filter, overshoot characteristics of a closed loop system implemented by the modules of the controller100can be modified. Rate saturation of the filtered signal limits the command rate toward the vortex30, while not limiting the command rate away from the vortex.

According to yet some embodiments, the modulation function γ(xp) can be modified so that the limiting action of the limiter module250is performed only as the trailing aircraft20approaches the vortex30. In other words, in such embodiments with one-side limiting, the limiter module250does not execute the limiting algorithm if the trailing aircraft20is moving away from the vortex30.

In some embodiments, the modulation function γ(xp) can be filtered by passing the calculated value from Equation 39 through a one-sided low-pass filter (e.g., according to the relationship γk+1=max(γBL,(1−Tsτ)γk)). Such one-sided filtering of the modulation function applies the limiting action of the limiter module250as soon as any of the soft limits are met, but delays the return of the modified tracking command ycmdto its nominal or unmodified value. Generally, in the case of limiting a crosstrack command, when the crosstrack command demands movement of the trailing aircraft20into a position of instability with respect to the vortex30, and the limiting action of the limiter module250modifies the crosstrack command to move away from the vortex, the slow decay of the modulation function via the one-sided low-pass filter restricts the crosstrack command from quickly returning to the region of instability. In this manner, such one-sided low-pass filtration of the modulation function can increase the time that the trailing aircraft20is positioned in regions of stability, which leads to more stable closed-loop control.

According to one embodiment, the state or command xpmonitored for limiting is the crosstrack position command ytrk, which can be represented as a function of the crosstrack position r as follows

limt→∞⁢ytrk=r(40)
where it is assumed that asymptotic tracking for constant values for the crosstrack position r is achievable (e.g., the control system implemented by the controller100is stable). Further, based on the above assumption, a nominal closed loop dynamics can be

By setting the control signal uslequal to −KB1Px, Equation 47 becomes
{dot over (V)}=−xTQx−2γ(xp)xTPBslKBnlTPx+2xTPB((r−ηtrk)(1−γ(xp))+ηtrk)  (48)
≦−xTQx+2xTPB((r−ηtrk)(1−γ(xp))+ηtrk)  (49).
The limiter module250executes the function dynamics defined by Equations 48 and 49 to provide the modified command(s)252.

As defined in Equations 48 and 49, the modified command(s)252are limited according to the state or command xpselected for limitation. As discussed above, in one implementation, the state xpselected for limitation is the crosstrack position ytrk. Generally, the limiter algorithm incorporated into the function dynamics prevents the crosstrack position from getting too close to the vortex core (e.g., a region of instability), which might result in an uncommand vortex crossing. Additionally, in some implementations, the state xpselected for limitation is the crosstrack rate {dot over (y)}trk(e.g., the velocity of the trailing aircraft in the crosstrack direction). Limiting the crosstrack rate {dot over (y)}trkcan prevent the crosstrack position from rapidly moving through the soft and hard limits of the modulation function. As the trailing aircraft20nears a vortex core, the crosstrack rate typically incurs oscillations of increasing magnitude. By limiting the crosstrack rate, the crosstrack position command ycmdcan be modified to move the trailing aircraft20away from the region of instability. Further, the limits applied to the crosstrack rate can be set as a function of the crosstrack position, such that as the trailing aircraft20is positioned closer to the vortex core, the allowed crosstrack rate (e.g., maximum crosstrack rate) is reduced.

According to some embodiments, when limiting the crosstrack position, the limiter module250produces modified command(s)252that are equal to the trailing aircraft flight command(s)150until the crosstrack position exceeds the predetermined soft limit. Once the crosstrack position exceeds the predetermined soft limit, the modulation function γ(xp) begins to affect the modified command(s)252such that the modified command(s) are different than the aircraft flight command to effectively “push” the trailing aircraft20away from the vortex30to satisfy the soft limit.

Referring toFIG. 6, a control system300configured to execute the functionality of the position and aircraft control modules110,120is shown schematically. The control system300includes a position estimator310, an aircraft controller340, and a limiter360. The position estimator310may include the position module110, the aircraft controller340may include the aircraft control module120, and the limiter360may include the limiter module250. Based on assumed or determined operating parameters of the leading and trailing aircrafts320,330, the position estimator310determines an estimated position of the vortex and an estimated position of the trailing aircraft relative to the vortex. The position estimates are received by the aircraft controller340, which generates flight command(s), which can include a roll command and/or altitude command, for the trailing aircraft330based at least partially on the position estimates. The aircraft controller340may also utilize position commands received from pilot input350, feedback from the leading aircraft320, and feedback from the trailing aircraft330in its determination of the flight command(s).

The limiter360receives data from the leading aircraft320, the position estimate(s) from the position estimator310, and the position command(s) from the pilot input350, and either modifies, or replaces, the position command(s) with modified position command(s) or modifies, or replaces, the flight command(s) with modified flight command(s), to prevent inadvertent vortex crossings. Accordingly, the modified position command(s) and modified flight command(s) generated by the limiter360can be either adjustments to or replacements of the position command(s) generated by the pilot input350and the flight command(s) generated by the aircraft controller340, respectively.

The aircraft controller100may also include a peak-seeking module130in some embodiments. Generally, the peak-seeking module130provides peak-seeking control for efficiently moving the trailing aircraft to an optimal flight state (e.g., the desired aircraft position222) that minimizes induced drag. The peak-seeking control of the peak-seeking module130is based on the use of an extended Kalman filter to estimate various parameters associated with a measured performance metric function. The peak-seeking control is based on the following definitions and deductions. A distance vector δvpcan be defined as the difference between the position vector of the vortex30(e.g., xv) and the position vector of the trailing aircraft20(e.g., xp) (see, e.g.,FIGS. 2A and 2B). Correspondingly, assuming the behavior of the performance metric can be locally modeled, in some embodiments, a mapping function of a performance metric fm(δvp), with the performance metric being a function of the position of the trailing aircraft20relative to the vortex30, can be represented generally by
fm,0(δvp)=δvpTQ2δvp+Q1δvp+Q0(50)
where Q0, Q1, and Q2are unknown matrices of appropriate dimensions. The performance metric can be any of various metrics, such as trim pitch angle, aileron deflection, throttle command, and the like. Equation 50 can be utilized to determine δ*vpwhich is the optimal distance vector defined as the difference between the position vector of the vortex30(e.g., xv) and the desired position vector of the trailing aircraft20(e.g., xopt) (see, e.g.,FIGS. 2A and 2B), and can be represented as follows
δ*vp=−½Q2−1Q1T(51).

A position error evpcan be defined as the difference between δvpand δ*vp(see, e.g.,FIG. 1). Further, the performance metric of Equation 50 can be expressed as a function of evp, as follows

fm⁡(evp)=(evp-12⁢Q2-1⁢Q1T)T⁢Q2⁡(evp-12⁢Q2-1⁢Q1T)+Q1⁡(evp-12⁢Q2-1⁢Q1T)+Q0+q⁡(evp+δvp*)(52)
which can be reduced to the modified metric function
evpTM2evp+M0+m(evp)  (53)
where M2is equal to Q2and the linear term m(evp) is reduced to zero in the coordinates of the new inertial coordinate system.

Considering the position of the trailing aircraft20relative to the vortex30and the desired aircraft position222as estimated quantities with associated errors, the estimated position of the aircraft relative to the vortex {circumflex over (δ)}vpand the estimated desired aircraft position222(e.g., {circumflex over (δ)}*vp) are equal to
{circumflex over (δ)}vp=δvp+{tilde over (δ)}vp(54)
{circumflex over (δ)}*vp=δ*vp+{tilde over (δ)}*vp(55)
where {tilde over (δ)}vpis the relative position error. The estimated optimal position discrepancy
êvp={circumflex over (δ)}vp−{circumflex over (δ)}*vp(56)
can be reduced to
evp+{tilde over (e)}vp(57)
by utilizing Equations 54 and 55, as well as the definition of the position error evpas defined above, where {tilde over (e)}vpis the optimal position error. The modified metric function represented by Equation 53 can then be expressed in terms of the estimated optimal position discrepancy êvpand the optimal position error {tilde over (e)}vpas
évpTM2êvp−2évpTM2{tilde over (e)}vp+{tilde over (e)}vpTM2{tilde over (e)}vp+M0+m(évp−{tilde over (e)}vp(58)

The control system governing operation of the trailing aircraft20is controlled by the peak-seeking module130to achieve the desired peak-seeking control of the aircraft into the desired aircraft position222. The control system dynamics of the peak-seeking module130outputs a position command or commands, and the controller100issues flight command(s) to move the trailing aircraft20to the position command(s) output such that estimated optimal position discrepancy êvpis reduced to zero.

The position error evpis reduced by virtue of an estimation algorithm executed by the peak-seeking module130. The estimation algorithm is based on the modified metric function represented by Equation 53 above as further re-parameterized by setting M2from Equations 53 and 58 as follows

M2=NT⁢N(59)N=[n11n120n22](60)
Based on Equations 59 and 60, an estimation state vector {circumflex over (x)} can be populated with the unknown quantities can be defined as follows

x^=⁢[n^11n^12n^22M^0e~^vp⁡(1)e~^vp⁡(2)]T≡⁢[x^1x^2x^3x^4x^5x^6]T⁢(62)(61)
In certain implementations, the estimation state vector {circumflex over (x)} is assumed to be constant when determining the dynamic state estimator of the peak-seeking module130as will be described in more detail below. Another vector ŷ containing assumed known or measured quantities can be defined as follows

Based on Equations 61 and 63, a Jacobian matrix H(x,y) of the metric function represented by Equation 53 with respect to the state vectors {circumflex over (x)} and ŷ can be computed as follows

H⁡(x,y)=⁢∂fm∂x=⁢[2⁢(x5-y1)⁢(n11⁡(x5-y1)+n12⁡(x6-y2))2⁢(x6-y2)⁢(n11⁡(x5-y1)+n12⁡(x6-y2))2⁢n22⁡(x6-y2)212⁢n11⁡(n11⁡(x5-y1)+n12⁡(x6-y2))-∂m∂x52⁢(n122⁡(x6-y2)+n222⁢(x6-y2)+n11⁢n12⁢x5-n11⁢n12⁢y1)-∂m∂x6]T.(65)
According to Equation 65, the dynamic state estimator of the peak-seeking module130for providing peak-seeking control may be constructed as follows

x^.=K⁡(fm-f^m⁡(x,y))(66)f^m⁡(x,y)=fm,0⁡(x,y)(67)K=PH0T⁡(H0⁢PH0T+R)-1(68)H0=∂fm,0∂x.(69)
From Equations 66-69, two final state estimates ({tilde over (ê)}vp=[{tilde over (ê)}vp(1), {tilde over (ê)}vp(2)]T) can be extracted, which allows the auxiliary control signal v to be defined as v=−{tilde over (ê)}vp, which yields the following relationship
evp→−{tilde over (e)}vp+{tilde over (ê)}vp(70).
Based on Equation 70, better peak-seeking performance (e.g., a lower value of fm) likely is achieved when the actual position error evpis smaller than {tilde over (e)}vp.

The peak-seeking module130implements the dynamic state estimator of Equations 66-69 in discrete-time. The discrete-time approach facilitates the reformulation of a dither signal, which is typically required for peak-seeking schemes, to a sequence of low-frequency square wave pulses. Such a reformulation to the dither signal allows the trailing aircraft20to come to a trim state prior to sampling the metric function, which obviates the need to account for dynamics and transients, and significantly reduces the number of changes in the dither signal. Essentially, the peak-seeking module130modifies crosstrack and altitude commands based on the current estimate of the optimal location (e.g., desired aircraft position222) as determined by the desired aircraft position module220in combination with a search pattern that is proportional to the uncertainty of the estimate. The search pattern can be any of various types, sizes, and configurations of search patterns. In some implementations, the search pattern includes a plurality of data points (e.g., nine data points in one implementation) about a region.

For each data point, the performance metric, which can be an element of an estimator state vector (e.g., Equation 10), is evaluated using the dynamic state estimator described above for a different variable value (e.g., actual position error evp) to obtain a data set that provides a more accurate estimation of the performance metric and a more accurate desired aircraft position222. For example, the function represented in Equation 53 is run for a chosen performance metric at each data point of the search pattern, and a Kalman filter technique is used to filter the calculated value of Equation 53, to estimate the shape of a quadratic model patterned about a region defined by the search pattern. The estimated shape of the quadratic model is essentially “bowl-like” such that it has a minimum value at a bottom of the bowl. The size or region of the search pattern is selected such that at least some data points of the search pattern are position about the quadratic model to help define the shape of the quadratic model, and ensure that the bottom of the “bowl” of the quadratic model is within the region defined by the search pattern. After a first iteration of defining the shape of the quadratic model using the search pattern with a first region, the bottom of the “bowl” of the quadratic model of Equation 53 is determined. The estimator state vector is updated with the value of the performance metric associated with the bottom of the bowl, and the new desired aircraft position is determined based on the updated estimator state vector. Then a second iteration of defining the shape of the quadratic model is performed using the same (or a different) search pattern, but with a smaller second region, positioned locally about the bottom of the bowl. Because the second region is smaller and positioned about the bottom of the first “bowl,” the second “bowl” is a smaller, and more precise and accurate representation of the quadratic model. Accordingly, the bottom of the second “bowl” provides a more accurate and refined value for the estimator state vector.

The above iterative process is repeated to continuously update the shape of the quadratic model, and derive more accurate and refined values for the estimator state vector from the updated shapes. Because this peak-seeking methodology estimates the optimum value for the estimator state vector for each iteration, as opposed to iteratively moving along the edge of the same “bowl” in a selected direction until an optimum value is found as with the prior art, the optimum value is estimated quicker than with prior art peak-seeking methodologies, which leads to more responsive peak-seeking control. To further improve accuracy and responsiveness, multiple search patterns and/or multi-dimensional search patterns (e.g., 3-D search patterns, 4-D patterns, etc.) can be used for each iterative process.

Referring toFIG. 7, a control system400configured to execute the functionality of the peak-seeking module130is shown schematically. The control system400includes a position estimator410and an aircraft controller440. The position estimator410may include the position module110and the aircraft controller340may include the aircraft control module120. Similar to the position estimator310, the position estimator410determines an estimated position of the vortex and an estimated position of the trailing aircraft relative to the vortex. The position estimates are received by the aircraft controller440, which generates a roll command and/or altitude command for the trailing aircraft430based at least partially on the position estimates. The aircraft controller440may also utilize feedback from the leading aircraft420and feedback from the trailing aircraft430in its determination of the flight command(s).

Additionally, the control system400includes a peak-seeking controller460that includes the peak-seeking module120. The peak-seeking controller460receives the position estimate(s) from the position estimator, and generates position command(s) (e.g., desired position of the trailing aircraft20) based on the position estimate(s). The position command(s) are then received by the aircraft controller440, which issues flight command(s) to the trailing aircraft20based at least partially on the position command(s). Basically, then, the peak-seeking controller460sets a desired aircraft position based on the parameters associated with the minimum performance metric value.

The control system400also includes a limiter470similar to the limiter360of the control system300. The limiter470receives data from the leading aircraft420, the position estimate(s) from the position estimator410, and the position command(s) from the peak-seeking controller460, and either modifies, or replaces, the position command(s) with modified position command(s) or modifies, or replaces, the flight command(s) with modified flight command(s), to prevent inadvertent vortex crossings. Accordingly, the modified position command(s) and modified flight command(s) generated by the limiter470can be either adjustments to or replacements of the position command(s) generated by the peak-seeking control460and the flight command(s) generated by the aircraft controller440, respectively.

According to one embodiment, the control system of a peak-seeking module505is shown schematically inFIG. 8as part of a control system500for the trailing aircraft20. Generally, the control system500includes a position tracking controller510, which can form part of and be operable by the aircraft control module120of the controller100. As discussed above, the position tracking controller510is configured to provide flight commands (e.g., roll and altitude commands) to the trailing aircraft520to achieve a desired aircraft position relative to a vortex in a desired manner. The position tracking controller510determines the roll and altitude commands based at least partially on the estimated position of the aircraft relative to the vortex {circumflex over (δ)}vpas determined by a relative position estimator515, which can form part of the vortex position module210of the controller100. The position tracking controller510also determines the roll and altitude commands based at least partially on the estimated desired aircraft position {circumflex over (δ)}*vp, which can be determined by the desired aircraft position module220, received as input from a pilot of trailing aircraft20, and/or received from the peak-seeking module130. Generally, the peak-seeking module505is operable to generate the estimated desired aircraft position {circumflex over (δ)}*vpor modify the estimated desired aircraft position {circumflex over (δ)}*vpreceived from pilot input, based at least partially on sensed performance metrics associated with operation of the trailing aircraft, before being received by the position tracking controller510and used to determine the trailing aircraft flight commands150(e.g., roll and altitude commands).

The control system500includes a metric selection module530that selects the performance metric on which the peak-seeking module505determines the adjustment to the estimated desired aircraft position {circumflex over (δ)}*vp. Essentially the peak-seeking module505is configured to eliminate or reduce the errors likely associated with the estimate of the desired aircraft position {circumflex over (δ)}*vpand the estimate of the position of the aircraft relative to the vortex {circumflex over (δ)}*vp. In this manner, the peak-seeking control of the peak-seeking module505is not susceptible to the errors associated with modeling the estimated position of the aircraft relative to the vortex and the desired aircraft position. The control system500further includes an extended Kalman filter540. For each element of the state vector, the filter540produces an estimate of the value of the element via an extended Kalman filter recursion scheme as discussed above, and an uncertainty factor Σ{tilde over (ê)}vprepresenting a prediction of how close the estimate is to the actual value. Generally, as the extended Kalman filter540receives more useful information, the quality of the estimate increases, and the uncertainty factor decreases (i.e., confidence in the accuracy of the estimate increases). Further, the extended Kalman filter540also calculates the estimated optimal position error {tilde over (ê)}vpassociated with Equation 73 above.

The peak-seeking module505further includes a scaling block or module560that scales the size of the area or region of the search pattern selected from a search pattern lookup550. A single 2-D (or higher-dimensional) search pattern, or multiple search patterns, may be selected from the search pattern lookup550. The scaling block560scales the selected search pattern based on the uncertainty factor Σ{tilde over (ê)}vp. More specifically, in some implementations, the scaling block560scales the selected search pattern by the uncertainty factor Σ{tilde over (ê)}vp. Accordingly, as the uncertainty factor increases, the size of the area or region of the search pattern correspondingly increases and the trailing aircraft20spends less time near the optimal position relative to the vortex. In contrast, as the estimator becomes more confident in the estimate and the uncertainty factor decreases, the size of the search pattern decreases and the trailing aircraft20spends more time near the optimal location.

Based on the value of the bottom of the bowl obtained from application of the scaled search pattern, the peak-seeking module505calculates a refined estimated optimal position error. The control system500then sums the estimated optimal position error {tilde over (ê)}vpwith the refined estimated optimal position error to create a position offset value δOS. The position offset value is filtered by a filter570to smooth out the position offset value δOSbefore being summed with the estimated desired aircraft position {circumflex over (δ)}*vp. Accordingly, the peak-seeking module130is configured to determine a position offset value δOSthat adjusts or modifies the estimated desired aircraft position {circumflex over (δ)}*vpbased on “feeling” where the trailing aircraft20is relative to the vortex30.

Although the peak-seeking control described above is associated with controlling the position of a trailing aircraft with respect to a vortex, it is recognized that the iterative process of the peak-seeking control for determining an optimal performance metric value can be applied to other applications where the performance metric is not a function of the position of the vortex. For example, the performance metric can be associated with the position of flap surfaces of a low-deflection flap system of an aircraft during automatic pilot cruise operation.

The computer readable medium may also be a computer readable signal medium. A computer readable signal medium may include a propagated data signal with program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electrical, electro-magnetic, magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport program code for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including but not limited to wire-line, optical fiber, Radio Frequency (RF), or the like, or any suitable combination of the foregoing.

The computer program product may be shared, simultaneously serving multiple customers in a flexible, automated fashion. The computer program product may be standardized, requiring little customization and scalable, providing capacity on demand in a pay-as-you-go model.

The computer program product may be stored on a shared file system accessible from one or more servers. The computer program product may be executed via transactions that contain data and server processing requests that use Central Processor Unit (CPU) units on the accessed server. CPU units may be units of time such as minutes, seconds, hours on the central processor of the server. Additionally the accessed server may make requests of other servers that require CPU units. CPU units are an example that represents but one measurement of use. Other measurements of use include but are not limited to network bandwidth, memory usage, storage usage, packet transfers, complete transactions etc.

The terms “including,” “comprising,” “having,” and variations thereof mean “including but not limited to” unless expressly specified otherwise. An enumerated listing of items does not imply that any or all of the items are mutually exclusive and/or mutually inclusive, unless expressly specified otherwise. The terms “a,” “an,” and “the” also refer to “one or more” unless expressly specified otherwise.