Method of controlling an actuator system and aircraft using same

11628927 · 2023-04-18

Assignee

Inventors

Cpc classification

International classification

Abstract

A method of operating an under-actuated actuator system including a plurality of actuators (3), preferably for operating a multiactuator aerial vehicle (1), wherein the actuators (3) are individual propulsion units of the multiactuator aerial vehicle (1), each actuator having a maximum physical capacity u.sup.max, the method including: controlling the actuators (3) by with an actual control input u∈custom character.sup.k computed from an allocation equation u=D.sup.−1u.sub.p, wherein D.sup.−1 is an inverse allocation matrix and u.sub.p∈custom character.sup.m is a pseudo control input defined by a system dynamics equation m(x){umlaut over (x)}+c(x,{dot over (x)})+g(x)+G(x)u.sub.p=f.sub.ext, wherein x∈custom charactern is an n-dimensional configuration vector of the system, m(x)∈custom character.sup.n×n is a state dependent generalized moment of inertia, c(x,{dot over (x)})∈custom character.sup.n are state dependent Coriolis force, g(x)∈custom character.sup.n are gravitational forces and f.sub.ext∈custom character.sup.n are external forces and torques, and G(x)∈custom character.sup.n×m is a control input matrix which contains the information of under-actuation. The system is under-actuated if Rank (G(x))<n or both under-actuated and overly determined in case of k>m>n and Rank (G(x)D)<n, with k,m,n∈custom character; using state feedback control to recurrently compute a desired pseudo control input u.sub.p from the system dynamics equation. If at least one component of the desired pseudo control input u.sub.p is greater than a corresponding maximum pseudo control input u.sub.p.sup.max that can be generated based on the actuator maximum physical capacity u.sup.max and based on positions (or characteristics and configurations) of the actuators within the system, prioritizing at least one of the components of u.sub.p over the other components of u.sub.p; and a) by using a prioritizing algorithm, solving the allocation equation for the at least one prioritized component of u.sub.p before solving the allocation equation for the remaining components of u.sub.p; or b) during state feedback control, adjusting a limiting value of the at least one prioritized component of u.sub.p by an amount, while keeping respective limiting values of the remaining components of u.sub.p essentially constant.

Claims

1. A method of operating an under-actuated actuator system comprising a plurality of actuators (3), wherein said actuators (3) comprise individual propulsion units of a multiactuator aerial vehicle (1), each one of the actuators having a maximum physical capacity u.sup.max, the method comprising: controlling the actuators (3) with an actual control input u∈custom character.sup.k computed from an allocation equation
u=D.sup.−1u.sub.p, wherein D.sup.−1 is an inverse allocation matrix and u.sub.p ∈custom character.sup.m is a pseudo control input defined by a system dynamics equation
M(x){umlaut over (x)}+c(x,{dot over (x)})+g(x)+G(x)u.sub.p=f.sub.ext, wherein x∈custom character.sup.n is an n-dimensional configuration vector of the system, M(x)∈custom character.sup.n×n is a state dependent generalized moment of inertia, c(x,{dot over (x)}) E custom character.sup.n are state dependent Coriolis forces, g(x)∈custom character.sup.n are gravitational forces,f.sub.ext ∈custom character.sup.n are external forces and torques, and G(x)∈custom character.sup.n×n is a control input matrix which contains information of under-actuation, where the system is said to be under-actuated if Rank (G(x))<n or both under-actuated and overly determined in case of k>m>n and Rank (G(x)D)<n, with k,m,n ∈custom character; using a feedback control to recurrently compute a desired pseudo control input u.sub.p from said system dynamics equation; if at least one component of said desired pseudo control input u.sub.p is greater than a corresponding maximum pseudo control input u.sub.p.sup.max that can be generated based on said actuator maximum physical capacity u.sup.max and based on positions or configuration of the actuators (3) within the system, or if the actuator system comes to a control volume limit, u.sub.p>u.sub.p.sup.max, without individual ones of the actuators reaching their own limits u.sup.max, such as if all actuators (3) are close to their respective limits u.sup.max, prioritizing at least one of the components of u.sub.p over the other of the components of u.sub.p; and a) by use of a prioritizing algorithm, solving said allocation equation for said at least one prioritized component of u.sub.p before solving said allocation equation for the remaining components of u.sub.p; or b) during state feedback control, adjusting a limiting value of said at least one prioritized component of u.sub.p by an amount, while keeping respective limiting values of the remaining components of u.sub.p essentially constant.

