You are on page 1of 27

Discussion and Practical Aspects on Control

Allocation for a Multi-rotor Helicopter

Guillaume Ducard Minh Duc Hua
I3S UNS-CNRS, France
UAV-G 2011, ETH Zurich, 16-09-2011
1 / 21
Outline
1
Problem Statement
2
Limitations of Classical Pseudo-Inverse Matrix Method
3
New Approach: Weighted Pseudo-Inverse Matrix Method
2 / 21
Problem Statement
Limitations of Classical Method
New Approach
Hexacopter
3 / 21
Problem Statement
Limitations of Classical Method
New Approach
What is Control Allocation?
Multi-rotor Helicopter Control Allocation
1
given a virtual control input vector
v
cmd
= [T, L, M, N]

cmd
from the ight
controller,
2
nd the set of propeller speeds

:= [
2
1
; ;
2
n
]

, where the number

of propellers is n,
3
such that v
cmd
= A

, with the
constraints

2
min

2
i

2
max
, i, i = 1 . . . n.
4 / 21
Problem Statement
Limitations of Classical Method
New Approach
What is Control Allocation?
Multi-rotor Helicopter Control Allocation
1
given a virtual control input vector
v
cmd
= [T, L, M, N]

cmd
from the ight
controller,
2
nd the set of propeller speeds

:= [
2
1
; ;
2
n
]

, where the number

of propellers is n,
3
such that v
cmd
= A

, with the
constraints

2
min

2
i

2
max
, i, i = 1 . . . n.
4 / 21
Problem Statement
Limitations of Classical Method
New Approach
_

_
T
L
M
N
_

_
. .
v
=
_

_

0 l 0 l
l 0 l 0

_

_
. .
A
_

1
2

2
2

3
2

4
2
_

_
. .

Hexacopter Case
_

_
T
L
M
N
_

_
. .
v
=
_

_

0

3l
2

3l
2
0

3l
2

3l
2
l
l
2

l
2
l
l
2
l
2

_

_
. .
A
_

1
2

2
2
.
.
.

6
2
_

_
. .

5 / 21
Problem Statement
Limitations of Classical Method
New Approach
Classical Control Allocation Methods
1
computing the (pseudo-) inverse of the matrix A,
2
saturating the computed propeller speeds in between the min and the
max of the propeller speeds possible.

c
= A
1
v
c
.
Hexacopter Case

c
= A
+
v
c
, with A
+
= A

(AA

)
1
=
1
6l
_

_
l 0 2 l
1
l

3 1 l
1
l

3 1 l
1
l 0 2 l
1
l

3 1 l
1
l

3 1 l
1
_

_
6 / 21
Problem Statement
Limitations of Classical Method
New Approach
Key contributions
1
to show that a control allocation strategy based on the
classical approach of pseudo-inverse only exploits a
limited range of the vehicle capabilities to generate thrust
and moments,
2
a novel approach: based on a weighted pseudo-inverse
method capable of exploiting a much larger domain
achievable in v = [T, L, M, N]

cmd
,
3
and nally, the control allocation algorithm is formulated in
terms of explicit laws for fast operation and low
computational load, suitable for a microcontroller with
limited computation capability.
7 / 21
Problem Statement
Limitations of Classical Method
New Approach
Key contributions
1
to show that a control allocation strategy based on the
classical approach of pseudo-inverse only exploits a
limited range of the vehicle capabilities to generate thrust
and moments,
2
a novel approach: based on a weighted pseudo-inverse
method capable of exploiting a much larger domain
achievable in v = [T, L, M, N]

cmd
,
3
and nally, the control allocation algorithm is formulated in
terms of explicit laws for fast operation and low
computational load, suitable for a microcontroller with
limited computation capability.
7 / 21
Problem Statement
Limitations of Classical Method
New Approach
Key contributions
1
to show that a control allocation strategy based on the
classical approach of pseudo-inverse only exploits a
limited range of the vehicle capabilities to generate thrust
and moments,
2
a novel approach: based on a weighted pseudo-inverse
method capable of exploiting a much larger domain
achievable in v = [T, L, M, N]

cmd
,
3
and nally, the control allocation algorithm is formulated in
terms of explicit laws for fast operation and low
computational load, suitable for a microcontroller with
limited computation capability.
7 / 21
Problem Statement
Limitations of Classical Method
New Approach
Classical Method for Control Allocation
Limitations of Classical Pseudo-Inverse Matrix Method
8 / 21
Problem Statement
Limitations of Classical Method
New Approach
Classical Method for Control Allocation
Classical pseudo-inverse matrix:

c
= A
+
v
c
, with A
+
= A

(AA

)
1
=
1
6l
_

_
l 0 2 l
1
l

3 1 l
1
l

3 1 l
1
l 0 2 l
1
l

3 1 l
1
l

3 1 l
1
_

_
The constraints
2
min

2
i

2
max
, i, i = 1 . . . 6 are satised if
and only if
_
T
min
l Tl 2M l
1
N T
max
l
T
min
l Tl

3L M l
1
N T
max
l
. (1)
with T
min
:= 6
2
min
, T
max
:= 6
2
max
.
9 / 21
Problem Statement
Limitations of Classical Method
New Approach
Classical Method for Control Allocation
_
T
min
l Tl 2M l
1
N T
max
l
T
min
l Tl

3L M l
1
N T
max
l
. (2)
In particular, when N = 0, one veries that
_
2|M| min {(T T
min
)l, (T
max
T)l}

3|L| +|M| min {(T T

min
)l, (T
max
T)l}
.
Dene

T = min {(T T
min
), (T
max
T)} [0;
T
min
+T
max
2
],
_
2|M|

Tl

