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

20220374028 · 2022-11-24

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for controlling an overdetermined system with multiple power-restricted actuators that perform a primary task and non-primary tasks, including: a) determining a pseudo-control command based on a physical model of the system, which pseudo-control command represents the torques and a total thrust force acting on the system, b) determining a control matrix, c) dissociating the control matrix into sub control matrices, wherein the sub control matrices and the corresponding sub pseudo-control commands correspond to the primary task for i=1 and for i>1 correspond to the non-primary task(s) and a priority of the non-primary tasks decreases with increasing index i, d) determining actuator control commands for solving the primary task, e) projecting the non-primary tasks into the null space of the primary task, and into respective null spaces of all of the non-primary tasks of higher priority, if present, and f) providing the actuator control commands from d) and e) at the actuators.

Claims

1. A method for controlling an overdetermined system with multiple power-restricted actuators, wherein the actuators perform at least one primary task and a number of non-primary tasks, the method comprising: a) determining a pseudo-control command u.sub.p∈custom-character.sup.p′ based on a physical model of a system, said pseudo-control 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, wherein u denotes actuator control commands, c) dissociating the control matrix D into sub control matrices D.sub.i according to D = [ D 1 .Math. D q ] , q≤p′, so that u p = [ u p , 1 .Math. u p , q ] and u.sub.p,i=D.sub.iu, wherein the sub control matrices D.sub.i and corresponding sub pseudo-control commands u.sub.p,i for i=1 correspond to the primary task and for i>1 correspond to the at least one non-primary task and wherein a priority of the non-primary tasks decreases with increasing index i, d) determining actuator control commands for solving the primary task according to u.sub.1=D.sub.1.sup.#u.sub.p,1, where # denotes a matrix inversion and u.sub.1∈custom-character.sup.k comprises said actuator control commands which solve the primary task, with u.sub.1∈U:={u∈custom-character.sup.k|u.sup.min≤u≤u.sup.max} e) projecting the non-primary tasks, i>1, into a null space of the primary task, i=1, and into respective null space of all of the non-primary tasks of higher priority, if present, so that D.sub.iu.sub.j=0, with u.sub.j∈custom-character.sup.k, j>i, comprises actuator control commands for performing a non-primary task, and f) providing the actuator control commands from d) and e) at the actuators.

2. The method as claimed in claim 1, further comprising first calculating u.sub.2.sup.org∈custom-character.sup.k, in order to solve a first one of the non-primary tasks, according to u.sub.2.sup.org=D.sub.2.sup.#(u.sub.p,2−D.sub.2u.sub.1), and subsequently projecting u.sub.2.sup.org onto the null space N.sub.2(D.sub.1) of the sub control matrix D.sub.1 according to u.sub.2=N.sub.2u.sub.2.sup.org, wherein N.sub.2=I−D.sub.1.sup.T(D.sub.1.sup.#).sup.T.

3. The method as claimed in claim 2, further comprising subsequently calculating a complete actuator control command u as follows:
u=u.sub.1+u.sub.2.

4. The method as claimed in claim 3, wherein for u.sub.2.sup.org it is specified 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}.

5. The method as claimed in claim 2, further comprising subsequently calculating u.sub.3.sup.org∈custom-character.sup.k in order to solve a second one of the non-primary tasks, according to u.sub.3.sup.org=D.sub.3.sup.#(u.sub.p,3−D.sub.3(u.sub.1−u.sub.2)), and subsequently projecting u.sub.3.sup.org onto the null space N.sub.3(D.sub.1,D.sub.2) of the sub control matrices D.sub.1,D.sub.2 according to u.sub.3=N.sub.3u.sub.2.sup.org, wherein N 3 = ( I - [ D 1 D 2 ] T ( [ D 1 D 2 ] # ) T ) .

6. The method as claimed in claim 5, further comprising subsequently calculating a complete actuator control command u as follows: u=u.sub.1+u.sub.2+u.sub.3.

7. The method as claimed in claim 6, wherein for u.sub.3.sup.org it is specified that u.sub.3.sup.org∈U.sub.3:={u.sub.3.sup.org∈custom-character.sup.k|u.sup.min−u.sub.1−u.sub.2≤N.sub.3u.sub.3.sup.org≤u.sup.max−u.sub.1−u.sub.2}.