2. The method of claim 1, wherein in case of b), adjusting said limiting value of said at least one prioritized component of u.sub.p by an amount comprises reducing said limiting value.

3. The method of claim 1, wherein in case of a), at least one of the components of u.sub.p is pre-selected, and solving said allocation equation comprises solving said allocation equation for said at least one pre-selected component of u.sub.p before solving said allocation equation for the other components of u.sub.p.

4. The method of claim 3, wherein in case of a plurality of pre-selected ones of the components of u.sub.p, solving said allocation equation for said pre-selected components of u.sub.p comprises solving said allocation equation for said plurality of pre-selected components of u.sub.p at a same time as solving said allocation equation for said other components of u.sub.p.

5. The method of claim 4, wherein solving said allocation equation at the same time is performed if said at least one component of said desired u.sub.p which is greater than said corresponding maximum pseudo control input u.sub.p.sup.max is a pre-selected component of u.sub.p.

6. The method of claim 5, wherein, if said at least one component of said desired u.sub.p which is greater than said corresponding maximum pseudo control input u.sub.p.sup.max is not a pre-selected component of u.sub.p, at least one physical threshold value is defined and compared to a current value of a corresponding state variable of the system; and wherein an order of solving said allocation equation for the other components of u.sub.p is determined based on a result of said comparison.

7. The method of claim 1, wherein, u.sub.p=[u.sub.tτ.sub.xτ.sub.yτ.sub.z].sup.T ∈custom character.sup.4, where u.sub.t is a collective thrust, and τ.sub.* are body-fixed frame control torques around the body axes, which are *={x,y,z}, τ.sub.x being a roll torque, τ.sub.y being a pitch torque, and τ.sub.z being a yaw torque.

8. The method of claim 7, wherein the roll torque τ.sub.x and the pitch torque τ.sub.y are pre-selected, and solving said allocation equation comprises solving said allocation equation for said at least one pre-selected component of u.sub.p before solving said allocation equation for the other components of u.sub.p.

9. The method of claim 8, wherein the yaw torque τ.sub.z and the collective thrust u.sub.t are considered as other components of u.sub.p.

10. The method of claim 9, wherein if said at least one component of said desired u.sub.p which is greater than said corresponding maximum pseudo control input u.sub.p.sup.max is not a pre-selected component of u.sub.p, at least one physical threshold value is defined and compared to a current value of a corresponding state variable of the system; and wherein an order of solving said allocation equation for the other components of u.sub.p is determined based on a result of said comparison, and the yaw torque τ.sub.z is prioritized over collective thrust u.sub.t, if a translational velocity v of the multiactuator aerial vehicle (1) is greater than a first threshold value v.sub.t and if an altitude z of the multiactuator aerial vehicle (1) is greater than a second threshold value z.sub.t.

11. The method of claim 10, wherein the collective thrust u.sub.t is prioritized over the yaw torque T.sub.z, if the translational velocity v of the multiactuator aerial vehicle (1) is less than or equal to a first threshold value v.sub.t and if an altitude z of the multiactuator aerial vehicle (1) is less than or equal to a second threshold value z.sub.t.

12. An aircraft (1), comprising: a flight control unit (2) including a feedback control unit (2a) and an allocation unit (2b), an actuator system comprising a plurality of actuators (3), wherein said actuators (3) comprise individual propulsion units of the aircraft (1), said actuators (3), during operation, are adapted to receive, from the flight control unit (2), a control input u∈custom character.sup.k, k∈custom character, said control input u is determined by at least one computer algorithm performed on said flight control unit (2), wherein the flight control unit (2), by at least one of: the feedback control unit (2a) or the at least one computer algorithm, is adapted to perform the method according to claim 1; and the respective control input u is adapted to be supplied by the flight control unit to said actuators (3).

