METHOD AND CONTROL UNIT FOR CONTROLLING AN OVERDETERMINED SYSTEM, SYSTEM AND AIRCRAFT

20220250766 · 2022-08-11

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for controlling an overdetermined system with multiple actuators, for example an aircraft (1) with multiple propulsion units (3). The actuators perform at least one primary task and at least one non-primary task, including: a) determining a pseudo-control command u.sub.p ∈custom-character.sup.p′ based on a physical model of the system, which command represents the torques (L, M, N) and a total thrust force (F) acting on the system, b) determining a control matrix D, D∈custom-character.sup.p′×k according to u.sub.p=Du, where u.sub.1=D.sup.−1u.sub.pu.sub.1 ∈custom-character.sup.k represents a control command for the actuators to perform the primary task, c) projecting the non-primary task into the null space N(D) of the primary task, so that Du.sub.2=0 if u.sub.2u.sub.2 ∈custom-character.sup.k represents a control command for the actuators to perform the non-primary task, and d) providing the control commands from b) and c) to the actuators. In this way, the solution of the primary task is not adversely affected by the non-primary task or its solution.

Claims

1. A method for controlling an overdetermined system with multiple actuators, wherein the actuators perform a primary task and a non-primary task, the method comprising: a) determining a pseudo-control command u.sub.p ∈custom-character.sup.p′ based on a physical model of the overdetermined system, b) determining a control matrix D, D∈custom-character.sup.p′×k according to u.sub.p=Du, so that u.sub.1=D.sup.−1u.sub.pu.sub.1 ∈custom-character.sup.k represents a control command for the actuators to perform the primary task, c) projecting the non-primary task into a null space N(D) of the primary task, so that Du.sub.2=0 if u.sub.2u.sub.2 ∈custom-character.sup.k represents a control command for the actuators to perform the non-primary task, and d) providing the control commands from b) and c) to the actuators.

2. The method as claimed in claim 1, further comprising calculating the null space N(D) according to
N(D)=I−D.sup.T(D.sup.−1).sup.T∈custom-character.sup.k×k with u.sub.1=D.sup.−1u.sub.p, wherein u.sub.1∈custom-character.sup.k is a vector or control command which contains actuator commands which solve the primary task and generate necessary physical control commands u.sub.p for the actuators, with
u.sub.1∈U:={u∈custom-character.sup.k|u.sup.min≤u≤u.sup.max}.

3. The method as claimed in claim 2, wherein u.sub.2.sup.org∈custom-character.sup.k is first calculated to solve the non-primary task, and then u.sub.2.sup.org is projected onto the null space N(D) of the control matrix D according to u.sub.2=Nu.sub.2.sup.org.

4. The method as claimed in claim 3, further comprising subsequently calculating a complete control command u as follows:
u=u.sub.1+u.sub.2, wherein u and u.sub.1 generate the same physical control commands u.sub.p.

5. The method as claimed in claim 4, further comprising specifying for u.sub.2.sup.org that
u.sub.2.sup.org∈U.sub.2:={u.sub.2.sup.org∈custom-character.sup.k|u.sup.min−u.sub.1≤N.sub.2u.sub.2.sup.org≤u.sup.max−u.sub.1}.

6. The method as claimed in claim 1, wherein the overdetermined system is for an aircraft (1) having multiple, k, propulsion units (3), and the propulsion units form at least some of the actuators of the overdetermined system.

7. The method as claimed in claim 1, further comprising calculating an inverse of the control matrix D according to u.sub.1=D.sup.−1u.sub.p for the primary task such that an expression u.sub.1.sup.TWu.sub.1 is minimized, where u=D.sup.−1(W,u.sup.min, u.sup.max)u.sub.p, with weighting matrix W.sub.i ∈custom-character.sup.k×k and physical load limits u.sup.min ∈custom-character.sup.k and u.sup.max ∈custom-character.sup.k with ∇i=1, . . . , k:u.sub.k.sup.min≤u.sub.i≤u.sub.k.sup.max, for each of the actuators.

8. The method as claimed in claim 7, wherein the expression u.sub.1.sup.TWu.sub.1 is minimized using the Moore-Penrose inversion method.