8. The method as claimed in claim 1, further comprising calculating the null space N.sub.i(D), i>1 according to N i ( D ) = ( I - [ D 1 .Math. D i - 1 ] T ( [ D 1 .Math. D i - 1 ] # ) T ) k × k .

9. The method as claimed in claim 8, further comprising for solving a non-primary task, i>1, calculating:
u.sub.i.sup.org=D.sub.i.sup.#(u.sub.p,i−D.sub.iΣ.sub.j=1.sup.i−1u.sub.j)
u.sub.i=N.sub.iu.sub.i.sup.org;
u=Σ.sub.i=1.sup.nu.sub.i; with
u.sub.i∈U.sub.i:={u.sub.i∈custom-character.sup.k|u.sup.min−u.sub.Σ≤N.sub.iu.sub.i≤u.sup.max−u.sub.Σ} and with
u.sub.Σ=Σ.sub.j=1.sup.i−1u.sub.j.

10. The method as claimed in claim 1, wherein the method is applied to an aircraft (1) with multiple propulsion units (3), and said propulsion units form at least some of the actuators of the system.

11. The method as claimed in claim 1, further comprising prioritizing attitude control concerning rolling and pitching, over directional control concerning yawing and vertical control concerning a flying altitude.

12. The method as claimed in claim 11, further comprising selecting D.sub.1∈custom-character.sup.2×k such that it represents a mapping of the actuator control commands u onto a rolling and pitching moment, with u.sub.p,1∈custom-character.sup.2, and selecting D.sub.2∈custom-character.sup.2×k such that it represents a mapping of the actuator control commands u onto a thrust and yawing moment, with u.sub.p,2∈custom-character.sup.2.

13. The method as claimed in claim 10, further comprising prioritizing attitude control concerning rolling and pitching over directional control concerning yawing and a total thrust.

14. The method as claimed in claim 13, further comprising selecting D.sub.1∈custom-character.sup.2×k such that it represents a mapping of the actuator control commands u onto a rolling and pitching moment, with u.sub.p,1∈custom-character.sup.2, selecting D.sub.2∈custom-character.sup.1×k such that it represents a mapping of the actuator control commands u onto a yawing moment, with u.sub.p,2∈custom-character, and selecting D.sub.3∈custom-character.sup.1×k such that it represents a mapping of the actuator control commands u onto the total thrust, with u.sub.p,3∈custom-character.

15. The method as claimed in claim 10, further comprising prioritizing a total thrust over attitude control concerning rolling and pitching, and over directional control concerning yawing.

16. The method as claimed in claim 15, further comprising selecting D.sub.1∈custom-character.sup.1×k such that it represents a mapping of the actuator control commands u onto the total thrust, with u.sub.p,1∈custom-character.sup.2, selecting D.sub.2∈custom-character.sup.1×k such that it represents a mapping of the actuator control commands u onto a pitching moment, with u.sub.p,2∈custom-character, selecting D.sub.3∈custom-character.sup.1×k such that it represents a mapping of the actuator control commands u onto a rolling moment, with u.sub.p,3∈custom-character, and selecting D.sub.4∈custom-character.sup.1×k such that it represents a mapping of the actuator control commands u onto a yawing moment, with u.sub.p,4∈custom-character.

17. A control unit (2a) for controlling an overdetermined system with multiple power-restricted actuators, wherein the actuators perform at least one primary task and at least one non-primary task, comprising a controller configured to a) determining a pseudo-control command u.sub.p∈custom-character.sup.p′ based on a physical model of a system, said pseudo-control command represents 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, wherein u denotes actuator control commands, c) dissociating the control matrix into sub control matrices D = [ D 1 .Math. D q ] , q≤p′, so that u p = [ u p , 1 .Math. u p , q ] and u.sub.p,i=D.sub.iu, wherein the sub control matrices D.sub.i and corresponding sub pseudo-control commands u.sub.p,i for i=1 correspond to the primary task and for i>1 correspond to the at least one non-primary task and wherein a priority of the non-primary tasks decreases with increasing index i, d) determining the actuator control commands for solving the primary task according to u.sub.1=D.sub.1.sup.#u.sub.p,1, where # denotes a matrix inversion and u.sub.1∈custom-character.sup.k comprises said actuator control commands which solve the primary task, with u.sub.1∈U:={u∈custom-character.sup.k|u.sup.min≤u≤u.sup.max}, e) projecting the non-primary tasks, i>1, into a null space of the primary task, i=1, and into respective null space of all of the non-primary tasks of higher priority, if present, so that D.sub.iu.sub.j=0, if u.sub.j∈custom-character.sup.k, j>i, comprises the actuator control commands for performing a non-primary task, and f) providing the actuator control commands from d) and e) at the actuators.

18. The control unit (2a) as claimed in claim 17, wherein the controller is further configured such that it first calculates u.sub.2.sup.org∈custom-character.sup.k, in order to solve a first one of the non-primary tasks, according to u.sub.2.sup.org=D.sub.2.sup.#(u.sub.p,2−D.sub.2u.sub.1), and subsequently projects u.sub.2.sup.org onto the null space N.sub.2(D.sub.1) of the sub control matrix D.sub.1 according to u.sub.2=N.sub.2u.sub.2.sup.org, wherein N.sub.2=I−D.sub.1.sup.T(D.sub.1.sup.#).sup.T.

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

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

21. An aircraft (1) comprising the overdetermined system as claimed in claim 20, wherein the actuators multiple propulsion units (3).

Description

BREIF DESCRIPTION OF THE DRAWINGS

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