13. The aircraft (1) of claim 12, further comprising: at least one of: sensor units (4), estimation units, or output units in operative connection with said feedback control unit (2a) for providing sensor data (SD), estimation data, or output data, respectively, representative of a physical and operational state of the aircraft (1) to said feedback control unit (2a), and the flight control unit (2) is configured to determine said desired pseudo control input u.sub.p from said sensor data (SD), estimation data or output data, respectively.

14. The aircraft (1) of claim 13, further comprising: the at least one of sensor units (4), estimation units or output units are in operative connection with said allocation unit (2b) for providing the sensor data (SD), estimation data or output data, respectively, representative of the physical and operational state of the aircraft (1) to said allocation unit, wherein the least one flight control unit (2) is configured to determine said actual control input u from said desired pseudo control input u.sub.p and from said sensor data (SD), estimation data or output data, respectively.

15. The aircraft (1) of claim 14, wherein said feedback control unit (2a) and said allocation unit (2b) are operatively connected and said feedback control unit (2a) is adapted to provide said desired pseudo control input u.sub.p to said allocation unit (2b), said allocation unit (2b) is adapted to solve allocation equation u=D.sup.−1u.sub.p and to output control input u to said actuators (3).

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) Further features and advantages of the invention will now be described with reference to the appended drawings, which illustrate specific embodiments of the invention by way of example.

(2) FIG. 1 shows a schematic drawing of an aircraft according to the invention;

(3) FIG. 2 schematically illustrates an embodiment of a flight control unit comprised in the aircraft of FIG. 1;

(4) FIG. 3 shows detailed logic of an embodiment of a prioritizing algorithm comprised in a method according to the invention;

(5) FIG. 4 illustrates details of the algorithm in FIG. 3; and

(6) FIG. 5 shows detailed logic of an embodiment of an alternative prioritizing algorithm comprised in a method according to the invention.

DETAILED DESCRIPTION

(7) FIG. 1 shows an exemplary MAV-eVTOL aircraft denoted by reference numeral 1. Aircraft 1 has a flight control unit (or flight controller) 2 which is in operational connection with a plurality of actuators 3 in the form of aircraft propulsion units, each having an electric motor 3a and a propeller 3b. Only one actuator is explicitly marked in FIG. 1 for reason of clarity. According to the example of FIG. 1, in a vicinity of (each) actuator 3 at least one sensor 4 is located for measuring an operational state of the actuator 3. This may comprise without limitation measuring a temperature, an electrical/mechanical power consumption, a rotational velocity (RPM) etc. of the actuator, in order to determine its present operational state and health status (e.g., overheated). There are many more flight relevant sensors onboard the aircraft 1 (which can be placed in various locations, e.g. in vicinity of the flight control unit 2, of the at least one sensor 4 or in other places), which determine flight control and safety-relevant data (attitude, air speed, ground speed, collision-avoidance data etc.), and/or estimation units and output units, which are known to the skilled person and not shown here. The at least one sensor 4 and said other sensors provide aircraft status data SD which can be used by flight control unit 2. Likewise, said estimation units and output units can provide respective estimation data and output data, which is not shown here. In this way, flight control unit 2 by means of suitable algorithms—using known state feedback control laws (which for MAV-VTOL comprise, e.g., attitude, altitude, position/velocity control, path/trajectory tracking etc.) can compute a desired control input u.sub.p, e.g., based on the system dynamics described in Equation 1. This, however, needs to be distributed to the physical actuators 3 using actual control inputs u, one of which is denoted u.sub.i (relating to a given actuator i) and shown in FIG. 1. A sort of inverse matrix computation is needed in order to compute u.sub.p from u. This has been explained in detail above.

