100%(1)100% fanden dieses Dokument nützlich (1 Abstimmung)

175 Ansichten85 SeitenA_thesis_on_Quadcopter.pdf

© © All Rights Reserved

PDF, TXT oder online auf Scribd lesen

© All Rights Reserved

Als PDF, TXT **herunterladen** oder online auf Scribd lesen

100%(1)100% fanden dieses Dokument nützlich (1 Abstimmung)

175 Ansichten85 SeitenA_thesis_on_Quadcopter.pdf

© All Rights Reserved

Als PDF, TXT **herunterladen** oder online auf Scribd lesen

Sie sind auf Seite 1von 85

A thesis on Quadcopter

MD. ROKIBUJJAMAN SOVON

sovonsdp@gmail.com

© All right reserved 2017

Abstract

UAV is defined as an aerial vehicle that does not carry a human operator, uses

aerodynamic forces to provide vehicle lift, can fly autonomously or be piloted remotely,

can be expandable or recoverable, and can carry a lethal or nonlethal payload. It is

controlled either autonomously by on-board computers or by remote control of a pilot on

the ground. Its’s usage is currently limited by difficulties such as satellite communication

and cost. A Quadcopter has been built that can be operated by radio frequency controller

and send live audio-visual feedback. The developed Quadcopter control system has been

simulated in MATLAB and abaqus. The simulation shows a very stable operation and

control of the developed Quadcopter. Microcontroller based drone control system has

also been developed where a RF transmitter and receiver operating in the frequency of

2.4 GHz are used for remote operation for the Quadcopter.

The development in the fields of MEMS sensors, miniature, energy efficient and very

powerful microcontrollers, and microprocessors has given the opportunity to build small

autonomous flying vehicles. This thesis is studying one type of these vehicles, so called

quadcopter. The quadcopter is flying vehicle like helicopter but having four rotors which

are situated in one plane. The popularity of quadcopters are increasing as the sensors and

control systems are getting more advanced. The quadcopter is naturally unstable, has a

complex dynamic model and six degrees of freedom.

This paper describes modelling, estimation, and control of the horizontal translational

motion of an open-source and cost effective quadcopter. I determine the dynamics of its

roll and pitch attitude controller, system latencies, and the units associated with the values

exchanged with the vehicle over its serial port. Using this we create a horizontal-plane

velocity estimator that uses data from the built-in inertial sensors and an onboard laser

scanner, and implement translational control using a nested control loop architecture.

Although there are many enhancements that I could do to the design, we have proven that

it is possible to produce a small-scale UAV that performs functions of interest to the

military as well as commercial/industrial applications. The final quadcopter concept is

well suited for further experimental work.

Keywords

2 A thesis on Quadcopter

Contents

ABSTRACT ..................................................................................................................... 1

CHAPTER 1: INTRODUCTION .................................................................................. 7

1.1 QUADCOPTER ....................................................................................................... 7

1.2 ISSUE.................................................................................................................... 8

1.2.1 Flight Controller Failure .............................................................................. 8

1.2.2 Electronic Speed Controller (ESC) Problems .............................................. 8

1.2.3 Radio Transmitter/Receiver Signal .............................................................. 9

1.2.4 Motor............................................................................................................ 9

1.2.5 Video Transmitter/Receiver Signal .............................................................. 9

1.2.6 Final Words ................................................................................................ 10

1.3 REVIEW .............................................................................................................. 10

1.4 STRUCTURE OF THE PROJECT .............................................................................. 11

CHAPTER 2: REFERENCE GEOMETRY AND DYNAMIC MODEL ................ 12

2.1 COORDINATE SYSTEM......................................................................................... 12

2.2 ROTATION MATRIX.............................................................................................. 13

2.3 MOTOR REFERENCE ........................................................................................... 14

2.4 COORDINATE SUMMARY .................................................................................... 14

2.5 AERODYNAMIC EFFECT ...................................................................................... 14

2.6 THE BASIC STRUCTURE OF THE FOUR-ROTOR AIRCRAFT ..................................... 15

2.6.1 Quadcopter movement mode ..................................................................... 16

2.6.2 Ground and the establishment of the body coordinate system................... 17

2.6.3 Euler angles ................................................................................................ 18

2.7 DYNAMIC MODEL .............................................................................................. 20

2.8 BASIC ASSUMPTIONS BEFORE MODELING............................................................ 21

2.9 KINEMATICS ....................................................................................................... 21

2.9.1 Kinetic model ............................................................................................. 21

2.9.2 Kinematic analysis ..................................................................................... 24

2.10 PHYSICS .......................................................................................................... 25

2.11 MOTORS ......................................................................................................... 25

2.12 FORCES ........................................................................................................... 26

2.13 TORQUES ........................................................................................................ 27

2.14 EQUATIONS OF MOTION .................................................................................. 28

2.15 ENGINE DYNAMICS ......................................................................................... 29

CHAPTER 3: DEVELOPMENT & CONSTRUCTION .......................................... 31

3.1 DEVELOPMENT AND EQUIPMENT: ....................................................................... 31

3.1.1 Brushless DC motor ................................................................................... 31

3.1.2 Multi-Rotor control board .......................................................................... 32

3.1.3 ESC (Electronic Speed Controller) ............................................................ 35

3.1.4 Servo motor ................................................................................................ 36

3.1.5 Li-Po battery............................................................................................... 36

3.1.6 Landing gear............................................................................................... 37

3.2 CONTROL SYSTEM DESIGN................................................................................. 37

3.2.1 BLDC motor transfer function ................................................................... 38

3.2.2 BLDC motor open loop analysis ................................................................ 40

3.2.3 DC servo motor .......................................................................................... 40

3.2.4 DC servo motor transfer function............................................................... 41

3.2.5 Yaw-controller ............................................................................................ 42

3.2.6 Phi-Theta controller ................................................................................... 43

3.2.7 PID control ................................................................................................. 43

3.2.8 LQR control ............................................... Error! Bookmark not defined.

3.2.9 Firmware limitation.................................................................................... 46

3.3 PROPORTIONAL CONTROLLER ............................................................................. 46

3.4 PAYLOAD COMPONENTS ..................................................................................... 47

3.5 TELEMETRY SYSTEM .......................................................................................... 48

3.5.1 Radio communication ................................................................................ 48

3.5.2 Wi-Fi Communication................................................................................ 49

3.5.3 Wireless communication module for quadcopter....................................... 49

3.6 HARDWARE IMPLEMENTATION ............................................................................ 50

3.7 HARDWARE SELECTION OF QUADCOPTER .......................................................... 51

3.8 FLIGHT CONTROLLER FOR QUADCOPTER ........................................................... 52

3.8.1 Microprocessor STM32F103VC................................................................ 53

3.8.2 Inertial Measurement Unit ......................................................................... 54

3.8.3 HMC5883L geomagnetic sensor ................................................................ 54

3.8.4 Air pressure altimeter ................................................................................. 55

CHAPTER 4: CONTROL SCHEME DESIGN AND SIMULATION ..................... 56

4.1 CONTROL SCHEME DESIGN ................................................................................. 56

4.2 EFFECT OF MOTOR ROTATION SPEED ON ATTITUDE ANGLE ............................... 56

4.2.1 The overall design of the program ............................................................. 56

4.2.2 Simulation model is established ................................................................. 56

4.2.3 Simulation results analysis ......................................................................... 58

4.3 ATTITUDE ANGLE CLOSED-LOOP CONTROL OF THE MOTOR SPEED REGULATION .. 60

4.3.1 Control scheme overall design ................................................................... 60

4.3.2 Attitude control .......................................................................................... 61

4.3.3 Height control............................................................................................. 62

4.3.4 Establish the simulation model .................................................................. 62

4.3.5 Simulation environment settings: ............................................................... 63

4.3.6 Emulation Stop Condition Setting ............................................................. 63

4.3.7 Control parameter optimization ................................................................. 64

4.3.8 Simulation results analysis: ........................................................................ 64

4.4 INNER AND OUTER LOOP PID POSITION CONTROL SIMULATION ........................... 66

4 A thesis on Quadcopter

4.4.2 Simulation model establishment ................................................................ 67

4.4.3 PID control parameters .............................................................................. 69

4.4.4 Simulation flight test .................................................................................. 69

4.5 ANALYSIS OF ACTUAL FLIGHT OF FOUR ROTORCRAFT....................................... 71

4.5.1 Flight test and comparative analysis .......................................................... 71

CHAPTER 5: FUTURE QUADCOPTER .................................................................. 75

5.1 FUTURE WORK ................................................................................................... 75

5.2 FUTURE RISK ..................................................................................................... 76

CHAPTER 6: CONCLUSIONS .................................................................................. 77

ACKNOWLEDGEMENT ............................. ERROR! BOOKMARK NOT DEFINED.

LIST OF ABBREVIATIONS ....................................................................................... 79

REFERENCE ................................................................................................................ 80

APPENDIX .................................................................................................................... 84

Chapter 1: Introduction 7

Chapter 1: Introduction

Unmanned aerial vehicles (UAV) are more properly known as Drone [1]. Basically,

drone is a flying robot. Working in combination with GPS, the flying machine may be

remotely controlled or can fly autonomously by software controlled flight plans in their

embedded systems. Drones are most often used in military services. However, it is also

used for weather monitoring, firefighting, search and rescue, surveillance and traffic

monitoring etc. In recent years, the drone has come into attention for a number of

commercial uses. In late 2013, Amazon announced a plan to use unmanned aerial

vehicles for delivery in the nearby areas future. It is known as Amazon Prime air; it is

estimated to deliver the orders within 30 minutes inside 10 miles of distance. So it is clear

that domestic usage of UAV has vast future possibility in different fields rather than

military usage [1,2,5].

Drones for military use were started in the mid-1990s with the High-Altitude Endurance

Unmanned Aerial Vehicle Advanced Concept Technology Demonstrator (HAE UAV

ACTD) program managed by the Defense Advanced Research Projects Agency (DARPA)

and Defense Airborne Reconnaissance Office (DARO) [3]. This ACTD placed the base

for the improvement of the Global Hawk. The Global Hawk hovers at heights up to

65,000 feet and flying duration is up to 35 hours at speeds approaching 340 knots and it

costs approximately 200 million dollars. The wingspan is 116 feet and it can fly 13.8094

miles which is significant distance. Motherland security and drug prohibition are the

main needs Global Hawk was designed for. Another very successful drone is the Predator

which was also built in the mid-1990s but has since been improved with Hellfire missiles.

“Named by Smithsonian’s Air & Space magazine as one of the top ten aircraft that

changed the world, Predator is the most combat-proven Unmanned Aircraft System

(UAS) in the world”. The original version of the Predator, built by General Atomics, can

fly at 25,000 feet for 40 hours at a maximum airspeed of 120 [47,48].

1.1 Quadcopter

A quadcopter is a popular form of UAV (Unmanned aerial vehicle). It is operated by

varying the spin RPM of its four rotors to control lift and torque. The thrust from the

rotors plays a key role in maneuvering and keeping the copter airborne. Its small size and

swift maneuverability enables the user to perform flying routines that include complex

aerial maneuvers. But for conducting such maneuvers, precise angle handling of the

copter is required. The precise handling is fundamental to flying by following a user-

defined complex trajectory-based path and while performing any type of missions. This

paper serves as a solution to handling the quadcopter with angular precision by

illustrating how the spin of the four rotors should be varied simultaneously to achieve

correct angular orientation along with standard flight operations such as taking-off,

landing and hovering at an altitude [4,34,52].

8 A thesis on Quadcopter

1.2 Issue

For anyone who has experience of building quadcopters, should be familiar with all the

critical parts of the machine. If not please take a look at the quadcopter hardware

overview guide. Here I will discuss some hardware failures and how to prevented it.

• Flight Controller

• Electronic Speed Controller (ESC) Problems

• Radio Receiver/Transmitter (Signal)

• Motor

• ESC

• Video Receiver/Transmitter (Signal)

There is nothing can stop hardware failure, but there are things you can do to minimize

the chance of disaster happening [35].

FC have actually been very reliable to regardless which only problem was flying over

wet grass, water went into the FC and it malfunctioned. Anyway, before the flight it’s

always a good idea to check the flight controller’s sensor readings (in GUI), and your

PID values are correct. One should also always backup my PID settings every time before

they make any changes. For example, the Naze32‘s software provides facility to save and

restore flight controller settings [10].

Burnt out ESC is probably one of the most common quadcopter problems. There are

many situations where the ESCs can be burnt out. 1 – Overloading, i.e. motor draws high

current over a period of time and causes over heat. 2 – Over limit burst current such as

during a crash. 3 – ESC reached end of life. When this happens, it’s will be pretty obvious:

You might see smokes, and the motor connected to the burnt ESC will either stop or

behave unexpectedly.

To avoid this problem, always stay within safe limit when picking motors and propellers,

also make sure the ESC supports the number of cell counts of the LiPo battery. Don’t

overload the BEC either as this is often overlooked (the 5V output). Some people like to

remove the heatsink to save weight, I always go against doing this. Your ESC might be

cool flying in cold weather, but in a warm day it can still get hot and require heatsink.

When building your quadcopter, perfect soldering is important. Any cold solder joint

could affect your quad’s performance and reliability.

All soldering and wiring should be kept well insulated from each other, and proper heat

shrink should be used for electrical protection. For carbon fiber frames, wires should be

handled with extra care as carbon fiber is conductive. They should be insulated from each

Chapter 1: Introduction 9

other.

When it comes to radio problems, the first thing one can think of would be loss of radio

signal. Most radio controller uses 2.4Ghz, so the penetration ability is moderate, biggest

problem I have is range.

The 9X and the original radio module is pretty poor in range, I could probably only get

300 meters. Getting a decent radio module is key if you are after good range. After

upgrading to Frisky module, one have never had any problems flying within 1Km range

(unless there is something serious blocking the signal like a think wall or lots of trees).

Always point your transmitter antenna to the direction which aligns with your receiver

antenna.

Also, get some kind of RSSI signal strength alarm. Some transmitter module comes with

this feature; it would start beeping if your signal is getting weak. It’s a great life saver

and reminds you how far you can go. Make sure failsafe is setup properly on your radio

receiver and flight controller.

Lastly, range check your radio if you are flying in an unfamiliar place, “knowing your

limit”. otherwise it may crush.

1.2.4 Motor

Motors are quite robust and they don’t break easily. But one may replace any motors with

bent shaft or loose magnet.

The problem with bad motors is that, they take a lot more current to spin at the same

speed, so uses more power and generates a lot more heat. Not only that, it results in less

stable aircraft, also risks your ESC getting burnt out if it draws too much current in punch

outs for example. To check, one should spin the motors with propellers mounted on, if

one motor is harder to spin (you can feel the resistance), and it stops earlier than other

motors, that is a sign of bad motor that needs to be replaced.

If you fly FPV, this is the last thing you want to have problems, because when losing

video link, you have no idea where the quadcopter is heading, the best thing you can do

is probably cutting throttle, let gravity take care of the rest and crash your quad in to the

ground.

