This paper addresses the performance of three different types of attitude control systems for the Quadrotor UAV to perform the flip maneuver. For this purpose, Quadrotor UAV’s 6DOF dynamic model is derived, and it was used for designing an attitude controller of the Quadrotor UAV. Attitude controllers are designed by three different methods. One is the openloop control system design, another is the PD control system design, and the last method is the sliding mode control system design. Performances of all controllers are tested by 6DOF simulation. In case of the openloop control system, control inputs are calculated by the quadrotor dynamic model and thrust system model that are identified by the thrust test. The 6DOF realtime simulation environment was constructed in order to verify the performances of attitude controllers.
1. Introduction
In recent years, the small UAV market has grown rapidly. Small UAVs are applied in various areas such as surveillance, reconnaissance, and aerial photography. In this small UAV market, many studies are underway especially for the Quadrotor. The Quadrotor unmanned aerial vehicle is one that uses four rotors, which are equipped on the tips of crossshaped rods.
In addition, Quadrotor aggressive maneuver researches are actively underway as well, with the aid of motion capture technology, which is a recent technology in this area
[1

4]
. In case of small UAVs, MEMS gyro sensors are used in many small UAVs, but MEMS gyro sensors have disadvantages that the error signal accumulates during the integration of measured data. However, position and attitude data can be measured with very high accuracy using the motion capture system, so that the system is capable of showing more precise control performance.
The GRASP laboratory of University of Pennsylvania has conducted aggressive maneuvers such as perching, or flips maneuvers. They used three different types of controllers for performing these maneuvers, and those controllers are categorized as an attitude control, a hover control, and a threedimensional trajectory follow control. In other words, at one point, only one controller is used to control the Quadrotor system for each specific condition. When another condition for the Quadrotor is met, then the controller switching logic is activated to switch the main controller to a different type of controller that is appropriate for the given condition
[1]
.
In addition to this, the ACL at MIT has performed aggressive maneuvers with the variable pitch Quadrotor
[2]
.
This paper is composed as follows. First of all, the Quadrotor dynamic model is derived, and an appropriate control system is designed for the dynamic model of the Quadrotor. We use the conventional PD control method and sliding mode control method for the closedloop control structure, and calculate input parameters for the openloop control structure. To perform 6DOF real time simulations, we assumed that the Quadrotor flies in an indoor facility equipped with the motion capture system. Therefore we can also assume that measured position and attitude data of the Quadrotor are very accurate.
2. Dynamic Modeling of the QuadRotor
 2.1 QuadRotor Configuration
The Quadrotor structure is shown in
Fig. 1
. This Quadrotor structure contains four rotors which are mounted on the tip of crossshaped rods
[5]
.
As we can see from
Fig. 1
, four rotors are defined as rotor number 1, 2, 3, and 4 in a clockwise direction from the front of the Quadrotor. Quadrotor Euler angles are changed by applying the angular velocity differences on these four rotors. We define the angular velocities ofrs as
Ω
_{1}
,
Ω
_{2}
,
Ω
_{3}
, and
Ω
_{4}
, and this actuator system is modeled as the first order system. The Equations (1) represent this actuator system.
K_{t}
is the motor thrust coefficient and
K_{r}
is the motor torque coefficient. Therefore, force
T
and torque
τ_{r}
can be determined by Equations (1).
There are four rotors on the Quadrotor, so forces acting in each direction of the Quadrotor are expressed in Equations (2).
The moments acting on each angular direction of the Quadrotor are shown in Equations (3), and these equations are considering the gyroscopic effect.
Quadrotor configuration
 2.2 QuadRotor Control Allocation
Typically, rotorcraft control commands can be determined as
δ_{ϕ}
,
δ_{θ}
,
δ_{ψ}
, and
δ_{z}
,
δ_{ϕ}
,
δ_{θ}
,
δ_{ψ}
are the rotor angular velocity differences that generate eachaxis torque of the Quadrotor. Likewise,
δ_{z}
is the rotor angular velocity difference that generates the vertical direction force of the Quadrotor. In addition, control allocation is required for converting typical rotorcraft control commands to a rotor’s angular velocity commands. The Equations (4) represent the control allocation logic of the Quadrotor.
3. Control System Design
 3.1 Open Loop Attitude Control