(8) FIG. 2 schematically illustrates an embodiment of flight control unit 2 in more detail. Flight control unit 2 comprises a feedback control unit 2a and an allocation unit 2b. At reference numeral 2c, a motion planning unit is provided, which calculates and provides desired flight trajectories DT to feedback control unit 2a. Flight trajectories DT from motion planning unit 2c can be an output of an autopilot algorithm, of a fully autonomous flight computer or of a reference dynamics block mapping the pilot inputs to smooth and bounded outputs for stable, robust and better handling qualities. Feedback control unit 2a is adapted to receive relevant data relating to a state of aircraft 1, e.g., sensor data SD and more, in order to determine desired control output u.sub.p from desired flight trajectories DT. Sensor data SD is not limited to data coming only from motors, as schematically depicted by FIG. 2. Sensor data SD to be used in state feedback control unit 2a typically comes mainly from IMUs, barometers, GNSS, etc. Such components typically are placed remote from propulsion units. A feedback from the propulsion units can also be used, although it is not necessary for feedback control. Desired control output u.sub.p is then provided to allocation unit 2b, which comprises computing means that perform the prioritizing algorithm explained further up. In other words: allocation unit 2b receives said desired control input u.sub.p and, by means of said prioritizing algorithm, solves the allocation equation for at least one prioritized component of u.sub.p before solving said allocation equation for the remaining components of u.sub.p, as explained in detail further up. An output of the corresponding calculations is then provided to the individual actuators 3 in the form of actual control input u.sub.1. Data SD from sensors 4 (or other sources; cf. above) can be used to enhance performance, e.g., by providing control feedback to either feedback control unit 2a and/or allocation unit 2b however, this is not required.

(9) FIG. 3 shows detailed logic of an embodiment of a prioritizing algorithm comprised in a method according to the invention.

(10) Input variables are u.sub.p=[u.sub.tτ.sub.xτ.sub.yτ.sub.z].sup.T∈custom character.sup.4, where u.sub.t is a collective thrust, and τ.sub.* are body-fixed frame control torques around the body axes, which are *={x,y,z}, τ.sub.x being a roll torque, τ.sub.y being a pitch torque, and τ.sub.z being a yaw torque and a parameter p (for priority) an initial value of which is zero.

(11) The maximum thrust and the maximum torques the aircraft can generate (or maximum allowed thrust and torques considering the physical limitations of the aircraft) are known. This has been previously defined as u.sub.p.sup.max. u.sub.p.sup.max is a further input value which can change due to actuator failure etc. If a desired control input u.sub.p as determined from feedback control law (i.e., by means of said feedback control unit) is greater than or equal to u.sub.p.sup.max for at least one of u.sub.t,τ.sub.x,τ.sub.y, τ.sub.z, i.e., collective thrust as well as torques around roll, pitch and yaw axes, respectively, then a prioritization between collective thrust and these three torques will be required. This is shown at S1 in FIG. 3 and implies setting p to a value other than zero, i.e., p=1 or p=2, depending on which one of u.sub.t, τ.sub.x, τ.sub.y, τ.sub.z has reached saturation (e.g., τ.sub.z>τ.sub.z.sup.max). Furthermore, the respective component u.sub.t,τ.sub.x,τ.sub.y, τ.sub.z of u.sub.p is set to its maximum value.

(12) At S2, it is checked whether or not p≠0. In the affirmative (Y), the method continues at S3. Otherwise (N), there has been no saturation, and u=D.sup.−1u.sub.p is solved for all u.sub.p (i.e., the components thereof) at once.

(13) Now, if some of the actuators reach to some sort of saturation (or are lost), i.e. p≠0, then at least one of said dimensions (or components) of u.sub.p has to be given priority over another. In the example of FIG. 3, τ.sub.x (roll torque) and τ.sub.y (pitch torque) are always prioritized over other components of u.sub.p in step S3. u=D.sup.−1u.sub.p is first solved for τ.sub.x and τ.sub.y, which means that control resources are allocated such that desired values for τ.sub.x and τ.sub.y can be achieved.

