Quadrotor Modeling and Control

16-311 Introduction to Robotics
Guest Lecture on Aerial Robotics
Quadrotor Modeling and Control
Nathan Michael
February 05, 2014
Lecture Outline
•
•
•
Modeling:
•
•
Dynamic model from first principles
Propeller model and force and moments generation
Control
•
•
Attitude control (inner loop)
Position control (outer loop)
Current research challenges
Lecture Objective
Develop preliminary concepts required
to enable autonomous flight:
e3
e2
e1
D. Mellinger, N. Michael, and V. Kumar. Trajectory generation
and control for precise aggressive maneuvers with
quadrotors. Intl. J. Robot. Research, 31(5):664–674, Apr.
2012.
1. Vehicle model
2. Attitude and position control
3. Trajectory generation
Quadrotor Model
Concept Review
Newton-Euler equations:
mass
total force


F
m13
=
⌧
03
linear acceleration
03
I3


linear velocity
a
! ⇥ mv
+
↵
! ⇥ I3 !
total torque
angular velocity
moment of inertia
angular acceleration
Quadrotor Model
Concept Review
Rigid transformation:
b3
e3
pe = Reb pb + re
rotation
translation
Reb
re
pb
b2
b1
e2
e1
Euler angle parameterization of rotation:
Reb = Rz ( )Ry (✓)Rx ( )
ZYX (321) form
Quadrotor Model
Concept Review
Euler angle parameterization of rotation:
b3
e3
Reb = Rz ( )Ry (✓)Rx ( )
yaw
2
1
Rx ( ) = 4 0
0
0
c
s
pitch
roll
3
2
0
c✓
s 5 Ry (✓) = 4 0
c
s✓
pb
b2
Reb
re
b1
e2
e1
3
2
0 s✓
c
1 0 5 Rz ( ) = 4 s
0 c✓
0
s
c
0
3
0
05
1
Quadrotor Model
Newton-Euler equations:


F
m13
=
⌧
03
03
I3


a
! ⇥ mv
+
↵
! ⇥ I3 !
f3
e3
f4
f4
b 3 f2
f3
b2
b3
Total force:
Body:
Inertial:
b2
f4
f1
f1
b1
f2
e2
e1
b1
COM
2 3
4
0
X
Fb = 4 0 5
f=
fi
along b3
f
i=1
Fe = Reb Fb
mg
gravity
b2
f1
re
f3
b 3 f2
b1
Quadrotor Model
Newton-Euler equations:


F
m13
=
⌧
03
f3
f4
03
I3


