a lie group formulation of multirotor aerial vehicle dynamics...
TRANSCRIPT
저 시-비 리- 경 지 2.0 한민
는 아래 조건 르는 경 에 한하여 게
l 저 물 복제, 포, 전송, 전시, 공연 송할 수 습니다.
다 과 같 조건 라야 합니다:
l 하는, 저 물 나 포 경 , 저 물에 적 된 허락조건 명확하게 나타내어야 합니다.
l 저 터 허가를 면 러한 조건들 적 되지 않습니다.
저 에 른 리는 내 에 하여 향 지 않습니다.
것 허락규약(Legal Code) 해하 쉽게 약한 것 니다.
Disclaimer
저 시. 하는 원저 를 시하여야 합니다.
비 리. 하는 저 물 리 목적 할 수 없습니다.
경 지. 하는 저 물 개 , 형 또는 가공할 수 없습니다.
공학석사 학위논문
다로터 항공기 동역학과 경로 생성 및 최적제어의 리 그룹 포뮬레이션
A Lie group formulation of multirotoraerial vehicle dynamics with
applications to trajectory generationand optimal control
2017년 2월
서울대학교 대학원
기계항공공학부
노 수 철
ABSTRACT
A Lie group formulation of multirotor aerial vehicle
dynamics with applications to trajectory generation and
optimal control
by
Soocheol Noh
School of Mechanical and Aerospace Engineering
Seoul National University
This thesis presents a Lie group-based dynamics for general winged and wingless
multirotor aerial vehicles (MAVs), and suggests optimal control using this. We deal
with the dynamics of the MAVs with arbitrary sets of positions, axes, and coor-
dinates of rotors or wings with no generic assumptions. From the large category
of MAVs dynamics, we can make more simple dynamics equation by introducing
the commonly used assumptions one after the other. In particular, we present an
optimal control method of quadrotor as an application to this Lie group dynamics.
i
ii
This Lie group formulation can express all of the dynamics of any existing winged
or wingless MAVs model, and we present the analytic gradient of the optimization
problem, making it easy to plan trajectory and optimize various objective functions.
Keywords: dynamics, optimal control, Lie group, multirotor, quadrotor, optimiza-
tion
Student Number: 2014-22483
Contents
Abstract i
List of Tables vi
List of Figures vii
1 Introduction 1
2 Kinodynamic preliminaries 4
2.1 Newton-Euler equation for rigid body . . . . . . . . . . . . . . . . . 4
2.2 Newton-Euler equation with respect to different frame . . . . . . . . 7
2.3 Matrix exponential representation . . . . . . . . . . . . . . . . . . . 9
2.4 Time derivative of matrix exponential representation . . . . . . . . . 10
3 Dynamics for generic MAV 12
3.1 Generic wingless MAV . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.1 Dynamic equations for rotor i . . . . . . . . . . . . . . . . . . 14
3.1.2 Dynamic equations for MAV body . . . . . . . . . . . . . . . 16
3.1.3 Entire dynamic equations for generic wingless MAV . . . . . 17
iii
CONTENTS iv
3.1.4 Simplified dynamics for generic wingless MAV . . . . . . . . . 18
3.1.5 Motor dynamics for generic wingless MAV . . . . . . . . . . . 19
3.2 Generic MAV model with wings . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Aerodynamic spatial forces . . . . . . . . . . . . . . . . . . . 22
3.2.2 Entire dynamic equations for generic MAV with wings . . . . 25
3.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3.1 Standard quadrotor . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.2 Quadrotor with tilting rotors . . . . . . . . . . . . . . . . . . 30
3.3.3 Quadrotor with two fixed wings . . . . . . . . . . . . . . . . . 33
3.3.4 Quadrotor with four tilting wings . . . . . . . . . . . . . . . . 34
4 Optimal control 36
4.1 Problem definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.1.1 Minimum torque . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.1.2 Minimum energy . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2 Gradients for solving optimization problems . . . . . . . . . . . . . . 38
4.2.1 Analytic gradients for objective function . . . . . . . . . . . . 39
4.2.2 Analytic gradients for constraints . . . . . . . . . . . . . . . . 39
4.3 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.1 Multiple different final conditions of S . . . . . . . . . . . . . 41
4.3.2 Multiple different initial guesses . . . . . . . . . . . . . . . . . 46
4.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5 Conclusion 49
Bibliography 51
CONTENTS v
국문초록 54
List of Tables
3.1 List of standard assumptions . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Coefficients of aerodynamic spatial force . . . . . . . . . . . . . . . . 25
4.1 Phantom 2 specification . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.2 Simulation result of Section 4.3.1 . . . . . . . . . . . . . . . . . . . . 45
vi
List of Figures
2.1 Free body diagram for a rigid body . . . . . . . . . . . . . . . . . . . 5
3.1 Generic wingless MAV with n rotors . . . . . . . . . . . . . . . . . . 13
3.2 Free body diagram for the MAV body . . . . . . . . . . . . . . . . . 15
3.3 Standard DC motor diagram . . . . . . . . . . . . . . . . . . . . . . 20
3.4 Generic MAV with wings . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5 Free body diagram for wing α . . . . . . . . . . . . . . . . . . . . . . 23
3.6 Standard quadrotor . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.7 Quadrotor with tilting rotors . . . . . . . . . . . . . . . . . . . . . . 30
3.8 Quadrotor with two fixed wings . . . . . . . . . . . . . . . . . . . . . 33
3.9 Quadrotor with four tilting wings . . . . . . . . . . . . . . . . . . . . 35
4.1 Simulation result with final orientation Rot(z,π2 ) . . . . . . . . . . . 42
4.2 Simulation result with final orientation Rot(z,π4 ) . . . . . . . . . . . 43
4.3 Simulation result with final orientation Rot(z,0) . . . . . . . . . . . . 44
4.4 Simulation result with different initial guesses . . . . . . . . . . . . . 47
vii
1Introduction
Multirotor aerial vehicles (MAV) come in a wide variety of designs and configura-
tions, from the standard quadrotor-type unmanned aerial vehicle (UAV) to those
with rotor axes aligned in different directions, some actively tiltable, possibly with
fixed or moving wings attached to various parts of the vehicle (e.g., vertical take-
off and landing aircraft designs). With the growing diversity of designs, together
with the increasingly dynamic and complex maneuvers that are being performed by
MAVs, accurate mathematical models are becoming more and more critical to their
control and design. Such models are essential not only for accurate physics-based
simulation and design optimization, but also for applying advanced model-based
nonlinear control laws and trajectory planning algorithms, which with advances in
computational power are now becoming more and more amenable to real-time com-
putation.
Most of the existing work on MAV dynamic models have been limited to the
most basic designs, in which the vehicle is modeled as a single rigid body subject
to rotor thrust, aerodynamic, and other external forces. [1, 2, 3, 4, 5] address the
1
1. Introduction 2
dynamics of standard quadrotors: [2, 4] take into account the dynamics of the rotor
actuators, while [3] also considers the aerodynamic forces acting on the vehicle. All
of the previous works assume the standard quadrotor configuration, i.e., the four
rotor axes are parallel and symmetrically arranged about the vehicle center of mass.
The dynamics of six rotor MAVs are addressed in [6], and eight-rotor MAVs in
[7]; here the rotor axes are all assumed parallel and arranged symmetrically about
the vehicle center of mass. [8] is the only recent work to address the dynamics of
generic multirotor aerial vehicles, i.e., those consisting of an arbitrary number of
rotors in arbitrary arrangements, but only the inertial properties of the main body
are considered, and the dynamics are formulated in the conventional manner with
respect to the center of mass frame only. More recently, in an effort to overcome
the inherent power limitations of wingless rotorcraft, MAV designs with both fixed
and moving wings attached have been proposed in the literature. [9, 10] derive the
dynamics of a MAV with two fixed wings, while [11] derives the kinematics (but not
the dynamics) of a quad tilt-wing MAV with four rotors. A systematic analysis of
the dynamics of generic winged MAVs has yet to be addressed in the literature.
In this thesis we present a systematic modeling framework for generic MAVs that
encompasses a wide spectrum of possible designs. We assume the MAVs are driven
by a set of rotors, possibly with tiltable axes, and that an arbitrary number of fixed
and adjustable wings may be attached to the vehicle body. A subset of the rotors
may be attached to the wings, and some to the main MAV body. Our modeling
framework considers the rigid multibody dynamics of both the vehicle body’s mass
and inertia as well as the masses and inertias of the rotor bodies; other articulated
bodies that may be attached to the MAV (e.g., an open chain manipulator) can also
be treated straightforwardly within our framework. In addition to the thrust forces
and moments generated by the rotors, our framework allows for the consideration
1. Introduction 3
of external aerodynamic forces that are applied to the MAV. We also present a
method for optimal control of the quadrotor using the dynamic equations derived.
The analytic gradient of the objective function and constraints can be easily obtained
by taking advantage of the properties of the Lie group formulation, which is useful
for the computation time of optimization, easily coding for MAVs, and so on.
The thesis is organized as follows. Section 2 reviews the formulation of the dy-
namic equations for a single rigid body using Lie group concepts and notation, while
Section 3 presents the main results of our dynamic modeling framework for generic
winged and wingless MAVs. Section 4 presents the optimal control of the quadrotor
based on the dynamics we suggest and we run the simulation and analyze the re-
sults. Section 5 deals with the conclusions and limitations of this thesis, and future
research.
2Kinodynamic preliminaries
In this chapter we firstly define different kind of useful notations in Lie group. Using
these notations, we further define and recreate the Newton and Euler equation for
a rigid body. More details about Lie group and specific deriving processes can be
found in [12, 13].
2.1 Newton-Euler equation for rigid body
Consider a three-dimensional rigid body of mass m moving in physical space with
angular velocity ~ω, and whose center of mass moves with linear velocity ~v depicted
in Figure 2.1. The body is subject to an external force ~f . Denoting by ~r the vector
from the body center of mass to the point of application of ~f , the resulting moment
generated by ~f about the center of mass is then given by ~τ = ~r × ~f . If ~h denotes
the angular momentum of the body, the dynamic equations of the moving body can
4
2.1. Newton-Euler equation for rigid body 5
Figure 2.1: Free body diagram for a rigid body
then be expressed as follows:
~τ =d
dt~h
~f = md
dt~v.
Now attach a right-handed body-fixed reference frame {b} with orthonormal axes
{ib, jb, kb} to the body center of mass, and express the angular velocity ~ω as
~ω = ωx ib + ωy jb + ωzkb. (2.1.1)
Define the column vector ωb ∈ R3 by ωb = (ωx, ωy, ωz)T (the subscript ‘b’ denotes
the column vector representation of ~ω with respect to the body-fixed frame {b}).
The column vectors vb, fb, τb, hb ∈ R3 are similarly defined vector representations
for ~v, ~f , ~τ , and ~h, respectively. We further define the 3× 3 matrix, Ib ∈ R3×3, to be
the rotational inertia matrix of the rigid body with respect to the body frame {b}; in
this case hb can be calculated as hb = Ibωb. Making use of the rotating frame vector
2.1. Newton-Euler equation for rigid body 6
identities ddt ib = ~ω × ib,
ddt jb = ~ω × jb,
ddt kb = ~ω × kb, the dynamic equations (2.1.1)
can now be explicitly expressed in terms of the coordinates of frame {b} coordinates
as
τb = Ibωb + ωb × Ibωb (2.1.2)
fb = m(vb + ωb × vb), (2.1.3)
where ˙( ) denotes differentiation with respect to time t.
We now express the dynamic equations (2.1.2)–(2.1.3) using Lie group notation.
First, recall that the cross-product between two vectors u, v ∈ R3 can be expressed
as the matrix-vector product
u× v = [u]v, [u] =
0 −u3 u2
u3 0 −u1
−u2 u1 0
,where [u] = −[u]T denotes the 3×3 skew-symmetric matrix representation of u ∈ R3.
The cross-product term ωb × Ibωb in Equation (2.1.2) can therefore be expressed
as [ωb]Ibωb = −[ωb]T Ibωb. Equations (2.1.2)–(2.1.3) can now be combined into the
following more compact form: τb
fb
=
Ib 0
0 m · 1
ωb
vb
− [ωb] 0
[vb] [ωb]
T Ib 0
0 m · 1
ωb
vb
, (2.1.4)
where 1 denotes the 3× 3 identity matrix.
Written in this way, each of the terms can now be identified with six-dimensional
spatial quantities as follows:
• The vector pairs (ωb, vb) and (τb, fb) can be respectively identified with the six-
dimensional spatial velocity (or twist) Vb ∈ se(3) and spatial force (or wrench)
2.2. Newton-Euler equation with respect to different frame 7
Fb ∈ se∗(3):
Vb =
ωb
vb
, Fb =
τb
fb
. (2.1.5)
Here se(3) denotes the vector space corresponding to the six-dimensional Lie
algebra of SE(3) and se∗(3) its dual. With a slight abuse of notation, Vb and
Fb will also sometimes be written in the more compact form Vb = (ωb, vb)
and Fb = (τb, fb) to explicitly indicate their components. We shall also have
occasion to represent Vb in the following 4× 4 matrix form:
[Vb] =
[ωb] vb
0 0
. (2.1.6)
• The 6× 6 spatial inertia matrix Gb ∈ R6×6 is defined as follows:
Gb =
Ib 0
0 m · 1
. (2.1.7)
• Given V = (ω, v) ∈ se(3), its adjoint representation [adV ] is defined to be the
following 6× 6 matrix:
[adV ] =
[ω] 0
[v] [ω]
. (2.1.8)
From the definitions given in Equations (2.1.5)–(2.1.8), the dynamics equations
(2.1.4) can now be written
Fb = GbVb − [adVb ]TGbVb. (2.1.9)
2.2 Newton-Euler equation with respect to different frame
To express the dynamic equations with respect to a different body-fixed reference
frame {a}, all that is needed is the relative spatial displacement between frames {b}
2.2. Newton-Euler equation with respect to different frame 8
and {a}. Denoting by Tba the 4×4 homogeneous transformation (also an element of
the Special Euclidean Group SE(3) of rigid body motions) describing the position
and orientation of frame {a} relative to frame {b},
Tba =
Rba pba
0 1
∈ SE(3),
where Rba ∈ SO(3) is a 3 × 3 rotation matrix, and pba ∈ R3 is the vector from the
origin of frame {b} to the origin of frame {a}, expressed in frame {b} coordinates.
For any given T ∈ SE(3) of the form above, its 6× 6 adjoint matrix representation
[AdT ] is defined as
[AdT ] =
R 0
[p]R R
.Typically T ∈ SE(3) is a moving frame, and its angular and linear velocity expressed
in the moving frame can be obtained from
T−1T =
R−1R R−1p
0 0
=
[ω] v
0 0
,where ω ∈ R3 and v ∈ R3 are respectively the angular velocity and linear velocity
of the moving frame T , expressed in the coordinates of frame T .
Under a change of reference frame, spatial velocities, forces, and inertias trans-
form according to the following tensorial rules:
Va = [AdTab ]Vb (2.2.10)
Fa = [AdTba ]TFb (2.2.11)
Ga = [AdTba ]TGb[AdTba ] (2.2.12)
[adVa ] = [AdTab ][adVb ][AdTba ], (2.2.13)
2.3. Matrix exponential representation 9
where Va = (ωa, va) denotes the spatial velocity of frame {a} (ωa ∈ R3 is the angular
velocity of frame {a}, while va ∈ R3 is the linear velocity of the frame {a} origin;
both are expressed in frame {a} coordinates), Fa = (τa, fa) denotes the spatial force
applied to frame {a} (fa ∈ R3 is the applied force, while τa ∈ R3 is the corresponding
moment about the frame {a} origin; both are expressed in frame {a} coordinates),
andGa ∈ R6×6 is the spatial inertia matrix with respect to {a}. Explicitly calculating
Ga,
Ga =
RTba(Ib −m [pba]2)Rba −mRTba [pba]Rba
mRTba [pba]Rba m · 1
.Multiplying both sides of Equation (2.1.9) by [AdTba ]T and using Equations (2.2.10)–
(2.2.13), one obtains
Fa = GaVa − [adVa ]TGaVa,
which are simply the dynamic equations expressed in frame {a}. The dynamic equa-
tions expressed in this way thus preserve tensorial invariance under a change of
reference frames.
2.3 Matrix exponential representation
We shall also make use of the matrix exponential representation for a rigid body
motion, which can be regarded as a restatement of Chasles Theorem that every rigid
body motion can be expressed as a screw motion. Any T ∈ SE(3) can be expressed
as the matrix exponential
T =
R p
0 1
= e[S]θ =
e[r]θ Gs
0 1
2.4. Time derivative of matrix exponential representation 10
for some S = (r, s) with ‖r‖ = 1 and θ ∈ R. Analytic formulas for the matrix
exponential can be written as
e[r]θ = I + sin θ[r] + (1− cos θ)[r]2
G = Iθ + (1− cos θ)[r] + (θ − sin θ)[r]2.
This matrix exponential has the another form for S = (r, s) with θ = ‖r‖ as follows:
e[S]θ = e[S] =
e[r] Ps
0 1
,where the analytic formulas of e[r] and P are given as
e[r] = I +sin ‖r‖‖r‖
[r] +1− cos ‖r‖‖r‖2
[r]2
P =
∫ 1
0e[r]τdτ = I +
1− cos ‖r‖‖r‖2
[r] +‖r‖ − sin ‖r‖‖r‖3
[r]2.
2.4 Time derivative of matrix exponential representation
The time derivative of T ∈ SE(3) for S = (r, s) can be calculated as follows:
T =
R P s+ P s
0 0
,where R can be derived from
R = R
∫ 1
0e−[r]τ [r]e[r]τdτ
= R
∫ 1
0[e−[r]τ r]dτ
= R
[∫ 1
0e−[r]τdτ r
]= R[Qr]
2.4. Time derivative of matrix exponential representation 11
with
Q = I − 1− cos ‖r‖‖r‖2
[r] +‖r‖ − sin ‖r‖‖r‖3
P =(‖r‖ sin ‖r‖ − 2 + 2 cos ‖r‖)rT r
‖r‖4[r] +
1− cos ‖r‖‖r‖2
[r]
+‖r‖ − sin ‖r‖‖r‖3
([r][r] + [r][r]) +(3 sin ‖r‖ − 2 ‖r‖ − ‖r‖ cos ‖r‖)rT r
‖r‖5[r]2.
3Dynamics for generic MAV
We first derive the dynamics for a generic wingless MAV, followed by the generic
MAV with wings. A word about the notation: indices for reference frames, velocities,
accelerations, inertias, and other physical quantities associated with the rotors are
denoted by lowercase Roman letters, while Greek letters are used for the correspond-
ing quantities associated with the wings. The angles for the rotors are denoted by
θi, i = 1, . . . , n, while the angles for the wings are denoted by φα, α = 1, . . . ,m.
3.1 Generic wingless MAV
A generic wingless MAV with n rotors is depicted in Figure 3.1. Frame {s} denotes
the inertial frame (or “space” or “ground” frame), while frame {b} is a moving
frame (the “body” frame) attached to the MAV body. Frame {ri} is a moving frame
attached to rotor i, i = 1, . . . , n. Let Tbi ∈ SE(3) be the spatial displacement between
the MAV body frame {b} and rotor frame {ri}. Denoting the rotor angle for rotor i
12
3.1. Generic wingless MAV 13
Figure 3.1: Generic wingless MAV with n rotors
by θi, Tbi can then be expressed in the following exponential form:
Tbi = Mie[Si]θi , (3.1.1)
where θi is the angle of rotation for rotor i, Mi ∈ SE(3) is the displacement of rotor
frame {ri} relative to the body frame {b} when θi is zero, and Si = (ri,−ri × qi) is
the screw vector corresponding to rotor axis i; that is, ri ∈ R3 is a unit vector in the
direction of the rotor axis, with positive rotation defined in the sense of the right-
hand rule, and qi ∈ R3 is any vector from the {b} frame origin to any point on rotor
axis i (both ri and qi are expressed in coordinates for frame {b}). In practice the
rotor frame would be placed such that its origin lies on the rotor axis, in which case
qi will be zero, but for now we work with this more general formulation to reflect,
e.g., manufacturing tolerances and other errors introduced in the rotor assembly
modeling.
3.1. Generic wingless MAV 14
The spatial velocity Vb of the MAV body frame {b} relative to the inertial frame
{s}, expressed in coordinates of the body frame {b}, is obtained from
[Vb] = T−1sb Tsb. (3.1.2)
From Equation (3.1.1), Vi, the spatial velocity of rotor frame {ri} relative to the
MAV body frame {b}, expressed in coordinates of rotor frame {ri}, is obtained from
[Vri] = T−1bi Tbi = [Si]θi, (3.1.3)
or, in six-dimensional vector form, Vi = Sriθi.
3.1.1 Dynamic equations for rotor i
Based on our earlier geometric treatment of the dynamics of a single rigid body, the
dynamic equations for rotor i can be expressed in coordinates of the rotor frame
{ri} as follows:
Ei + Bi = GiVi − [adVi ]TGiVi, (3.1.4)
where Ei ∈ se∗(3) is the external spatial force applied to rotor i, and Bi ∈ se∗(3) is
the spatial force exerted on rotor i by the MAV body. For our current purposes Ei
can be expressed as Ei = Gi +Ti +Di, where Gi is the spatial force due to gravity, Ti
is the spatial force generated by the thrust of rotor i, and Di is aerodynamic drag
forces. As outlined in [1, 2, 3, 4, 5] for MAVs, Ti can be written
Ti = Ciθ2i , Ci =
−Kdi ri
Kliεiri
, (3.1.5)
where εi = ±1 depending on whether the rotor rotates counterclockwise (+1) or
clockwise (−1) with respect to the rotor axis direction ri, and Kdi and Kli are
constant 3×3 diagonal matrices whose values are specified by the propeller geometry,
3.1. Generic wingless MAV 15
Figure 3.2: Free body diagram for the MAV body
air density, air velocity, etc. [4, 9]. To be precise, Ti depends on the ratio between
the vehicle speed and propeller rotational speed (known as the advance ratio [14]),
but it is common practice to fit the experimentally obtained moment and force of
the rotor as a function linear to the square of the rotor angular velocity. The torque
exerted by rotor i can then be calculated as
τi = STi Bi, (3.1.6)
where Bi is obtained from Equation (3.1.4). Equation (3.1.6) will be used when the
motor dynamics of the actuators are considered later in this section.
3.1. Generic wingless MAV 16
3.1.2 Dynamic equations for MAV body
The dynamic equations for the MAV body (see Figure 3.2) expressed in coordinates
of the body frame {b} are of the form
Eb +n∑i=1
Ri = GbVb − [adVb ]T GbVb, (3.1.7)
where Ri is the spatial force exerted on the body by rotor i, and Eb is the external
spatial force applied to the body; both Ri and Ei are expressed in coordinates of the
{b} frame. Eb can be expressed as the sum of the spatial force due to gravity, Gb, and
aerodynamic drag forces Db. Db in turn is modeled as a nonlinear function of the
velocity Vb that will depend on properties of the body like its shape and material,
and whose precise form is obtained from aerodynamic experiments. Depending on
Vb, the drag force can be dominated by either the viscous force term (which is
linearly dependent on the speed) or the inertial drag term (which is quadratically
dependent on the speed). Observe that Ri and Bi are respectively the action and
reaction spatial force on rotor i, and by definition have the same magnitude but
opposite directions. Note further that Ri is expressed in the MAV body frame {b}
coordinates, while Bi is expressed in rotor frame {ri} coordinates; the two are related
by
Ri = −[AdTib ]TBi. (3.1.8)
Substituting Equations (3.1.4) and (3.1.8) into Equation (3.1.7), the dynamic
equations for the MAV body including all rotor spatial forces can now be written in
frame {b} coordinates as follows:
Eb +
n∑i=1
[AdTib ]TEi =
n∑i=1
[AdTib ]T(GiVi − [adVi ]
TGiVi)
+GbVb − [adVb ]TGbVb.
(3.1.9)
3.1. Generic wingless MAV 17
Observe that each rotor spatial velocity can be expressed as the sum of the MAV
body spatial velocity and the relative spatial velocity of the rotor with respect to
the MAV body, i.e.,
Vi = Vrb + Vri = [AdTib ]Vb + Siθi. (3.1.10)
For nontilting rotors Si is constant; in this case differentiating both sides of Equa-
tion (3.1.10) and using Equation (3.1.3) leads to
Vi = [adVi ]Siθi + [AdTib ]Vb + Siθi. (3.1.11)
3.1.3 Entire dynamic equations for generic wingless MAV
Substituting Equations (3.1.10)–(3.1.11) into Equation (3.1.9), replacing Ei by Gi +
Ti +Di, and using the transformation rules (2.2.10)–(2.2.13) yields
Gb +Db +
n∑i=1
(Xiθi + Yiθ2i + Ziθi
)= GT Vb − [adVb ]
TGTVb, (3.1.12)
where Gb is the spatial force corresponding to gravity expressed in frame {b} coordi-
nates (if we denote by Gs the spatial force corresponding to gravity expressed in the
coordinates of the inertial frame {s}, then Gs and Gb are related by Gb = [AdT−1sb
]Gs),
and
Xi =−Gbi Sbi (3.1.13)
Yi = Cbi + [adSbi]TGbi Sbi (3.1.14)
Zi = [adSbi]TGbiVb + [adVb ]
TGbi Sbi −Gbi [adVb ]Sbi (3.1.15)
GT = Gb +
n∑i=1
Gbi , (3.1.16)
3.1. Generic wingless MAV 18
where the superscript b in Sbi , Cbi ,Gbi , and [adSbi] denotes the corresponding expression
in frame {b} coordinates:
Sbi = [AdTbi ]Si (3.1.17)
Cbi = [AdTib ]TCi (3.1.18)
Gbi = [AdTib ]TGi[AdTib ] (3.1.19)
[adSbi] = [AdTbi ][adSi ][AdTib ]. (3.1.20)
Noting from Equation (3.1.1) that Tbi = Mie[Si]θi , the above terms can also be
expressed in terms of θi.
3.1.4 Simplified dynamics for generic wingless MAV
Since Equation (3.1.12) represents a highly broad range of generic wingless MAV
dynamics, we do not need to use this whole equation when applying it to several
MAV models actually created. Standard assumptions commonly used in MAVs are
listed below, and through these assumptions we can express this dynamics in a much
simpler form.
• If we ignore drag forces, Db disappears from Equation (3.1.12).
• If the MAV has parallel rotor axes (which means all rotors does not be tilted
and also their screws Si are typically given as (0, 0,±1, 0, 0, 0)T ), Yi can be
simplified to Yi = Cbi .
• If the body frame is located at the center of mass and symmetrically assigned
about x-y axes, i.e., Ixx = Iyy in GT , Zi is going to be Zi = [adVb ]TGbi Sbi . This
spatial force corresponds to the gyroscopic forces exerted by the rotors.
3.1. Generic wingless MAV 19
Assumption Simpler form
ignore drag forces Db = 0
parallel rotor axes Yi = Cbisymmetry about x-y axes Zi = [adVb ]
TGbi Sbiignore all rotor masses and inertias Xi = 0, Yi = Cbi , Zi = 0, and GT = Gb
Table 3.1: List of standard assumptions
• As each rotor mass is normally small compared with the body, we can ignore
all rotor masses and inertias for simplicity. This assumption derives Xi = 0,
Yi = Cbi , Zi = 0, and GT = Gb.
The listed assumptions are summarized in Table 3.1. Under all above assumptions,
the most simplified version of MAV dynamics can be given as
Gb +
n∑i=1
Cbi θ2i = GbVb − [adVb ]TGbVb. (3.1.21)
Equation (3.1.21) can be the dynamics of standard quadrotor [1, 2, 3, 4] when n = 4,
hexarotor [6] when n = 6, or even octarotor [7] when n = 8.
3.1.5 Motor dynamics for generic wingless MAV
We close this section with a discussion of how to include the motor dynamics of
the actuators into the MAV dynamic equations. In the event that the rotors are
driven by voltage-controlled electric motors, we consider the case where the input
control actions θi in Equation (3.1.12) are now replaced by the voltages applied to
the motors. The standard equations for DC motor dynamics [2] which diagram can
be depicted in Figure 3.3 are of the form
u− keθ = ldi
dt+ ri,
3.1. Generic wingless MAV 20
Figure 3.3: Standard DC motor diagram
where u is the input voltage, ke is the counter electromotive force constant, l is
the motor inductance, r is the motor resistance, and i is the current. In practice,
the electrical inertia l is typically dominated by the mechanical inertia, so that the
torque exerted from the motor can be reasonably approximated as
τ = kti =ktr
(u− keθ),
where kt is the torque constant and typically assumed to have the same value as ke.
Since the rotor i torque is given by Equation (3.1.6), the input voltage of rotor i can
be expressed in terms of Vi and θi as
ui =rikiSTi (GiVi − [adVi ]
TGiVi − Ei) + kiθi, (3.1.22)
where ri is the resistance of rotor i, ki is the torque (or counter electromotive force)
constant, and Ei is a function of Tsb and θi. Consequently, from Equations (3.1.2),
(3.1.12), and (3.1.22), this system can be represented in the following state-space
3.2. Generic MAV model with wings 21
Figure 3.4: Generic MAV with wings
form:
θi = f1(Tsb,Vb, θi, ui), i = 1 . . . n
Vb = f2(Tsb,Vb, θ1, . . . , θn)
Tsb = f3(Tsb,Vb),
where ui is the input voltage of rotor i. Examples using these dynamics equations
are given in Section 3.3 for the standard quadrotor and a MAV with tilting rotor
axes.
3.2. Generic MAV model with wings 22
3.2 Generic MAV model with wings
A generic MAV model with n rotors and m wings is depicted in Figure 3.4. Exam-
ples of winged MAVs include, e.g., a two-winged quadrotor in which two rotors are
connected to each wing, or a four-winged quadrotor in which a rotor is connected
to each wing. Denote by nα the number of rotors connected to wing α, and by nb
the number of rotors directly connected to the body, so that n = nb +∑m
α=1 nα. Let
Nα be the set of indices for the rotors connected to wing α, and Nb be the set of
indices for the rotors directly connected to the body. The orientations of all rotor
frames, wing frames and the body frame can be arbitrary. The rotating axes of all
wings and rotors can also be arbitrary.
Similar to Equation (3.1.1), the relative spatial displacement between a parent
frame {p} and a child frame {c} can be written as
Tpc = Mce[Sc]θc . (3.2.23)
Possible combinations of parent-child frames (p, c) include (b, α) for α = 1, . . . ,m,
(α, j) for j ∈ Nα, and (b, i) for i ∈ Nb. The spatial velocity of {c} relative to {p},
expressed in coordinates of frame {c}, is given by
[Vc] = T−1pc Tpc = [Sc]θc. (3.2.24)
3.2.1 Aerodynamic spatial forces
The primary difference between the winged and wingless MAV models is that in
the former, aerodynamic forces need to be considered in the dynamic equations for
each wing. In typical winged MAV designs where identical wings may be multiply
attached in symmetric configurations, aerodynamic forces can usually be derived
directly with respect to the main body frame. This is no longer the case for MAVs
3.2. Generic MAV model with wings 23
Figure 3.5: Free body diagram for wing α
3.2. Generic MAV model with wings 24
with wings of different shapes and sizes; aerodynamic forces need to be considered
wing-by-wing for this model. Figure 3.5 illustrates the aerodynamic forces applied
to the wing’s center of mass, together with the wing tilting axis rα expressed in
coordinates of frame {wα}. If we attach a reference frame {wα′} to the center of
mass of wing α as shown in Figure 3.5, the resultant six-dimensional aerodynamic
spatial force, expressed in coordinates of wing frame {wα′}, can be expressed in the
form [9, 15]
Aα′ =1
2ρeaαv
2eαCα′ ,
where ρe is the wind density, aα is the platform area of wing α (shown shaded in
Figure 4), veα is the magnitude of wing α linear velocity relative to the wind velocity,
and Cα′ ∈ se∗(3) is a six-dimensional spatial force of the form
Cα′ = (clcα, cmcα, cncα, cD, cY , cL)T ,
where cα is the mean aerodynamic chord of wing α, and the other variables are
defined in Table 3.2. These coefficients depend on the attack angle, the sideslip
angle of the MAV, and the magnitude of veα. We have formulated as the simplest
form of aerodynamics as possible, and will not deal with the details of that. For
further details on aerodynamics, see [15]. Values of Cα′ are typically obtained from
experimental measurements of the wings. From Equation (2.2.11), the aerodynamic
spatial force expressed in coordinates of wing frame {wα} can now be evaluated as
Aα =1
2ρeaαv
2eα[AdTα′α ]TCα′ .
3.2. Generic MAV model with wings 25
Notation Definition
cl rolling moment coefficient
cm pitching moment coefficient
cn yawing moment coefficient
cD drag force coefficient
cY sideslip force coefficient
cL lift force coefficient
Table 3.2: Coefficients of aerodynamic spatial force
3.2.2 Entire dynamic equations for generic MAV with wings
The dynamic equations for wing α can be written as
Eα + Bα +∑j∈Nα
Rj = GαVα − [adVα ]TGαVα, (3.2.25)
where Eα is the external spatial force consisting of the gravity term Gα and the
aerodynamic spatial force Aα, and Bα and Rj are respectively the spatial force
exerted on wing α by the body and rotor, j respectively. All terms in Equation
(3.2.25) are expressed in coordinates of the wing frame {wα}. In the case when there
are rotors connected to wing α, the dynamic equations become
Ej +Wj = GjVj − [adVj ]TGjVj , j ∈ Nα, (3.2.26)
where Wj is the force exerted on rotor j by wing α. For the rotors connected to
the body, there is no difference from Equation (3.1.4) of the wingless MAV model.
However, for the body dynamics, the forces applied to the body by each wing need
to be added to the left-hand side of Equation (3.1.7), i.e.,
Eb +∑i∈Nb
Ri +
m∑α=1
Wα = GbVb − [adVb ]T GbVb, (3.2.27)
3.2. Generic MAV model with wings 26
where Ri and Wα are the force exerted on the body by rotor i and wing α, respec-
tively. Similarly to Equations (3.1.10)–(3.1.11), the spatial velocity Vc and acceler-
ation Vc of a child link expressed in frame {c} coordinates can be written
Vc = [AdTcp ]Vp + Scθc
Vc = [adVc ]Scθc + [AdTcp ]Vp + Scθc,
where possible parent-child index pairs (p, c) are (b, α), (α, j), or (b, i).
Algorithm 1 Dynamics of winged MAV model
1: for α = 1 to m do
2: for j ∈ Nα do
3: Evaluate τj = STj Wj from Equation (3.2.26);
4: Substitute Equation (3.2.26) into Equation (3.2.25) using
Rα(j) = −[AdTjα ]TWj ;
5: end for
6: Evaluate τα = STαBα from Equation (3.2.25);
7: Substitute Equation (3.2.25) to Equation (3.2.27) using
Wb(α) = −[AdTαb ]TBα;
8: end for
9: for i ∈ Nb do
10: Evaluate τi = STi Bi from Equation (3.1.4);
11: Substitute Equation (3.1.4) to Equation (3.2.27) using
Rb(i) = −[AdTib ]TBi;
12: end for
In order to combine Equation (3.1.4) with Equations (3.2.25)–(3.2.27), Equa-
tion (3.2.26) for the rotors connected to wing α should first be substituted into
3.3. Examples 27
Figure 3.6: Standard quadrotor
Equation (3.2.25). Next, Equation (3.1.4) for the rotors connected to the body to-
gether with (3.2.25) should be substituted into Equation (3.2.27). At each step, the
actuator dynamics can be included via Equation (3.1.5). These steps are summarized
in Algorithm 1.
3.3 Examples
Based on the dynamic equations derived in Section 3.1–3.2, we now derive the dy-
namics for four MAV designs: a standard quadrotor with symmetric parallel rotor
axes, a standard quadrotor with tilting rotors, a quadrotor with two fixed wings,
and a quadrotor with four tilting wings.
3.3. Examples 28
3.3.1 Standard quadrotor
A standard quadrotor together with its assigned body and rotor frames is depicted
in Figure 3.6. Assume that orientations of all rotor frames are the same with that of
{b} and each of the rotor and body frames are attached to its corresponding center of
mass. The first and third rotors rotate clockwise, while the second and fourth rotors
rotate counterclockwise, so that εi is equal to (−1)i. The four rotors are parallel and
symmetrically located about its center of mass, and all centers including body’s are
on one plane. Denote by d the distance between the body’s center of mass and each
of the rotor axes. If all rotors are assumed ideally balanced about its center of mass,
each qi will be zero, and the screw axis for each rotor is given by
Si = [0, 0, (−1)i, 0, 0, 0]T (3.3.28)
for i = 1, . . . , 4. Substituting Equation (3.3.28) into Equation (3.1.1), the orientation
and position of each rotor frame can be obtained as
Tb1 =
cos θ1 sin θ1 0 −d
− sin θ1 cos θ1 0 0
0 0 1 0
0 0 0 1
with the other frames also obtained similarly.
The dynamic equations for this MAV can be written as in Equation (3.1.12). In
this case, we can apply the first three assumptions discussed in Section 3.1.4, so the
dynamic equation can be expressed as
Gb +4∑i=1
(−Gbi Sbi θi + Cbi θ2i + [adVb ]Gbi Sbi θi) = GT Vb − [adVb ]
TGTVb. (3.3.29)
Further assume that Gi is diagonal, i.e., Gi = diag[Irx, Iry, Irz,mr,mr,mr] where
Irx, Iry, and Irz denote the moments of inertia of the rotor about its x-, y-, and
3.3. Examples 29
z-axes, respectively, mb denotes the MAV body mass and mr the rotor mass. Un-
der these definitions and assumptions, some terms in the left hand side of Equa-
tion (3.3.29) become
4∑i=1
(−Gbi Sbi θi) =
02×4
Irz −Irz Irz −Irz
03×4
θ1
θ2
θ3
θ4
4∑i=1
Cbi θ2i =
0 −dkl 0 dkl
dkl 0 −dkl 0
kd −kd kd −kd02×4
kl kl kl kl
θ21
θ22
θ23
θ24
4∑i=1
[adVb ]Gbi Sbi θi =
ωyIrz −ωyIrz ωyIrz −ωyIrz
−ωxIrz ωxIrz −ωxIrz ωxIrz
04×4
θ1
θ2
θ3
θ4
with kd and kl defined as Kdi = diag[0, 0, kd] and Kli = diag[0, 0, kl] (since drag and
lift forces occur only along the z-axis of rotor frame {ri}), and ωx, ωy are the first
and second elements of Vb. If we apply the fourth assumption in Section 3.1.4 to
Equation (3.3.29), we can get the simpler dynamics as following:
Gb +4∑i=1
Cbi θ2i = GbVb − [adVb ]TGbVb (3.3.30)
which is the case of n = 4 in Equation (3.1.21).
From Equation (3.1.22), the motor dynamic equation can be expressed as follows:
ui =rrkr{kdθ2i + Irz(−1)iωz − STi Gi}+ krθi, i = 1, . . . , 4, (3.3.31)
3.3. Examples 30
Figure 3.7: Quadrotor with tilting rotors
If we look at the above equation, the influence of Irz and Gi is relatively low because
the dimension of θ2i is much larger than other terms. Therefore, ignoring the inertia
and gravity of the rotor, the motor dynamics can be described as
ui =rrkrkdθ
2i + krθi, i = 1, . . . , 4.
3.3.2 Quadrotor with tilting rotors
The quadrotor shown in Figure 3.7 has four rotors whose axes can be tilted [5].
We assume that four identical rotors are symmetrically attached about the body
center of mass, with the first and third rotors rotating clockwise, and the second
and fourth rotors rotating counterclockwise, so that as in the previous example we
3.3. Examples 31
have εi = (−1)i. All frames including the body, rotors, and tilting assemblies are
assumed attached to the corresponding center of mass. If the four tilting assemblies
including each rotor are considered as a type of wing with zero platform area, then
Algorithm 1 can be used to derive the dynamics for this quadrotor. For the rotor
frames {ri} and wing frames {wα} shown in Figure 3.7, the kinematics of each of
the wings and rotors for α = 1, . . . , 4 and i = α can be derived as
Tbα = Mα
Rot(z, φα) 0
0 1
Tαi = Mi
Rot(εiz, θri) 0
0 1
,where Rot(z, θ) ∈ SO(3) denotes a rotation about the z-axis by θ:
Rot(z, θ) =
cos θ sin θ 0
− sin θ cos θ 0
0 0 1
.Using Line 4 of Algorithm 1 to derive the dynamic equations for each tilting
assembly with appropriate assumptions, we get
Eα + Eαi + Bα −Gαi Sαi θi + [adVα ]TGαi Sαi θi
= (Gα +Gαi )Vα − [adVα ]T (Gα +Gαi )Vα, (3.3.32)
which is obtained by multiplying [AdTiα ]T to both sides of Equation (3.2.26), so
that all terms are now expressed in coordinates for frame {wα}. Applying Line 7 of
3.3. Examples 32
Algorithm 1 to Equation (3.3.32), the final form of the dynamic equations becomes
Gb +Db +4∑
i,α=1
(Abα + Cbi θ2i − (Gbα +Gbi)Sbαφα + [adVb ]
T (Gbα +Gbi)Sbαφα
−Gbi Sbi θi + [adVb ]TGbi Sbi θi + [adSbα
]TGbi Sbi θiφα)
= GT Vb − [adVb ]TGTVb, (3.3.33)
where the aerodynamic spatial forces Abα = [AdTαb ]TAα are zero since the wings in
this model have zero platform area, and
GT = Gb +
4∑α=1
Gbα +
4∑i=1
Gbi
Sbα = [AdTbα ]Sα
Sbi = [AdTbαTαi ]Si
Cbi = [AdTiαTαb ]TCi
Gbα = [AdTαb ]TGα[AdTαb ]
Gbi = [AdTiαTαb ]TGi[AdTiαTαb ]
[adSbα ] = [AdTbα ][adSα ][AdTαb ].
If the tilting angles φα change slowly enough so that φα and φα are negligible,
Equation (3.3.33) further simplifies to
Gb +Db +4∑i=1
(Cbi θ2i −Gbi Sbi θi + [adVb ]
TGbi Sbi θi)
= GT Vb − [adVb ]TGTVb. (3.3.34)
If the rotor masses and inertias are much smaller then those of the body, Equa-
tion (3.3.34) can be further simplified to
Gb +Db +
4∑i=1
Cbi θ2i = GbVb − [adVb ]TGbVb. (3.3.35)
3.3. Examples 33
Figure 3.8: Quadrotor with two fixed wings
Again, the aerodynamic drag term Db can be ignored since its dimension is quite
smaller than others in the equation.
The actuator dynamics can included by applying Lines 3 and 6 of Algorithm 1.
For the rotors, the dynamics are exactly the same as given in Equation (3.1.22). For
the winged MAV case, the actuator dynamics can be written from Equation (3.1.5)
as
uα =rαkαSTαBα + kαφα, α = 1, . . . , 4, (3.3.36)
where Bα can be obtained via Equation (3.3.32).
3.3.3 Quadrotor with two fixed wings
For this example we consider a quadrotor with two wings and four rotors as shown
in Figure 3.8. Two of the four rotors are connected to one wing, while the other
two are connected to the other wing. Assume that all rotors are ideal, rotating
in the way described in the preceding examples. All frames are attached to the
corresponding center of mass, and their orientations are the same as that of the body
3.3. Examples 34
frame. Under these assumptions Si satisfies Equation (3.3.28). Since all the wings
are fixed, Vb, Vα=1, and Vα=2 are all the same and Tb(α=1) and Tb(α=2) are constants.
In addition, Tbi and Tbα can be evaluated by substituting Equation (3.3.28) into
Equation (3.1.1) and using the given geometric parameters; for example, pb(i=1) is
given as (−d, h, w)T . Moreover, the screw axes Sα, α = 1, 2, are zero. Therefore,
Gb +Db +2∑
α=1
[AdTαb ]TAα +
4∑i=1
(Xiθi + Yiθ2i + Ziθi
)= GT Vb − [adVb ]
TGTVb, (3.3.37)
where Xi, Yi, and Zi are as defined in Equations (3.1.13) and (3.1.14)–(3.1.15), and
GT is Gb +∑4
i=1Gbi +
∑2α=1G
bα. In the same way as described in the preceding
example, the aerodynamic drag term Db and the mass and inertia of each rotor can
be assumed negligible. The simplified result can be written as
Gb +2∑
α=1
[AdTαb ]TAα +
4∑i=1
Cbi θ2i
=
(Gb +
2∑α=1
Gbα
)Vb − [adVb ]
T
(Gb +
2∑α=1
Gbα
)Vb
Actuator dynamics can also be included in the same way using Equation (3.3.31).
3.3.4 Quadrotor with four tilting wings
We now consider the quadrotor design shown in Figure 3.9 and first presented in
[11]. This particular quadrotor consists of four tilting wings and four rotors. Each
rotor is attached to each wing, and the four wings are identical and symmetrically
arranged. Assume that all rotors are ideal, rotating in the way described in the
preceding examples, and the rotating axis of each wing passes through the wing’s
center of mass, with the dashed lines in Figure 3.9 denoting the rotating axis of each
3.3. Examples 35
Figure 3.9: Quadrotor with four tilting wings
wing. All frames including the body, rotors, and wings are assumed attached to the
corresponding center of mass.
Since this MAV has four tilting platforms and four rotors, it is quite similar
in structure to the quadrotor with tilting rotors addressed in Section 3.3.2. The
dynamic equations are in fact structurally identical to Equation (3.3.33), since the
tilting assemblies in Section 3.3.2 correspond to the wings of this quadrotor, with
each of the tilting assemblies (and wings) possessing only one rotor. The only re-
maining difference is the presence of the aerodynamic forces Abα, since unlike the
tilting rotor case, the platform area of each wing is not zero. In the same way as
described in Section 3.3.2, several assumptions can be made that further simplify
Equation (3.3.33) into Equations (3.3.34)–(3.3.35) with the aerodynamic forces Abαadded. Actuator dynamics for the rotors and wings can also be included in the same
way as given by Equations (3.1.22) and (3.3.36).
4Optimal control
This section will describe the optimal control of the MAV based on what was dis-
cussed in the previous section. We solve the optimization problem for the most basic
quadrotor among MAVs, and the problem quickly by presenting analytic gradients
for objective function and several constraints.
4.1 Problem definition
First of all, the dynamics for the wingless MAV is given by Equation (3.1.12), but
we look at the optimal control for the quadrotor, so we use the dynamics Equa-
tion (3.3.30) which ignores the mass of the rotor. We set the following three states
with simplicity notations: se(3) vector Ssb = S = (rT , sT )T from the spatial frame to
the body frame, spatial body velocity Vb = V = (v1, . . . , v6)T expressed in the body
frame, and all rotor angular velocities Θ = (θ1, . . . , θ4)T . Each state can be defined
as X (t) = (ST (t),VT (t), ΘT (t))T ∈ R16. As appropriate objective function is given
as Ji for each rotor and each time step, we then define the optimization problem for
36
4.1. Problem definition 37
quadrotor with initial condition, final condition, and limits of rotor angular velocity
as follows:
min
∫ tf
t0
4∑i=1
Ji(t)dt (4.1.1)
s.t. X (t0) = X0 (4.1.2)
X (tf ) = Xf (4.1.3)
04×1 ≤ Θ(t) ≤ Θmax (4.1.4)
G +Kdiag(Θ)Θ = GV − [adV ]TGV (4.1.5)
[V] = T−1T , (4.1.6)
where t0 is initial time, tf is final time, and using simple notation, Equation (3.3.30)
becomes Equation (4.1.5) and Equation (3.1.2) becomes Equation (4.1.6). We set Ji
to the torque and energy of each rotor and then solve this optimization problem.
4.1.1 Minimum torque
Since MAVs such as quadrotor must use limited energy, operating time and battery
capacity are significant issues. In the case of robots used in common industrial
fields, the optimal trajectory is derived through the minimum torque to minimize
the energy used. Similar to industrial robots, we try to optimize the path by applying
minimum torque to the quadrotor.
The torque required for each rotor i can be derived through the following pro-
cedure from Equation (3.1.6):
τi = STi Bi
= STi (GiVi − [adVi ]TGiVi − Gi −Di − Ti)
≈ −STi Ciθ2i .
4.2. Gradients for solving optimization problems 38
Since we have applied all the assumptions described in Section 3.1.4, we can obtain
a simplified torque expression as in the above equation. If you set the objective
function to the square of the torque, Jτi(t) becomes (STi Ci)2θ4i = O(θ4i ).
4.1.2 Minimum energy
In fact, minimum torque is basically an optimization method mainly used for in-
dustrial robots with a fixed base. In order to use the quadrotor battery efficiently,
it may be considered more efficient to analyze and optimize the energy used by the
motor in each rotor. Therefore this section defines the minimum energy problem on
the motor unit and compares the result with the minimum torque.
From Equation (3.1.5), the power of each rotor i can be derived as follows:
Jei(t) = uiii =
(kiθi + ri
τiki
)τiki
=rik2iτ2i + θiτi
≈ rik2iτ2i = O(θ4i ).
The objective function of the minimum energy is also proportional to the fourth
square of the rotor angular velocity, like the minimum torque, through some ap-
proximation. Therefore the optimization results of minimum energy and minimum
torque are expected to be the same.
4.2 Gradients for solving optimization problems
The optimization problem defined in Section 4.1 can be solved in various ways, but
here we set the 16 dimensional state to solve the problem. In this case, the gradients
of the objective function and various constraints are required, and calculating this
4.2. Gradients for solving optimization problems 39
numerically will result in a significantly slower overall computation speed. If the an-
alytic form of several gradients is obtained and used in the optimization algorithm,
the efficiency of the whole algorithm will increase considerably. In this section, we
examine the analytic gradients of two objective functions and two constraints dis-
cussed previously.
Basically, each state S,V, and Θ can be parameterized as follows:
S = S(qs1, . . . , qsj , . . .)
V = V(qv1, . . . , qvj , . . .)
Θ = Θ(qθ1, . . . , qθj , . . .)
for
qsj ∈ R
qvj ∈ R
qθj ∈ R
.
qsj , qvj , and qθj are variables that determine each spline, for example, control points
for a b-spline or specific points for a cubic spline.
4.2.1 Analytic gradients for objective function
Since the objective functions of minimum torque and minimum energy can be rep-
resented in terms of Θ, the analytic gradients for objective functions can be easily
obtained as follows:
∂Jτi(t)
∂qθj= 4k2l θ
3i
∂θi∂qθj
∂Jei(t)
∂qθj=
4rik2l
k2iθ3i∂θi∂qθj
.
Naturally, gradients for qvj and qθj are zero.
4.2.2 Analytic gradients for constraints
From Equations (4.1.5) and (4.1.6), the two equations can be written differently as
V = G−1(G +Kdiag(Θ)Θ + [adV ]TGV) (4.2.7)
T = T [V]. (4.2.8)
4.3. Simulation results 40
The analytic gradients of Equation (4.2.7) can be obtained by using several
formulas from [16], and can be written as
∂V∂qsj
= G−1∂G∂qsj
∂V∂qvj
= G−1(
[ad ∂V∂qvj
]TGV + [adV ]TG∂V∂qvj
)∂V∂qθj
= 2G−1Kdiag(Θ)∂Θ
∂qθj.
The analytic gradients of Equation (4.2.8) can be calculated as follows:
∂T
∂qsj=
∂T
∂qsj[V]
∂T
∂qvj= T
[∂V∂qvj
].
Since Equation (4.2.8) is not related to Θ, the result of ∂T∂qθj
is 0. ∂G∂qsj
and ∂T∂qsj
can
be a little tricky to calculate, but can be calculated by some formulas in Section 2.4.
4.3 Simulation results
Since the objective function of the minimum energy is basically proportional to
the minimum torque, the simulation is performed only with respect to the minimum
torque. The simulation was performed using Intel Core i7 870 2.93GHz and 6GB ram.
The quadrotor specification used is Phantom 2 used in [17] and written in Table 4.1.
We use fmincon in Matlab for solving optimization problem. The boundary condition
of V is set to 0, and the boundary condition of Θ is set to ωhv = 800.1628 [rad/s2]
which is the rotor angular velocity for keeping hovering status. Initial condition of S
is set to 0, but the final condition is set to several different values. We decide to use a
cubic spline for state. The total time was set to five seconds, and the simulation was
4.3. Simulation results 41
Parameters Values
mass m = 1 [kg]
half of diagonal distance d = 0.175 [m]
drag coefficient kd = 2.2518e−8 [N·m· s2/rad2]
lift coefficient kl = 3.8305e−6 [N· s2/rad2]
maximum rotor angular velocity ωmax = 1047.197 [rad/s2]
x-axis moment of inertia Ix = 0.081 [kg· m2]
y-axis moment of inertia Iy = 0.081 [kg· m2]
z-axis moment of inertia Iz = 0.142 [kg· m2]
Table 4.1: Phantom 2 specification
performed by dividing it into 50 time invervals. Simulation can be divided into two
major sections, one is setting up several final conditions and the second is setting
up several initial guesses under the same final condition and observing the result. A
more detailed explanation is given in the next section.
4.3.1 Multiple different final conditions of S
The positions of the final condition are simulated by setting four values, and the
orientations are all set to the same value. The results are shown in three orientations,
Rot(z,π2 ), Rot(z,π4 ), and Rot(z,0), and the resulting graphs are shown in Figure 4.1–
4.3. Numerical results of the simulations are also shown in Table 4.2.
The larger angle of final orientation, the farther optimized path goes, because
the angle of orientation must be adjusted. We set the optimal tolerance to 1e−5
and the constant tolerance to 1e−6 among the fmincon options in the simulation. In
Table 4.2, the “Change” means how much the objective function has been reduced.
4.3. Simulation results 42
15
10startstartstartstart0
end
5-10
y position [m]
2
-5 0
4
end
x position [m]
0
z p
ositio
n [
m]
-5
6
5
8
-10
end
10
10
end
optimized traj
initial traj
Figure 4.1: Simulation result with final orientation Rot(z,π2 )
4.3. Simulation results 43
end
10startstartstartstart
50
end
-10
2
y position [m]
0
4
-5
z p
ositio
n [
m]
x position [m]
6
0 -5
8 end
5
10
-1010
end
optimized traj
initial traj
Figure 4.2: Simulation result with final orientation Rot(z,π4 )
4.3. Simulation results 44
end
10startstartstartstart0
5
end
-10
2
4
y position [m]
0-5
6
z p
ositio
n [
m]
x position [m]
8 end
0
10
-5
12
5-1010
end
optimized traj
initial traj
Figure 4.3: Simulation result with final orientation Rot(z,0)
4.3. Simulation results 45
Final position [m] Change [%] Calculation time [sec]
when final orientation is Rot(z,π2 )
(7,6,5) 0.0368 45.1
(8,−9,10) 0.0386 59.4
(−10,10,10) 0.0351 56.0
(−6,−7,8) 0.0566 52.8
when final orientation is Rot(z,π4 )
(7,6,5) −0.0276 27.4
(8,−9,10) −0.000855 45.7
(−10,10,10) 0.0362 40.1
(−6,−7,8) 0.00332 34.4
when final orientation is Rot(z,0)
(7,6,5) 0.695 60.6
(8,−9,10) 0.124 135.0
(−10,10,10) 0.757 117.7
(−6,−7,8) 0.674 82.9
Table 4.2: Simulation result of Section 4.3.1
4.4. Discussion 46
Since the actual initial guess is not a feasible path, it is hard to compare it with the
optimized path. However, we used the information found in the fmincon function to
compare the first feasible path (which feasibility must be less than 1e−4) with the
optimized path. Therefore, the “Change” listed in Table 4.2 are not exact values,
but are somewhat inferred values. Each calculation time is roughly 20 to 140 sec-
onds depending on conditions, which is about 3–5 times faster than when using a
numerical gradient.
4.3.2 Multiple different initial guesses
To find out if several different initial guesses yield the same solution, we firstly try to
fix the final position and orientation, change the initial guess, and then progress the
simulation. The result is depicted in Figure 4.4. The average computation time is
39.06 seconds and the maximum difference of the objective function is about 1.25%.
It can be seen that even if different initial guesses are given, the optimized path
converges roughly.
4.4 Discussion
This section basically defines the optimization problem for the quadrotor and quickly
solves it by using fmincon in Matlab and analytic gradient we induced. The ap-
proximate calculation time is about two minutes, which is far less than the actual
real-time, but it does not matter so much because the real-time is not necessary to
design the path in advance. However, since the initial guess is not feasible, we can
not exactly know the effect or efficiency of our algorithm. Alternatively, if feasible
path is found and used as initial guess, it will be able to calculate how it is optimized.
In the previous section, the dynamics of the MAV as well as the quadrotor were
4.4. Discussion 47
-10
10
-5
0
endendendendendendendendendend
5
z p
ositio
n [
m]
5
10
y position [m]
0
startstartstartstartstartstartstartstartstartstart
15-5 10
x position [m]
50
-5-10-10
optimized traj
initial traj
Figure 4.4: Simulation result with different initial guesses
4.4. Discussion 48
derived. Therefore we have solved the optimization problem only for the quadrotor
here, but it is possible to optimize it for the various MAV models in the same way.
We think these are the research topics we will study in the future.
5Conclusion
With the growing diversity of designs for multirotor aerial vehicles (MAVs), together
with the increasingly dynamic and complex maneuvers that are being performed by
MAVs, accurate dynamical models are becoming more and more critical to MAV
trajectory planning, control, and design. In this thesis we have presented a systematic
dynamic modeling framework for generic MAVs, ranging from the standard wingless
quadrotor to wingless MAVs with tiltable rotors, and to winged MAVs with tiltable
wings. Our approach considers the dynamics of both the vehicle body’s mass and
inertia as well as the masses and inertias of the rotors. Our framework does not
rely on the standard design assumptions, and allows for the possibility that, e.g.,
rotor axes may not be exactly parallel to one another or arranged in a perfectly
symmetric fashion about the vehicle’s center of mass, or some of the rotor axes may
fail to pass directly through the rotor body’s center of mass. Both thrust forces and
moments generated by the rotors, as well as external aerodynamic and other forces
applied to the MAV, are taken into account. And we propose a method to easily
and efficiently calculate optimal control of quadrotor by application of Lie-group
49
5. Conclusion 50
dynamics. This makes it easy to obtain an analytic gradient of the objective function
and various constraints. This is equally applicable to all types of MAVs including
their dynamics, not just our example which is quadrotor. Analytic gradients can be
computed much faster than using numerical gradients, and the path of the quadrotor
can be calculated in advance, but not to the real-time level.
The dynamics of MAVs we have derived detail the transfer of spatial forces
between the body, rotors, and wings, but the aerodynamics exerted on the body
and wings are described at a quite basic level. In fact, one of the important parts of
MAV dynamics is aerodynamics, which can lead to more complete dynamics by more
detailed research. In the case of optimal control, it is difficult to calculate the correct
optimization efficiency. If we find a feasible initial guess, we will be able to check
how much the objective function has been reduced. In addition, in the part where
optimization problems are defined, when we put the various obstacles as constraints,
we will be able to generate not only linear paths but also various types of paths.
Bibliography
[1] Tarek Hamel, Robert Mahony, Rogelio Lozano, and James Ostrowski. Dynamic
modelling and configuration stabilization for an x4-flyer. IFAC Proceedings
Volumes, 35(1):217 – 222, 2002. 15th IFAC World Congress.
[2] S. Bouabdallah, P. Murrieri, and R. Siegwart. Design and control of an indoor
micro quadrotor. In Robotics and Automation, 2004. Proceedings. ICRA ’04.
2004 IEEE International Conference on, volume 5, pages 4393–4398, April 2004.
[3] T. Madani and A. Benallegue. Backstepping control for a quadrotor helicopter.
In 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems,
pages 3255–3260, Oct 2006.
[4] Gabriel Hoffmann, Haomiao Huang, Steven Waslander, and Claire Tomlin.
Quadrotor helicopter flight dynamics and control: Theory and experiment. In
Guidance, Navigation, and Control and Co-located Conferences. American In-
stitute of Aeronautics and Astronautics, Aug 2007.
[5] M. Ryll, H. H. Bulthoff, and P. R. Giordano. Modeling and control of a quadro-
tor uav with tilting propellers. In Robotics and Automation (ICRA), 2012 IEEE
International Conference on, pages 4606–4613, May 2012.
[6] R. Baranek and F. Solc. Modelling and control of a hexa-copter. In Carpathian
Control Conference (ICCC), 2012 13th International, pages 19–23, May 2012.
51
BIBLIOGRAPHY 52
[7] Alejandro Samano, Rafael Castro, Rogelio Lozano, and Sergio Salazar. Model-
ing and stabilization of a multi-rotor helicopter. Journal of Intelligent & Robotic
Systems, 69(1):161–169, 2013.
[8] Qimi Jiang, Daniel Mellinger, Christine Kappeyne, and Vijay Kumar. Analysis
and synthesis of multi-rotor aerial vehicles. Volume 6: 35th Mechanisms and
Robotics Conference, Parts A and B, pages 711–720, 2011.
[9] T. Cheviron, A. Chriette, and F. Plestan. Generic nonlinear model of reduced
scale uavs. In Robotics and Automation, 2009. ICRA ’09. IEEE International
Conference on, pages 3271–3276, May 2009.
[10] P. Ferrell, B. Smith, B. Stark, and Y. Chen. Dynamic flight modeling of a multi-
mode flying wing quadrotor aircraft. In Unmanned Aircraft Systems (ICUAS),
2013 International Conference on, pages 398–404, May 2013.
[11] E. Cetinsoy, S. Dikyar, C. Hancer, K.T. Oner, E. Sirimoglu, M. Unel, and M.F.
Aksit. Design and construction of a novel quad tilt-wing {UAV}. Mechatronics,
22(6):723 – 745, 2012.
[12] Frank C. Park, James E. Bobrow, and Scott R Ploen. A lie group formulation
of robot dynamics. The International Journal of Robotics Research, 14(6):609–
618, 1995.
[13] R. M. Murray, Z. Li, and S. S. Sastry. A Mathematical Introduction to Robotic
Manipulation. CRC Press, 1994.
[14] John Brandt and Michael Selig. Propeller performance data at low reynolds
numbers. Aerospace Sciences Meetings, Jan 2011.
BIBLIOGRAPHY 53
[15] B. Etkin and L. D. Reid. Dynamics of Flight: Stability and Control, volume 3.
Wiley, 1996.
[16] Sung-Hee Lee, Junggon Kim, F. C. Park, Munsang Kim, and J. E. Bobrow.
Newton-type algorithms for dynamics-based robot movement optimization.
IEEE Transactions on Robotics, 21(4):657–667, Aug 2005.
[17] F. Morbidi, R. Cano, and D. Lara. Minimum-energy path generation for a
quadrotor uav. In 2016 IEEE International Conference on Robotics and Au-
tomation (ICRA), pages 1492–1498, May 2016.
국문초록
이학위논문은날개가있는다로터항공기모델과날개가없는다로터항공기모델에대
해 리 그룹 기반의 동역학을 세우고, 이를 이용하여 최적 제어 방법을 제시한다. 우리는
일반적인가정없이,임의에위치한로터나날개를가진다로터항공기의동역학을다룬
다. 큰 분류의 다로터 항공기부터 출발하여, 우리는 자주 사용하는 가정들을 도입하여
동역학식을더욱간단하게만든다.특히우리는리그룹동역학의응용으로쿼드로터의
최적 제어 방법을 제시한다. 리 그룹 형태의 식은 날개가 있거나 없는 모든 다로터 항공
기 모델의 동역학을 표현할 수 있으며, 우리는 이를 이용한 최적 문제의 공식 기울기를
제시한다. 이는 경로 설계나 다양한 목적 함수를 최적화 하기 쉽게 만든다.
주요어: 동역학, 최적 제어, 리 그룹, 다로터, 쿼드로터, 최적화
학번: 2014-22483
54