(14) Then, at S4, it is checked whether or not p=1 (cf. step S1). In the affirmative (Y), the method continues at S5. Otherwise (N), p=2 which means that there has been no saturation for u.sub.t and τ.sub.z, and u=D.sup.−lu.sub.p is solved for u.sub.t and τ.sub.z at the same time (S6).

(15) At S5, τ.sub.z (yaw torque) is prioritized over u.sub.t (collective thrust, altitude), if a translational (especially a horizontal) velocity v of the aircraft is greater than a threshold value v.sub.t (given, e.g., in m/s; i.e., ∥v∥>v.sub.t) and if an altitude z of the aircraft is greater than another threshold value z.sub.t (given, e.g., in meters). In this way, in case a prioritization is needed and if the aircraft is sufficiently away from the ground at sufficiently high velocity, a heading of the aircraft is protected, while height is sacrificed instead.

(16) In case one of the comparisons at S5 yields a negative result (N), the method continues at S7. u.sub.t is then prioritized over τ.sub.z, if the translational velocity of the aircraft is less than or equal to said threshold value v.sub.t (i.e., ∥v∥≤v.sub.t) and if an altitude of the aircraft is less than or equal to said threshold value z.sub.t (i.e., z≤z.sub.t). In this way, in case a prioritization is needed and if the aircraft is near ground, altitude is protected, and yaw alignment is sacrificed instead. If one of the comparisons at S7 yields a negative result (N), the method continues at S8. S8 implies that there is no prioritization between altitude u.sub.t and yaw τ.sub.z, and u=D.sup.−1u.sub.p is solved for u.sub.t and yaw τ.sub.z at the same time (after it was solved for τ.sub.x and τ.sub.y).

(17) In case both comparisons at S5 yield a positive result (Y), the method continues at S9, wherein yaw τ.sub.z is prioritized over altitude u.sub.t, i.e., u=D.sup.−1u.sub.p is solved first for τ.sub.z and then for u.sub.t.

(18) In case both comparisons at S7 yield a positive result (Y), the method continues at S10, wherein altitude u.sub.t is prioritized over yaw τ.sub.z, i.e., u=D.sup.−1u.sub.p is solved first for u.sub.t and then for τ.sub.z.

(19) Steps S5 and S7 are illustrated schematically in FIG. 4, which is otherwise self-explanatory.

(20) FIG. 5 shows detailed logic of an embodiment of an alternative prioritizing algorithm comprised in a method according to the invention. In particular, FIG. 5 refers to an embodiment of the algorithm dealing with state feedback control.

(21) Input variables are u.sub.p=[u.sub.tτ.sub.xτ.sub.yτ.sub.z].sup.T∈custom character.sup.4, where u.sub.t is a collective thrust, and τ.sub.* are body-fixed frame control torques around the body axes, which are *={x,y,z}, τ.sub.x being a roll torque, τ.sub.y being a pitch torque, and τ.sub.z being a yaw torque and a parameter p (for priority) an initial value of which is zero.

(22) The maximum thrust and the maximum torques the aircraft can generate (or maximum allowed thrust and torques considering the physical limitations of the aircraft) are known. This has been previously defined as u.sub.p.sup.max. u.sub.p.sup.max is a further input value which can change due to actuator failure etc. (cf. top left in FIG. 5).

(23) If a desired control input u.sub.p as determined from feedback control law (i.e., by means of said feedback control unit) is greater than or equal to u.sub.p.sup.max for at least one of u.sub.t,τ.sub.x,τ.sub.pτ.sub.z, i.e., collective thrust as well as torques around roll, pitch and yaw axes, respectively, then a prioritization between collective thrust and these three torques will be required. This is shown at S11 in FIG. 5 and implies setting p to a value other than zero, i.e., p=1 or p=2, depending on which one of u.sub.t,τ.sub.x,τ.sub.pτ.sub.z has reached saturation (e.g., τ.sub.z>τ.sub.z.sup.max). Furthermore, the respective component u.sub.t,τ.sub.x,τ.sub.z of u.sub.p is set to its maximum value, u.sub.p.sup.max.