Most people fly 5.8Ghz these days, and penetration ability is worst and this is the main

cause of loss of signal. Don’t expect it to work perfectly if you are racing in the wood or

flying through your house windows. Trees and walls are very effective at blocking your

video signal at this frequency.

10 A thesis on Quadcopter

Also, getting some decent Circular Polarized Antennas could improve the range a lot too.

And again, range check your equipment before you fly.

before a flight session, remember to check all of the bolts and nuts are fastened. People

don’t want one of your frame arm comes loose during a flip. After a rough landing or

crash, triple check the props and frame for any hidden damages as well.

1.3 Review

Many methodologies have been tried to improve real-world aircraft with vertical take-

off and landing abilities. First, Nikola Tesla introduced a vertical take-off and landing

vehicle concept in 1928. Advanced VTOL aircrafts uses a single engine with thrust

vectoring. Thrust vectoring illustrates that the aircraft can send thrust from the engine in

different directions, so that vertical and horizontal fight can be controlled by one engine.

The Harrier Jump Jet is one of the most famous and successful fixed-wing single-engine

VTOL aircraft. In the 21st century, UAVs are becoming progressively conventional.

Many of these have VTOL capability, especially the quad copter type [6]. We were also

interested by the requirements of DARPA’s UAVforge, while studying large and tiny

UAVs competition which was posted around the time we started our project. The UAV

forge contest us basically to design and build a micro-UAV that can take off vertically,

go to the destination and surveillance the area for three hours.

We know transporting and resupplying troops is a great challenge in war field. To meet

this challenge DARPA initiated a program in 2010 demonstrating four-person vertical

takeoff and landing vehicle. Lockheed Martin’s Skunk Works® is foremost a group with

Plawecki Aircraft to improve the next generation of dynamic vertical takeoff and landing

(VTOL) transport systems under the ARES program. ARES VTOL flight unit is designed

to work as an unmanned platform capable of transferring a variety of payloads [8]. The

flight unit has built in digital flight controls, remote command-control interfaces, power

system and gasoline. Twin tilting ducted fans would deliver effective flying and landing

abilities in a compact structure. It is capable of rapid change to high-speed travel voyage.

However, this project is under development now. Our project has similarities with this

Lockheed Martin’s research and the flying methodology is partially similar to their

machine.

On the other hand, using drone in firefighting has already been taken place in history. An

unmanned Predator B aircraft helped firefighters and saved many lives in 2007 in

southern California. It delivered firefighters up-to-the-minute information.

In addition to the military practices of the drones, we were concerned in evaluating

applications in the industrial, commercial and as well as government sector. In addition,

new markets and uses will emerge if small drones are very available. Potential new

markets in business and modern applications incorporate reviewing pipelines or actually

Chapter 1: Introduction 11

investigating perilous regions like an emergency site at an atomic force plant. Harvest

evaluation or natural disaster aid seems also to be possible areas where small drones

could be beneficial. Although the designs of different UAVs are charming, our interest

was in attempting to produce a small UAV which could support a broad mission

capability.

This paper is organized into six major parts. Chapter 1 contains introduction, history and

aspect of drone and detailed review. Chapter 2 contains reference geometrical

information. Chapter 3 contains the dynamic model. Chapter 4 is consisting the

development and construction of the drone in brief. Chapter 5 contains the control

scheme, simulation and flight analysis. In addition, it contains elaborate discussions

control system and Chapter 6 contains the future task and the risk. Finally, chapter 7

contains conclusion and recommendation of the developed drone.

12 A thesis on Quadcopter

In this chapter coordinate systems and reference geometry is defined. The chapter also

defines motor position and its direction of rotation. The last part of this chapter is a

method to transform from one coordinate system to another.

When the quadcopter is navigating in three-dimensional space there are two diﬀerent

coordinate systems present. One is the body coordinate system, indexed ’b’, which is

aﬀected by the motors. The other is the navigation frame, indexed ’n’, were forces like

gravitation has influence. The body coordinate system will move along with the

quadcopter, while the navigation coordinate system is the reference point for the

quadcopter. The reference coordinate system can be placed anywhere, but has to be fixed

once the quadcopter starts moving. One assumption for the coordinate systems is the

neglected curvature of the earth. A quadcopter has a limited area to navigate in and this

assumption will not aﬀect any result. In avionics, the Z-axis is normally pointing towards

the earth. To ease the comparison with other projects the Z-axis is also pointing

downwards in this project. The quadcopter is able to rotate around its own axes with an

angular velocity. This angular velocity is denoted as σ˙ with an index for the

corresponding axis [13,14].

𝜎x

𝜎y 𝜎z

Yb

Zb Xb

Xn

Yn

Zn

Figure 2.1: The blue coordinates are the navigation frame, while the black is the body

coordinates

In order to get the orientation of the quadcopter in terms of angles, the quadcopters

coordinate system has to be linked to the navigation coordinates. The way this is done is

Chapter 2: Reference Geometry And Dynamic Model 13

by the implementation of Euler angles. There are three Euler angles, φ, θ and ψ, known

as roll, pitch and yaw. This notation is often used in avionics [31].

To make a dynamic model, the forces and moments acting on the quadcopter must be

found. The forces must also be oriented so they influence the quadcopter in the correct

way, no matter how quadcopter is oriented. Gravity will always point the Z-direction of

the navigation frame, but will have vector components referred to the quadcopter

dependent of its orientation. A vector can be oriented to any position with three successive

rotations. In order to overcome the gravity, vector the quadcopters orientation must be

rotated, but not in the physical way, to determine how much force the motors has to put

out to keep it hoovering. The rotations can be done one at a time. show the matrices that

can be used to rotate about a single axis [15].

𝑅𝜎𝑥 = [1 0 0 ] 𝑅𝜎𝑦 = [𝑐𝑜𝑠𝜃 0 𝑠𝑖𝑛𝜃 ] 𝑅𝜎𝑧 = [𝑐𝑜𝑠𝜓 𝑠𝑖𝑛𝜓 0 ]

0 −𝑠𝑖𝑛𝜑 𝑐𝑜𝑠𝜑 𝑠𝑖𝑛𝜃 0 𝑐𝑜𝑠𝜃 0 0 1

To be able to calculate the total conversion from the body frame to the navigation frame

all the three matrixes can be multiplied together. The result is a complete rotation matrix