a
! ⇥ mv
+
↵
! ⇥ I3 !
b2
b3
f2
f1
f1
b1
f4 )
⌧b2 = d (f3
f1 )
f1
⌧1
⌧2+
⌧4+
⌧3
b1
e1
induced moments
b1
b2
b2
b1
d
⌧b1 = d (f2
b 3 f2
e2
b2
f4
Total torque:
Recall: ⌧ = r ⇥ F
e3
f4
re
f3
b 3 f2
f3
⌧b 3 =
⌧ 1 + ⌧2
propeller direction
of rotation
⌧3 + ⌧4
Quadrotor Model
Equations of motion:

03
I3
m13
03



Reb Fb mg
a
! ⇥ mv
Fe
+
=
=
T
↵
! ⇥ I3 !
⌧
[⌧b1 , ⌧b2 , ⌧b3 ]
Fe = Reb Fb mg
2 3
0
Fb = 4 0 5
f
Motor model:
b1
⌧1
b2
⌧2+
⌧4+
⌧3

fi = c T !
¯ i2
⌧i = ±cQ !
¯ i2
2
3
2
f
cT
6 ⌧b1 7 6 0
6 7=6
4⌧b2 5 4 dcT
⌧b3
cQ
⌧b1 = d (f2
f4 )
⌧b2 = d (f3
f1 )
⌧b 3 =
⌧ 1 + ⌧2
⌧3 + ⌧4
Approximate relationship between propeller
speeds and generated thrusts and moments
cT
dcT
0
cQ
cT
0
dcT
cQ
32
3
cT
w̄12
6w̄22 7
dcT 7
7 6 27
0 5 4w̄3 5
cQ
w̄42
Lecture Outline
•
•
•
Modeling:
•
•
Dynamic model from first principles
Propeller model and force and moments generation
Control
•
•
Attitude control (inner loop)
Position control (outer loop)
Current research challenges
Control System Diagram
p
d
u1 = f d
Position
Controller
Motor
Controller
Trajectory
Planner
d
Attitude
Planner
Rd
Attitude
Controller
u2 =
⇥
⌧bd1 ,
⌧bd2 ,
Recent tutorial on quadrotor control:
R. Mahony, V. Kumar, and P. Corke. Multirotor aerial vehicles: Modeling, estimation, and control
of quadrotor. IEEE Robot. Autom. Mag., 19(3):20–32, Sept. 2012.
!
¯i
⇤
d T
⌧ b3
Dynamic
Model
Attitude Control
Inner Loop
PD control law:
u2 =
nonlinear
Rotation error metric:
eR =
k R eR
⇣
1
2
R
d T
R
k ! e!
e! = !
RT Rd
⌘_
!d
Attitude Control
Inner Loop
Linearize the nonlinear model about hover:
R0 = R (
R d = Rz (
Rotation error metric:
eR =
after linearization
⇣
1
2
2
u4
=[
0
0
= 0, ✓0 = 0,
+
R
d T
) Ryx (
,
T d
R0 R
R0
0
✓
0
✓
,
0)
0
✓,
]
T
✓)
⌘_
3_
5
Attitude Control
Inner Loop
PD control law:
u2 =
k R eR
eR = [
,
e! = !
p
d
k ! e!
✓,
!d
u1 = f d
Position
Controller
Motor
Controller
Trajectory
Planner
d
Attitude
Planner
Rd
]
T
Attitude
Controller
!
¯i
⇥
⇤T
u2 = ⌧bd1 , ⌧bd2 , ⌧bd3
Dynamic
Model
Position Control
Outer Loop
PD control law:
e a + k d ev + k p ep = 0
Linearize the nonlinear model about hover:
Nominal input:
u1 = mg
u2 = 03⇥1
p
d
u1 = f d
Position
Controller
Motor
Controller
Trajectory
Planner
d
Attitude
Planner
Rd
Attitude
Controller
!
¯i
⇥
⇤T
u2 = ⌧bd1 , ⌧bd2 , ⌧bd3
Dynamic
Model
Position Control
Outer Loop
PD control law:
u1 =
T
mb3
d
g + a + K d ev + K p e p
d
ep = p
p
ev = v
vd
How do we pick the gains?
p
d
u1 = f d
Position
Controller
Motor
Controller
Trajectory
Planner
d
Attitude
Planner
Rd
Attitude
Controller
u2 =
⇥
⌧bd1 ,
⌧bd2 ,
!
¯i
⇤
d T
⌧ b3
Dynamic
Model
Lecture Outline
•
•
•
Modeling:
•
•
Dynamic model from first principles
Propeller model and force and moments generation
Control
•
•
Attitude control (inner loop)
Position control (outer loop)
Current research challenges
Current Research Challenges
How should we coordinate multiple robots given network and vehicle
limitations?
Current Research Challenges
How do we estimate the vehicle state and localize in an unknown
environment using only onboard sensing?
GPS
Camera
Laser
IMU
Barometer
Cameras
IMU
Current Research Challenges
How do we estimate the vehicle state and localize in an unknown
environment using only onboard sensing?
Lecture Summary
•
•
•
Modeling:
•
•
Dynamic model from first principles
Propeller model and force and
moments generation
Control
•
•
e3
e2
e1
Attitude control (inner loop)
Position control (outer loop)
Current research challenges
1. Vehicle model
2. Attitude and position control
3. Trajectory generation