[0096] FIG. 1 shows a system or aerial vehicle according to the invention;

[0097] FIG. 2 illustrates the coupling of limit values of the pseudo-control commands;

[0098] FIG. 3 shows the aerial vehicle from FIG. 1 in an extreme flying situation;

[0099] FIG. 4 shows a possibility for dividing up the control matrix; and

[0100] FIG. 5 shows a possible sequence of the method according to the invention.

DETAILED DESCRIPTION

[0101] FIG. 1 shows a system or aerial vehicle 1 according to the invention in the form of a multicopter produced by the applicant with specifically 18 propulsion units (actuators). In FIG. 1, L, M and N denote the torques around the axes x, y and z (roll axis, pitch axis and yaw axis) of the aerial vehicle 1, and F denotes the total thrust. Reference character 2 symbolizes the main flight control unit of the aerial vehicle 1, which preferably comprises a control unit 2a according to the invention, which preferably has a control algorithm 2a′ and as a result is 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. The aerial vehicle 1 is therefore an eVTOL—an electrically powered aerial vehicle with the capability of taking off and landing vertically (“vertical take-off and landing”). Reference character 4 refers to an exemplary sensor unit actively connected to the main flight control unit 2. In order to be able to take into account the available aerial vehicle states in a corresponding 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.

[0102] The invention is in principle not limited in its application to aerial vehicles 1 as overdetermined systems.

[0103] FIG. 2 illustrates the case explained above, according to which, in the case of an aerial vehicle, in particular according to FIG. 1, under certain circumstances rolling angle control and pitching angle control are prioritized over yawing angles or yaw rate and thrust. According to FIG. 2, this is so because the limit values of the pseudo-control commands are coupled such that a great thrust requirement reduces the control range (the control volume, that is to say the shaded area) with respect to the rolling and pitching moments (abscissa).

[0104] For a regular multicopter, the attitude of the aerial vehicle also determines the alignment of the thrust vector. Therefore, the thrust requirement for compensating the weight of the aerial vehicle increases greatly if the attitude angle assumes large values, cf. the illustration in FIG. 3. If the thrust requirement exceeds the permissible limit values, the large attitude angle inevitably has the effect that the aerial vehicle 1 loses altitude. This loss of altitude can only be corrected again when the attitude angle has been reduced.

[0105] If these aspects are combined, the result is that, in an extreme flying situation, as shown in FIG. 3, the attitude correction with respect to rolling and pitching angles should have priority over control concerning the other control axes (yaw and thrust). According to FIG. 4, in the case of the aerial vehicle shown with 18 rotors (cf. FIG. 1), the following procedures or assignments may therefore be adopted:

[0106] The control matrix is broken down (dissociated)—as shown in FIG. 4—into two sub-matrices D.sub.1, D.sub.2. In this case, u.sub.p,1 ∈custom-character.sup.2 corresponds to the rolling moment and the pitching moment. Consequently, D.sub.1∈custom-character.sup.2×k, k=1, . . . , 18, describes the mapping of the actuator commands u onto the rolling and pitching moments. u.sub.p,2∈custom-character.sup.2 corresponds to the yawing moment and the total thrust, and D.sub.2∈custom-character.sup.2×k, k=1, . . . , 18, correspondingly maps the actuator commands u onto the yawing moment and the thrust.

[0107] FIG. 5 shows a possible sequence of the method according to the invention. It begins in step S1, wherein the pseudo-control command u.sub.p is calculated, as described above in detail. In step S2, the control matrix D is dissociated on the basis of the control prioritization, as described above by way of example. For this purpose, (sensor) measured values etc. from step S2′ may be used, as likewise described. According to the measured values, the control prioritization may also be changed, as also described. In step S3, the calculation of u.sub.1=D.sub.1.sup.#u.sub.p,1 is performed to solve the primary task with the aid of the sub control matrix D.sub.1, as specified. In step S4, the control command u.sub.2.sup.org for the secondary task is calculated. For this purpose, (sensor) measured values etc. from step S4′ may be used, for example measured temperature values, as likewise already described. Then, in step S5, the projection of the non-primary (secondary) task or of the corresponding control command u.sub.2.sup.org into the null space of the primary task takes place, so that, if u.sub.2, u.sub.2∈custom-character.sup.k, D.sub.1u.sub.2=0 represents a control command for the actuators for performing the non-primary task. This has also been described in detail further above and also applies correspondingly to the further, low-priority tasks.

[0108] Step S6 includes an inquiry as to whether still further subordinate (non-primary, for example tertiary) tasks are to be solved. If yes (y), steps S4 (or S4′) and S5 are correspondingly adapted (for example with u.sub.3.sup.org etc.) and repeated for the further task(s). As soon as the inquiry in step S6 is answered with no (n), the method jumps to after step S7, where the complete control command is determined: =u.sub.1+u.sub.2+ . . . , depending on the number of tasks solved (see above). In step S8, this complete control command is used for controlling the actuators, and the method ends with step S9.