Quadrotor With A Cable-Suspended Load July 22, 2013
Quadrotor With A Cable-Suspended Load July 22, 2013
Equations of Motion
x+ = (x ),
1 1
2
:
=
f
(x
2
2 2 ) + g2 (x2 )u2 ,
+
x1 = 2 (x
2 ),
0
vL
x L
cos(Q L )
mQ l 2L
L
0
=
x
=
+ sin(Q L )
1
0
L
mQ l
0
0
Q
x
x
L
L
v
v
L
L
xQ xL lp
x
=
=
2
v+ v lp ,
Q L
Q
Q
+
Q
Q
:
0
0
x
v
L
L
0
v L ge3 0
" #
0
0
x
v
x 2 = Q = Q + 1
,
v Q ge3 mQ b3 0 M
Q Q 0
0
Q
0
0
JQ
x
L
xL
mL vL +mQ vQ
vL
(m
+m
)
L
Q
x
x
L
Q
1
+
e3 )
L = cos ( l
x
=
,
1
L
0
Q
Q
x1 6 S1
x
1 S1
x2 6 S2
x
2 S2
0
" #
0
f
, x1 6 {x1 | T kmL (v L + ge3 )k = 0}
0 M
1
JQ
x
1 {x1 | T = 0}
x2 6 {x2 | kxQ xL k = L}
x
2 {x2 | kxQ xL k = L}
1.1
Let e2 = [1 0]T and e3 = [0 1]T be unit vectors in the plane; let e1 be a unit vector out of the plane
Constraint: xQ = xL lp
Applied forces: f1 = f b3 at r1 = xQ = xL lp, f2 = M e1 at r2 = Q e1
Coordinates: q = [xL L Q ]T
n
X
ri
Forces: Qj =
fi
q
j
i=0
QxL = f b3
Q e1
(xL lp)
+ M e1
xL
xL
= f b3
(xL lp)
Q e1
+ M e1
L
L
cos(L )
= f b3 L sin(L )
QL = f b3
= Lf sin(Q L )
QQ = f b3
Q e1
(xL lp)
+ M e1
Q
Q
=M
L=T U
1
1
1
T = mQ vQ vQ + mL vL vL + JQ 2Q
2
2
2
1
1
1
(vL lp)
+ mL vL vL + JQ 2Q
= mQ (vL lp)
2
2
2
1
1
1
+ mQ l2 (p p)
+ JQ 2Q
= (mQ + mL )(vL vL ) mQ (vL lp)
2
2
2
cos(L )
1
1
1
2 2
d L
L
= f b3
dt vL
xL
d
L)
(mQ + mL )vL mQ lL cos(
(mQ + mL )ge3 = f b3
sin(L )
dt
cos(L )
2
L )
(mQ + mL )vL mQ lL sin(L ) + mQ lL sin
(mQ + mL )ge3 = f b3
cos(L )
L
d L
= Lf sin(Q L )
dt L
L
cos( )
sin L )
d
mQ lvL sin(LL) + mQ l2 L mQ lL vL cos(
+
m
lg
sin(
)
= Lf sin(Q L )
Q
L
L)
dt
cos(L )
sin L )
mQ lv L sin(L ) + mQ lL vL cos(L ) + mQ l2 L
L )
mQ lg sin(L ) = Lf sin(Q L )
mQ lL vL sin
cos(L )
cos(L )
mQ lv L sin(L ) + mQ l2 L mQ lg sin(L ) = Lf sin(Q L )
d L
L
=M
dt Q
Q
d
JQ Q = M
dt
JQ Q = M
Decoupling equations:
(mQ + mL )(v L + ge3 ) = (f cos(Q L ) mQ l 2L )p
mQ lL = f sin(Q L )
JQ Q = M
x1 = [xL vL L L Q Q ]T
vL
x L
(f cos(Q L )mQ l 2L )
p ge3
v L
(mQ +mL )
L
L
=
x 1 =
f sin(Q L )
mQ l
Q
M
Q
JQ
Note the tension force in the cable can be explicitly calculated by taking Newtons Law on the body of the
load:
F = mL v L
T p mL ge3 = mL v L
T p = mL v L + mL ge3
kT k = kmL v L + mL ge3 k
1.2
Let e2 = [1 0]T and e3 = [0 1]T be unit vectors in the plane; let e1 be a unit vector out of the plane
Applied forces: f1 = f b3 at r1 = xQ , f2 = M e1 at r2 = Q e1
Coordinates: q = [xL xQ Q ]T
n
X
ri
Forces: Qj =
fi
qj
i=0
QxL = f b3
xQ
Q e1
+ M e1
xL
xL
=0
QxQ = f b3
Q e1
xQ
+ M e1
xQ
xQ
= f b3
QQ = f b3
(xL lp)
Q e1
+ M e1
Q
Q
=M
L=T U
1
1
T = mQ vQ vQ + mL vL vL +
2
2
U = mQ ge3 xQ + mL ge3 xL
1
1
L = mQ vQ vQ + mL vL vL +
2
2
1
JQ 2Q
2
1
JQ 2Q mQ ge3 xQ mL ge3 xL
2
d L
L
=0
dt vL
xL
d
(mL vL ) + mL ge3 = 0
dt
mL v L + mL ge3 = 0
d L
L
= f b3
dt vQ
xQ
d
(mQ vQ ) + mQ ge3 = f b3
dt
mQ v Q + mQ ge3 = f b3
d L
L
=M
dt Q
Q
d
JQ Q = M
dt
JQ Q = M
x2 = [xL vL xQ vQ Q Q ]T
vL
x L
ge3
v L
vQ
x Q
x 2 = v = f b ge
3
mQ 3
Q
Q
Q
M
Q
JQ
2
2.1
Differential Flatness
x1 system:
2
= mL (
yL
+ (
zL + g)2 ) 2
(mL x
L + mL ge3 )
T
mL
yL
sin(L )
=
=
cos(L )
T zL + g
p e2
L = tan1
p e3
p=
...
T p + T p = mL x L
1
...
p = (mL x L + T p)
T
Where:
...
...
yL y L + (
zL + g) z L
T = mL
1
2 + (
(
yL
zL + g)2 ) 2
From p,
we can find the state L :
cos(L )
p = L
sin(L )
1
...
cos(L )
L = (mL x L + T p)
sin(L )
T
mL ...
...
=
( y L cos(L ) + z L sin(L ))
T
...
...
zL + g) mL z L yL
mL mL y L (
=
(
)
T
T
T
m2 ...
...
= 2L ( y L (
zL + g) z L yL )
T
zL yL yL (
zL + g)
=
2 + (
yL
zL + g)2
Differentiating again to find higher derivatives of p and L :
(4)
2T p + T p
+ Tp = mL xL
1
p
= (mL x(4) L + Tp + 2T p)
T
Where:
...2
...
...2
... 2 !
(4)
(4)
y L + yL yL
y L + (
z
z L)
)
+
z
(
z
+
g)
+
(
(
y
z
+
g)
L
L
L
L
L
T = mL
1
3
2 + (
2 + (
zL + g)2 ) 2
zL + g)2 ) 2
(
yL
(
yL
...
1
...
(4)
(4)
2
= mL (( y 2L + yL yL + zL (
zL + g) + z 2L )(
yL
+ (
zL + g)2 ) 2
...
3
...
2
yL
+ (
zL + g)2 ) 2 )
(
yL y L + (
zL + g) z L )2 (
From p
, we can find the state L :
cos(L )
sin(L )
p
= L
+ 2L
sin(L )
cos(L )
cos(L )
L = p
sin(L )
... ...
(5)
3Tp + 3T p
+ T p + T p = mL xL
...
...
1
(5)
p =
mL xL + 3Tp + 3T p
+ Tp
T
Where:
...
T = (mL (
...
...
3(2 z L (
zL + g) + 2 y L yL )3
...
...
...
(4)
(4)
2
2
12((
zL + g)2 + yL
)(zL (
zL + g) + yL
+ yL yL + z 2L )(2 z L (
zL + g) + 2 y L yL )
... (4)
... (4)
(5)
(5)
2 2
+ 4((
zL + g)2 + yL
) (2zL (
zL + g) + 2yL yL + 6 y L yL + 6 z L zL )))
5
2 2 1
(8((
zL + g)2 + yL
) )
...
...
From p , we can find the state L :
...
...
p = ( L 3L ) cos(L ) + 3 L L sin(L )
sin(L )
cos(L )
...
... cos(L )
L = p
+ 3L
sin(L )
...
...
(6)
4 T p + 6Tp
+ 4T p + T p(4) + T (4) p = mL xL
...
...
1
(6)
+ 4T p + T (4) p)
p(4) = (mL xL + 4 T p + 6Tp
T
T (4) = (mL (
...
...
zL + g) + 2 y L yL )4
15(2 z L (
...
...
...
...
(4)
(4)
2
zL + g) + 2 y L yL )2
+ 72((
zL + g)2 + yL
)(zL (
zL + g) + y 2L + yL yL + z 2L )(2 z L (
...
...
(4)
2 2 (4)
48((
zL + g)2 + yL
) (zL (
zL + g) + y 2L + yL yL + z 2L )2
...
... (4)
... (4) ...
(5)
(5)
2 2
zL + g) + 2 y L yL )
16((
zL + g)2 + yL
) (2zL (
zL + g) + 2yL yL + 6 y L yL + 6 z L zL )(2 z L (
...
...
(6)
(4) 2
(6)
(4) 2
2 3
+ 8((
zL + g)2 + yL
) (2zL (
zL + g) + 6yL + 2yL yL + 8 y L y (5) + 6zL + 8 z L z (5) )))
7
2 2 1
(16((
zL + g)2 + yL
) )
(4)
(4)
cos(L )
sin(L )
2
2
4
=
6L L )
+ (3L L )
sin(L )
cos(L )
cos(L )
= p(4)
+ 6 2L L
sin(L )
(4)
(L
Using Newtons Equations on the quadrotor and the load to eliminate T p and solve for f b3 :
mQ x
Q = f b3 mQ ge3 + T p
mL x
L = T p mL ge3
f b3 = mQ x
Q + mL x
L + mQ ge3 + mL ge3
Using the constraint x
Q = x
L l
p:
f b3 = mQ (
xL l
p) + mL x
L + mQ ge3 + mL ge3
= (mQ + mL )(
xL + ge3 ) mQ l
p
b3 =
(mQ + mL )(
xL + ge3 ) mQ l
p
sin(Q )
=
cos(Q )
k(mQ + mL )(
xL + ge3 ) mQ l
pk
f = ((mQ + mL )(
xL + ge3 ) mQ l
p) b3
f b3 e2
Q = tan1
f b3 e3
(mQ + mL )
yL + mQ l
p e2
= tan1
(mQ + mL )(
zL + g) mQ l
p e3
...
...
...
...
(mQ + mL )(
zL + g) lmQ p2
((mQ + mL )(
zL + g) lmQ p2 )2
...
...
(4)
(4)
((mQ + mL )zL lmQ p2 )(lmQ p1 (mQ + mL )
yL ) 2((mQ + mL ) z L lmQ p 2 )2 (lmQ p1 (mQ + mL )
yL )
+
)
((mQ + mL )(
zL + g) lmQ p2 )2
((mQ + mL )(
zL + g) lmQ p2 )3
(lmQ p1 (mQ + mL )
yL ) 2
+ 1)1 ]
((mQ + mL )(
zL + g) lmQ p2 )2
...
...
...
...
yL )2
2(lmQ p 1 (mQ + mL ) y L )(lmQ p1 (mQ + mL )
yL ) 2((mQ + mL ) z L lmQ p 2 )(lmQ p1 (mQ + mL )
)
[(
((mQ + mL )(
zL + g) lmQ p2 )2
((mQ + mL )(
zL + g) lmQ p2 )3
...
...
...
...
yL )
lmQ p 1 (mQ + mL ) y L
((mQ + mL ) z L lmQ p 2 )(lmQ p1 (mQ + mL )
(
)
((mQ + mL )(
zL + g) lmQ p2 )
((mQ + mL )(
zL + g) lmQ p2 )2
(lmQ p1 (mQ + mL )
yL ) 2
+ 1)2 ]
((mQ + mL )(
zL + g) lmQ p2 )2
10
2.1.1
Control Laws
e
2
dL = tan1
pd e3
sin(Q )
f =F
cos(Q )
pd =
p nom =
(mL x T + Tnom pnom ), Tnom = mL
1
Tnom
(
yT2 + (
zT + g)2 ) 2
cos(Lnom )
dL = p nom
sin(Lnom )
pnom =
p
nom =
1
Tnom
Tnom = mL
...
...
(4)
(4)
zT + g) + z 2T )
( y 2T + yT yT + zT (
1
(
yT2 + (
zT + g)2 ) 2
cos(Lnom )
dL = p
nom
sin(Lnom )
!
...
...
(
yT y T + (
zT + g) z T )2
3
(
yT2 + (
zT + g)2 ) 2
dL
kpL eL
kdL e L
+ sin
dL mQ l
f
dL mQ l
f
dL mQ l
f
Intuition:
kp is negative, so the actual control law is:
dQ
dL
kpL (dL
L )
kdL ( L
11
dL ) + sin1
L
+ (Swinging to right)
L
- (Swinging to left)
+
12
(8((
zT + g)2 + yT2 ) 2 )1
...
...
1
(5)
p nom =
mL xT + 3Tnom p nom + 3Tnom p
nom + T nom pnom
Tnom
(4)
Tnom = (mL (
...
...
15(2 z T (
zT + g) + 2 y T yT )4
...
...
...
...
(4)
(4)
+ 72((
zT + g)2 + yT2 )(zT (
zT + g) + 2 y T yT )2
zT + g) + y 2T + yT yT + z 2T )(2 z T (
...
...
(4)
(4)
48((
zT + g)2 + yT2 )(zT (
zT + g) + y 2T + yT yT + z 2T )2
...
... (4)
... (4) ...
(5)
(5)
zT + g) + 2 y T yT )
16((
zT + g)2 + yT2 )2 (2zT (
zT + g) + 2yT yT + 6 y T yT + 6 z T zT )(2 z T (
...
...
(6)
(4) 2
(6)
(4) 2
+ 8((
zT + g)2 + yT2 )3 (2zT (
zT + g) + 6yT + 2yT yT + 8 y T y (5) + 6zT + 8 z T z (5) )))
7
(16((
zT + g)2 + yT2 ) 2 )1
...
...
1
(6)
(4)
p(4)
pnom )
(mL xT + 4 T nom p nom + 6Tnom p
nom + 4Tnom p nom + Tnom
nom =
Tnom
...
...
dQ = ((lmQ p 1 (mQ + mL ) y T )((mQ + mL )(
z + g) lmQ p2 )
...
...
yT ))
+ (lmQ p 2 (mQ + mL ) z T )(lmQ p1 (mQ + mL )
#
"
1
(k)
2
(lm
p
(m
+
m
)
y
)
p
Q
1
Q
L
T
1 nom
(lmQ p2 (mQ + mL )(
zT + g))2 (
+ 1)
, where p(k)
nom =
(k)
(lmQ p2 + (mQ + mL )(
zT + g))2
p2 nom
...
...
...
...
(4)
(4)
lmQ p1 (mQ + mL )yT
2(lmQ p 1 (mQ + mL ) y T )((mQ + mL ) z T lmQ p 2 )
dQ = [(
(mQ + mL )(
zT + g) lmQ p2
((mQ + mL )(
zT + g) lmQ p2 )2
...
...
(4)
(4)
((mQ + mL )zT lmQ p2 )(lmQ p1 (mQ + mL )
yT ) 2((mQ + mL ) z T lmQ p 2 )2 (lmQ p1 (mQ + mL )
yT )
+
)
2
3
((mQ + mL )(
zT + g) lmQ p2 )
((mQ + mL )(
zT + g) lmQ p2 )
(lmQ p1 (mQ + mL )
yT )2
+ 1)1 ]
((mQ + mL )(
zT + g) lmQ p2 )2
...
...
...
...
2(lmQ p 1 (mQ + mL ) y T )(lmQ p1 (mQ + mL )
yT ) 2((mQ + mL ) z T lmQ p 2 )(lmQ p1 (mQ + mL )
yT )2
[(
)
2
3
((mQ + mL )(
zT + g) lmQ p2 )
((mQ + mL )(
zT + g) lmQ p2 )
...
...
...
...
lmQ p 1 (mQ + mL ) y T
((mQ + mL ) z T lmQ p 2 )(lmQ p1 (mQ + mL )
yT )
(
)
2
((mQ + mL )(
zT + g) lmQ p2 )
((mQ + mL )(
zT + g) lmQ p2 )
(lmQ p1 (mQ + mL )
yT )2
+ 1)2 ]
((mQ + mL )(
zT + g) lmQ p2 )2
kpQ = 160, kdQ = 56
M = JQ (kpQ eQ kdQ e Q + dQ )
= JQ (kpQ (Q dQ ) kdQ ( Q dQ ) + dQ )
13
2.2
x2 system:
b3 =
21
mQ x
Q + mQ ge3
sin(Q )
=
cos(Q )
kmQ x
Q + mQ ge3 k
mQ
yQ
sin(Q ) =
f
mQ
(
zQ + g)
cos(Q ) =
f
f b3 e2
Q = tan1
f b3 e3
yQ
= tan1
zQ + g
B b3
= fb3 + f Q b1 b3
= fb3 f Q b2
mQ ...
Q =
( x Q b2 )
f
mQ ...
...
( y Q cos(Q ) + z Q sin(Q ))
=
f
m2Q ...
...
= 2 ( y Q (
zQ + g) z Q yQ )
f
...
...
( z Q yQ y Q (
zQ + g))
=
2
yQ + (
zQ + g)2
14
B b3 (f Q + f Q )b2 + f Q (I B b2 )
= fb3 + f Q b1 b3 (f Q + f Q )b2 + f Q ( Q b1 b2 )
= fb3 f Q b2 (f Q + f Q )b2 + f 2Q b3
I
Q
f2
m2Q ....
....
zQ + g) z Q yQ )
= 2 ( y Q (
f
2m4Q
...
...
... ...
+ 4 (
zQ + g) z Q yQ )
yQ y Q + (
zQ + g) z Q )( y Q (
f
....
....
zQ + g))
( z Q yQ y Q (
=
2
yQ + (
zQ + g)2
...
...
... ...
zQ + g) z Q yQ )
2(
yQ y Q + (
zQ + g) z Q )( y Q (
+
2
2 + (
yQ
zQ + g)2
The moment input be found from:
M = JQ Q
15
2.2.1
Control Laws
Use control laws from paper with desired trajectory: T (t) = [xT (t)] = [yT (t) zT (t)]T :
F1 = mQ ge3 + mQ x
T
F = Kp (x xT ) Kd (x x T ) + F1
f = F b3
dQ = tan1
F e2
F e3
fnom b3nom = mQ x
T + mQ ge3
mQ x
T + mQ ge3
b3nom =
kmQ x
T + mQ ge3 k
fnom b3nom e2
Qnom = tan1
fnom b3nom e3
fnom = fnom b3nom b3nom
mQ ...
cos(Qnom )
d
( x T b2nom ) 2
,f =
Q =
fnom
fnom
fnom
Md = JQ dQ
M = JQ (Kp (Q dQ ) Kd ( Q dQ )) + Md
16
2.3
A Differentially-Flat Hybrid System is a hybrid system where each subsystem is differentially-flat, the
switching surfaces are functions of the flat outputs and their derivatives, and moreover the flat outputs
map from one subsystem to a subsequent subsystem through the sufficiently smooth transition maps.
The switching surfaces are S1 = {x1 | T kmL (v L + ge3 )k = 0}, which is in terms of the flat outputs xL .
The second switching surface is S2 = {x2 | kxQ xL k = l}, which is in terms of the flat output xQ and xL
which can be determined from initial conditions.
17