The following documents are incorporated herein by reference as if fully set forth: German Patent Application No. 10 2021 111 104.8, filed Apr. 29, 2021.
The invention relates to a method for controlling an overdetermined system with multiple actuators, for example an aircraft with multiple propulsion units.
The invention also relates to a control unit for controlling an overdetermined system with multiple actuators, for example an aircraft with multiple propulsion units.
The invention further relates to an overdetermined system with multiple actuators.
Finally, the invention also relates to an aircraft with multiple propulsion units and optionally further actuators, such as movable flaps or winches, which together form an overdetermined system.
Airplanes, aerial vehicles or aircraft with overdetermined actuation (“over-actuation”, i.e. the airplane has a larger number of actuators than is necessary for the execution of so-called primary tasks in its control volume) offer the possibility of realizing a primary task with more than one solution. This intuitively implies that, depending on the airplane type, the actuator type and the tasks defined in the control volume, there may be additional room to perform one or more other (non-primary) tasks.
Depending on the airplane maneuver, environmental conditions, failure scenarios or other effects, it may happen that the airplane is operated close to the limits of its control volume. This means that the physical forces and moments (torques) that can be provided by the actuators and control surfaces (flaps, wings, etc.) are possibly not sufficient to control all of the control axes of the airplane at all points in time—in the case of the “VoloCity” multicopter produced by the applicant these are the rolling axis (longitudinal axis), the pitching axis (transverse axis), the yawing axis (vertical axis) and the (total) thrust. Another airplane type may, depending on the arrangement of the actuators, have different control axes, in particular two additional horizontal thrust axes. In such situations, the safety and controllability of the airplane can be ensured by one or more control axes being prioritized over the others, for example the rolling and pitching axes over the yawing axis. It is in this case important to ensure that a control axis with low priority does not adversely affect the control axis (axes) with high priority (for example if yawing has a lower priority than rolling and pitching, the yawing control must not lead to an adverse effect on rolling and pitching).
This isolation of different priorities in the control is not a trivial task. Generally, combining different tasks with a respective priority in such a way that low-priority tasks do not affect high-priority tasks is a complex challenge. The way secondary or third-level (tertiary or generally non-primary) tasks are added to a control and allocation problem (assignment problem) can substantially affect the available performance for solving a primary task and the stability of that solution.
In European patent application 19 212 935.1, the applicant proposes a method for operating an eVTOL aerial vehicle with 18 rotors, in which the primary control assignment finds a solution with so-called “L-2” minimization for the provision of the required thrusts and torques, while imposing a secondary and lower priority (not primary) compulsion to reduce the maximum LTU (lift thrust unit) power. This is carried out by changing the gain parameters of the assignment problem as a function of the deviation of an LTU value (the revolution rate—RPM) from the corresponding average value of the total LTUs (so-called “L-inf” minimization). Two tasks are carried out in one step, which makes it impossible to assign a different priority or criticality to the different goals. In addition, a failure or erroneous behavior when achieving a goal with lower criticality (for example a secondary goal) can negatively affect solving a task with higher criticality (for example a primary goal).
The invention is based on the object of remedying the situation here and specifying a method, a control unit, a system and an aerial vehicle or an aircraft of the respective type mentioned, with which, in addition to the solution of at least one primary task, the solution of at least one non-primary task is possible without adversely affecting the primary task or its solution. The same is generally intended to apply to relatively higher-priority tasks over relatively lower-priority tasks.
This object is achieved by a method with one of more of the features disclosed herein, by a control unit with one of more of the features disclosed herein, by a system with one of more of the features disclosed herein, and by an aircraft with one of more of the features disclosed herein.
Preferred further developments are defined below and in the claims.
A method according to the invention for controlling an overdetermined system with multiple power-restricted actuators (number k), in particular an aircraft with multiple propulsion units, wherein the actuators perform at least one primary task and a number of non-primary tasks, includes:
q≤p′, so that
wherein the sub control matrices Di and the corresponding sub pseudo-control commands up,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,
The term “restricted” or “power-restricted” means in this context that the actuators have physical power limits, that is to say cannot perform every conceivable technical task (which applies in principle to any machine).
It correspondingly applies for the actuator control commands u, that u∈U:={u∈k|umin≤u≤umax}⊂k denotes a specific range of values of restricted actuator control commands.
A control unit according to the invention for controlling an overdetermined system with multiple power-restricted actuators (number k), in particular an aircraft with multiple propulsion units, wherein the actuators perform at least one primary task and at least one non-primary task, is designed and set up, in particular software technically, for
q≤p′, so that
wherein the sub control matrices Di and the corresponding sub pseudo-control commands up,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,
The control unit may be further designed and set up to carry out further developments described below of the method according to the invention.
Furthermore, the control unit may be actively connected 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 of an aircraft.
An overdetermined system according to the invention comprises multiple actuators actively connected to a control unit according to the invention.
An aircraft according to the invention comprises multiple propulsion units and optionally further actuators, such as movable flaps or winches, which together form an overdetermined system according to the invention, in particular in the form of a multicopter with a number of preferably electrically driven rotor units.
“Actuators” are understood in the present case to mean in particular, but not exclusively, propulsion units, such as rotor units or the like. In addition, depending on the design of the system (the aerial vehicle), there are other means, such as flaps, winches, etc. or generally means of operation, which the system needs to perform certain physical tasks.
A method for assigning control priorities to overdetermined systems, and specifically airplanes, in which low-priority tasks are projected into the null space of higher-priority tasks is proposed. This ensures that the low-priority tasks do not adversely affect the high-priority tasks.
A method for prioritizing control axes of a system (airplane) with overdetermined actuators by using its null space is proposed here in particular. With the method presented here, in the case of an airplane the control of the rolling axis can be prioritized over the control of the pitching axis, or the control of the rolling and pitching axes over the control of the yawing axis, or the control of the rolling and pitching axes over the control of the yawing axis over the altitude control, and so on. The combination of the priorities may be chosen as desired, and an underlying algorithm, which may preferably be implemented in software form in one configuration of the control unit according to the invention, can be applied to all such combinations.
It can be seen as a preferred feature that, on account of the use of the null space of the control matrix, a goal/task with lower priority cannot affect the task(s) with higher priority. For example, a tertiary task cannot affect the secondary and primary tasks, and a secondary task cannot affect the primary task.
The presented method can also be used for quaternary, quinary or other tasks if there is still appropriate room in the null space. If there is no more room in the null space, lower-priority tasks are advantageously simply ignored due to the definition of the null space.
In the present case, “null space” is to be understood as the core of a (linear) mathematical representation. The core of a linear representation f: V→W between vector spaces V, and W consists of those vectors in V which are mapped onto the zero vector in W; it is therefore the solution set of the homogeneous linear equation f(x)=0 and is therefore also referred to as a null space.
Looking at the example from EP 19 212 935.1, the primary task may be to find the solution of the control assignment to generate the required (total) thrust and the required torques with “L-2 minimization”. Accordingly, a secondary, i.e. non-primary, task can be the reduction of the maximum LTU power with “L-inf minimization”. If this secondary task is projected into the null space of the primary task according to the present invention, it is ensured that it does not affect the solution of the primary task. This is desirable for safety reasons, as the primary task is essential, but the secondary task is only preferable. In addition, another subordinate (for example tertiary task) can be assigned, for example reducing the power of a particular (or multiple) LTU(s) to for example 75% because the propulsion unit in question has overheated or was classified as faulty. As part of a corresponding further development of the invention, the tertiary task is projected into the null space of the primary and secondary tasks, so that it does not adversely affect the higher-prioritized tasks.
In the example above, the secondary and tertiary tasks can swap places depending on the requirement and prioritization. Within the scope of the present application, the priorities of the individual (control) tasks result from the respective specific application (more details on this further below).
It should be emphasized that the idea proposed here provides an extremely advantageous separation of tasks according to their respective criticality, which can be used for assigning different design assurance levels (DAL) of functions with different criticalities and goals. This has a noticeable influence on the reduction of the development costs of safety-critical devices, such as specifically aerial vehicles.
Although reference has been repeatedly made here and below to aerial vehicles, the described method is also generally suitable for controlling overdetermined actuator systems of any kind.
At this point, first the mathematical-physical background of the invention—in particular with regard to aerial vehicles—will be briefly discussed in more detail in order to facilitate understanding.
The equations of motion of systems which can be derived with the Newton-Euler principle or the Lagrange method can be represented as follows:
M(x){umlaut over (x)}+c(x,{dot over (x)})+g(x)+G(x)up=ƒext, Equation 1
wherein x∈m denotes the m-dimensional configuration vector of the system, for example positions and rotations in 3D, M(x)∈m×m denotes the state-dependent generalized inertial torque, (c,ċ)∈m denotes the state-dependent Coriolis forces, g(x)∈m denotes the gravitational forces, and ƒext∈m are the external forces and torques, for example due to aerodynamics, contact, etc. The required physical control commands (or pseudo-control commands) for the system are designated as up∈p′, which are for example calculated with a feedback control law and used to control the system. These pseudo-control commands are the body-fixed forces and torques acting on the system through different actuators, and they each enter the system dynamics given in equation 1 with a rule input matrix G(x)∈m×p′. These matrices contain in particular the information about an over- or under-actuation.
For the calculation of up, control methods (or laws) are used (for example direct dependencies or feedback control laws, etc.). The connection between these calculated control commands and the actual actuator control commands upu∈k is made by means of an assignment or allocation problem, which contains in particular the geometric knowledge about the positioning of the actuators in the system and other actuator-relevant configurations and properties. The following applies:
up=Du, Equation 2
with u∈U:={u∈k|umin≤u≤umax}⊂k, wherein D∈p′×k defines the so-called control effectiveness matrix (in short: control matrix). According to the use of control methods—as mentioned above—the pseudo-control commands up∈p′ are first calculated. However, these must be distributed to the physical actuators in the form of the actual control commands u∈k (actuator control commands), which is commonly known as the control mapping problem or allocation problem. Therefore, a type of inverse matrix calculation (identified below by the superscript “#”) is required to calculate u from up. This is represented by
u=D
#(W,umin,umax)up, Equation 3
wherein this inversion is usually carried out taking into account a weight or weighting matrix Wi∈k×k and the physical limits of each actuator, for example umin∈k and umax∈k, wherein ∀i=1, . . . , k:ukmin≤ui≤ukmax.
A=D#(W,umin,umax)∈k×p′ is referred to as the “control mapping matrix” (or the allocation matrix).
Note: If M∈k×p is a matrix with rank(M)=p, then M# denotes the right inverse, so that M M#=I. It is the standard matrix inverse M#=M−1 for k=p′ and—ignoring the weighting matrix W and the limits umin, umax—the pseudo-inverse M#=MT(M MT)−1 for k>p′.
For an aerial vehicle, such as the 18-rotor Volocopter® (model “VC200”, “VoloCity” or “VoloDrone”) from the applicant's company, up∈4 represents a vector which contains the required (control) thrust and the three-dimensional (actuation) torques which act on the aerial vehicle with regard to its center of gravity. Furthermore, u∈18 is a vector which contains the eighteen (18) desired rotor control commands.
The distributed actuator control commands u were calculated above using the mapping matrix A∈k×p′, which is a result of a matrix inversion problem. For systems with a redundant number of actuators (i.e. k>p′), there may be more than one solution to this inversion problem if the control matrix has enough linearly dependent columns (this is known to those skilled in the art who are familiar with linear algebra). In this application, such systems are referred to as “overdetermined systems”.
The presence of more than one solution to the inversion problem creates the possibility of a “null space” different from zero which can be used for other (secondary or tertiary or generally lower-prioritized) tasks without affecting overarching goals (tasks or their solutions).
Definition of the Control Axes
The (control) matrix D establishes a relationship between the physical control axes up (for example torques and thrust) and the actual actuator commands u on the basis of the relationship up=Du. To allow prioritization of the control axes, the following division is proposed:
where: up,i=Diu. Here, up,i denotes a subset of the control axis concerned. It may be a single control axis, if dim(up,i)=1, or multiple control axes, if 1<dim(up,i)<p.
For example, up,1 may be the rolling and pitching moment (dim(up,1)=2), up,2 may be the yawning moment (dim(up,2)=1), and up,3 may be the thrust (dim(up,3)=1).
Null Space
The null space, also known as the core, of a matrix Di∈p′×k is the set of all vectors v, so that Div=0. Therefore, the null space of the matrix Div=0 can be defined as:
N(Di)={v|Div=0}.
Calculation of the Null Space
A possible representation of the null space of a matrix D can be calculated according to:
N(D)=I−DT(D#)T∈k×k,
wherein I∈k×k is a k×k identity matrix. The superscript character # implies the inversion (standard inversion if the matrix is quadratic, or pseudo-inversion if not), and the superscript character T implies the transposing operation.
Task Prioritization by Means of Null Space Projection
The control matrix D can be divided into smaller matrices (dissociated), the number of this division, separation or dissociation depending on the number of tasks/goals to be accomplished:
D=[D1TD2TD3T . . . DqT]T,
where q≤p is the number of tasks or goals to be performed. The smaller its index, the more important it is for it to be performed, and the task concerned (the goal concerned) is prioritized over the other tasks/goals.
For example, the goal with the highest priority is assigned using D1 (corresponding to up,1). Accordingly, the secondary goal is assigned using D2 (corresponding to up,2), etc.
Example of an Application with Three Tasks/Goals:
Primary Goal
It is the case that
u1=D1#up,1,
wherein u1∈k is the vector which contains the actuator commands (or actuator control commands) which achieve the primary goal of generating the required physical control commands up,1. The mapping generates executable commands, with
u
1
∈U:={u∈
k
|u
min
≤u≤u
max}}.
Secondary Goal
Now considered is u2∈k, which is calculated to achieve a secondary goal in order to generate the required physical control commands up,2 without disturbing the primary goal. For this purpose, u2 is suitably calculated and projected onto the null space of the control matrix D1 used for the primary goal, preferably as follows:
u
2
org
=D
2
#(up,2−D2u1),
N
2
=I−D
1
T(D1#)T,
u2=N2u2org.
A corresponding further development of the method according to the invention provides that first u2org∈k is calculated, in order to solve a first, non-primary task, preferably according to u2org=D2190 (up,2−D2u1), and subsequently u2org is projected onto the null space N2(D1) of the sub control matrix D1 according to u2=N2u2org, wherein preferably N2=I−D1T(D1190 )T.
In order to ensure the feasibility of the overall command so that u∈U, preferably the following limits must be adhered to in the secondary assignment step:
u
2
org
∈U:={u
2
org∈k|umin−u1≤N2u2org≤umax−u1}.
A corresponding further development of the method according to the invention provides that for u2org it is specified that u2org:={u2org∈k|umin−u1≤N2u2org≤umax−u1}. It follows from this that: u1+u2∈U.
The complete actuator command, which ensures that the primary goal is not affected by the secondary goal (if there is no tertiary goal), preferably looks as follows:
u=u
1
+u
2.
A corresponding further development of the method according to the invention provides that a complete actuator control command u is calculated as follows: u=u1+u2.
Tertiary Goal
Considered is u3∈k, which is calculated to achieve a tertiary goal in order to generate the required physical control commands up,3 without at the same time disturbing either the primary goal or the secondary goal. Then u3 is projected onto the null space of the control matrices D1, D2 used for the primary goal and for the secondary goal, preferably according to:
A corresponding further development of the method according to the invention therefore provides that subsequently u3org∈k is calculated in order to solve a second, non-primary task, preferably according to u3org=D3#(up,3−D3(u1+u2)), and subsequently u3org is projected onto the null space N3(D1, D2) of the sub control matrices D1, D2 according to u3=N3u3org, wherein preferably
In order to ensure the feasibility of the overall command so that u∈U, the following limits must preferably be adhered to in the tertiary assignment step:
u
3
org
∈U
3
:={u
3
org∈k|umin−u1−u2≤N3u3org≤umax−u1−u2}.
A corresponding further development of the method according to the invention therefore provides that for u3org∈k it is specified that u3org∈U3:={u3org∈k|umin−u1−u2≤N3u3org≤umax−u1−u2}. It follows from this that: u1+u2+u3∈U.
The complete actuator command, which ensures that the primary goal is not affected by the secondary goal and the tertiary goal and the secondary goal for its part is not affected by the tertiary goal, is then preferably:
u=u
1
+u
2
+u
3.
A corresponding further development of the method according to the invention therefore provides that subsequently a complete control command u is calculated as follows: u=u1+u2+u3.
This procedure can be generalized:
For the task with the highest priority it always applies that
u
1
=D
1
#
u
p,1.
For the secondary task it applies that
u
2
org
=D
2
190(up,2−D2u1),
N
2
=I−D
1
T(D1190 )T,
u2=N2u2org.
For all other tasks (with i>2) it applies that
u
i
org
=D
i
#(up,i−DiΣj=1i−1uj),
A corresponding further development of the method according to the invention therefore provides that the null space Ni(D), i>1 is calculated according to
Finally, the following is obtained as the complete actuator command
u=Σi=1nui.
The limit values are
u
i
∈U
i
:={u
i∈k|umin−uΣ≤Niui≤umax−uΣ}
with uΣ=Σj=1i−1uj.
Specifically, therefore, for solving a non-primary task, i>1, in a further development of the method according to the invention the following may be calculated:
u
i
org
=D
i
#(up,i−DiΣj=1i−1uj)
ui=Niuiorg
u=Σ
i=1
nui; with
u
i
∈U
i
:={u
i∈k|umin−uΣ≤Niui≤umax−uΣ}
and with
uΣ=Σj=1i−1uj
Preferably, the method according to the invention is applied to an aircraft with multiple, k, propulsion units, preferably 18 propulsion units, k=18, which propulsion units form at least some of the actuators of the system.
For example, it may be provided in a further development of the method according to the invention that attitude control concerning rolling (in particular rolling angles) and pitching (in particular pitching angles) is prioritized over directional control concerning yawing (in particular the yaw rate) and vertical control concerning the flying altitude (in particular the climbing and descending rate). This is specifically explained in even more detail further below on the basis of
In particular, it may be provided here that D1∈2×k is chosen such that it represents a mapping of actuator control commands u onto the rolling and pitching moment, with up,1∈2, and that D2∈2×k is chosen such that it represents a mapping of actuator control commands u onto the thrust and yawing moment, with up,2∈2 (variant 1).
In another further development of the method, it may be provided that attitude control concerning rolling and pitching (in particular rolling angles and pitching angles) is prioritized over directional control concerning a yawing motion (in particular the yaw rate) and a total thrust.
In particular, it may be provided here that D1∈2×k is chosen such that it represents a mapping of actuator control commands u onto the rolling and pitching moment, with up,1∈2, that D2∈1×k is chosen such that it represents a mapping of actuator control commands u onto the yawing moment, with up,2∈, and that D3∈1×k is chosen such that it represents a mapping of actuator control commands u onto the total thrust, with up,3∈ (variant 2).
In yet another further development of the method, it may also be provided that a total thrust is prioritized over attitude control concerning rolling and pitching (in particular rolling angles and pitching angles) and over directional control concerning a yawing motion (in particular the yaw rate).
It may be provided for this purpose that D1∈1×k is chosen such that it represents a mapping of actuator control commands u onto the total thrust, with, up,i∈2, that D2∈1×k is chosen such that it represents a mapping of actuator control commands u onto the pitching moment, with up,2∈, that D3∈1×k is chosen such that it represents a mapping of actuator control commands u onto the rolling moment, with up,3∈, and that D4∈1×k is chosen such that it represents a mapping of actuator control commands u onto the yawing moment, with up,4∈ (variant 3).
The first two variants are aimed at resuming a stable flying position as soon as rolling and pitching angles have returned to a reasonable level. Because this may involve a loss of altitude, the strategy is possibly not suitable for cases in which the aerial vehicle is close to the ground.
By contrast, the third variant is well suited for cases in which a collision is unavoidable, and so instead of prioritizing thrust it can be attempted to reduce a collision speed in order to minimize damage to the aerial vehicle. It may also be attempted to reduce the pitching angle, which increases the crash safety for the pilot and passengers. The same applies to the rolling angle, whereas the yawing angle (directional angle) or yaw rate only has low priority in this case.
Further properties and advantages of the invention result from the following description of the figures.
The invention is in principle not limited in its application to aerial vehicles 1 as overdetermined systems.
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
If these aspects are combined, the result is that, in an extreme flying situation, as shown in
The control matrix is broken down (dissociated)—as shown in
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 u3org 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: =u1+u2+ . . . , 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.
Number | Date | Country | Kind |
---|---|---|---|
102021111104.8 | Apr 2021 | DE | national |