METHOD OF CONTROLLING AN AIRCRAFT, FLIGHT CONTROL DEVICE FOR AN AIRCRAFT, AND AIRCRAFT WITH SUCH FLIGHT CONTROL DEVICE

20210303004 · 2021-09-30

Assignee

Inventors

Cpc classification

International classification

Abstract

A method of controlling an aircraft having multiple configurations or modes is provided, wherein each configuration is controlled by a different control law implemented by a flight control device and transition from one configuration to another configuration is achieved by gradually blending out a control law for said one configuration and by gradually increasing an impact of a control law for said other configuration in said flight control device based on an estimated flight condition of the aircraft by dynamically adjusting, in said flight control device, respective maximum and minimum limit values of control volumes, which control volumes are defined by parameter ranges of control parameters in connection with a corresponding control law for said one configuration and for said other configuration, respectively.

Claims

1. A method of controlling an aircraft (1) having multiple configurations or modes, the method comprising: controlling each said configuration or mode by a different control law implemented by a flight controller (5); and transitioning from one of said configurations or modes to another said configuration or mode by gradually blending out a control law for said one configuration or mode and by gradually increasing an impact of a control law for said other configuration or mode in said flight controller (5) based on an estimated or measured flight condition of the aircraft (1) by dynamically adjusting, in said flight controller (5), respective maximum and minimum limit values of control volumes which are defined by parameter ranges of control parameters in connection with a corresponding control law.

2. The method of claim 1, further comprising reducing said control volume in the parameter range for leaving a current one of said configurations or modes associated with said control volume, and expanding the control volume in the parameter range for switching to a desired one of said configurations or modes associated with said control volume.

3. The method of claim 2, wherein said parameter ranges are defined between maximum and minimum limit values u.sub.p1.sup.max and u.sub.p1.sup.min, respectively, for said one or primary configuration or mode, and maximum and minimum limit values u.sub.p2.sup.max and u.sub.p2.sup.min, respectively, for said other or secondary configuration or mode, with u.sub.p1 and u.sub.p2 being pseudo control inputs computed using the control laws for said primary and secondary configurations or modes, respectively, both for controlling the aircraft (1) motion and prior to allocation to different actuators (a.sub.1, a.sub.2) thereof.

4. The method of claim 3, wherein during the transitioning both of the configurations or modes are active and both u.sub.p1 and u.sub.p2 are actively being computed.

5. The method of claim 4, further comprising during the transitioning, for a given timestep ts, where dt denotes a temporal distance between timesteps, calculating a new maximum or minimum limit value u.sub.pi.sup.m**, where m** denotes maximum, max, or minimum, min, and i={1, . . . , n}, n being a number of available ones of the configurations or modes, according to u.sub.pi.sup.m**(ts)=u.sub.pi.sup.m**(ts.sub.−1)+{dot over (u)}.sub.pi.sup.m**(ts)×dt, ts.sub.−1 being a previous timestep.

6. The method of claim 5, further comprising determining derivative {dot over (u)}.sub.pi.sup.m** from {dot over (u)}.sub.pi.sup.m**=K.sub.i.sup.m**(b−u.sub.pi.sup.m**), K.sub.i.sup.m** being a positive constant and b a boundary value for u.sub.pi.sup.m**, b being either zero or equal to a maximum physical limit in case m** denotes maximum or equal to a minimum physical limit in case m** denotes minimum.

7. The method of claim 6, wherein boundary value b is equal to zero if the transitioning is for leaving a corresponding one of the configurations or modes i.

8. The method of claim 6, wherein during an initiation phase prior to any of the transitioning, at least one of the configurations or modes is defined as a primary mode by setting corresponding u.sub.pi.sup.min=ū.sub.pi.sup.min and u.sub.pi.sup.max=ū.sub.pi.sup.max, ū.sub.pi.sup.min and ū.sub.pi.sup.max being a minimum physical limit and a maximum physical limit, respectively, and any other one of the configurations of modes is defined as a secondary mode by setting u.sub.pi.sup.min=u.sub.pi.sup.max=0.