(Equation. The motor force vector can be expressed in the navigation frame if multiplied

with this rotation matrix. Once the force is represented in the navigation frame the total

thrust needed to hoover can be found.

The calculated matrix gives the conversion from body to navigation frame. It is also

needed in some cases to calculate from navigation to body frame. This can be done by

transposing the result

C nb matrix, C bn = C nb T (2.2)

ψ X

Y

X

14 A thesis on Quadcopter

The motors rotation and position is also of significant. Motor one and two are placed

along the X-axis and rotate the in the clockwise direction [44]. Motor three and four are

placed on the Y-axis and rotate in the counterclockwise direction (Figure 2.3).

M1

M4

Yb M

M3 Xb 2

Zb

Figure 2.3: Sketch of where the motors are mounted and direction of propeller

movement

The coordinate systems has been fully defined (chapter 2.1). The diﬀerence between the

body and navigation coordinate system is also defined and how to convert from one

system to the other. The motors have been set at their representative position on the axis

and also the direction of rotation for the motors are described. To be able to derive the

dynamic equations of the quadcopter this is all needed.

The preceding model is a simplification of complex dynamic interactions. To end- force

more realistically behavior of the quadcopter, drag force generated by the air resistance

is included.

(2.3)

in which Ax, Ay and Az are the drag force coefficients for velocities in the corresponding

directions of the inertial frame. Several other aerodynamical effects could be included in

the model. The influence of aerodynamical effects are complicated and the effects are

difficult to model. Also, some of the effects have significant effect only in high velocities.

Thus, these effects are excluded from the model and the presented simple model is used

[26].

Chapter 2: Reference Geometry And Dynamic Model 15

Figure 2.4 shows the layout of a quadcopter with two cantilevers, each with a rotor.

Motors 1 and 3 are mounted on the same arm and rotate in a clockwise direction while

motors 2 and 4 are mounted on the second arm and are rotated in the counterclockwise

direction. The two motors should rotate in the same direction at the opposite ends of the

same arm to prevent torque imbalance during linear flight.

Quadcopter is a four-rotor lift with the aircraft, by changing the speed of the four motor

to control the size of the lift to control the four-wing flight attitude. There are six DOFs

in the air, only four inputs, which are typical multi-input and multi-output systems, and

the output of the quadcopter is more than the input, and there is a coupling relation

between the control quantity and the state quantity, Therefore, the control system of the

four-rotor vehicle is also under-driven and strong coupling control system [19]. Four

motors always maintain the same speed, began to accelerate the rotation, when the total

force is greater than the total force from the ground began to rise to a certain height after

the appropriate slow down can be kept hovering, this time if the left side of the motor

speed reduction, it will To break the balance, the four-wing aircraft will tilt to the left and

move to the left and flip, and will also cause the original rotor torque balance between the

destruction of the four-wing aircraft to the left yaw, at the same time, the total lift , And

the tilting, the vertical component of the force decreases, four-wing aircraft will gradually

decline, so the end can lead to its side rotation, edge down, while moving in the direction

of tilt. Therefore, the speed of a motor is changed, and from the viewpoint of the body

coordinate system, four output quantities are changed

size. Figure 2.2 shows a schematic diagram of several flight principles for a four-rotor

vehicle.

16 A thesis on Quadcopter

1. Hover and lift movements

Hovering and hoisting movements are the most basic form of motion for a four-rotor

vehicle, as shown in Figure 2.5(a). When it is flying in the air, air resistance through the

rotor to produce anti-torque effect on the body, anti-torque rotation direction and the

direction of rotation of the rotor is just the opposite, and its role with the size of the

increase in speed increases. The motors 1 and 3 rotate counterclockwise, and the motors

2 and 4 rotate clockwise. Since the rotation speed of the four motors is the same, the rotor

produces the same lift force, so the counter-torque just cancel out each other, and then

stabilizes horizontally. At this time, if the rotation speed of four motors is increased at the

same time, the lift force of the body will increase. When the lift of the four rotors exceeds

the gravity of the body, the quadcopter will make vertical ascending motion; When the

four rotors provide lift less than the body's gravity, the quadcopter will do a vertical

descent motion. If the four rotors produce lift just equal to the body gravity, this time in

the absence of external disturbances under the influence of the aircraft will maintain the

Chapter 2: Reference Geometry And Dynamic Model 17

2. Yaw movement

During the hovering and hoisting movements, the four motors rotate at the same speed,

counteracting the counter-torque generated by the rotors rotating in different directions.

However, when the speed of motor 1, 3 and 4 are not the same, the anti-torque can not

reach equilibrium, so that the rotation of the aircraft body. As shown in Fig. 2.5(b), if the

rotation speed of the No. 2 and No. 4 motors are not changed and the rotation speed of

the No. 1 and No. 3 motors are reduced, the sum of the anti-torque effects of the rotor

group to the airframe in the clockwise direction is smaller than Counterclockwise

direction and the role of the body will eventually counterclockwise torque, the same as

the No. 2,4 motor speed, 1,3 motor speed is the same, making the plane by the lift on the

horizontal plane symmetry, the whole body Does not occur, such as rollover, so in the air

to complete the same level of clockwise yaw movement.

Figure 2.5(c) shows the pitching motion of the aircraft. In the hover state, the two motors

keep the same speed, increase the rotation speed of motor 1 and reduce the rotational

speed of motor 3, so that the lift generated by rotor 1 increases, the lift generated by rotor

3 Small, resulting in four-wing aircraft before and after the end of the original lift to break

the balance, so that the aircraft nose up. However, when the nose is rising, the anti-torque

of the machine changes. Therefore, to maintain the balance of the anti-torque effect, the

variation of the motor speed of No.1 and No.3 should be as same as possible. When the

aircraft pitching motion, the rotor surface, and the ground to produce an angle, so the lift

will be generated in the horizontal component, so that the quadcopter body before and

after the movement, as shown in Figure 2.5(e). At the same time lift in the vertical

direction of the weight and gravity of the same size in the opposite direction, the body in

the vertical direction to keep hover.

Figure 2.5(d) shows the rolling motion of the aircraft. In the hovering state, it is like the

pitching motion, but the motor serial number is the opposite, keep the rotation speed of

1,3 motor unchanged, increase the motor speed of 4, 1 motor speed, resulting in four-

wing aircraft left and right ends of unbalanced lift, so that the aircraft body to the right

flip. Similarly, to maintain the balance of the role of anti-torque, 2,4 motor speed changes

should be as much as possible the same. When the aircraft roll motion, the rotor surface,

and the ground to produce an angle, so the lift will produce a component in the horizontal

direction, so that the four-wing aircraft to produce left-right movement of the fuselage, as

shown in Figure 2.5(f). At the same time, the component of the lift in the vertical direction

and the gravity are just the same size in the opposite direction, making the vertical force

balance.

Through the combination of the above basic motion states, the four-wing aircraft can fly

in any trajectory and in any attitude in the air, and realize its own flexible flight.

Before establishing the kinetic model, the following two coordinate systems need to be

selected: ground coordinate system E (OXYZ) and body coordinate system B (oxyz). As

previously mentioned, the quadcopter has two main types of motion: translation and

rotation [20]. We study the translational process based on the ground coordinate system

18 A thesis on Quadcopter

and the motion of the aircraft as the particle motion. The rotation process is studied in the

body coordinate system and the aircraft is regarded as rigid body model.

Ground coordinate system is mainly used to describe the quadcopter relative to the ground

movement, get the spacecraft coordinate position. The ground coordinate system E

(OXYZ) is a reference coordinate system fixed on the surface of the earth, which satisfies

the following four points:

• The origin O is any point on the ground, is the quadcopter take-off initial position;

• Its X-axis pointing in a horizontal direction;

• Its Z-axis pointing in the air and perpendicular to the ground;

• The Y axis is perpendicular to the X axis in the horizontal plane, and the Y axis

direction is determined by the right hand rule.

2. The definition of body coordinate system B (oxyz)

The origin of the body coordinate system B (oxyz) is located at the center of gravity of a

four-rotor vehicle, which is attached to and moves with the body of a four-rotor vehicle

and satisfies the following four points:

• The origin o take the body center of gravity;

• X axis in the plane of symmetry plane parallel to its longitudinal axis, the direction

of the same direction with the nose;

• Z axis in the fuselage symmetry plane and perpendicular to the x-axis pointing to

the fuselage above;

• Y-axis perpendicular to the aircraft's symmetry plane and left and right rotor

connection direction parallel to the left side of the fuselage, and in line with the

right-hand spiral rule.

1. The transformation relationship between the body coordinate system and the ground

coordinate system

The transformation relation of the coordinate system is related to the attitude angle: Φ, θ,

ψ, as shown in Figure 2.6, where:

Ψ represents the roll angle, that is, the angle of the body coordinate system B (oxyz) to

rotate around the x-axis relative to the ground coordinate system E (OXYZ); θ represents

the pitch angle, that is, the body coordinate system B (oxyz) relative to the ground

coordinate system E (OXYZ) Ψ represents the yaw angle, that is, the angle of rotation of

the body coordinate system B (oxyz) relative to the ground coordinate system E (OXYZ)

about the z-axis.

Chapter 2: Reference Geometry And Dynamic Model 19

From Figure 2.6, the transformation from the body coordinate system to the ground

coordinate system is described as follows: Using the right-hand rule, a new coordinate

system E1 is obtained by rotating the body coordinate system B (oxyz) around its z axis.

The new coordinate system E2 is obtained by rotating the angle θ on the y axis. Finally,

E2 is rotated around the x axis to obtain the final ground coordinate system E (OXYZ).

From B (oxyz) to E1, from E1 to E2, and from E2 to E (OXYZ), the corresponding

transformation matrix is:

cosψ −sinψ 0

R(z, ψ) = ( sinψ cosψ 0)

0 0 1

cosθ 0 sinθ

R(y, θ) = ( 0 1 0 ) (2.4)

−sinθ 0 cosθ

1 0 0

R(x, Φ) = (0 cosΦ −sinΦ)

{ 0 sinΦ cosΦ

The transfer matrix of the whole process is: R = R (z, ψ) R (y, θ) R (x, Φ)

cos ψ cos θ cos ψ sin θ sin ∅ − sin ψ cos ∅ cos ψ sin θ cos ∅ + sin ψ sin ∅

R = ( sin ψ cos θ sin ψ sin θ sin ∅ + cos ψ cos ∅ sin ψ sin θ cos ∅ − cos ψ sin ∅) (2.5)

− sin θ cos θ sin ∅ cos θ cos ∅

Before establishing the kinetic model, we first define p, q, r as the angular velocity of the

three axes in the body coordinate system; ∅ ˙, θ ≡, ψ ˙ are the three-axis Euler angular

velocity in the ground coordinate system, The relationship between the angular velocity

and the body angular velocity is:

p 1 0 − sin θ ∅̇ ∅̇ − ψ̇ sin θ

[q] = [0 cos ∅ sin ∅ cos θ ] [ θ̇ ] = [ θ̇ cos ∅ + ψ̇ sin ∅ cos θ ] （2.6）

r 0 − sin ∅ cos ∅ cos θ ψ̇ −θ̇ sin ∅ + ψ̇ cos ∅ cos θ

20 A thesis on Quadcopter

[ θ̇ ] = [0 cos ∅ − sin ∅ ] [q]

ψ̇ 0 sin ∅ sec θ cos ∅ sec θ r

(p cos θ + q sin ∅ sin θ + r cos ∅ sin θ)/ cos θ

=[ q cos ∅ − r sin ∅ ] （2.7）

(q sin ∅ + r cos ∅)/ cos θ

(2.7) can be reduced to a standard unit matrix when the four rotors are stabilized in flight,

the roll angle and the pitch angle are small, and the corresponding angular rate is also

small:

∅̇ 1 0 0 p

[ θ̇ ] = [0 1 0] [q] （2.8）

ψ̇ 0 0 1 r

We will start deriving quadcopter dynamics by introducing the two frames in which will

operate. The inertial frame is defined by the ground, with gravity pointing in the negative

z direction. The body frame is defined by the orientation of the quadcopter, with the rotor

axes pointing in the positive z direction and the arms pointing in the x and y directions

[17].

Chapter 2: Reference Geometry And Dynamic Model 21

Before the establishment of the nonlinear dynamic model of the quadcopter, we make the

following assumptions [21] for the sake of convenience:

• The visual aerocraft is rigid body, the quality does not vary with the position,

while ignoring the blade elastic vibration and deformation.

• Assuming the earth does not move, the ground coordinate system can be regarded

as the inertial coordinate system, the acceleration of gravity does not change with

height.

• Does not consider the earth's own rotation and revolution movement, regardless

of the ground effect of the impact.

• Strict symmetrical structure, the body evenly distributed, the center of gravity can

be regarded as coinciding with the body center.

2.9 Kinematics

Before delving into the physics of quadcopter motion, let us formalize the kinematics in

the body and inertial frames. We define the position and velocity of the quadcopter in the

inertial frame as x = (x, y, z)T and x˙ = (x˙ , y˙, z˙)T , respectively. Similarly, we define the

roll, pitch, and yaw angles in the body frame as θ = (φ, θ, ψ)T , with corresponding angular

velocities equal to θ̇ = (φ̇ , θ̇, ψ̇ ) T . However, note that the angular velocity vector ω ƒ= θ̇.

The angular velocity is a vector pointing along the axis of rotation, while θ˙ is just the

time derivative of yaw, pitch and roll. To convert these angular velocities into the angular

velocity vector, we can use the following relation:

1 0 −𝑠𝜃

𝜔 = [0 𝑐𝜑 𝑐 𝜃 𝑠𝜑 ] (2.9)

0 −𝑠𝜑 𝑐𝜃 𝑐𝜑

We can relate the body and inertial frame by a rotation matrix R which goes from the body

frame to the inertial frame. This matrix is derived by using the ZYZ Euler angle

conventions and successively “undoing” the yaw, pitch, and roll.

R=[𝑐𝜃 𝑐𝜓𝑠𝜑 + 𝑐𝜑𝑠𝜓 𝑐𝜑𝑐𝜃 𝑐𝜓 − 𝑠𝜑𝑠𝜓 −𝑐𝜓𝑠𝜃 ] (2.10)

𝑠𝜑𝑠𝜃 𝑐𝜑𝑠𝜃 𝑐𝜃

Where R is rotation matrix.

Figure 2.8 is the force analysis chart, quadcopter during the movement by the force and

torque are: the aircraft's own gravity, along the three-axis translation of the air resistance,

rotation around the three-axis torque, four rotor Rotation of the lift, three axial rotation

torque, the rotor rotation generated by Coriolis torque, vibration and external disturbance

generated torque.

22 A thesis on Quadcopter

After completion of the force analysis, per Newton's law of motion and Euler equation,

based on the force analysis is easy to obtain quadcopter dynamics model equation:

mv̇ = Ff + Fd + Fg

{ （2.1

JΩ̇ + Ω × JΩ = Mf − Md + Mc

1）

In order to study the convenience and effectiveness of this model, and according to the

research environment and requirements of this article, the mathematical model to increase

the constraints: (1) in the absence of indoor or outdoor circumstances, the aircraft hover

and (2) As the rotor mass and volume are very small, its moment of inertia J_r is also very

small, the rotor rotation generated when the Coriolis torque Mc = ∑4i=1 Ω ×

T

Jr [0 0 (−1)i+1 wi ] Which is not obvious and neglects its influence on the angular

motion of the aircraft. Therefore, we get the simplified model applied in this paper

mv̇ = Ff + Fg

{ （2.1

JΩ̇ + Ω × JΩ = Mf

2）

Explain the specific meaning of the variables in this model:

The translational motion of a four-rotor vehicle is achieved by the lift provided by four

propellers, and since the propeller shaft of the aircraft is fixed, its lift direction is constant

in the body coordinate system, ie perpendicular to the body. In the ground coordinate

system, the horizontal force along the three-axis, can be expanded as follows:

Ff = R [ 0 ] = [cos ∅ sin θ sin ψ − cos ψ sin ∅] ∑4i=1 Fi （2.13）

∑4i=1 Fi cos θ cos ∅

The lift provided by the rotor is proportional to the product of the lift coefficient and the

square of the rotor speed, Therefore, we define Fi as the lift produced when the i-th rotor

rotates and b is the lift coefficient, specifically expressed as:

Chapter 2: Reference Geometry And Dynamic Model 23

Quadcopter by the gravity of the body (select the positive direction up) can be written as:

Fg = [0 0 − mg]T （2.15）

(2.13) ~ (2.15) into the first equation of equation (2.12), we can get:

b

[ÿ ] = [cos ∅ sin θ sin ψ − cos ψ sin ∅] [m ∑4i=1 wi2 ] − [0] (2.16)

z̈ cos θ cos ∅ g

When the rotor around the axis of symmetry in space, high-speed rotation, the axis of

symmetry changes in resistance will appear when the torque, known as the gyro moment.

During the flight of a four-rotor aircraft, the rotor rotates at high speed and its rotation

axis changes with the position and attitude of the aircraft in space. At this time, the aircraft

will be affected by its own gyro moment, which can be expressed as:

p Ix p qr（Iz − Iy ）

Ω × JΩ = [q] × [Iy q] = [ pr（Ix − Iz ） ]

r Iz r pq（I − I ）

y x

(2.17)

Quadcopter in the air to do roll, pitch, yaw movement, will be driven by the rotational

torque, resulting in changes in attitude. Specific roll, pitch, and yaw torques are expressed

as

l（F4 − F2 ） lb（w42 − w22 ）

Mf = [ l（F3 − F1 ） ]=[ lb（w32 − w12 ） ] (2.18)

d（w12 + w32 − w22 − w42 ） d（w12 + w32 − w22 − w42 ）

Substituting Equations (2.17) and (2.18) into the second equation in Equation (2.12)

yields the following equation:

Iy −Iz l

qr ( I ) b(w42 − w22 )

x Ix

ṗ l

I −I

[q̇ ] = pr ( zI x ) + b(w32 − w12 ) （2.19）

y I y

ṙ Ix −Iy d

pq ( ) [ (w12 + w32 − w22 − w42 )]

[ Iz ] I z

We assume that the control input of the four rotorcraft is U = (U1, U2, U3, U4)T. Where U1

is the resultant force of lift force; U2 is the resultant force that affects the roll angle of the

aircraft; U3 is the resultant force that affects the pitch angle of the vehicle; U4 is the

resultant force that affects the yaw angle of the aircraft. The control input U is:

U1 = b(w12 + w22 + w32 + w42 )

U2 = b(w42 − w22 )

(2.20)

U3 = b(w32 − w12 )

2 2 2 2

{U4 = d(w1 + w3 − w2 − w4 )

(2.8) and (2.12) ~ (2.20), the dynamic model of a four-rotor vehicle can be expressed as

follows:

24 A thesis on Quadcopter

U

ẍ = （ cos Ф cos ψ sin θ + sin Ф sin ψ ） m1

U

ÿ = （ cos Ф sin θ sin ψ − cos ψ sin Ф ） m1

U

z̈ = cos θ cos Ф m1 − g

Iy −Iz l (2.21)

Ф̈ = θ̇ψ̇ ( I ) + I U2

x x

I −I l

θ̈ = ∅̇ψ̇ ( zI x ) + I U3

y y

Ix −Iy 1

ψ̈ = ∅̇θ̇ ( ) + I U4

Iz z

The state variables of the quadrotor are the following twelve quantities:

, , Rotation Euler angles from inertial to body

v , v

qx qy , vqz Linear velocities measured along each axis in body framer Rq

,

qx qy , qz Angular velocities measured along each axis in body frame Rq

The states x, y, z are inertial frame quantities, where vqx , vqy , vqz are body frame

quantities, however, assuming the rotation applied from inertial to body follow sequence

1-2-3, there is a relation between position and velocities [25]:

𝑥 𝑣𝑞𝑥 𝐶𝜓 𝐶𝜃 𝑆𝜃 𝑆𝜙 𝐶𝜓 − 𝑆𝜓 𝐶𝜙 𝑆𝜓 𝑆𝜃 + 𝑆𝜃 𝐶𝜓 𝐶𝜙

𝑑 𝑇

[ 𝑦 ]=𝑅𝑞 𝑣𝑞 =(𝑅𝑞 ) [𝑣𝑞𝑦 ]=[ 𝑆𝜓 𝐶𝜃

𝑖 𝑖 𝑆𝜃 𝑆𝜙 𝑆𝜓 + 𝐶𝜃 𝐶𝜓 𝐶𝜙 𝑆𝜃 𝑆𝜓 − 𝑆𝜙 𝐶𝜓 ] (2.22)

𝑑𝑡

−𝑧 𝑣𝑞𝑧 −𝑆𝜃 𝑆𝜃 𝐶𝜃 𝐶𝜙

Now, we need to relate Euler angles to angular velocities [2], considering the angular

velocities are body frame quantities, each Euler angles along different direction as

following figure:

1

2 4

3 Roll

Pitch Yaw

Figure 2.9: Eular angles along different directions

Chapter 2: Reference Geometry And Dynamic Model 25

We can set following identity matrix for relating Euler angles to angular velocities:

𝑏 𝑅𝑜𝑙𝑙 𝑅𝑜𝑙𝑙

𝑅𝑅𝑜𝑙𝑙 (𝜙)=𝑅𝑃𝑖𝑡𝑐ℎ (𝜃)= 𝑅𝑌𝑎𝑤 (𝜓)= I (2.23)

Then

𝜔𝑞𝑥 𝜙 0 0

[𝜔𝑞𝑦 ]=𝑅𝑅𝑜𝑙𝑙 (𝜙) [ 0 ]+𝑅𝑅𝑜𝑙𝑙 (𝜙)𝑅𝑃𝑖𝑡𝑐ℎ (𝜃́) [𝜃́] + 𝑅𝑅𝑜𝑙𝑙 (𝜙)𝑅𝑃𝑖𝑡𝑐ℎ (𝜃) 𝑅𝑌𝑎𝑤 (𝜓) [ 0 ] (2.24)

𝑏 𝑏 𝑅𝑜𝑙𝑙 𝑏 𝑅𝑜𝑙𝑙 𝑅𝑜𝑙𝑙

𝜔𝑞𝑧 0 0 𝜓́

We write the above equation in more compact form:

𝜔𝑞𝑥 𝜙 0 0

[𝜔𝑞𝑦 ]=[ 0 ]+𝑅𝑅𝑜𝑙𝑙

𝑏 𝑏

(𝜙) [𝜃́] + 𝑅𝑅𝑜𝑙𝑙 𝑅𝑜𝑙𝑙

(𝜙)𝑅𝑃𝑖𝑡𝑐ℎ (𝜃) [ 0 ] (2.25)

𝜔𝑞𝑧 0 0 𝜓́

𝜙́ 1 0 0 0 1 0 0 𝐶𝜃 0 𝑆𝜃 0

=[ 0 ] + [0 𝐶𝜙 𝑆𝜙 ] [𝜃́] + [0 𝐶𝜙 𝑆𝜙 ] [ 0 1 0 ] [0]

0 0 −𝑆𝜙 𝐶𝜙 0 0 −𝑆𝜙 𝐶𝜙 𝑆𝜃 0 𝐶𝜃 𝜓́

1 0 −𝑆𝜃 𝜙́

=[0 𝐶𝜙 𝑆𝜙 𝐶𝜃 ] [ 𝜃́ ]

0 −𝑆𝜃 𝐶𝜙 𝐶𝜃 𝜓́

𝜙́ 1 𝑆𝜙 𝑡𝜃 𝐶𝜙 𝑡𝜃 𝜔𝑞𝑥

[ 𝜃́ ] = [0 𝐶𝜙 𝜔

−𝑆𝜃 ] [ 𝑞𝑦 ] (2.26)

𝜓 ́ 0 𝑆𝜙 𝑆𝑒𝑐𝜃 𝐶𝜙 𝑆𝑒𝑐𝜃 𝜔𝑞𝑧

2.10 Physics

In order to properly model the dynamics of the system, we need an understanding of the

physical properties that govern it. We will begin with a description of the motors being

used for our quadcopter, and then use energy considerations to derive the forces and

thrusts that these motors produce on the entire quadcopter. All motors on the quadcopter

are identical, so we can analyze a single one without loss of generality. Note that adjacent

propellers, however, are oriented opposite each other; if a propeller is spinning

“clockwise”, then the two adjacent ones will be spinning “counter-clockwise”, so that

torques are balanced if all propellers are spinning at the same rate [30].

2.11 Motors

Brushless motors are used for all quadcopter applications. For our electric motors, the

torque produced is given by

τ = Kt (I − I0) (2.27)

where τ is the motor torque, I is the input current, I0 is the current when there is no load

on the motor, and Kt is the torque proportionality constant [18]. The voltage across the

26 A thesis on Quadcopter

where V is the voltage drop across the motor, Rm is the motor resistance, ω is the angular

velocity of the motor, and Kv is a proportionality constant (indicating back-EMF

generated per RPM). We can use this description of our motor to calculate the power it

consumes. The power is

(𝜏+𝑘𝑡 𝐼0 )(𝑘𝑡 𝐼0 𝑅𝑚 +𝜏𝑅𝑚 +𝐾𝑡 𝐾𝑦 𝜔)

𝑃 = 𝐼𝑉 = (2.29)

𝐾𝑡2

For the purposes of our simple model, we will assume a negligible motor resistance. Then,

the power becomes proportional to the angular velocity:

(𝜏 + 𝐾𝑡 𝐼0)𝐾𝑣𝜔

P≈ (2.30)

𝑘𝑡

unreason- able, since I0 is the current when there is no load, and is thus rather small.

In practice, this approximation holds well enough. Thus, we obtain our final, simplified

equation for power:

2.12 Forces

The power is used to keep the quadcopter aloft. By conservation of energy, we know that

the energy the motor expends in a given time period is equal to the force generated on the

propeller times the distance that the air it displaces moves (P · d t = F · d x). Equivalently,

the power is equal to the thrust times the air velocity (P =𝐹𝑑𝑥 /𝑑𝑡 )

P = Tvh (2.32)

We assume vehicle speeds are low, so vh is the air velocity when hovering. We also

assume that the free stream velocity, v∞, is zero (the air in the surrounding environment

is stationary relative to the quadcopter). Momentum theory gives us the equation for hover

velocity as a function of thrust,

𝑣ℎ = √(𝑇/2𝜌𝐴) (2.33)

where ρ is the density of the surrounding air and A is the area swept out by the rotor.

Using our simplified equation for power, we can then write

𝑇 3/2

P≈𝑘𝑣 𝜏𝜔/𝑘𝑡 =𝑘𝑡 𝑘𝑣 𝜏𝜔/𝑘𝑡 = (2.34)

√2𝜌𝐴

Note that in the general case, τ = ˙r × ˙F; in this case, the torque is proportional to the thrust

T by some constant ratio Kt determined by the blade configuration and parameters.

Solving for the thrust magnitude T, we obtain that thrust is proportional to the square of

angular velocity of the motor:

𝑘𝑣 𝑘𝑡 √2𝜌𝐴

T=( 𝜔)2=k𝜔2 (2.35)

𝑘𝑡

Chapter 2: Reference Geometry And Dynamic Model 27

where k is some appropriately dimensioned constant. Summing over all the motors, we

find that the total thrust on the quadcopter (in the body frame) is given by

0

TB=∑4𝑖=1 𝑇𝑖 =[ 0 ] (2.36)

∑ 𝜔𝑖2

In addition to the thrust force, we will model friction as a force proportional to the linear

velocity in each direction. This is a highly-simplified view of fluid friction, but will be

sufficient for our modeling and simulation. Our global drag forces will be modeled by an

additional force term

−𝑘𝑑 ẋ

𝐹𝐷 =[−𝑘𝑑 ẏ] (2.37)

−𝑘𝑑 ż

If additional precision is desired, the constant 𝑘𝑑 can be separated into three separate

friction constants, one for each direction of motion. If we were to do this, we would want

to model friction in the body frame rather than the inertial frame [20,21,22].

2.13 Torques

Now that we have computed the forces on the quadcopter, we would also like to compute

the torques. Each rotor contributes some torque about the body z axis. This torque is the

torque required to keep the propeller spinning and providing thrust; it creates the

instantaneous angular acceleration and overcomes the frictional drag forces.

The drag equation from fluid dynamics gives us the frictional force:

1

𝐹𝐷 = 2 𝜌𝐶𝐷 𝐴𝑣 2 (2.38)

where r is the surrounding fluid density, A is the reference area (propeller cross-section,

not area swept out by the propeller), and CD is a dimensionless constant. This, while only

accurate in some in some cases, is good enough for our purposes. This implies that the

torque due to drag is given by

1 1

𝐹𝐷 = 2 𝜌𝐶𝐷 𝐴𝑣 2 = 𝜌𝐶𝐷 𝐴(𝜔𝑅)2 (2.39)

2

where ω is the angular velocity of the propeller, R is the radius of the propeller, and b is

some appropriately dimensioned constant. Note that we’ve assumed that all the force is

applied at the tip of the propeller, which is certainly inaccurate; however, the only result

that matters for our purposes is that the drag torque is proportional to the square of the

angular velocity. We can then write the complete torque about the z axis for the ith motor:

τz = bω2 + I M ω̇ (2.40)

where IM is the moment of inertia about the motor z axis, ˙w is the angular acceleration

of the propeller, and b is our drag coefficient. Note that in steady state flight (i.e. not

28 A thesis on Quadcopter

takeoff or landing), ˙w _ 0, since most of the time the propellers will be maintaining a

constant (or almost constant) thrust and won’t be accelerating. Thus, we ignore this term,

simplifying the entire expression to

τz = (−1)i+1bωi2 (2.41)

where the (−1)i+1 term is positive for the ith propeller if the propeller is spinning

clockwise and negative if it is spinning counterclockwise. The total torque about the z

axis is given by the sum of all the torques from each propeller:

τψ = b( ω1 2 − ω2 2 + ω3 2 – 𝜔42 ) (2.42)

The roll and pitch torques are derived from standard mechanics. We can arbitrarily choose

the i = 1 and i = 3 motors to be on the roll axis, so

τφ = ∑ r × T = Lk(kω12 − kω32) = Lk(ω12 − ω32) (2.43)

τθ = Lk(ω22 − ω42) (2.44)

where L is the distance from the center of the quadcopter to any of the propellers. All

together, we find that the torques in the body frame are

𝐿𝑘(𝜔12 − 𝜔32)

τB =[ 𝐿𝑘(𝜔12 − 𝜔32) ] 2.45)

2 2 2 2

𝑏( 𝜔1 − 𝜔2 + 𝜔3 – 𝜔4 )

The model we’ve derived so far is highly simplified. We ignore a multitude of advanced

effects that contribute to the highly nonlinear dynamics of a quadcopter. We ignore

rotational drag forces (our rotational velocities are relatively low), blade flapping

(deformation of propeller blades due to high velocities and flexible materials),

surrounding fluid velocities (wind), etc. With that said, we now have all the parts

necessary to write out the dynamics of our quadcopter [25,37].

In the inertial frame, the acceleration of the quadcopter is due to thrust, gravity, and linear

friction. We can obtain the thrust vector in the inertial frame by using our rotation matrix

R to map the thrust vector from the body frame to the inertial frame [39]. Thus, the linear

motion can be summarized as

0

mẍ=[ 0 ]+ RTB + FD (2.46)

−𝑚𝑔

where ẍ is the position of the quadcopter, g is the acceleration due to gravity, FD is the

drag force, and TB is the thrust vector in the body frame.

While it is convenient to have the linear equations of motion in the inertial frame, the

rotational equations of motion are useful to us in the body frame, so that we can express

Chapter 2: Reference Geometry And Dynamic Model 29

rotations about the center of the quadcopter instead of about our inertial center. We derive

the rotational equations of motion from Euler’s equations for rigid body dynamics.

Expressed in vector form, Euler’s equations are written as

M =Iω̇ + I𝜔2 (2.47)

where ω is the angular velocity vector, I is the inertia matrix, and M is a vector of applied

torques. We can rewrite this as

𝜏−𝐼𝜔 2

𝜔̇= (2.48)

𝑀

We can model our quadcopter as two thin uniform rods crossed at the origin with a point

mass (motor) at the end of each. With this in mind, it’s clear that the symmetries result in

a diagonal inertia matrix of the form

𝐼𝑥𝑥 0 0

I =[ 0 𝐼𝑦𝑦 0 ] (2.49)

0 0 𝐼𝑧𝑧

Therefore, we obtain our final result for the body frame rotational equations of motion

𝐼𝑦𝑦 −𝐼𝑧𝑧

−1

𝜔𝑦 𝜔𝑧

𝑀𝜑𝐼𝑥𝑥 𝐼𝑥𝑥

−1 𝐼𝑧𝑧 −𝐼𝑥𝑥

𝜔˙=[𝑀𝜑𝐼𝑦𝑦 ]- 𝐼𝑦𝑦

𝜔𝑧 𝜔𝑥 (2.50)

−1

𝑀𝜑𝐼𝑧𝑧 𝐼𝑥𝑥 −𝐼𝑦𝑦

[ 𝜔𝑥 𝜔𝑦 ]

𝐼𝑧𝑧

The motors propelling the quadrotor have their own dynamics. The equations of motions

are the well-known equations of motion of DC motor with the aerodynamic damping

added.

𝑑𝑖

L𝑑𝑡 = u−Ri−𝜔𝑚 ke (2.51)

J r𝜔𝑚 =k i i −d m 𝜔𝑚 − f ( 𝜔𝑚 ) (2.52)

Where,

• L - inductance of the coil in the engine

• ke – back EMFconstant

30 A thesis on Quadcopter

• ki – torque constant

Chapter 3: Development & Construction 31

To build such a dynamic unmanned aerial vehicle we need to attach many complex

electronic devices. In this implementation, we have used many intelligent electronic

devices like brushless DC motor, KK2.1.5 Multi-Rotor board, ESC (electronic speed

controller), digital servo motor and 3300 mA Lithium Polymer battery [12]. In this chapter,

we will discuss about all those electronic components and their behavior. Also,

development of telemetry system for real time communication with drone is introduced

in this section.

In order to develop this project, we have used Brushless DC motors, Electronic Speed

Controllers (ESC), KK2 Multicolor Controller Board, 3300mAh Li-Po battery, Aluminum

bar (as rotor holder) and Landing gear [42,43].

We have used EMAX bl 2815/09 motor for the propeller. The Emax BL2815/09 is a 3.9

ounce, 1000KV, 450 watts out runner brushless motor. It's used for sport planes weighing

709 to 1550 gram

32 A thesis on Quadcopter

cell

Current

count

11 × 7 8360 30A 1350 gm

BL 2815/09 3s 920

In practice, we have used 12 × 6 propellers so that we can get 1.5kg thrust form one motor.

As we have used two motors in our drone so we are getting approximately 3kg of thrust.

In this project, we have used kk2.1.5 Multi-Rotor control board to control the drone. This

KK2.1 Multi-Rotor controller controls the flight of multi-rotor. Its purpose is to stabilize

the aircraft during flight and to do this, it takes signals from on-board gyroscopes (roll,

pitch and yaw) and passes these signals to the Atmega324PA processor, which processes

signals according the users designated firmware and passes the control signals to the

mounted ESCs (Electronic Speed Controllers) and the mixture of these signals commands

the ESCs to make fine adjustments to the motors rotational speeds which stabilizes the

craft [16].

The KK2.1.5 Multi-Rotor control board also uses signals from radio system via a receiver

and passes these signals together with stabilization signals to the Atmega324PA IC via

the aileron; elevator; throttle and rudder user demand inputs. Once processed, this data is

sent to the ESCs which adjusts the rotational speed of each motor to control flight

orientation (up, down, backwards, forwards, left, right, yaw).

Technical specifications of KK2.1.5 board:

• Size: 50.5mm x 50.5mm x 12mm

• Weight: 21 grams

• IC: Atmega644 PA

• Gyro/Acceleration: 6050MPU

• Auto-level: Yes

• Input Voltage: 4.8-6.0V

• AVR interface: standard 6 pin.

• Firmware Version: 2.1.5

Chapter 3: Development & Construction 33

We have used quadcopter firmware that is pre-installed in the board. However, we had to

tune it as per our model because automatic settings were not working properly for our

model. Basically, settings are very different and unique for each model. Without

customized settings, this board is not going to work properly. So, to make our drone stable

and quick responsive to the disturbances, we have tuned the PI editor and all other settings.

The table 5.2 shows the customized values we have set to make quadcopter stable.

34 A thesis on Quadcopter

KK2

MENU

ITEM

PI Editor P Gain: P Limit: I Gain: I

Axis: Limit:

200 40 0 0

Roll

(Ailero

Axis:

200 40 0 0

n)

Pitch

(Elevato

Axis:

200 40 0 0

r)Yaw

(Rudder Auxiliar

Receiver Aileron: 0 Elevator: 0 Throttle: 0 Rudder: 0

) y: 0

Test

Link Roll Auto

Mode Self Level: CPPM:

Pitch: Disar

Settings

m:

aux No Yes no

Pitch(Elev

Stick Scaling Roll (Ail): Yaw Throttle:

):

(Rud):

36 53 52 90

Height Height Alarm Servo

Misc. Min

Dimen: D. 1/10 Filter:

Settings Throttle:

Limit: Volts:

10 16 30 105 50

Self- ACC ACC

P Gain: P Limit:

Level Trim Trim

Settin 90 89 0 Roll: 0 Pitch:

gs

Camera Roll PitchGain PitchOffse

Roll Gain: 0

Stab Offset: 50 :0 t: 50

Settings

Sensor Test Gyro X: Gyro Y: Gyro Z: ACC X: ACC ACC

ACC Y: Z:

Calibration

Pitch

CPPM Roll (Ail): Throttle: Yaw Aux:

(Elev):

Settings (Rud):

Mixer Editor Throttle: Aileron: Elevator: Rudder: Offset: Type Rate

Ch: 1 100 100 0 0 0 :

esc :

high

Ch: 2 100 -100 0 0 0 Esc high

Ch: 3 0 0 -100 -75 32 Serv low

Ch: 4 0 0 100 -75 49 o

Serv low

Show o

②-----①

Motor

Layout

Load

Dual-copter

Motor

Layout

Finally, with these settings from table 3.2 our model started hovering with stability.

Chapter 3: Development & Construction 35

An electronic speed controller or ESC is a device installed to a remote controlled

electrical model to vary its motor's speed and direction. It needs to plug into the receiver's

throttle control channel.

We have used 60A electronic speed controllers to control each brushless motors in this

experiment which can constantly supply required current to drive brushless motors. It has

following specifications:

• Constant Current: 60A

• Burst Current: 80A

• Battery: 2-4S Li-Po

• SBEC: 5.5v / 4A

• Motor Type: Brushless

• Size: 70 x 32 x 17mm

• Battery Wire: 14AWG

• Motor Wire: 14AWG

• Weight: 61g

36 A thesis on Quadcopter

For tilting the motors, we have used small servo motors. In this experiment, we have

mounted two Futaba S-140 servo motor to tilt the brushless motors to a certain angle.

This servomotor is can rotate up to 180º. So, we can rotate each brushless motor up to 45º

from normal as the brushless motors needs to be at 90º for vertical takeoff or landing.

This servomotor is connected with the KK2.1.5 multi-rotor board to get signals and power

both. Technical specifications of the Futaba S-140 Servo motor is given below:

• Modulation: Analog

• Torque: 4.8V: 122.0 oz-in (8.78 kg-cm) 6.0V: 153.0 oz-in (11.02 kg-cm)

• Speed: 4.8V: 0.70 sec/60° 6.0V: 0.56 sec/60°

• Weight: 2.54 oz (72.0 g)

• Dimensions: Length: 1.73 in (43.9 mm)

• Width: 0.91 in (23.1 mm)

• Height: 1.69 in (42.9 mm)

• Motor Type: 3-pole

• Gear Type: Hybrid

• Rotation/Support: Dual Bearing

As the brushless motor, we have used in this experiment needs high amount of current so

we have used 3300mAh 11.1V 3 cell Li-Po (Lithium Polymer) battery. It can provide

approximately 3A current constantly [36].

Chapter 3: Development & Construction 37

Specifications:

• Capacity: 3300mAh

• Voltage: 11.1V

• Max Continuous Discharge: 25C (82.5A)

• Max Burst Discharge: 50C (165A)

• Weight: 284g

• Dimensions: 133×42×23mm

• Charge Rate: 1-3C Recommended, 5C Max

For safe landing and to reduce landing pressure we have used a flexible plastic landing

gear. It is very efficient and useful. It spreads the landing pressure and saves the body

parts from crash [7].

This chapter contains control system, software, electrical and wireless communication

part. Different electrical components were used to implement this machine such as

38 A thesis on Quadcopter

brushless DC motor, electronic speed controller (ESC), KK2 multicomputer board, and

high torque servo motor. We have built a GPS tracking android application to keep a track

where it is traveling and used an IP camera software to get live video stream from the

Drone which is also described elaborately in this chapter [21].

The BLDC motor we have utilized for this project is the Emax Bl4030. It is a 385kv, 11.5

ounce (326g), 1300 watt out runner brushless motor. Contingent upon the propeller and

battery utilized, it is generally comparable to .60 to .90 2 stroke nitro engines [11].

The parameters we used in the modeling are extracted from the datasheet of this motor

with corresponding relevant parameters used. Table 3.3 contains the major extracted

parameters used for the modeling task.

The physical parameters for our example are:

Model Emax Bl4030

Thrust 4200g

(R)

Electric 8.5 mH

inductance (l)

Maximum 55 A

Current

Torque constant 0.04Nm/A

(𝑘𝑡 )

Moment of inertia 0.089 kg m2

(j)

Mechanical constant

𝑗×0.004×𝑅

𝜏𝑚 = (3.1)

𝑘𝑒 ×𝑘𝑡

Electrical constant

1

𝜏𝑒 = 0.004𝑅 (3.2)

Chapter 3: Development & Construction 39

𝑘𝑒 = 𝑘𝑡 × 0.0605

(3.3)

Where kt is torque constant, DC current I=0.0605

𝑝𝑤 ×9.554

Torque = (3.4)

𝑛

1300×9.554

= 6100

= 2.03Nm

Torque constant,

𝑇𝑜𝑟𝑞𝑢𝑒

𝑘𝑡 = 𝐶𝑢𝑟𝑟𝑒𝑛𝑡 (3.5)

2.03

= 55

= 0.04Nm/A

Electrical torque,

𝐾𝑒=0.04×0.0605=0.0024

Mechanical constant,

0.089×0.004×0.22

𝜏𝑚 = = 0.8158

0.04×0.0024

1

𝑘𝑒

𝐺1 (𝑠) = (3.6)

𝜏𝑚 𝜏 𝑒 𝑠2 +𝜏 𝑚 𝑠+1

416.67

= 0.38𝑠2 +0.82𝑠+1

416.67

𝐺1 (5) = 0.38×25+0.82×5+1

= 28.5

40 A thesis on Quadcopter

The open loop step response is shown by using the Simulink tools as shown in figure

below.

The servo motor we used in this project is Futaba S148. The parameters we used in the

modeling are extracted from the datasheet of this motor with corresponding relevant

parameters used. Find below in Table 4.4 the major extracted parameters used for the

modeling task [34].

The physical parameters for our example are:

Chapter 3: Development & Construction 41

Modulation: Analog

Weight: 1.57 oz

(44.4g)

Motor 3-pole

Type:

Rotational 1800

angle

We have used Futaba S-140 DC servo motor for this experiment. The linear mathematical

model (transfer function) for the Futaba S-140 Servo is

950

G3(s)= 𝑠2 +40𝑠+950 (3.7)

42 A thesis on Quadcopter

3.2.5 Yaw-controller

The total motor thrust is set as a variable. This thrust is the thrust that is required to hoover

or to accelerate the quadcopter in the local Z-axis. The more thrust, the faster the

Chapter 3: Development & Construction 43

quadcopter will accelerate. But the yaw is controlled by altering the motor thrust between

the four motors. The yaw controller divides the total force to the two motor pairs, 1-2 and

3-4. This way the total force is kept constant and a moment is applied to yaw the

quadcopter around the body Z-axis.

Since the relationship of the motor thrust and moment is constant the quadcopter will not

yaw as long as the total thrust is equal for the two motor pairs [29].

The phi and theta controller is the controller that controls the phi and theta angle of the

quadcopter. This is done by dividing the motor pair force from the yaw controller to the

two motors. This is done in two steps, first the phi angle is corrected, then theta [30]. Both

of them use the same controller, shown in figure.

A PID controller (proportional-integral-derivative controller) is a control loop feedback

mechanism widely used in control systems. A PID controller calculates an “error” value

as the difference between a measured variable and a desired set-point. The controller

attempts to minimize the error by adjusting the control inputs.

In quadcopter terms this means the PID controller will be taking data measured by the

sensors on the flight controller (gyros / accelerometers etc) and comparing that against

expected values to alter the speed of the motors to compensate for any differences and

maintain balance.

The PID controller calculation algorithm involves three separate constant parameters, the

proportional, the integral and derivative values, denoted P, I, and D. Heuristically, these

44 A thesis on Quadcopter

values can be interpreted in terms of time: P depends on the present error I on the

accumulation of past errors D is a prediction of future errors, based on current rate of

change Depending on your flight controller there will be PID’s associated with a number

of flight modes [27].

This is a general description what PID is, how it affects quadcopter performance still

depends on how the algorithm is written. For example, in Clean flight firmware, there are

three PID controllers and they each performs differently.

What is P?

P is the main value you worry about, which is the number for stability. You can actually

leave I and D values at 0 and your plane will hover just fine. So, that is why it always

tune P gain first before I and D.

The higher the P the harder it tries to stabilize the plane. But if P is too high, the

quadcopter becomes too sensitive, and over-correct itself (overshoot), you will have

oscillations with high frequency.

Not all oscillations are from P being too high though. You need to eliminate vibration as

much as possible from your quadcopter before you can even start tuning, for example the

motors, frame rigidity, balanced props etc. With a vibration, free copter, you can set a

much higher P gain and enjoy more stability, and controllability.

The way I tune P is, increase it until you see vibrations, then back it down a little.

Chapter 3: Development & Construction 45

What is I?

You have tuned P gain, leaving I and D at default values. When you are flying, you will

notice that you have to hold the pitch/roll stick to get the machine to move, as soon as

you let go of the stick the machine just breaks and stay in hovering again. It might even

cause a few osculation’s or wobbles if the change of control is rapid.

That is because your P is doing its job, trying to stabilize your quadcopter. Look at I gain

as the stick follower, by adding a little I gain you will find that the plane will now fly

forward more smoothly. But the side-effect is when you let go of the stick the copter will

keep on flying to that direction. This is the effect of I, keeping the last stick position.

To understand it, think of the quadcopter is trying to reduce the position error, but the

error is not reducing, it will just keep trying! This is the effect of the I term. In technical

terms, it is integrating the error over time, the longer the error persists, the greater the

force is applied. When the I gain is not zero, a small error can persist forever (which is

not necessary a bad thing in real flying!)

Some people use I gain to make flying more smoothly, while some people purely just like

this “stick following” behavior. However, with too much I your quadcopter will start to

oscillate with a lower frequency at high throttle. When I gain is too low, your quadcopter

will wobble when descend.

Normally default I gain works pretty well already. But if you notice wobble when

descending, increase I should help. But when I is too high, you might notice slow

vibrations at punch-outs (high throttle ascend).

What is D?

D isn’t very useful to many people. In fact you can ignore D completely and your

quadcopter will fly just fine. That’s why the KK2 does not allow you to tune D, because

they want to make it really simple and effective, without D it’s not going to affect the

flight performance too much. D is sometimes used to get rid of the jerkiness of the

quadcopter movement.

D is like the opposite of P. If P is a hand to keep pushing the machine back to a stable

position, then D is a spring between the hand and the machine, which absorbs the shocks.

By adding D gain, you can “soften” the movement just like adding a spring to it. However

too much D is not good, because again it will introduce oscillations. Also, your copter

will be really sluggish and mushy.

Basically, D changes the force applied to correct an position error, when it sees a decrease

or increase in the position error. Just like if you are hungry, you eat a lot faster, when you

are nearly full, your eating will slow down. That’s why you see a softer movement in the

quadcopter when D is used.

When you see vibrations, don’t rush to decrease P, try to increase D and see if you can

eliminate the vibrations. Also, If you see some bumpiness or slight vibration at high

throttle, or doing flips and rolls, give it a bit more D should also help. The cost is you

have mushier control and stick responsiveness.

46 A thesis on Quadcopter

The above are mainly for roll and pitch axis, and you need to tune Yaw axis separately.

Default values usually work pretty well, but same principle applies from above. It

shouldn’t cause too much vibrations like roll and pitch, and at the end of the day it’s just

a matter of personal preference.

PID is just to find the balance between the moment of inertia of the multicopter, and the

force generated by the motors, which is also affected by other factors such as vibrations,

frame rigidity, FC performance etc. The moment of inertia is related to how heavy the

quadcopter is, how the mass is distributed, and the properties of motors. Therefore, PID

gains are different settings for each individual quadcopter, because they all have different

setup, mass distribution etc. That’s exactly why for the pre-built quadcopters, they fly so

well straight out of the box for example the DJI Phantom, because they have exactly the

same setup so they can all use the same PID settings [33].

So, don’t forget to look at the hardware side of things before tuning PID. When your

quadcopter is not stable, it could be more than just PID. It could be the malfunctioning

ESC, unbalanced props or motors, could be the frame, or might be the weight is not

distributed evenly on the frame. There are just so many other issues that will affect the

drone’s performance and flight behavior besides PID.

When I started working with the quadrotor the firmware was able to implement only the

PI control loops (D is also present but it works only as a proportional gain, it does not

differentiate the signal). I started to develop the control loops respecting these limitations.

The later version of the firmware provides an interface which can be used to download

the sensor data and upload control commands. Then the control algorithms can be

implemented on different host. This version of firmware was released too late and I did

not have sufficient time to exploit its new features allowing to use more sophisticated and

modern control techniques.

The firmware provides four inner loops whose outputs are fed through a mixer to the

engines. Then there are eight outer loops which can be connected to the inner loops or to

each other. Loops' inputs can be other loop's output, sensor data or RC stick position. All

inputs and outputs can be scaled and offsets can be added.

The mixture of proportional terms is vital to rise the speed of the response and also to

remove the steady state error [13]. The proportional controller block is reduced to P only

as shown in figure 3.13 By using MATLAB we have determined a suitable value for our

proportional controller.

Where P = Proportional gain and we set P = 0.5 to get a stable output. In practice, KK2

multirotor controller board is the PID controller for the system we have developed [32].

Chapter 3: Development & Construction 47

The camera which provides surveillance capability for the Quadcopter is a Link sprite

JPEG color camera that employs a transistor-transistor-level (TTL) logic signal. The

camera has the ability to display a series of images through a serial communication output

as well as 30 frames per second (fps) National Television System Committee (NTSC)

formatted output. All of the sensors and electronic hardware used in this project

communicate over a TTL serial connection, including the wireless telemetry module we

are using. The ability to integrate the video over the serial connection seamlessly was the

main reason that we chose this camera [35].

Other reasons included the fact that it operated from a 5 V power supply, just like the rest

of our sensors, and that the power consumption was low at less than 100 mA. The camera

has the ability to capture VGA, QVGA, and QQVGA picture formats as well as allow the

image to be compressed with various degrees of compression. This allowed us to shrink

the image file size to under 30 kb per image frame which is small enough to allow us to

reach a frame rate of about 2.5 fps while transmitting at 115200 bps. This frame rate

should be sufficient to guide navigation or to perform surveillance. An image of the

camera can be seen. The camera is controlled by the Arduino processor board. A series

of hex commands are sent to the camera from the Arduino to initialize and then start a

series of image collects. The images are sent from the camera serially in hex format to

the Arduino and then transmitted via the XBee- PRO telemetry modules to the ground-

based computer for processing.

48 A thesis on Quadcopter

The XBee-PRO telemetry module is the second payload function on the Quadcopter today.

A telemetry module was needed In order to control the Quadcopter from a distance

without the use of an RC transmitter. It was also needed to communicate payload camera

images back to the ground control computer. The module we chose for the project is a

900Mhz XBee-PRO XBP09. The XBee-PRO modules are capable of deploying point-

to-point, peer-to- peer and point-to-multipoint networks. Designed for maximum range,

the XBee-PRO is ideal for solutions where RF penetration and absolute transmission

distance are paramount to the application. In my setup, I use two of the modules. One is

connected to the Arduino processor board on the Quadcopter while the other one is

connected to a computer on the ground and together they allow communication between

the GUI that I am developing on the computer and the Arduino board. The XBee-PRO

communicates with the computer serially, through a virtual com port at a baud rate of

57600. An image of the XBee-PRO module can be seen.

As unmanned aerial vehicle, must needs to operate remotely, several communication

system used in this project such as radio communication, Wi-Fi communication and 3G

communication which are covered in this chapter.

There are many high range radio transmitter and receiver in the market which are

expensive. However, as it is prototype and to minimize the cost we used 2.4 GHz FlySky

6 channel transmitter and receiver module. It covers almost 970 meter to 1 kilometer with

average obstacle [28].

Chapter 3: Development & Construction 49

Over 1200 meter it gets very low signal and completely lost the signal over 1320 meters.

To record precise values, we used a car to move around and transmits the signal from a

stationary point.

Technical Specifications:

• Radio: 2.4 GHz

• Length: 7.4 in (188mm)

• Height: 3.8 in (96.5mm)

• Width/Diameter: 11.6 in (294.6mm)

• Weight: 498.9 g (17.6oz)

By the aid of this device we can control the flight system of our drone. Each channel

controls a specific electronic device which in embedded in our system such as brushless

DC motors or servo motors, thus we can control forward, backward, right or left motion

of the prototype.

Wi-Fi communication used in this experiment for the IP webcam software for short range

video transmission without internet connection. We have used IP webcam android

software for video transmission. It provides live video stream which can be access via

local and global computers. For local communication, it uses Wi-Fi communication.

Mobile device and the on-board computer needs to connected in the same Wi-Fi network

[19].

The function of the wireless communication module is to realize the flight data

transmission between the host computer and the four-rotor aircraft, to receive the aircraft

real-time status and attitude information, motor control signal PWM information and so

on for the flight controller to observe and debug.

50 A thesis on Quadcopter

This article uses two NRF24L01 modules, one through the SPI interface with the flight

controller connected to a communication, through a USB to serial port module to connect

with the PC. NRF24L01 is a work in the 2.4-2.5GHz world common ISM band wireless

transceiver chip.

We have used aluminum bar instead of carbon fiber bar to minimize cost. A plastic made

landing gear is used to land the machine softly and spread the landing force over the body.

Two brushless

motors are mounted on the top of the aluminum bar and a servo motor is placed

underneath of each brushless motor. Middle part of the body contains all the payloads

(ESC, Controller, RF receiver, battery and mobile device). Figure 3.17 shows all the total

connections between all electronic components.

Chapter 3: Development & Construction 51

In this diagram, thin red, orange and red wires signifies +5V, black wire Signal and GND

resectively.

In this paper, the attitude control platform based on the inertial measurement unit is

designed. The F450 frame is made of nylon fiber material. The wheelbase is 450mm, the

rack is 260g and the maximum safe takeoff weight is 1200g.

Quadcopter hardware system consists of six parts:

• microprocessor to control the operation of the whole system, the choice

STMicroelectronics based on ARM CortexM3 core STM32F103VC processor;

• power module, including good surplus XRotor-20A electronic governor, EMAX

bl 2815/09-1000KV brushless DC motor and EMAX1045 propeller;

• sensor part, including the MPU-6050 three-axis gyroscope and three-axis

accelerometer, HMC5883L three-axis geomagnetic sensor, MS5611 barometric

altimeter;

• remote control, using Fu Si FS-T6 2.4G six-channel remote control;

• communication module, and wireless communication with the host computer

using NRF24L01 transceiver chip;

• power supply system, the use of nine 11.1v 5200mah lithium battery for the flight

control panels and electronic governor to provide DC.

Figure 3.18 is the physical model and Figure 3.19 a quadcopter hardware structure

diagram,

52 A thesis on Quadcopter

In this paper, the flight controller based on STM32 has the characteristics of small size,

low power consumption, abundant resources of software and hardware and high

development efficiency. It is suitable for multi - axis aircraft. Figure 3.20 is the flight

Chapter 3: Development & Construction 53

MPU-6050: three-axis gyroscope and three-axis accelerometer;

HMC5883L: three-axis geomagnetic sensor;

MS5611: Pneumatic altimeter;

CP2101: USB to serial chip for debugging;

AT45DB161: Flash chip, used to store data;

Five - way switch: parameter adjustment

ADC: Connect the battery positive and negative, used to measure the battery voltage.

T8_4, T8_3, T8_2, T8_1: TIM8 four interface, can be used for PWM, PPM input capture,

PWM output, to facilitate the expansion of peripherals.

T4_C4: PWM input capture channel, then remote control receiver PITCH channel.

T4_C3: PWM input capture channel, then remote control receiver ROLL channel.

T4_C2: PWM input capture channel, connected to the remote control receiver's throttle

channel.

T4_C1: PWM input capture channel, then the remote control receiver YAW channel.

T2_C1: PWM output channel, connect No. 1 motor.

T2_C2: PWM output channel, then the No. 2 motor.

T2_C3: PWM output channel, then the No. 3 motor.

T2_C4: PWM output channel, then No. 4 motor.

3.3V, DIO, CLK, GND: SWD interface for program download.

GPS: GPS interface.

UART3: Serial 3 interface, can be used for external Bluetooth wireless communication.

E3, E4, E5, E6: four IO port, for the expansion of peripherals.

NRF24L01: NRF24L01 wireless interface, can be used for wireless data transmission.

OLED: LCD OLED interface for display.

Flight controller processor used STM32F103VC, ST is designed ARM CortexM3 core

54 A thesis on Quadcopter

embedded processor, its on-chip resources sufficient to achieve various types of sensor

communication needs. The three-axis acceleration and geomagnetic horizontal

components are acquired and the attitude angle is calculated in real time. The output

control quantity is calculated according to the designed control scheme algorithm. The

data is transmitted through the wireless communication module and the ground.

Receiving remote control commands to change the flight status and so on.

Its performance is as follows: Operating frequency is 72MHz, with 32-bit RISC core,

high-speed embedded memory (up to 128K bytes of Flash memory and 20K bytes of

SRAM memory), configured to connect to two APB bus 80 high-speed I / O port. There

are two internal 12-bit ADCs, four timers (three general purpose 16-bit timers and one

PWM timer), and multiple standard and advanced communication interfaces (2 I²C and

SPI interfaces, 3 USART interfaces, 1 USB interface and a CAN interface).

Figure 3.21 shows the inertial measurement unit MPU-6050, which integrates a three-

axis gyroscope, a three-axis accelerometer, and an expandable digital motion processor

DSP. ± 2g, ± 4g, ± 8g, ± 16g respectively. The range of the internal gyroscope is ± 250 °

/ s, ± 500 ° / s, ± 1000 ° / s and ± 2000 ° / Both gyroscopes and accelerometers are

equipped with three 16-bit ADCs that convert their measured analog values to digital. The

MPU-6050 communicates with the processor over the I²C bus.

Accelerometer by measuring the inertial force to measure the linear acceleration of each

axis, the gyroscope is the use of Coriolis force that is rotating objects in the radial motion

of the tangential force received by the body angular velocity [24], in the actual application

of the need for fusion Both results are used.

The HMC5883L is a field-weakening magnetic sensor chip with an I²C digital interface

that includes a high-resolution HMC118X series magnetoresistive sensor, amplifier, auto

demagnetization driver, offset calibration and digital-to-analog converter. The

HMC5883L communicates with the processor over the I²C bus.

Geomagnetism according to each axis of the sensor to detect the magnetic field strength

to determine the magnetic north pole and the forward direction of the angle that azimuth

angle α, due to the geomagnetic north pole and the geographical difference, compensate

for the local magnetic declination β The correct geographic north direction can be

Chapter 3: Development & Construction 55

obtained [52].

In fact, when the quadcopter flight, the geomagnetism is not horizontal, set non-horizontal

state, the geomagnetic coordinate system along the axis of the three components were

h_x, h_y and h_z, geomagnetism tilt compensation, available The magnetic field

component in the horizontal direction is [53]:

hx

H cos θ sin Ф sin θ − sin θ cos Ф h

[ X] = [ ] [ y] (3.8)

HY 0 cos Ф sin Ф

hz

The resulting azimuth angle is:

H 180

360 − arctan (HY ) ∗ HX > 0, HY > 0

X π

H 180

180 − arctan (HY ) ∗ HX > 0, HY <0

α= X π (3.9)

HY 180

−arctan (H ) ∗ HX < 0

X π

{ 180 + sgn(HY ) ∗ 90 HX = 0

And then can be obtained quadcopter forward and the north pole of the angle A is

A= α+β （3.10）

The MS5611 Barometer consists of a high linear pressure sensor and a 24-bit low-power

AD converter. The sensor contains a factory calibration factor that measures both air

pressure and temperature. Because it can provide a pair of precise 24-bit pressure values

and temperature values, so MS5611 is ideal for measuring height and pressure.

The working principle of the barometer MS5611 [54]: MS5611 through the built-in

piezoresistive sensor to measure the analog pressure and temperature values, and then

converted to 24-bit ADC digital output, and then read the sensor stored in the PROM

factory calibration data, And then convert the two 24-bit digital values to the standard

pressure value D1 and the temperature value D2.

56 A thesis on Quadcopter

The quadcopter has six degrees of freedom, which is controlled by the rotation speed of

four motors. It belongs to the typical under-actuated nonlinear system. Based on the

dynamic model of the four-rotorcraft, the control input and the motor speed and the

relationship between the motor speed and the four forces is obtained. Then the closed-

loop control loop of the attitude angle is established to obtain the corresponding change

of the motor rotation speed when the four-rotor vehicle is turned over, and the simulation

is carried out.

Here I am going to describe the the design of the whole program.

By the formula (4.1) to obtain the relationship between the control input U and the four-

motor speed, first through the motor speed and control of four forces between the

conversion relationship, given a given motor speed corresponding to the U1, U2, U3, U4.

Since there is no sensor element in the simulation environment that can measure the

height and attitude in real time, the feedback value is calculated by calculating the three

displacement accelerations in real time (x, y, And acceleration of the three attitude angles

(Ф ̈, θ ̈, ψ ̈). The acceleration is obtained through two integrals and the real-time

displacement is obtained. The angular acceleration is integrated twice and the real-time

attitude feedback is obtained.

U2 = b(w42 − w22 )

（4.1）

U3 = b(w32 − w12 )

2 2 2 2

{U4 = d(w1 + w3 − w2 − w4 )

In this paper, the simulation of the quadcopter control system is carried out in

Matlab/Simulink simulation environment. Figure 4.1 is the corresponding simulation

model:

Chapter 4: Control Scheme Design and Simulation 57

Figure 4.1: Simulation model of relationship between motor speed and four forces

In this simulation model, simulation should be carried out before the simulation set, for

the four rotorcraft, the algorithm type selection variable step size algorithm, the algorithm

in the simulation process to change the time interval to calculate the model of continuous

state; calculation method selection ode45, This is based on the Runge-Kutta (4,5) and

Dormand-Prince combination algorithm, which is a one-step algorithm, which is

characterized by only the solution of the previous point in time, and then can immediately

calculate the current point in time equation solution. This algorithm for most of the

simulation model, it should first use ode45 to solve the model, because of this, ode45 is

simulink default algorithm, the specific settings shown in Table 4.1.

Parameter Value (Standard Unit)

Calculate the step size Auto

Algorithm Type Variable-step

Calculation method Ode45（Dormand-Prince）

Simulation time 10

quadcopter used in the simulation parameters shown in Table 4.2:

58 A thesis on Quadcopter

parameter Value (Standard Unit)

Total Weight m 1.23

Gravitational acceleration g 9.8

Body inertia matrix J diag（6.126,6.126,12.4）× 10−3

Distance from the rotor center to the 0.225

center of the body 𝐋

Lift coefficient b 3.501× 10−5

Coefficient of rotation d 7.51× 10−7

1. The curve of Rolld, Pitchd, Yawd (the black is Rolld, blue is Pitchd and red is Yawd)

when ω1 = 1100r / min and ω2 = ω4 = 1000r / min.

g Rolld, Pitchd, Yawd curves (shown in black for Rolld, blue Pitchd, red for Yawd):

Chapter 4: Control Scheme Design and Simulation 59

g Rolld,Pitchd,Yawd curves (shown in black for Rolld, blue Pitchd, red for Yawd):

Rolld, Pitchd, Yawd curves (shown in black for Rolld, blue Pitchd, red for Yawd):

60 A thesis on Quadcopter

Based on the simulation results in the previous section, we can get the influence of the

motor speed on the attitude angle of the quadcopter. It can be deduced that if we want to

get the corresponding attitude angle, we can get the change process of the motor. For the

six degrees of freedom of a four-rotor vehicle, two groups are divided. One group is the

attitude angle, roll angle, pitch angle, yaw angle; the other group is the position, or

displacement, including the upper and lower, front and rear, left and right direction

displacement. There is no need to consider how to control the front-to-back, left-right

positional relationship of the quadcopter for the effect of the motor speed on the attitude

angle. Only the attitude angle of the vehicle should be considered. Therefore, the control

system to establish attitude angle closed-loop control loop, and then make the height

control for a single channel. The control system input is the target height Zd, and the three

target attitude angles, Rolld, Pitchd, Yawd, cause the aircraft to produce the corresponding

deflections, and consequently the corresponding displacements. Figure 5.6 is the

corresponding control system block diagram.

Chapter 4: Control Scheme Design and Simulation 61

Figure 4.6: Block diagram of the overall control system for a four-rotor vehicle

The angular acceleration of the attitude angle is linearly related to the input, so the PID

controller can be used for the attitude angle to obtain three control inputs U2 , U3 , U4 ：

U2 = K pФ (Фd − Ф) + K iФ ∫(Фd − Ф)dt + K dФ (Ф̇d − Ф̇)

U3 = K pθ (θd − θ) + K iθ ∫(θd − θ)dt + K dθ (θ̇d − θ̇) (4.2)

U4 = K pψ (ψd − ψ) + K iψ ∫(ψd − ψ)dt + K dψ (ψ̇d − ψ̇)

Φd is the target attitude angle, K p 、K i 、K d are the three control points of the PID controller,

which are the actual roll angle, pitch angle, yaw angle, Фd 、θd 、ψd , which are measured

and calculated respectively. Parameters, the value of the experiment through a specific

model to be.

The brief description of the three parameters is as follows:

Kp is the proportional coefficient. The control signal outputted from the proportional

link is proportional to the system error, and the control output is developed to reduce the

error [22]. The greater the proportion coefficient, the more sensitive the system response,

the higher the accuracy, but also make regulation more severe shocks, and even cause

system instability. At the same time, the proportional control can only reduce the error,

can not eliminate the error. Ki is the integral coefficient, the integral control output signal

proportional to the integral error, integral regulation can eliminate the system's steady-

state error, but also caused the system phase lag. The larger the integral coefficient, the

faster the steady-state error can be eliminated, but if the integral coefficient is too large,

large overshoots and long-term fluctuations occur. Kd is the differential coefficient, the

differential link output control signal and the error rate of change is proportional to the

main role of differential regulation is to make changes to the system early warning,

resulting in early regulation. Differential control can make the system phase ahead, offset

the role of integration caused by phase lag, while reducing overshoot, but the differential

coefficient is too large, may cause system instability.

62 A thesis on Quadcopter

Height control channel and yaw angle without coupling relationship, a separate channel,

using PID controller, the control equation is 5.3:

The obtained target height acceleration z is input to the calculation module of the lift force

U1. According to the line motion equation of the system dynamics model, the third

equation g is moved to the left side of the equation, and the lift force U1 , The expression

is:

m

U1 = cos Фcos θ (K pz (zd − z) + K iψ ∫(zd − z)dt + K dz (ż d − ż ) + g) （4.4）

At this point, the controller design is completed. Position control loop output control

signal U1 and attitude control loop output control signals U2, U3, U4 into speed input to

the motor module to drive the aircraft to complete the corresponding movement, the use

of sensors to measure the position and attitude of the aircraft signal as a feedback signal

to form a closed-loop Feedback system, by constantly adjusting the PID control

parameters, the system to achieve the desired value and remain stable.

The simulation model of the four-rotor control system was built by using the Simulink

toolbox per the attitude controller and height control channel designed above. In the

simulation model, the target attitude angles (Φd, θd, ψd) and height Zd are taken as the

input of the system, and (U1, U2, U3, U4) are taken as the control variables of the height

and attitude of the quadcopter. Control system output. (X, y, z) and the three attitude

angular accelerations (Ф ̈, θ ̈, ψ ̈) in real time and the accelerations of the three

accelerations the real-time position feedback is obtained through two integrals, and the

angular acceleration is obtained by two integrals. Figure 4.7 is the corresponding

simulation model.

Chapter 4: Control Scheme Design and Simulation 63

Figure 4.7: Simulation model of attitude control corresponding to motor speed variation

Because of the use of variable step-length ode45 (Dormand-Prince) algorithm, in seeking

the two differential, the response curve becomes very smooth, a number of error values,

burr serious impact on the simulation data behind the authenticity and reliability And then

choose the fixed step size ode4 (Runge-Kutta) method [23], and set the step size of 0.001,

the glitch phenomenon is alleviated, the curve is smooth, there are still some flaws, but

does not affect the correct simulation results, 4.3 is the specific simulation parameter

settings:

Calculate the step size 0.001

Algorithm Type Fixed-step

Calculation method Ode4（Runge-Kutta）

Simulation time 100

The basic principle of the simulation is to set the real-time attitude angle of the

quadcopterto be less than 2% of the set target error and to differentiate the output function.

If the derivative function is also zero, the two conditions are simultaneously, The curve

will only fluctuate in the range of 2%, and the system has been stable, and then stop the

64 A thesis on Quadcopter

simulation. Simulation time is set to 100 seconds, so you can adjust the PID parameters

of the control system to adapt to changes in system simulation time. Figure 4.8 is a

simulation stop simulation model:

After analyzing the feedback of the three attitude angles and height, we find that the curve

of Roll is stable for the longest time. So we will consider the stability of Roll as the

benchmark to determine the stability of the whole system. Since the real-time attitude

angle is first differentiated, there is an error, so that the first-order differential curve has

crossed the abscissa, but did not stop the simulation problem. Therefore, the first

differential curve to determine the sign, and then through the signal transition to judge.

Control system stability and performance of the key lies in the determination of PID

control parameters, control parameters to determine the control parameters that are found

in the optimal value. Because of the large number of parameters, the parameters of the

attitude controller are designed first, then the parameters of the height controller are

determined, the parameters are determined by trial and error method, then the integral is

adjusted first, then the control parameters are obtained through constant trial and error.

Optimal value. Equation 4.2,

Table 4.4 shows the optimal values for all control parameters

K pФ 2.5 K iФ 0 K dФ 10

K pθ 3.5 K iθ 0 K dθ 10

K pψ 3 K iψ 0 K dψ 10

𝐊 𝐩𝐳 5 K iz 1 K dz 5

The initial state of the aircraft is: Euler angle (0,0,0) rad, Euler angular velocity (0,0,0)

rad / s, given target attitude angle is (1,1,1) rad, Height of 1m, the simulation process in

29.429s automatically stop, this time the system to achieve stability.

Figure 4.9 shows Attitude Output Response Curve, Figure 4.10 shows the position output

Chapter 4: Control Scheme Design and Simulation 65

66 A thesis on Quadcopter

The simulation results show that the final four motors remain at about 571 rad / s and

maintain the corresponding attitude angle movement.

Here it is described about the outer loop PID position and it’s simulation.

From the above simulation results, we can get the change of the four-motor speed when

the attitude control, and finally stabilize and maintain the corresponding posture, but

maintain the corresponding attitude, can not control the horizontal position of the

quadcopter, therefore, to control its position, Position control should be added to the

simulation model. So we are based on a simulation model, add the location of closed-loop

control loop. To control the position, then the control system input is the target position

Xd, Yd, Zd then the attitude control loop PID control reference value needs to be obtained

through the anti-solver module, so the horizontal position controller using PID algorithm

to expect the target position (Xd, Yd) and the actual position feedback value of the

deviation of the input signal, the control equation is as follows:

ẍ = K px (xd − x) + K ix ∫(xd − x)dt + K dx (ẋ d − ẋ )

(4.5)

ÿ = K py (yd − y) + K iy ∫(yd − y)dt + K dy (ẏ d − ẏ )

The acceleration value (x ̈, y ̈) of the horizontal position is used as the input signal of the

inverse resolving module. For the kinetic model, the first equation is obtained by

multiplying sinψ by the second equation by multiplying by cosψ,

further,

m

Фd = arcsin (U (ẍ sin ψ − ÿ cos ψ)) (4.7)

1

Chapter 4: Control Scheme Design and Simulation 67

mẍ

sin θ = ( U − sin Ф sin ψ)⁄cos Ф cos ψ (4.8)

1

which is

mẍ

θd = arcsin (( U − sin Ф sin ψ)⁄cos Ф cos ψ) （4.9）

1

(4.7) and (4.8), the input signal Φd, θd of the inner loop attitude control loop can be

obtained. Φd, θd as the attitude control loop closed-loop PID reference value.

For the overall simulation model framework, we finally decided to adopt dual closed-

loop control, the inner loop for the attitude control loop, the outer loop for the position

control loop. Double closed-loop control can enhance the anti-interference ability of the

control system. The interference can be eliminated quickly in the inner loop attitude

control mediation. The inner loop attitude control directly affects the stability and control

precision of the system. The output of the outer loop is the input of the inner loop. Since

the height control channel and the yaw angle do not have a coupling relation or a single

channel, the input of the control system is Xd, Yd, Zd and ψd, and the output is U1, U2,

U3, U4, Figure 5.12 is the corresponding control system block diagram.

Figure 4.13 is the corresponding simulation model:

68 A thesis on Quadcopter

Among them, Figure 4.14 is the output of the four force-related motor speed

transformation relationship:

Figure 4.14: The simulation model of the speed-conversion of the force-corresponding motor

Chapter 4: Control Scheme Design and Simulation 69

Based on the PID control parameter values obtained in the previous simulation

experiment, the integral control parameters of the inner loop are removed. When the PID

parameters are set, the integral of the inner loop will lead to system instability. Ring PID

parameters, select a larger number of Kp, so that the inner ring adjustment faster than the

outer ring position, but should not be too large, easily lead to system instability, the

appropriate choice of the appropriate derivative ratio coefficient Kd, and then determine

the outer ring position PID parameters. PID parameters in the outer loop position The

system is linearized by the Tune function in the PID module in Simulink. The response

time of the system is adjusted so that the amplitude curve is stable after two peaks and

the first peak is about the second peak. 4 times, so get the ideal system PID control

parameters. In general, there is no concatenation of PID control parameters and yaw angle

PID control parameters, which are easier to set and the rest parameters are more complex.

Table 4.5 is the optimal value for all control parameters:

K px 0.000725151717 K ix 7.2512026914189 K dx 0.1613812053

50405 9e-07 30171

K py 0.000725151717 K iy 7.2512026914189 K dy 0.1613812053

50405 9e-07 30171

K pz 0.014536381336 K iz 4.5500324092617 K dz 0.4216225326

6618 7e-05 40386

K p∅ 4 K i∅ 0 K d∅ 10

K pθ 6 K iθ 0 K dθ 10

K pψ 5 K iψ 0 K dψ 5

(0,0,0) rad, the Euler angular velocity (0,0,0) rad / s, the ground coordinate system

position (0,0,0) m, the linear velocity ( 0, 0) m / s.

The main function of this section is to test the performance of flying and hovering. The

target is set to (2,2,2), and the aircraft takes off from the origin (0,0,0) to the target position

(2,2,2) , The target yaw angle is 0rad. Figure 4.15,4.16,4.17 is simulated by the four rotor

position output response curve, the attitude of the output response curve and the four

motor speed curve.

70 A thesis on Quadcopter

Chapter 4: Control Scheme Design and Simulation 71

The final motor speed stable at 293.4rad / s, or 2801.9r / min or so, hover motor speed

and aircraft gravity mainly related.

Therefore, the above analysis shows that the PID algorithm used in the quadcopter has

good control effect for the fixed-point flight hover control, and the error is small.

When the software and hardware are designed to complete, the quadcopter to build

completed. After constant software debugging and cumbersome tuning of the PID

parameters, the four-rotor can take off. In this paper, the movement of four-wing aircraft

is controlled by the remote control, using Fu Si FS-T6 six-channel wireless professional

model aircraft remote control, in fact only four channels, respectively, throttle, pitch

channel, roll channel and Navigation channel, four channels, respectively, to control

different modes of exercise. The throttle channel controls the motion by giving the pitch

angle, and the roll channel controls the left and right movements by giving the roll angle.

The yaw channel is controlled by giving the yaw angle Control of yaw movement, yaw

movement is rarely used in actual flight, only in the direction of adjustment of the nose

will be used, because in the four-wing after yaw movement is difficult to find the direction

of the nose is not conducive to remote control, so This paper does not conduct yaw

experiment.

1. Hover experiment

When only the remote control throttle channel, the other channel does not move, that is,

three attitude angles are zero, four-rotor will produce movements, four rotor will produce

movements, when the throttle to the size of 1850, the four rotor in the air To achieve the

hover, but the direction of the nose some deflection, may be due to start the motor when

the four motor speed inconsistency or yaw angle caused by the initial offset changes.

When the throttle size is greater than 1850, the four-rotor rise in motion, less than 1850,

the four-rotor will decline, Figure 4.18 is the hover experiment.

72 A thesis on Quadcopter

4000

3500 3573.61

3427.495

3235.54 3206

3000 3032.125 3079

2801.97 2759 2801

2688

2500

2000

1500

1000

500

0

1.22kg 1.42kg 1.62kg 1.82kg 2.02kg

Figure 4.19: Motor speed and aircraft quality simulation and measured contrast

Figure 4.19 is the control motor simulation model to change the quality of the theoretical

motor speed and the measured comparison chart, can be seen through the comparison, the

two curves have a clear linear relationship between theoretical and actual speed error of

about 10%, the main Is due to the simulation model ignores many factors, and the actual

model gap, and because of the lift coefficient b and anti-torque coefficient d measurement

complexity, the accuracy of these two values is not high, and the actual hardware model,

2 motor Rotation resistance other motor to be high, which have affected the deviation of

the theoretical speed.

2.Rolling Experiment

When a certain size of the throttle signal, the four-rotor off, this time the other channel

does not move, only to the roll angle channel a positive signal, the four-wing to the right

side of the fuselage direction of movement, when the negative-angle signal, The left side

of the fuselage movement, the signal to the greater speed to the left faster for the safety

of four rotor flight considerations, the attitude angle in the program to limit the range of

Chapter 4: Control Scheme Design and Simulation 73

As the roll of flight experiment, the small angle of deflection is more difficult to

accurately measure, only according to the scale on the remote control to estimate, and the

size of the deflection angle on the screen approximation that the aircraft to achieve the

corresponding deflection angle. According to the previous simulation experiments, we

can know that in order to keep the attitude angle of the aircraft in the roll-flight experiment,

the change of the motor is a first acceleration or deceleration respectively. When the target

value reaches the target value, the four motors rotate at the same speed to keep the attitude

angle . It is difficult to measure the complete change process of the motor, so we only

estimate the size of the throttle when the motor keeps the corresponding attitude angle.

The specific method is to push the throttle before takeoff, the first given the target attitude

angle, and then slowly push the throttle, when the quadcopter just left the ground, record

the corresponding throttle size. Figure 4.21 is a comparison between the results obtained

from the previous simulation model and the actual value of the hold-up motor speed

stabilization value obtained from the actual flight test.

2920

2900

2880

2860

2840

2820

2800

2780

2760

2740

5° 10° 15° 20°

Figure 4.21: Comparison of Steady Value of Motor Speed and Simulation Results for Actual Flight

Holding Corresponding Attitude Angle

74 A thesis on Quadcopter

From the above experiment, we can see that the quadcopter can realize the basic flight

action, which shows the effectiveness of the proposed control scheme.

Chapter 5: Future Quadcopter 75

5.1 Future work

I shall want to complete the coding and integration of the GUI so that we can achieve full

control with a computer rather than an RC control. I shall work on optimizing power

consumption as well as looking at alternatives to the current battery system that I am

using now. One of the biggest steps I will do is getting a completely stabilized flight that

will allow the Quadcopter to hover untethered in a single location. With the stabilized

flight, I will also be worked on getting untethered flight around a local area like the park

nearby. The next step after untethered flight in a local area is to give it remote way points

where it will have to go on its own to a location and come back. Once I have achieved

the ability of the Quadcopter to reach a target location and then return home, I will be

almost completely done with this project. I will also be researching alternative bodies that

I can use to protect our Quadcopter as well as looking at upgraded hardware if I receive

donations from outside sources. There are certainly a lot of tasks remaining but I will be

prepared and on schedule to show a demonstration of this project.

As can be seen throughout the thesis the assigned goals were achieved to some extent. I

successfully analyzed the existing hardware and derived the mathematical model.

Identification and measurement of the model's parameters were challenging issues where

I had to improvise. The lack of any measurement devices forced me to create my own

improvised tools to get the necessary data. This was of course reflected in the quality of

the measured and evaluated data. This can be seen most obviously for the drag coefficient

d which has in reality much greater magnitude as can be seen from the tuning of the yaw

rate controller when testing with the real model.

Even though the nonlinear mathematical model is fully functional it must be noted that it

is not a true representation of the reality. The most problematic areas are the aerodynamic

forces and torques which are almost fully neglected. This poses no problem when the

indoor low speeds flights are considered but for faster outdoor flying one has to calculate

with these simplifications.

Unfortunately, it was not possible to implement more modern controllers such as the LQ

optimal regulator or controllers synthesized using the H∞ minimization. This lead to pure

proportional controllers' design. It was very interesting to see that even those very simple

controllers are able to stabilize and even provide robust performance when a suitable

architecture is chosen. The comparison between LQ and P regulator was carried out and

evaluated. The LQR provides faster and smoother response but the difference is not

dramatic.

Although a complete position control system was developed and simulated it was not

possible to run the tests with the real system. Due to the lack of features provided by the

original program and firmware and not enough time to implement my own external

algorithm, it was only possible to test the attitude control. Unfortunately, the inertial

velocity stabilization and control was not possible to implement at all.

76 A thesis on Quadcopter

Even though the goals of the thesis were not fully reached the contribution of this thesis

is fully functional nonlinear mathematical model and linear systems representing the

quadrotor’s movement which can be used as a development environment and testbed for

future work.

The last thing to be noted is that even though the position control is developed and

functional it needs more testing on the real system. One has not to forget that the

controllers are designed for the hover trim point. When more aggressive or more robust

control is desired e.g. recovering from extreme positions, more trim points have to be

introduced and some gain scheduling algorithm implemented to select or interpolate

suitable control law for the given flight envelope. Once the interface for the Gums tix

computers is operational this feature is possible. Then more advanced control algorithms

can be implemented as well, such as already mentioned LQR and H∞ minimization or

model predictive control (MPC) algorithm as a higher-level control and planning platform.

This algorithm can use the already developed inner loops as a low-level control interface

providing optimal control therefore lowering the power consumption and improving the

performance.

The risk that we have thought of is pushing the Quadcopter beyond its limits without

having a failsafe function. An example of this risk is failing to notice that there is

insufficient battery life to safely complete a mission, resulting in the Quadcopter being in

the air when all systems shut down. The Quadcopter will then fall to the ground, and most

likely break. I also have to watch out for weather conditions as well as altitude ceiling to

prevent similar destructive results. I have not begun to design fail safes but we do plan on

including features that will try to predict as many different risk factors as we can think of

and design the Quadcopter to auto respond appropriately, such as make a decision to land

safely to the ground.

There is also the risk with any UAV of losing the control link to the aircraft. Witness the

recent problem of the U.S. stealth drone losing communication and crashing in Iran. My

approach to this particular risk is to monitor the control link and have the copter either

land or return home if the link is broken.

Chapter 6: Conclusions 77

Chapter 6: Conclusions

This paper studied mathematical modelling and control of a quadcopter. The

mathematical model of quadcopter dynamics was presented and the differential equations

were derived from the Newton-Euler and the Euler-Lagrange equations. The model was

verified by simulating the flight of a quadcopter with Matlab. Stabilization of attitude of

the quadcopter was done by utilizing a PD controller. A heuristic method was developed

to control the trajectory of the quadcopter. The PD controller was integrated into the

heuristic method for better response to disturbances in the flight conditions of the

quadcopter.

The simulation proved the presented mathematical model to be realistic in modelling the

position and attitude of the quadcopter. The simulation results also showed that the PD

controller was efficient in stabilizing the quadcopter to the desired altitude and attitude.

However, the PD controller did not considered positions x and y. Thus, the values of x

and y variated from their original values during the stabilization process. This was a result

of the deviation of the roll and pitch angles from zero values.

According to the simulation results, the proposed heuristic method produced good flight

trajectories. The heuristic method required only three parameters to generate the values

for the jounce of the position. The position and its other derivatives were calculated from

the jounce values. The total thrust and the pitch and roll angles to achieve given

accelerations were solved from the linear differential equations. Then, the torques were

determined by the angular accelerations and angular velocities calculated from the angles.

Finally, the required control inputs were solved from the total thrust and the torques. The

simulation results indicated that the quadcopter could be controlled accurately with the

control inputs given by the method.

The proposed heuristic method does not consider unmodeled disturbances, such as wind,

and thus the PD controller was integrated into the control method. The integrated PD

controller operated well in the example simulation. The quadcopter followed the given

trajectory and began to stabilize after reaching the final destination. However, the PD

controller can perform poorly if the parameter values are not properly selected and are

too small or high [38].

The presented mathematical model only consists of the basic structures of the quad-

copter dynamics. Several aerodynamical effects were excluded which can lead to

unreliable behavior. Also, the electric motors spinning the fours rotors were not modelled.

The behavior of a motor is easily included in the model but would re- quire estimation of

the parameter values of the motor. The position and attitude information was assumed to

be accurate in the model and the simulations. However, the measuring devices in real life

are not perfectly accurate as random variations and errors occur. Hence, the effects of

imprecise information to the flight of the quadcopter should be studied as well. Also,

methods to enhance the accuracy of the measurements should be researched and

implemented to improve all aspects required for robust quadcopter maneuvers.

The presented model and control methods were tested only with simulations. Real

experimental prototype of a quadcopter should be constructed to achieve more realistic

and reliable results. Even though the construction of a real quadcopter and the estimation

78 A thesis on Quadcopter

of all the model parameters are laborious tasks, a real quadcopter would bring significant

benefits to the research. With a real prototype, the theoretical framework and the

simulation results could be compared to real-life measurements. This paper did not

include these highlighted matters in the study but presented the basics of quadcopter

modelling and control. This paper can thus be used as a stepping-stone for future research

in more complex modelling of the quadcopter.

List of Abbreviations 79

List of Abbreviations

CRC - Cyclic Redundancy Check

DCM - Direction Cosine Matrix

ESC - Electronic Speed Controller

FEM - Finite Element Method

FPGA - Field Programmable Gate Array

IMU - Inertial Measurement Unit

MV - Measured values

PWM - Pulse Width Modulation

RC - Remote Control

rpm - Revolutions per minute

Rx - Receive

sbRIO - Single Board Reconfigurable Input/output

SP - Set points for the controller

SPI - Serial Peripheral Interface

Tx - Transmit

UART - Universal Asynchronous Receiver/Transmitter

VI - Virtual Instrument, a LabVIEW program

subVI - Subroutine in a LabVIEW VI

lipo - lithium polymer

UAV- Unmanned Aerial Vehicle

BLDC- Brushless Direct Current

P- Proportional

MATLAB- Matrix Laboratory

M-file- MATLAB text editor file

ESC- Electronic Speed Controller

GPS- Global Positioning Syste

80 A thesis on Quadcopter

Reference

[2] D. C. L. Kristen Boon, "Warrant Requirement and Suspicionless Drone

Searches," in The Domestic Use of Unmanned Aerial Vehicles, USA, Oxford

University Press, 2014, p. 228.

[3] V. Vitto, "Report of the Defense Science Board Task Force on the Investment

Strategy for DARPA," DARPA, Washington, D.C., July 1999.

[4] G. B. Matt Parker, "Quadcopter," Colorado State University, Fort Collins,

Colorado 80523, 2012.

[5] R. L. Weiger, "MILITARY UNMANNED AIRCRAFT SYSTEMS IN

SUPPORT OF HOMELAND," U.S. Army War College, Pennsylvania 17013, 30

March 2007.

[6] B. G. Williams, Predators: The CIA's Drone War on AlQaeda, Dulles, Virginia

20166: Potomac Books, 2013.

[7] J. P. Campbell, Vertical Takeoff & Landing Aircraft, New York: The MacMillan

Company, 1962.

[8] "ARES," Lockheed Martin, 2013. [Online]. Available:

http://www.lockheedmartin.com/us/products/ares.html. [Accessed 4th March

2015].

[9] J. E. L. Charles E. Dole, Flight Theory and Aerodynamics, USA: John Wiley &

Sons, 2000 .

[10] "Drones," Reaching Critical Will, [Online]. Available:

http://www.reachingcriticalwill.org/resources/fact-sheets/critical-issues.

[Accessed 4th March 2015].

[11] "BLDC Motor," Emax, [Online]. Available: http://www.emaxmodel.com/.

[Accessed 25th April 2015].

[12] Hobbyking, [Online]. Available:

http://www.hobbyking.com/hobbyking/store/index.asp. [Accessed 25th April

2015].

[13] Bouabdallah, S., Murrieri, P. & Siegwart, R., 2005. Towards Autonomous Indoor

Micro VTOL.

[14] Autonomous Robots, 18(2).

[15] Castillo, P., Lozano, R. & Dzul, A., 2005. Stabilization of a mini rotorcraft with

four rotors. Control Systems, IEEE, 25(6), p.45- 55. Available at: [Accessed May

25, 2011].

[16] Chen, M. & Huzmezan, M., 2003. A Simulation Model and H( Loop Shaping

Control of a Quad Rotor Unmanned Air Vehicle. In Modelling, Simulation, and

Optimization. pp. 320-325.

Appendix 81

[17] Cook, M.V., 1997. Flight Dynamics Principles 1st ed., John Wiley & Sons. De

Lellis, Marcelo, 2011. Modeling, Identification and Control of aQuadrotor

Aircraft. Czech Technical University in Prague.

[18] Dorf, R.C. & Bishop, R.H., 2007. Modern Control Systems 11th ed., Prentice Hall.

[19] Franklin, G., Powell, J.D. & Emami-Naeini, A., 2005. Feedback Control of

Dynamic Systems 5th ed., Prentice Hall.

[20] Hoffmann, G.M. et al., 2007. Quadrotor helicopter flight dynamics and control:

Theory and experiment. In Proceedings of the AIAA Guidance, Navigation, and

Control Conference. p. 1– 20.

[21] Kıvrak, A., Ö., 2006. Design of control systems for quadrotor flight vehicles.

Mechatronics Engineering Department: Atılım University.

[22] Serway, R.A. & Jewett, J.W., Physics for Scientists and Engineers - 6th edition

6th ed., Thomson; Brooks Cole - Custom.

[23] Skogestad, S. & Postlethwaite, I., 1996. Multivariable Feedback Control:

Analysis and Design 1st ed., Wiley.

[24] G. M. Hoffmann, H. Huang, S. L. Waslander, and C. J. Tomlin, “Quadrotor

helicopter flight dynamics and control: Theory and experiment,” Proceedings of

the AIAA Guidance, Navigation and Control Conference and Exhibit, Aug. 2007.

[25] 34 S. L. Waslander, and C. J. Tomlin, “Aerodynamics and control of autonomous

quadrotor helicopters in aggressive maneuvering,” IEEE International Conference

on Robotics and Automation, pp. 3277–3282, May 2009.

[26] S. Bouabdallah, A. Noth, and R. Siegwart, “PID vs LQ control techniques applied

to an indoor micro quadrotor,” IEEE/RSJ International Conference on Intelligent

Robots and Systems, vol. 3, pp. 2451–2456, 2004.

[27] T. Madani and A. Benallegue, “Backstepping control for a quadrotor heli- copter,”

IEEE/RSJ International Conference on Intelligent Robots and Sys- tems, pp.

3255–3260, 2006.

[28] K. M. Zemalache, L. Beji, and H. Marref, “Control of an under-actuated system:

Application to a four rotors rotorcraft,” IEEE International Conference on Robotic

and Biomimetics, pp. 404–409, 2005.

[29] G. V. Raffo, M. G. Ortega, and F. R. Rubio, “An integral predictive/nonlinear H∞

control structure for a quadrotor helicopter,” Automatica, vol. 46, no. 1, pp. 29–

39, 2010.

[30] P. Castillo, R. Lozano, and A. Dzul, “Stabilisation of a mini rotorcraft with four

rotors,” IEEE Control Systems Magazine, pp. 45–55, Dec. 2005.

[31] H. Bouadi and M. Tadjine, “Nonlinear observer design and sliding mode control

of four rotors helicopter,” Proceedings of World Academy of Science, Engineer-

ing and Technology, vol. 25, pp. 225–230, 2007. K. J. ˚Astro¨m and T. H¨agglund,

Advanced PID Control. ISA - Instrumentation, Systems and Automation Society,

2006.

82 A thesis on Quadcopter

[32] A.J. Baerveldt and R. Klang. A low-cost and low-weight attitude estimation

system for an autonomous

[33] Cuong C. Quach Edward F. Hogge Thomas H. Strom Boyd L. Hill Sixto L.

Vazquez Kai Goebel

[34] Bhaskar Saha, Edwin Koshimoto. Battery health management system for electric

uavs. Aerospace

[35] Vardan Semerjyan Corentin Cheron, Aaron Dennis and YangQuan Chen. A

multifunctional hil testbed for multirotor vtol uav actuator. Mechatronics and

Embedded Systems and Applications (MESA), 2010 IEEE/ASME International

Conference, 2010.

[36] Jorge Miguel Brito Domingues. Quadrotor prototype. Master’s thesis, Instituto

Superior Técnico,

[37] Universidade Técnica de Lisboa, 2009.

[38] S. Theil F. Holzapfel. Advances in Aerospace Guidance, Navigation and Control.

Springer-Verlag, 2011.

[39] Christopher Jekeli. Inertial navigation systems with geodetic applications. Walter

de Gruyter GmbH & co, 2000.

[40] Peter I. Corke Jonathan M. Roberts and Gregg Buskey. Low-cost flight control

system for small autonomous helicopter. IEEE International Conference on

Robotics and Automstion, 2003.

[41] Øyvind Magnussen Kjell E. Skjønhaug. The quadcopter investigation. Technical

report, University of Agder, 2010.

[42] Jack B. Kuipers. Quaternions and rotation sequences. Princeton University Press,

2002.

[43] http://www.ga-asi.com/products/aircraft/predator.php

[44] http://www.sciencedaily.com/releases/2011/07/110701203725.htm

[45] http://www.uavforge.net/

[46] http://diydrones.com/

[47] http://www.helikraft-rchelicopters.com/store/1909/futaba/6ex-2-4g-airp-heli-

radio-set-no- servo-with-r617fs-6ex-ss.html (picture of RC controller)

[48] http://www.onlineethics.org

[49] Google.com/quadcopter

[50] Wikipidea.com/quadcopter

[51] http://foreignpolicy.com/issue_of_quadcopter

[52] Hu Ning Bo, Li Jian, Zhao Juyun. Design of electronic compass based on [J].

HMC5883L2011,6:35-38.

[53] Yan Dong, Taiwan Chang. High precision electronic compass based on magneto

resistance sensor [Z].2011:23.

[54] Design of high precision air pressure and temperature measurement system based

Appendix 83

Sciences EDITION).2012,5:33-36.

[55] Nice E B. Design of a four rotor hovering vehicle[D]. Cornell University, 2004.

[56] DESIGN AND IMPLEMENTATION OF THE CLOSED LOOP CONTROL OF

A QUAD ROTOR UAV FOR STABILITY

[57] Shakev, Nikola. Stabilizing multiple sliding surface control of quad-

rotorrotorcraft[C]. 2013 9th Asian Control Conference, ASCC 2013, 2013: 2022-

2026.

[58] Mellinger, Daniel. Recent advances in quadrotor capabilities[C], Proceedings -

IEEE International Conference on Robotics and Automation, 2011: 2964-2965.

[59] Wang Junsheng. Design of control system and research oncontrol method for the

quad-rotor [D]. Changsha: NationalUniversity of Defense Technology,2007.

[60] Tayebi A,McGilvray S. Attitude stabilization of a VTOLquadrotor aircraft[J].

84 A thesis on Quadcopter

Appendix

• HAE UAV ACTD (High altitude Endurance Unmanned Ariel Vehicle Advance

Concept Technology Demonstrator)

ESC:

• SBEC: 5.5v / 4A

• Size: 70 x 32 x 17mm

• Weight: 61g

Appendix 85

BLDC Motor:

Current

BL 2815/09 3s 0

• Weight: 21 gra

• IC: Atmega644 PA

• Gyro/Acceleration: 6050MPU

• Auto-level: Yes

Servo Motor:

• Modulation: Analog

• Torque: 4.8V: 122.0 oz-in (8.78 kg-cm) 6.0V: 153.0 oz-in (11.02 kg-cm)

86 A thesis on Quadcopter

Li-Po Battery:

• Capacity: 3300mAh

• Voltage: 11.1V

• Weight: 284g

• Dimensions: 133*42*23mm

-The End-