Attitude control is for tracking and maintaining the Euler angles of the Quadrotor. In this paper, three methods are used for designing the attitude controller. First of all, we use the openloop control method for designing the attitude controller. To control the attitude of the Quadrotor, one needs to generate system torques by controlling the angular velocity of each rotor, and the attitude rate of the Quadrotor should be near zero when the Quadrotor reaches the desired attitude. Since this method does not use any feedback control, this method is called the openloop attitude control.
For this purpose, the system torque acting on the Quadrotor is divided into three stages: acceleration stage, deceleration stage, and stabilization stage. During the acceleration stage, the Quadrotor angular velocity should be accelerated to the maximum value. In contrast,
Sequence of Flip Maneuver using Openloop control method
in the deceleration stage, the Quadrotor angular velocity should be decelerated to the minimum value. Finally, in the stabilization stage, all rotors should rotate in the same angular velocities in order for the Quadrotor to return safely to the original hovering state.
One good application is to consider the Quadrotor performing a positive roll flip maneuver. We assume that the gyroscopic effect and disturbance are small enough to be negligible. A graphical representation for each stage of the flip maneuver is illustrated in
Fig. 2
. Before conducting the openloop attitude control, the Quadrotor should hold the hover state, then all rotors should rotate with the identical nominal angular velocity,
Ω
_{nom}
. We have already assumed that the gyroscopic effect and disturbance are negligible, so that there is no system torque on the pitch axis in all stages. Therefore, rotors 1 and 2 hold their angular velocities as
Ω
_{nom}
in all stages.
In acceleration and deceleration stages, the torques and differences of angular velocities and Euler angles are as follows. In the acceleration stage, the angular velocity of rotor 2 decreases whereas the angular velocity of rotor 4 increases. Rotor 2 should rotate with the minimum angular velocity,
Ω
_{min}
, and rotor 4 should rotate in the maximum angular velocity,
Ω
_{max}
. Maximum and minimum angular velocities,
Ω
_{max}
and
Ω
_{min}
can be obtained as Equations (5).
where
ΔΩ
_{max}
and
ΔΩ
_{min}
represent the changes in maximum and minimum angular velocity, respectively. In this paper, we assume that
ΔΩ
_{min}
=
ΔΩ
_{max}
, and it indicates that there is no extra torque generated from the flip maneuver except for the roll torque. In addition, the hovering stage, acceleration stage, deceleration stage, and stabilization stage are numbered as stages zero, one, two, and three, respectively. Now, in the
x
th stage, angular velocities of rotor 2 and rotor 4 are denoted as
Ω
_{2,x}
and
Ω
_{4,x}
, and the angular velocity variations during the
x
th stage are denoted as
ΔΩ
_{x}
. Accordingly, angular velocities of rotor 2 and rotor 4 are expressed in Equations (6).
Parameters of Openloop control for each Stage
Parameters of Openloop control for each Stage
Angular velocity variations in the
x
stage and angular velocities of rotor 2 and rotor 4 in the
x
1 stage can be found in
Table 1
.
In this paper, the rotor system is modeled as a first order system with a time constant
τ
. Therefore, the angular velocity of rotor 2 during the flip maneuver is expressed in Equation (7).
The angular velocity of rotor 4,
Ω
_{4}
(
t
), is similar to that of Equation (8), but all the signs are opposite. System torque acting on the Quadrotor’s rollaxis is expressed in Equation (9).
Moment
L_{x}
(
t
) acting on the Quadrotor at stage
x
is expressed in Equation (10).
Now, the moment sum during whole flip maneuver is defined as
L_{flip}
(
t
), and
L_{flip}
(
t
) can be derived by Equations (7), (8) and (9).
L_{flip}
(
t
) is expressed in Equation (11).
We defined the Quadrotor’s angular acceleration during the flip maneuver as
α_{pflip}
(
t
). Therefore,
α_{pflip}
(
t
) can be obtained from Equation (11) and inertia of the Quadrotor.
α_{pflip}
(
t
) is expressed in Equation (12).
In addition, we can obtain angular velocities and Euler angles of the Quadrotor at time t by integrating
α_{pflip}
(
t
) with respect to time. Angular velocities and Euler angles of the Quadrotor are denoted as
p_{flip}
(
t
) and
ϕ_{flip}
(
t
). Finally, terminal condition of
α_{pflip}
(
t
),
p_{flip}
(
t
), and
ϕ_{flip}
(
t
) will be decided. In other words, when the openloop attitude control is finished, the allowable errors of the angular acceleration are defined as ±
E_{αp}
rad
/sec
^{2}
. In the same manner, allowable errors of the angular velocities at that specific moment are defined as ±
E_{p}rad
/sec. In case of flip maneuver, terminal condition of the roll angle is 360 degrees. These terminal conditions are expressed in Equations (13). Now, we can calculate
t
_{1}
and
t
_{2}
that satisfy the terminal condition. Then, it leads to a successful calculation of the control input for the openloop
Quadrotor Frame Structure
Quadrotor Parameters
flip maneuver.
We built the Quadrotor frame to determine parameters of the openloop attitude control method. This frame is based on Mikrokopter Company’s Quadrotor frame, and it is shown in
Fig. 3
.
Quadrotor parameters are determined by measured data and calculated data using a previously built Quadrotor frame as shown in
Table 2
.
The thrust system of the Quadrotor frame is composed of a propeller, motor, ESC and battery. The Thrust test was performed in order to measure the thrust coefficient and torque coefficient of the thrust system. The test environment has been set up as shown in
Fig. 4
. At this time, the rotor thrusts are measured by load cell, and the angular velocity of the rotor are measured by the laser sensor simultaneously.
By observing the thrust test results, the thrust coefficient is determined as
K_{t}
=1.764×10
^{5}
(
N
/(
rad
/sec)
^{2}
) and torque coefficient is determined as
K_{t}
=2.547×10
^{7}
(
N
·
m
/(
rad
/sec)
^{2}
). In addition to this, system identification was performed in order to obtain the thrust system model. From these results, parameters of the thrust system are determined such as
table 3
.
Now, we are going to calculate time
t
_{1}
and
t
_{2}
that satisfy Equations (13). For this purpose, we determined the parameters of Equations (13) as
E_{αp}
=0.1
rad
/sec
^{2}
,
E_{p}
=0.1
rad
/ sec. Therefore, we can obtain calculated results,
t
_{1}
=0.196sec,
t
_{2}
=0.392sec and
t_{f}
=1.462sec. Simulation results without gyroscopic effect are presented in
Fig. 5
. As we can observe from
Fig. 5
, the Quadrotor’s angular velocity
p
is increasing to
α_{p}
androtor’s angular acceleration 1000deg/sec is increasing to 6000deg/sec
^{2}
.
 3.2 PD Attitude Control
