Method of controlling an actuator system and aircraft using same
11628927 · 2023-04-18
Assignee
Inventors
Cpc classification
B64U2201/10
PERFORMING OPERATIONS; TRANSPORTING
B64C39/024
PERFORMING OPERATIONS; TRANSPORTING
B64U50/19
PERFORMING OPERATIONS; TRANSPORTING
International classification
B64C13/16
PERFORMING OPERATIONS; TRANSPORTING
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∈.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∈
.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∈
n is an n-dimensional configuration vector of the system, m(x)∈
.sup.n×n is a state dependent generalized moment of inertia, c(x,{dot over (x)})∈
.sup.n are state dependent Coriolis force, g(x)∈
.sup.n are gravitational forces and f.sub.ext∈
.sup.n are external forces and torques, and G(x)∈
.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∈
; 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∈.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 ∈.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∈.sup.n is an n-dimensional configuration vector of the system, M(x)∈
.sup.n×n is a state dependent generalized moment of inertia, c(x,{dot over (x)}) E
.sup.n are state dependent Coriolis forces, g(x)∈
.sup.n are gravitational forces,f.sub.ext ∈
.sup.n are external forces and torques, and G(x)∈
.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 ∈
; 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 ∈.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∈.sup.k, k∈
, 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)
(3)
(4)
(5)
(6)
DETAILED DESCRIPTION
(7)
(8)
(9)
(10) Input variables are u.sub.p=[u.sub.tτ.sub.xτ.sub.yτ.sub.z].sup.T∈.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
(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
(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
(20)
(21) Input variables are u.sub.p=[u.sub.tτ.sub.xτ.sub.yτ.sub.z].sup.T∈.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
(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
(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
(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).