9. The method as claimed in claim 7, further comprising calculating the null space N(D) according to
N(D)=I−D.sup.T(D.sup.−1).sup.T∈custom-character.sup.k×k with u.sub.1=D.sup.−1u.sub.p, wherein u.sub.1 ∈custom-character.sup.k is a vector or control command which contains actuator commands which solve the primary task and generate necessary physical control commands u.sub.p for the actuators, with
u.sub.1∈U:={u∈custom-character.sup.k|u.sup.min≤u≤u.sup.max}, wherein u.sub.2.sup.org ∈custom-character.sup.k is first calculated to solve the non-primary task, and then u.sub.2.sup.org is projected onto the null space N(D) of the control matrix D according to u.sub.2=Nu.sub.2.sup.org, and the control commands for solving the non-primary task, u.sub.2=Nu.sub.2.sup.org, are calculated such that components of the control commands for solving the primary task, u.sub.1, approximate to an average, using the steps: (i) calculating an average of the control commands for solving the primary task, u.sub.1: u 1 , m = 1 k .Math. i = 1 k u 1 ( i ) , i = { 1 , . . . , k } (ii) determining a difference between the control commands for solving the primary task, u.sub.1, and the average value:
u.sub.d=u.sub.1−u.sub.1,m (iii) calculating the control commands for solving the non-primary task in order to reduce u.sub.d: u 2 org ( i ) = { - u d ( i ) , u d ( i ) > 0 0 , otherwise , i = { 1 , . . . , k } .

10. The method as claimed in claim 1, further comprising, in addition to the primary task and the non-primary task, defining at least one subordinate task which is to be carried out by the actuators, with control commands u.sub.3=Nu.sub.3.sup.org, so that
u.sub.3.sup.org(j)=−(1−μ.sub.j)(u.sub.1(j)+u.sub.2(j)), wherein a complete control command is then calculated as follows:
u=.sub.1+u.sub.2+u.sub.3.

11. The method as claimed in claim 10, wherein the at least one subordinate task is a load reduction μ.sub.j for at least one of the actuators j, μ.sub.j∈[0,1].

12. The method as claimed in claim 1, further comprising, in addition to the primary task and the non-primary task, defining at least one subordinate task which is to be carried out by the actuators, with control commands u.sub.3=Nu.sub.3.sup.org, so that
u.sub.3.sup.org(j)=−(1−μ.sub.j)u.sup.max, wherein a complete control command is then calculated as follows:
u=u.sub.1+u.sub.2+u.sub.3.

13. The meho doc claim 12, wherein the at least one subordinate task is a load reduction μ.sub.j for at least one of the actuators j, μ.sub.j ∈[0,1].

14. The method as claimed in claim 1, wherein the actuators are multiple propulsion units (3) for an aircraft (1), and said pseudo-control command represent torques (L, M, N) and a total thrust force (F) acting on the system.

15. A control unit (2a) comprising a processor for controlling an overdetermined system with multiple actuators, wherein the actuators perform a primary task and a non-primary task, the controller being configured for: a) determining a pseudo-control command u.sub.p ∈custom-character.sup.p′ based on a physical model of the system, b) determining a control matrix D, D∈custom-character.sup.p′×k according to u.sub.p=Du, so that u.sub.1=D.sup.−1u.sub.pu.sub.1∈custom-character.sup.k represents a control command for the actuators to perform the primary task, c) projecting the non-primary task into a null space N(D) of the primary task so that Du.sub.2=0 if u.sub.2,u.sub.2∈custom-character.sup.k represents a control command for the actuators to perform the non-primary task, and d) providing the control commands from b) and c) to the actuators in order to control them accordingly.

16. The control unit (2a) as claimed in claim 15, wherein the actuators are multiple propulsion units (3) for an aircraft (1), and said pseudo-control command represent torques (L, M, N) and a total thrust force (F) acting on the system.

17. The control unit (2a) as claimed in claim 16, further comprising sensors (4) for at least one of measuring or determining parameters and states of at least one of the system or the actuators, which are required for a determination of the pseudo-control command according to step a).

18. The control unit (2a) as claimed in 15, further comprising an actuator observation device (2a″) configured to determine, based on measured or certain parameters and states of at least one of the system or the actuators, the actuators j for which a subordinate task is to be carried out and to provide an associated value μ.sub.j∈[0,1] if necessary.

19. An overdetermined system comprising multiple actuators actively connected to the control unit (2a) as claimed in claim 15.

20. An aircraft (1) comprising the overdetermined system of claim 19, wherein the actuators comprise multiple propulsion units (3) of a multicopter, the propulsion units including a number of electrically driven rotor units.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0110] Further properties and advantages of the invention result from the following description of the figures.

[0111] FIG. 1 shows the logic of an actuator observation function or device used in an embodiment of the method;

[0112] FIG. 2 shows a flying machine according to the invention; and

[0113] FIG. 3 shows a possible sequence of the method according to the invention.

DETAILED DESCRIPTION

[0114] In FIG. 1, a special further development of the control unit according to the invention for an overdetermined system, for example a flying machine, is shown at reference character 2a (see also FIG. 2 and associated description). This further development provides that the control unit 2a has an active connection to devices for measuring and/or determining parameters and states of the system and/or the actuators, which are required for the determination of the pseudo-control command according to step a), in particular by a main flight control unit. These devices (sensors) are symbolically represented with reference character 4 (cf. also FIG. 2 and associated description).

[0115] The control unit 2a has an active connection to an actuator observation device 2a″, which is designed and set u.sub.p to determine, on the basis of the parameters and states of the system and/or the actuators measured or determined at reference character 4, the actuators j for which a subordinate (tertiary) task—as described above—is to be carried out and in particular if necessary to provide the associated value μ.sub.j∈[0,1], which is then used by the actual control algorithm 2a′ (see also FIG. 2 and associated description).