9. The method of claim 8, further comprising, when leaving said primary mode, performing a check on whether any control outputs from the control law of said primary mode deviate from desired values thereof, and, if a deviation exceeds a predetermined value, ϵ.sub.1, a control volume of the primary mode is expanded again.

10. The method of claim 9, further comprising calculating said deviation as a weighted squared error, according to e.sub.1=x.sub.1.sup.d−x.sub.1, where x.sub.1 denotes outputs from the control law of said primary mode and x.sub.1.sup.d denotes said desired values, and checking if e.sub.1.sup.TW.sub.ie.sub.i>ϵ.sub.1, where W.sub.1 is a weight matrix.

11. The method of claim 3, wherein when adapting maximum and minimum limit values of control volumes, performing a check on whether or not the adapted maximum and minimum limit values for a given one of the configurations or modes, i, lie in a predefined area around zero, in which case u.sub.pi is set to zero.

12. The method of claim 1, wherein said one configuration or mode corresponds to a copter mode of the aircraft (1), in which configuration or mode the aircraft (1) performs at least one of vertical take-off, landing, hover, turn on a spot, climb or descent, all with relatively low horizontal velocities, and wherein said other configuration or mode corresponds to a jet mode, in which configuration or mode the aircraft (1) performs at least one of level flight, turn flights, climb or descent, all with relatively higher horizontal velocities than in said copter mode, and a threshold value for said horizontal velocity in a forward direction is defined for differentiating between said copter and jet modes.

13. The method of claim 12, further comprising measuring a horizontal velocity relative to surrounding air of the aircraft (1) and using the horizontal velocity as a trigger for switching from copter mode to jet mode, and vice versa.

14. The method of claim 12, further comprising estimating a horizontal velocity relative to surrounding air of the aircraft (1) using a pilot control input relating to a forward motion, by: normalizing said pilot control input; low-pass filtering said pilot control input; using said low-pass filtered and normalized pilot input as an estimated normalized forward speed; and assigning a threshold for the estimated normalized forward speed in order to determine when to switch from copter mode to jet mode, and vice versa.

15. A flight controller (5) for an aircraft (1) having multiple configurations or modes, wherein each configuration or mode is controlled by a different control law implemented by said flight controller (5), said flight controller (5) is configured to transition from one of said configurations or modes to another of said configurations or modes by gradually blending out a control law for said one configuration or mode and by gradually increasing an impact of a control law for said other configuration or mode in said flight controller (5) based on an estimated flight condition of the aircraft (1) by dynamically adjusting respective maximum and minimum limit values of control volumes defined by parameter ranges of control parameters in connection with a corresponding control law.

16. An aircraft (1) having multiple configurations or modes, wherein one of said configurations or modes corresponds to a copter mode of the aircraft (1), in which mode the aircraft (1) performs at least one of vertical take-off, landing, hover, turn on a spot, climb or descent, all with relatively low horizontal velocities, and wherein said other of said configurations or modes corresponds to a jet mode, in which mode the aircraft (1) performs at least one of level flight, turn flights, climb or descent, all with relatively higher horizontal velocities than in said copter mode, said aircraft (1) comprising a flight controller (5) according to claim 15.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Advantageous further embodiments of the invention will now be described in connection with the appended drawings.

[0051] FIG. 1 shows an aircraft 1 that can be operated using at least two different control options or control modes;

[0052] FIG. 2 shows a system with multiple sets of control options;

[0053] FIG. 3 shows details of the switching or transition mechanism between two control modes;

[0054] FIG. 4 shows an example, where boundaries of the control volumes of primary and secondary control options are dynamically changed in accordance with the present invention; and

[0055] FIG. 5 shows using low-pass filtered and normalized pilot input as estimated normalized forward speed.

DETAILED DESCRIPTION

