45
Guerlédan Modelization of a quadrotor Control Modelisation, control and guidance of a quadrotor L. Jaulin November 7, 2017 L. Jaulin Modelisation, control and guidance of a quadrotor

Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Modelisation, control and guidance of a quadrotor

L. Jaulin

November 7, 2017

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 2: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Video available at: youtu.be/MlnagaOBSiY

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 3: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Guerlédan

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 4: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 5: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 6: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

La Cordelière

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 7: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Reconstitution de la bataille

youtu.be/yP4cM1UGrqY

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 8: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Pris au R2Sonic à 700kHz.

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 9: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

youtu.be/YAkUw1ggCvgA

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 10: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Quadrotor

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 11: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 12: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Inertial unit

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 13: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Inertial unit [1][2]

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 14: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

vr = ar −ω r ∧vr

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 15: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

p = R(ϕ,θ ,ψ) · vr ϕ

θ

ψ

=

1 tanθ sinϕ tanθ cosϕ

0 cosϕ −sinϕ

0 sinϕ

cosθ

cosϕ

cosθ

·ω r

vr = RT (ϕ,θ ,ψ) ·

00g

+

00− τ0

m

−ω r ∧vr

ω r = I−1 ·

τ1τ2τ3

−ω r ∧ (I ·ω r )

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 16: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

whereτ0τ1τ2τ3

=

β β β β

−β` 0 β` 00 −β` 0 β`−δ δ −δ δ

·

ω1 · |ω1|ω2 · |ω2|ω3 · |ω3|ω4 · |ω4|

τ0 is the total thrustτ1,τ2,τ3 are the torques , β is the thrustfactor, δ is the drag factor and ` the distance between any rotor tothe center.

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 17: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Newton-Euler laws

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 18: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

The Newton’s second law for translation is

mar = RT (ϕ,θ ,ψ) ·

00mg

+

00−τ0

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 19: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

The Euler’s rotation equation,

Iω r +ω r ∧ (Iω r ) =

τ1τ2τ3

.

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 20: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 21: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Quadrotor which follows the Van der Pol cycle

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 22: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Causal chain for backstepping conctrol

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 23: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 24: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

1) Feed forward controller with the new input(τd

0 ,τd1 ,τ

d2 ,τ

d2)with

eliminates the effect of Block (a):

ω1ω2ω3ω4

= a

√√√√√√√√

β β β β

−β` 0 β` 00 −β` 0 β`−δ δ −δ δ

−1

τd0

τd1

τd2

τd3

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 25: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

2) Using a feedback linearization approach, we take

τd1:3 =I ·kω .

dr −ω r

)+ω r ∧ (I ·ω r )

Therefore

ω r = I−1 ·(τd

1:3−ω r ∧ (I ·ω r ))

= I−1 ·(I·kω .

(ωd

r −ω r

)+ω r ∧ (I ·ω r )−ω r ∧ (I ·ω r )

)= kω .

(ωd

r −ω r

)

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 26: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

3) We now build a controller with a desired input(ϕd ,θd ,ψd

)which and an output ωd

r , such that the vector (ϕ,θ ,ψ) convergesto(ϕd ,θd ,ψd

).

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 27: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

ωdr = kϕθψ ·

1 tanθ sinϕ tanθ cosϕ

0 cosϕ −sinϕ

0 sinϕ

cosθ

cosϕ

cosθ

−1

︸ ︷︷ ︸T−1

ϕd

θd

ψd

− ϕ

θ

ψ

Thus, we have ϕ

θ

ψ

= T ·ωdr = kϕθψ ·

ϕd

θd

ψd

− ϕ

θ

ψ

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 28: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 29: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

4) Last loop with artificial potential field method:ϕd

θd

ψd

τd0

= . . .

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 30: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Altitude control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 31: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

τd0 = 300 · tanh(z− zd)+60 ·vr3

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 32: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Head control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 33: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 34: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

ψd = angle(R ·vr )

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 35: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Pitch control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 36: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 37: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

θd = −0.3 · tanh(vd −vr1)

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 38: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Roll control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 39: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 40: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

ϕd = 0.5 · tanh(10 · sawtooth(angle(fd)−angle(R ·vr )))

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 41: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

Van der Pol cycle

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 42: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

The quadrotor has to follow a path that obeys the Van der Polequation: {

x1 = x2x2 = −

(0.001 x2

1 −1)x2−x1

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 43: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

We add the following loop

ϕd = 0.5 · tanh(10 · sawtooth(angle(fvdp(x ,y)

)−angle(R ·vr )))

θd = −0.3 · tanh(vd −vr1)ψd = angle(R ·vr )τd

0 = 300 · tanh(z− zd)+60 ·vr3

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 44: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

L. Jaulin Modelisation, control and guidance of a quadrotor

Page 45: Modelization of a quadrotor Control - ENSTA Bretagne · Modelization of a quadrotor Control wd r =kjqy 0 @ 1 tanq sinj tanq cosj 0 cos jsin 0 sinj cosq cosj cosq 1 A@1 | {z } T 1

GuerlédanModelization of a quadrotor

Control

L. Jaulin.Automation for Robotics.ISTE editions, 2015.

L. Jaulin.Mobile Robotics.ISTE editions, 2015.

L. Jaulin Modelisation, control and guidance of a quadrotor