[0116] The upper subfigure in FIG. 1 shows the case in which, in addition to the primary task and the non-primary task, at least one (further) subordinate task is defined, which is to be performed by the actuators, for example a load reduction μ.sub.j for at least one actuator j, μ.sub.j∈[0,1], with control commands u.sub.3=Nu.sub.3.sup.org, so that


u.sub.3.sup.org(j)=−(1−μ.sub.j)(u.sub.1(j)+u.sub.2(j)),

[0117] wherein a complete control command is then calculated as follows: u=u.sub.1+u.sub.2+u.sub.3. The load reduction factor μ.sub.j is applied for the actuator j to the (primary and secondary) control command u.sub.1(j)+u.sub.2(j) to obtain the new (tertiary) control command u.sub.3.sup.org on the basis of u.sub.2.

[0118] Alternatively, as the lower subfigure in FIG. 1 shows, it may be provided that, in addition to the primary task and the non-primary task, at least one (further) subordinate task is defined, which is to be performed by the actuators, for example a load reduction u.sub.j for at least one actuator j, μ.sub.j ∈[0,1], with control commands u.sub.3=Nu.sub.3.sup.org, so that


u.sub.3.sup.org(j)=−(1−μ.sub.j)u.sup.max,

[0119] wherein a complete control command is then calculated as follows: u=u.sub.1+u.sub.2+u.sub.3. The load reduction factor μ.sub.j is applied to a maximum (physical) control value u.sup.max for the actuator j in order to obtain the new (tertiary) control command u.sub.3.sup.org the basis of u.sup.max.

[0120] Such a tertiary task can preferably be defined to adjust the commands of individual actuators if, for example, one or more actuator(s) must perform a task with reduced load. This can be the case if one or more actuators is/are taken into account but is/are overloaded or overheated.

[0121] As an example, it should be assumed that actuator j should work with efficiency μ.sub.j, μ.sub.j∈[0,1] (for example 0.75, i.e. 75%). The decision as to which actuator should be controlled with which efficiency can preferably be made by an actuator observation function (implemented in the form of the actuator observation device 2a″).

[0122] FIG. 2 shows—as already mentioned—a system according to the invention or a flying machine 1 in the form of a multicopter with 18 propulsion units (actuators). In FIG. 2, L, M and N denote the torques around the axes x, y and z (roll axis, pitch axis and yaw axis) of the flying machine 1, and F denotes the total thrust. Reference character 2 symbolizes the main flight control unit of the flying machine 1, which preferably comprises the control algorithm 2a′ and the actuator observation device 2a″ from FIG. 1 and is generally set up for carrying out the method according to the invention and further developments thereof, in particular software technically. In the case of reference character 2b, a human pilot is also shown, which is not worth noting further in the present case. Reference character 3 refers to one of the 18 (without limitation, identical) propulsion units or actuators, each comprising an (electric) motor 3a and a rotor 3b. Reference character 4 refers to an exemplary sensor unit actively connected to the main flight control unit 2, which has already been pointed out. In order to be able to take into account the available flying machine states in a further development of the method according to the invention, a variety of such sensor units 4 may be provided, in particular inertial measuring units, GNSS, barometers, vibration sensors on the actuators, temperature sensors on the actuators, and the like.

[0123] The invention is not limited in its application to flying machines 1 as overdetermined systems.

[0124] FIG. 3 shows a possible sequence of the method according to the invention. It starts in step S1. In step S2 the pseudo-control command is calculated as described in detail above. For this purpose, (sensor) measured values etc. from step S2′ can be used, as also described. In step S3, the calculation of u.sub.pu.sub.1=D.sup.−1u.sub.p to solve the primary task is carried out with the help of the control matrix D, as indicated. In step S4 a secondary task is defined and the associated control command u.sub.2.sup.org is calculated. For this purpose, (sensor) measured values etc. from step S4′ can be used, for example temperature measured values, as already described. Then, in step S5, the non-primary (secondary) task or the corresponding control command u.sub.2.sup.org is projected into the null space N(D) of the primary task, so that Du.sub.2=0 if u.sub.2, u.sub.2 ∈custom-character.sup.k represents a control command for the actuators to perform the non-primary task. This, too, has been described in detail above.

[0125] Step S6 contains a query as to whether further subordinate (non-primary, for example tertiary) tasks need to be solved. If so (j), steps S4 (if appropriate S4′) and S5 are adjusted accordingly (for example with u.sub.3.sup.org) and repeated for the further task. Once the query is answered with no (n) in step S6, the method jumps to step S7, where the overall control command is determined: .=u.sub.1+u.sub.2+ . . . , depending on the number of tasks solved (see above). In step S8, this overall control command is applied to control the actuators, and the method ends with step S9.