[0056] FIG. 1 shows an aircraft 1 that can be operated using at least two different control options or control modes. The aircraft has lifters 2, i.e., rotors with essentially vertical axis of rotation, and pushers 3, i.e., rotors with essentially horizontal axis of rotation. While lifters 2 are used for, e.g., hover flight, pushers 3 can be used for forward travel which exceeds a certain threshold velocity. In this way, operating the aircraft 1 by using lifters 2 and by using pushers 3 (together with control surfaces, e.g., flaps, ailerons, elevators, etc.—some of them being denoted by reference numeral 4), respectively, can be regarded as two separated control options or modes. Using lifters 2 can be regarded as a copter mode, whereas using pushers 3 can be regarded as a jet mode. Reference numeral 5 denotes a flight controller or flight control unit/device in operational connection with different sensors 6, which sensors measure different physical parameters of the aircraft 1, in particular its airspeed (velocity relative to the ambient air). Flight controller 5 uses different control laws to control, inter alia, lifters 2 and/or pushers 3 based on data provided by sensors 6 and pilot input (from pilot input device 7, e.g., a joystick) or data from an autonomous system which replaces the pilot. To this end, flight controller 5 implements a control algorithm that will be explained in detail below.

[0057] FIG. 2 shows a relatively generic sketch of a system (e.g., the aircraft 1 of FIG. 1) with multiple (e.g., two) sets of control options (denoted u.sub.1,u.sub.2), where actuators corresponding to u.sub.1, i.e., actuators that are active while the system is controlled according to a corresponding mode, are depicted with solid dots a.sub.1; there are a number k.sub.1 of actuators a.sub.1, they create forces in upward direction (e.g., lift), as depicted by vertical arrows L. The actuators a.sub.2 corresponding to u.sub.2 are depicted with hollow dots. There are a number k.sub.2 of actuators a.sub.2, and they create horizontal forces (e.g., forward), as depicted by horizontal arrows H. Dashed lines denote a position a given actuator a.sub.1, a.sub.2 relative to a center C (center of gravity) of the system. Note that upward or horizontal directions (L, H) and numbers of control options (“1”, “2”) are chosen as an example for better understandability. Note that the method proposed here is not limited to this example.

[0058] In FIG. 2, u.sub.i.sup.j denotes a control input for actuator j, where j={1, . . . , k.sub.i}, in the context of control option i. Note that in general, a given actuator can be involved in more than more control option. The nature and position of the actuators forms the basis for the allocation matrix mentioned above.

[0059] In FIG. 3, details of the switching or transition mechanism between two control modes Mode-1, Mode-2 as an embodiment of the method according to the invention are shown in detail. u.sub.p1 and U.sub.p2 refer to corresponding pseudo control inputs, which will generally be represented by vectors, the elements or components of which represent a solution of Eq. 4, such that they are computed using dedicated control laws in order to control the system represented in Eq. 4 in a stable and performant way. The mechanism can be implemented as an algorithm by flight controller 5 (cf. FIG. 1; flight controller will implement a controller for Mode-1 and a controller for Mode-2, respectively, which are active simultaneously).

[0060] When performing the method, boundaries of the (pseudo) control volumes spanned by the elements of u.sub.p1,u.sub.p2 are adjusted as described on the right side of FIG. 3. Maximum and minimum values u.sub.pi.sup.min,u.sub.pi.sup.max; i=[1; 2], of all elements of the pseudo control inputs are dynamically adjusted depending on the current mode, thus adjusting the respective control volumes and changing the dominance of the corresponding controllers. Note that, e.g., u.sub.p1∈custom-character.sup.4, when it consists of control thrust and control torques around roll, pitch and yaw axes; hence by maximum and minimum values we consider different maximum and minimum values for each dimension or component. ū.sub.pi.sup.min and ū.sub.pi.sup.max denote a minimum physical limit and a maximum physical limit, respectively, i.e., a vector with a corresponding value for every dimension of pseudo control volume.

[0061] First, during an init phase (initiation phase, “INIT”) that can be performed on the ground in the case of an aircraft, prior to any transition at least one mode (“Mode-1” according to FIG. 3) is defined as primary mode by setting corresponding u.sub.pi.sup.min=ū.sub.pi.sup.min. Any other mode (“Mode-2” according to FIG. 3) is defined as secondary mode by setting u.sub.pi.sup.min=u.sub.pi.sup.max=0. This has already been described in detail above. The primary mode is controlled by a so-called primary controller, while the secondary mode is controlled by a so-called secondary controller.