(24) At S12, it is checked whether or not p≠0. In the affirmative (Y), the method continues at S13. Otherwise (N), there has been no saturation, and u=D.sup.−1u.sub.p is solved for all u.sub.p (i.e., the components thereof) at once, step S14.

(25) Now, if some of the actuators reach to some sort of saturation (or are lost), i.e., p≠0, (“Y” at S12) then at least one of said dimensions (or components) of u.sub.p has to be given priority over another.

(26) In the example of FIG. 5, τ.sub.x (roll torque) and τ.sub.y (pitch torque) are prioritized over other components of u.sub.p in step S15 (“N” in step S13). u.sub.t and τ.sub.z are then limited according to u.sub.t≤u.sub.t.sup.max,1, τ.sub.z≤τ.sub.z.sup.max,1, and u=D.sup.−1u.sub.p is solved with new pseudo inputs. Note that in this step, both control thrust and yaw torque are bounded by respective values u.sub.t.sup.max,1 (for example 90% of u.sub.t.sup.max) and τ.sub.z≤τ.sub.z.sup.max,1 (for example 90% of τ.sub.z.sup.max).

(27) At S13, it is checked whether or not p=1. In the affirmative (Y), the method continues at S16. Otherwise (N), p=2, the method continues at S15, as explained above.

(28) At S16, it is checked if a translational (especially a horizontal) velocity v of the aircraft is greater than a threshold value v.sub.t (given, e.g., in m/s; i.e., ∥v∥>v.sub.t) and if an altitude z of the aircraft is greater than another threshold value z.sub.t (given, e.g., in meters). In this way, in case a prioritization is needed and if the aircraft is sufficiently away from the ground at sufficiently high velocity, a heading of the aircraft is protected, while height is sacrificed instead (cf. S18).

(29) In case one of the comparisons at S16 yields a negative result (N), the method continues at S17. This involves checking if the translational velocity of the aircraft is less than or equal to said threshold value v.sub.t (i.e., ∥v∥≤v.sub.t) and if an altitude of the aircraft is less than or equal to said threshold value z.sub.t (i.e., z≤z.sub.t). In this way, in case a prioritization is needed and if the aircraft is near ground, altitude is protected, and yaw alignment is sacrificed instead, cf. S19.

(30) If one of the comparisons at S17 yields a negative result (N), the method continues at S15, as explained above.

(31) In case both comparisons at S16 yield a positive result (Y), the method continues at S18, wherein yaw τ.sub.z is prioritized over altitude u.sub.t. u.sub.t and τ.sub.z are then limited according to u.sub.t≤u.sub.t.sup.max,2<u.sub.t.sup.max,1, τ.sub.z≤τ.sub.z.sup.max,1, and u=D.sup.−1u.sub.p is solved with new pseudo inputs. Note that in this step, control thrust is bounded with a more conservative value compared to the yaw torque (for example u.sub.t.sup.max,2 is 80% of u.sub.t.sup.max, and u.sub.t.sup.max,1 is 90% of u.sub.t.sup.max).

(32) In case both comparisons at S17 yield a positive result (Y), the method continues at S19, wherein altitude u.sub.t is prioritized over yaw τ.sub.z, τ.sub.z and u.sub.t are then limited according to τ.sub.z≤τ.sub.z.sup.max,2<τ.sub.z.sup.max,1, u.sub.t≤u.sub.t.sup.max,1, and u=D.sup.−1u.sub.p is solved with new pseudo inputs. Note that in this step, control yaw torque is bounded with a more conservative value compared to the control thrust (for example τ.sub.z.sup.max,2 is 80% of τ.sub.z.sup.max, and τ.sub.z.sup.max,1 is 90% of τ.sub.z.sup.max).