In this subsection, we use the PD control method for designing the attitude controller. Equations and structure of the PD attitude controller are shown in Equations (14) and
Fig. 6
.
Thrust test setting or single motor
Parameters of Thrust Models
Parameters of Thrust Models
 3.3 Sliding Mode Attitude Control
We can use the sliding mode control to conduct the Quadrotor’s aggressive maneuvers. A brief introduction of the sliding model control is presented below
[6

8]
. Tracking error
is defined in Equation (15).
At this time, sliding surface s is defined by Equation (16).
If
s
=0, then we can derive Equations (17) using Equation (15).
If
λ_{ϕ}
,
λ_{θ}
and
λ_{ψ}
are greater than zero, then
and
have the opposite sign, therefore we know that the sliding surface will converge to zero. Now, to make
s
=0, we define control law
u
(
t
) as in Equation (18).
Here,
K_{s}
is the gain of the sign function of the
s
, and
K_{p}
is the gain of the proportional component of the
s
.
4. Simulation
 4.1 Attitude Control Simulation using Open Loop Attitude Control
In this subsection, we perform the flip maneuver simulation using the openloop control that we introduced in section 3.1. Parameters for the openloop control are the
Simulation results of openloop flip maneuver without gyroscopic effect
PD Attitude Control
same as those introduced in section 3.1. Simulation results of the Euler angles are shown in
Fig. 7
, and Simulation results of angular velocities are shown in
Fig. 8
. As we can observe in
Fig. 7
, the Quadrotor’s Euler angle
ϕ
is reaching 360 degrees with a fast rise time. At this time, rise time is approximately 0.43 seconds, but Euler angle
ϕ
diverges eventually.
There are many reasons why the Euler angle
ϕ
diverges, but one of the main reasons is that the parameter values were calculated without the gyroscopic effect. This gyroscopic effect will make an unintended change to the Euler angles. However, the openloop controller does not have feedback so it cannot compensate this disturbance. Due to these reasons, Euler angles diverge during the flip maneuver with the openloop control method.
 4.2 Attitude Control Simulation using PD Attitude Control
In this subsection, we use the PD attitude controller to simulate the flip maneuver. Simulation results of Euler angles are shown in
Fig. 9
, and simulation results of angular velocities are shown in
Fig. 10
. From the simulation results, the PD attitude controller takes about two seconds to accomplish the flip maneuver. We also know that maximum p is approximately 350 deg/sec. As we can observe from the simulation results graph, rise time is about 1.17 seconds and settling time is about 1.64 seconds. Comparing these results with the simulation results of the openloop flip maneuver that we described in section 4.1, we find that the accomplish time for the flip maneuver of the PD attitude controller is remarkably slower than using the openloop control results. However, simulation results of
Fig. 5
do not consider the gyroscopic effect, so these results do not represent all simulation results of the openloop control.
 4.3 Attitude Control Simulation using Sliding Mode Attitude Control