[0062] In FIG. 3, s.sub..fwdarw.1 denotes switching to Mode-1 (or staying in said mode), and s.sub..fwdarw.2 denotes switching to Mode-2 (or staying in said mode). This is graphically illustrated on the left-hand side of FIG. 3.

[0063] When switching, i.e., during transition, derivatives {dot over (u)}.sub.pi.sup.m** with respect to time are used for calculating the new limit values u.sub.pi.sup.m**, which is equivalent to saying that the control volume is adjusted (expanded or shrunk). Throughout this text, m** denotes either maximum, max, or minimum, min. For a given timestep ts, where dt denotes a temporal distance between timesteps, a new maximum or minimum limit value u.sub.pi.sup.m**, where i={1, . . . , n}, n being a number of available modes, e.g. two, is calculated by using said time derivatives {dot over (u)}.sub.pi.sup.m** according to u.sub.pi.sup.m**(ts)=u.sub.pi.sup.m**(ts.sub.−1)+{dot over (u)}.sub.pi.sup.m**(ts)×dt, ts.sub.−1 being a previous timestep. This represents an efficient and differentiable (smooth) way of adapting said limit values and thus transiting between control modes.

[0064] FIG. 3 shows said derivatives and calculation thereof for Mode-1 and Mode-2, respectively. K.sub.1,2.sup.min,max are (positive) constants. The equations starting with {dot over (u)}.sub.pi.sup.m** can be referred to as u-dynamics. They are first order system dynamics are determined by positive gains K.sub.1,2.sup.min,max. The K.sub.1,2.sup.min,max are computed as a function of controlled system dynamics and specific actuator characteristics used for relevant control modes, e.g., actuation time and control bandwidths. Overall u-dynamics has the behavior of a low-pass filter.

[0065] Moreover, in Mode-2 (or when switching to Mode-2) a weighted squared error is used for the states or outputs that are actively controlled by the primary controller, since both controllers are active simultaneously. Consider e.sub.1=x.sub.1.sup.d−x.sub.1, where x.sub.1 collects the states/outputs controlled by the primary controller, e.g., altitude, roll, pitch and yaw angles and their derivatives, and u.sub.p1∈custom-character.sup.4, when it consists of control thrust and control torques around roll, pitch and yaw axes. Said weighted squared error can be determined using e.sub.1.sup.TW.sub.1e.sub.1>ϵ.sub.1, where W.sub.1 is a weight matrix. Said weight matrix W.sub.1 differs from that in Eq. 3. It is weighting the errors in states that we are interested in controlling/tracking (e.g., 3D attitude and altitude states; in that case W.sub.1 is a 4×4 matrix, if the errors in the derivatives of these states are ignored). In Eq. 3, W.sub.1 was a k.sub.i×k.sub.i matrix.