3|L| +|M|

Tl
.
10 / 21
Problem Statement
Limitations of Classical Method
New Approach
Classical Method
2|M|

Tl

3|L| +|M|

Tl
The admissible area in
terms of moments {L, M}
for a given total thrust T is
in red.
This zone can be enlarged
with the method presented
hereafter.
11 / 21
Problem Statement
Limitations of Classical Method
New Approach
New Approach
New Approach: Weighted Pseudo-Inverse Matrix Method
12 / 21
Problem Statement
Limitations of Classical Method
New Approach
General Formulation
Let us introduce a diagonal weighting matrix
W:= diag([a; b; c; a; b; c]), where a, b, c are non-negative and
satisfy the condition a + b + c = 1.
A
+
W
=WA

(AWA

)
1
=
1
6l
_

_
3al 0 2 l
1
3bl

3 1 l
1
3cl

3 1 l
1
3al 0 2 l
1
3bl

3 1 l
1
3cl

3 1 l
1
_

_
. (3)
The propellers speed are obtained by

= A
+
W
v
13 / 21
Problem Statement
Limitations of Classical Method
New Approach
General Formulation (2)

2
min

2
i

2
max
, i, i = 1 . . . 6 (4)
The above constraints are satised if and only if
_
_
_
T
min
l 3a Tl 2M l
1
N T
max
l
T
min
l 3b Tl

3L M l
1
N T
max
l
T
min
l 3c Tl

3L M l
1
N T
max
l
. (5)
In the case N = 0 (no yaw torque control), it simplies to
_
_
_
2|M| min{(3aTT
min
) l, (T
max
3aT) l}
|

3LM| min{(3bTT
min
) l, (T
max
3bT) l}
|

3L+M| min{(3cTT
min
) l, (T
max
3cT) l}
(6)
14 / 21
Problem Statement
Limitations of Classical Method
New Approach
General Formulation (3)
Shape of the admissible {L, M} zone
The constraints given in Eq. (6) indicate that:
for each set (a, b, c)
and each commanded thrust T,
the admissible values of the torque controls L and M must stay
inside a centered polygon, which can be a quadrilateral or a
hexagon depending on the case.
Particular case: a = b = c = 1/3 classical pseudo-inverse
matrix
In this case the admissible zone of {L, M} is a symmetric
centered hexagon, which is named as classical admissible
hexagon of {L, M}.
15 / 21
Problem Statement
Limitations of Classical Method
New Approach
{L, M} area attainable in Classical vs. New Method,
(N=0).
16 / 21
Problem Statement
Limitations of Classical Method
New Approach
New method: {L, M} aera as a function of thrust, (N=0)
In practice: design
hexacopters such that the total
thrust magnitude T always
remains in the interval
[(T
max
+2T
min
)/3, (2T
max
+T
min
)/3].
17 / 21
Problem Statement
Limitations of Classical Method
New Approach
New method: {L, M} aera as a function of thrust, (N=0)
In practice: design
hexacopters such that the total
thrust magnitude T always
remains in the interval
[(T
max
+2T
min
)/3, (2T
max
+T
min
)/3].
17 / 21
Problem Statement
Limitations of Classical Method
New Approach
Computing the Coefcients a, b, c
When the set-point (

L,

M) is
inside or on the borderlines of the
classical admissible hexagon, we
set a = b = c = 1/3.
When the set-point (

L,

M) stays
outside the classical admissible
hexagon but inside the weighted

a =
1
3
+

a
w

1
3

b =
1
3
+

b
w

1
3

c = 1 a b
(7)
with
:=

L
c

L
w

L
c
if

M
w
=

M
c

M
c

M
w

M
c
otherwise .
18 / 21
Problem Statement
Limitations of Classical Method
New Approach
Computing the Coefcients a, b, c
When the set-point (

L,

M) is
inside or on the borderlines of the
classical admissible hexagon, we
set a = b = c = 1/3.
When the set-point (

L,

M) stays
outside the classical admissible
hexagon but inside the weighted

a =
1
3
+

a
w

1
3

b =
1
3
+

b
w

1
3

c = 1 a b
(7)
with
:=

L
c

L
w

L
c
if

M
w
=

M
c

M
c

M
w

M
c
otherwise .
18 / 21
Problem Statement
Limitations of Classical Method
New Approach
Computing the Coefcients a, b, c
When the set-point (

L,

M) is
inside or on the borderlines of the
classical admissible hexagon, we
set a = b = c = 1/3.
When the set-point (

L,

M) stays
outside the classical admissible
hexagon but inside the weighted

a =
1
3
+

a
w

1
3

b =
1
3
+

b
w

1
3

c = 1 a b
(7)
with
:=

L
c

L
w

L
c
if

M
w
=

M
c

M
c

M
w

M
c
otherwise .
18 / 21
Problem Statement
Limitations of Classical Method
New Approach
Properties
Smoothness
The proposed interpolation method ensures that the
variations of the values of a, b, c are continuous if the
reference set-point (

L,

M) varies smoothly over time.
This is important in practice: since it ensures that the
desired motors speeds
i
, (

= A
+
W
v) vary continuously if
the control input vector v is continuous in time.
Extension to the Case of Non-null Yaw Control, N = 0
Described in the paper.
19 / 21
Problem Statement
Limitations of Classical Method
New Approach
Conclusions
1
Enlarged domain in torques {L, M} using the new method
vs. classical,
2
Continuity in the coefcients a, b, c, smooth motor
control if input vector is smooth,
3
Computationally efcient no optimization problem to
solve, availability of explicit solutions.
20 / 21
Problem Statement
Limitations of Classical Method
New Approach
Questions
Thank you for your attention.
21 / 21