In this subsection, simulation results of the flip maneuver using sliding mode control will be presented. Parameters of sliding mode control such as
S
,
K_{s}
and
K_{p}
are determined in
Table 4
.
Simulation results of Euler angles are shown in
Fig. 11
. Simulation results of angular velocities are shown in
Fig. 12
.
Attitude Control Simulation Results of Euler Angle with Openloop control
Attitude Control Simulation Results of Angular Velocity with Openloop control
As we can observe in
Fig. 11
, rise time of sliding mode control is approximately 0.58 seconds and settling time is about 0.93 seconds. Angular velocity
p
reaches up to 600 deg/sec. In case of sliding mode control, and settling time are faster than using the PD control method, but overshoot does not have large differences between the sliding mode control method and PD control method. In contrast, in case of sliding mode control, even though rise time and settling time are slower than using the openloop control method, it has an advantage that the response from SMC method does not diverge during the flip maneuver. The sliding mode control method also has disadvantages that there is a chattering effect when sliding surface s is equal to zero. We can observe the chattering effect in
Fig. 11
.
 4.4 Performance Comparison of Attitude Controllers
Until now, we performed high angle control using three attitude controllers. Characteristics of these controllers are listed in
Table 5
.
Attitude Control Simulation Results of Euler Angle with PD Control
Attitude Control Simulation Results of Angular Velocity with PD Control
5. Conclusion
In this paper, three attitude controllers of the Quadrotor were designed by various methodologies to perform a flip maneuver and we also compared performances of these attitude controllers. For this purpose, 6DOF dynamic equations were derived and the Quadrotor frame was configured. Here, we assumed that the aerodynamic components are small enough to be negligible. To control the attitude of the Quadrotor, we designed three types of controllers. First, the openloop controller was designed for the attitude control and the conventional PD controller was designed second. Lastly, the sliding mode control method was used to design the attitude control of the Quadrotor. We simulated a flip maneuver using these three attitude controllers and compared performances of these attitude controllers. In case of the openloop control
Parameters of Sliding Mode Control (Simulation)
Parameters of Sliding Mode Control (Simulation)
Performance Comparisons of Three Attitude Controllers
Performance Comparisons of Three Attitude Controllers
Attitude Control Simulation Results of Euler Angle with Sliding Mode Control
system, convergence speed is fast, but failed to hold the stability of the system. In contrast, the PD control system satisfies successful stabilization of the Quadrotor with one drawback: convergence speed is slower than that of the openloop control system. Finally, the sliding mode control system satisfies both convergence speed and stabilization. However, we can observe that there is chattering effect when sliding surface
s
is equal to zero. To perform the flight test in the subsequent study, we built the Quadrotor frame and we also modeled it to determine the parameters of the Quadrotor.
Attitude Control Simulation Results of Angular Velocity with Sliding Mode Control
Acknowledgements
This research was supported by Defense Acquisition Program Administration and Agency for Defense Development under the contract UE124026JD.
Mellinger D.
,
Michael N.
,
Kumar V.
2012
“Trajectory generation and control for precise aggressive maneuvers with quadrotors”
The International Journal of Robotics Research
31
(5)
664 
674
DOI : 10.1177/0278364911434236
Cutler M.
,
Ure N. K.
,
Michini B.
,
How J. P.
2011
“Comparison of Fixed and Variable Pitch Actuators for Agile Quadrotors”
AIAA Guidance, Navigation and Control Conference
Portland, OR
Schoellig A. P.
,
Mueller F. L.
,
D'Andrea R.
2012
“Optimizationbased iterative learning for precise quadrocopter trajectory tracking”
Autonomous Robots
33
103 
127
DOI : 10.1007/s1051401292832
Bresciani T.
,
Master Thesis
2008
“Modelling, Identification and Control of a Quadrotor Helicopter”
Lund University
Lund, Sweden
Master Thesis
170 
Monsees G.
,
Ph.D Thesis
2002
“DiscreteTime Sliding Mode Control”
Delft University of Technology
Delft, Nederlands
Ph.D Thesis
Won D. Y.
,
Tahk M. J.
2007
“Sliding Mode Controller Design for QuadRotor Attitude Stabilization”
3rd TokyoTechKAIST Joint Workshop for Mechanical Engineering Students
Slotine J. E.
,
Li W.
1991
Applied Nonlinear Control
PrenticeHall International, Inc, City