[0066] If the weighted squared errors are greater than a predefined threshold (ϵ.sub.1), i.e., if the “if” condition in Mode-2 is fulfilled, then the control volumes of the primary controller are expanded again, as indicated, making the primary controller available for correcting the errors (in fact, in this case the time derivatives for {dot over (u)}.sub.p1.sup.m**. correspond to those for Mode-1. If said errors are less or equal than this predefined threshold ϵ.sub.1, i.e., if the “else” condition in Mode-2 is fulfilled, then primary control option is not needed and hence the boundaries of its volume can be shrunk. Finally, its impact on the overall control will vanish.

[0067] Note that both primary and secondary control options are active, i.e. the control laws for both are actively being computed. However, the boundaries of the allowed control volume, and hence their impact on the overall control of the aircraft, are actively adjusted. In this way we do not need to discretely switch from one control method to another, but transition occurs in a smooth and continuous way.

[0068] Note that an error in derivatives of the controlled states can also be considered, e.g., ė.sub.1={dot over (x)}.sub.1.sup.d−{dot over (x)}.sub.1, without loss of generality. Also note that in the proposed algorithm, the primary controller option controls the airborne vehicle (aircraft) and its states already in the initial phase, i.e., the airborne vehicle is initially controlled by the primary control option. Then, if a condition occurs for switching to Mode-2 the airborne vehicle is in a new mode.

[0069] As already stated, for each mode there are different dynamics for adjusting the maximum and minimum values of primary and secondary pseudo control inputs (u.sub.p1.sup.max, u.sub.p1.sup.min, u.sub.p2.sup.max and u.sub.p2.sup.min) as shown on the right side of FIG. 3. Recall that each of these values are not necessarily scalars, in fact in general for airborne vehicles they are vectors consisting of different elements. Note that known physical boundaries or limits to these values, that are never to be exceeded, are depicted with ū.sub.p1.sup.max, ū.sub.p1.sup.min, ū.sub.p2.sup.max and ū.sub.p2.sup.min.

[0070] Also note the two last “if” conditions at the bottom of FIG. 3. They represent the following logic: If a component or dimension of the primary or secondary control option, respectively, is very close to zero (i.e., comprised within a “0-area” with lower boundary û.sub.p1.sup.min and û.sub.p2.sup.min for primary and secondary control options, respectively, and with upper boundary û.sub.p1.sup.max and û.sub.p2.sup.max for primary and secondary control options, respectively) then for those components, the corresponding pseudo control input is actively set to zero. This creates a so-called dead-zone, for avoiding any unstable or “bang-bang behavior.

[0071] See FIG. 4 for an example, where the upper and lower boundaries of the control volumes of primary and secondary control options are dynamically changed for different conditions and in accordance with the present invention.

[0072] In FIG. 4, the solid lines illustrate the evolution of the upper and lower limit values, u.sub.p1.sup.max, u.sub.p1.sup.min for primary control during a transition from Mode-1 to Mode-2 and back to Mode-1. The dashed lines shown the same temporal evolution of the upper and lower limit values, u.sub.p2.sup.max, u.sub.p2.sup.min for secondary control.

[0073] Further in FIG. 4, the encircled areas provide detailed view of regions, in which said limit values come close to zero. In said detailed views, one can see said 0-areas defined around zero by lower boundaries û.sub.p1.sup.min, û.sub.p2.sup.min and upper boundaries û.sub.p1.sup.max, û.sub.p2.sup.max, respectively. Within said areas, a corresponding pseudo control input is preferably set to zero.

[0074] In particular, for airborne vehicles of the type shown in FIG. 1, transition from Mode-1 to Mode-2 can be triggered, for instance, by a threshold in forward speed (if measured and available w.r.t. the air), or by estimation based on pilot control input (cf. FIG. 1). The latter case is illustrated in FIG. 5.

[0075] As shown in FIG. 5, the pilot control input is preferably normalized, and then low-pass filtered. The low-pass filtered and normalized pilot input thus obtained (i.e., input relating to a forward motion of the aircraft) can be regarded as estimated normalized forward speed (dashed curve in FIG. 5). Using simulations and flight test data, a threshold can be assigned for said normalized estimated forward speed in order to determine when to switch from Mode-1 to Mode-2, or from Mode-2 to Mode-1 (i.e., s.sub..fwdarw.1 and s.sub..fwdarw.2, respectively).

[0076] In FIG. 5, said threshold is denoted “transition”. As long as the dashed curve is below said threshold, the aircraft is operated in Mode-1. If the dashed curve rises above said threshold, transition to Mode-2 is initiated, as described, e.g., in connection with FIGS. 3 and 4. Once the dashed curve falls below said threshold again, transition back to Mode-1 is initiated, as described, e.g., in connection with FIGS. 3 and 4.

[0077] Note that the invention can also be used (and might be very useful) when the aircraft is flying autonomously. In that case, one would not be using the forward speed estimation based on pilot input.

[0078] Actually, for a safe and performant autonomous flight, forward speed measurement (if available w.r.t. air) may be regarded as essential. Hence, in that case speed measurement (possibly supported with different types of estimates) could advantageously be used.