METHOD AND CONTROL UNIT FOR CONTROLLING AN OVERDETERMINED SYSTEM, SYSTEM AND AIRCRAFT
20220250766 · 2022-08-11
Assignee
Inventors
Cpc classification
B64C29/0025
PERFORMING OPERATIONS; TRANSPORTING
B64D31/12
PERFORMING OPERATIONS; TRANSPORTING
B64D45/0005
PERFORMING OPERATIONS; TRANSPORTING
B64C19/00
PERFORMING OPERATIONS; TRANSPORTING
International classification
B64D45/00
PERFORMING OPERATIONS; TRANSPORTING
B64D31/12
PERFORMING OPERATIONS; TRANSPORTING
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 ∈.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∈
.sup.p′×k according to u.sub.p=Du, where u.sub.1=D.sup.−1u.sub.pu.sub.1 ∈
.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 ∈
.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 ∈.sup.p′ based on a physical model of the overdetermined system, b) determining a control matrix D, D∈
.sup.p′×k according to u.sub.p=Du, so that u.sub.1=D.sup.−1u.sub.pu.sub.1 ∈
.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 ∈
.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∈.sup.k×k with u.sub.1=D.sup.−1u.sub.p, wherein u.sub.1∈
.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∈.sup.k|u.sup.min≤u≤u.sup.max}.
3. The method as claimed in claim 2, wherein u.sub.2.sup.org∈.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∈.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 ∈.sup.k×k and physical load limits u.sup.min ∈
.sup.k and u.sup.max ∈
.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∈.sup.k×k with u.sub.1=D.sup.−1u.sub.p, wherein u.sub.1 ∈
.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∈.sup.k|u.sup.min≤u≤u.sup.max}, wherein u.sub.2.sup.org ∈
.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.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:
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 ∈.sup.p′ based on a physical model of the system, b) determining a control matrix D, D∈
.sup.p′×k according to u.sub.p=Du, so that u.sub.1=D.sup.−1u.sub.pu.sub.1∈
.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∈
.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]
[0112]
[0113]
DETAILED DESCRIPTION
[0114] In
[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
[0116] The upper subfigure in
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
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]
[0123] The invention is not limited in its application to flying machines 1 as overdetermined systems.
[0124] .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.